GGL    Boost C++ Libraries

overlay helper operations (getting intersection points, etc)


Classes

struct  ggl::de9im
 Dimensionally Extended 9 Intersection Matrix. More...
class  ggl::strategy::intersection::liang_barsky< Box, Point >
 Strategy: line clipping algorithm after Liang Barsky. More...

Functions

template<typename Geometry , typename SegmentIdentifier , typename RangeOut >
void ggl::copy_segments (Geometry const &geometry, SegmentIdentifier const &seg_id, int to_index, RangeOut &range_out)
 Traverses through intersection points / geometries.
template<typename IntersectionPoints >
void ggl::enrich_intersection_points (IntersectionPoints &intersection_points, bool trivial)
 All intersection points are enriched with successor information.
template<typename Geometry , typename IntersectionPoints >
bool ggl::get_intersection_points (Geometry const &geometry, IntersectionPoints &intersection_points)
 Calculate self intersections of a geometry.
template<typename Geometry1 , typename Geometry2 , typename IntersectionPoints >
bool ggl::get_intersection_points (Geometry1 const &geometry1, Geometry2 const &geometry2, IntersectionPoints &intersection_points)
 Calculate intersection points of two geometries.
template<typename IntersectionPoints >
void ggl::merge_intersection_points (IntersectionPoints &intersection_points)
 Merges intersection points such that points at the same location will be merged, having one point and their info-records appended.
template<typename Geometry >
bool ggl::point_on_border (Geometry const &geometry, typename point_type< Geometry >::type &point)
 Take point on a border.
template<typename GeometryOut , typename Geometry1 , typename Geometry2 , typename IntersectionPoints , typename OutputIterator >
void ggl::traverse (Geometry1 const &geometry1, Geometry2 const &geometry2, int direction, IntersectionPoints &intersection_points, bool trivial, OutputIterator out)
 Traverses through intersection points / geometries.

Function Documentation

template<typename Geometry >
bool ggl::point_on_border ( Geometry const &  geometry,
typename point_type< Geometry >::type &  point 
)

Take point on a border.

Template Parameters:
Geometry geometry type
Parameters:
geometry geometry to take point from
point 
Returns:
TRUE if successful, else false. It is only false if polygon/line have no points
Note:
for a polygon, it is always a point on the exterior ring

Definition at line 153 of file point_on_border.hpp.

template<typename Geometry , typename SegmentIdentifier , typename RangeOut >
void ggl::copy_segments ( Geometry const &  geometry,
SegmentIdentifier const &  seg_id,
int  to_index,
RangeOut &  range_out 
)

Traverses through intersection points / geometries.

Definition at line 198 of file copy_segments.hpp.

template<typename IntersectionPoints >
void ggl::enrich_intersection_points ( IntersectionPoints &  intersection_points,
bool  trivial 
)

All intersection points are enriched with successor information.

Template Parameters:
IntersectionPoints type of intersection container (e.g. vector of "intersection_point"'s)
Parameters:
intersection_points container containing intersectionpoints
trivial Boolean flag to indicate that it is trivial, only intersections, no touch, collinearities, etc.

Definition at line 464 of file enrich_intersection_points.hpp.

template<typename Geometry1 , typename Geometry2 , typename IntersectionPoints >
bool ggl::get_intersection_points ( Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
IntersectionPoints &  intersection_points 
)

Calculate intersection points of two geometries.

Template Parameters:
Geometry1 first geometry type
Geometry2 second geometry type
IntersectionPoints type of intersection container (e.g. vector of "intersection_point"'s)
Parameters:
geometry1 first geometry
geometry2 second geometry
intersection_points container which will contain intersection points
Returns:
TRUE if it is trivial, else FALSE

Definition at line 752 of file get_intersection_points.hpp.

template<typename IntersectionPoints >
void ggl::merge_intersection_points ( IntersectionPoints &  intersection_points  ) 

Merges intersection points such that points at the same location will be merged, having one point and their info-records appended.

Template Parameters:
IntersectionPoints type of intersection container (e.g. vector of "intersection_point"'s)
Parameters:
intersection_points container containing intersectionpoints

Definition at line 181 of file merge_intersection_points.hpp.

template<typename Geometry , typename IntersectionPoints >
bool ggl::get_intersection_points ( Geometry const &  geometry,
IntersectionPoints &  intersection_points 
)

Calculate self intersections of a geometry.

Template Parameters:
Geometry geometry type
IntersectionPoints type of intersection container (e.g. vector of "intersection_point"'s)
Parameters:
geometry geometry
intersection_points container which will contain intersection points
Returns:
TRUE if it is trivial, else FALSE

Definition at line 153 of file self_intersection_points.hpp.

template<typename GeometryOut , typename Geometry1 , typename Geometry2 , typename IntersectionPoints , typename OutputIterator >
void ggl::traverse ( Geometry1 const &  geometry1,
Geometry2 const &  geometry2,
int  direction,
IntersectionPoints &  intersection_points,
bool  trivial,
OutputIterator  out 
)

Traverses through intersection points / geometries.

Definition at line 298 of file traverse.hpp.


November 5, 2009

Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam
Copyright © 2008-2009 Bruno Lalande, Paris
Copyright © 2009 Mateusz Loskot, Cadcorp, London
Documentation is generated by Doxygen