#include <EdgeEndBundle.h>
Inheritance diagram for geos::operation::relate::EdgeEndBundle:
Public Member Functions | |
EdgeEndBundle (geomgraph::EdgeEnd *e) | |
geomgraph::Label * | getLabel () |
std::vector< geomgraph::EdgeEnd * > * | getEdgeEnds () |
void | insert (geomgraph::EdgeEnd *e) |
void | computeLabel (const algorithm::BoundaryNodeRule &bnr) |
void | updateIM (geom::IntersectionMatrix *im) |
std::string | print () |
Protected Member Functions | |
void | computeLabelOn (int geomIndex, const algorithm::BoundaryNodeRule &boundaryNodeRule) |
void | computeLabelSides (int geomIndex) |
void | computeLabelSide (int geomIndex, int side) |
Protected Attributes | |
std::vector< geomgraph::EdgeEnd * > * | edgeEnds |
|
Compute the overall ON location for the list of EdgeStubs. (This is essentially equivalent to computing the self-overlay of a single Geometry) edgeStubs can be either on the boundary (eg Polygon edge) OR in the interior (e.g. segment of a LineString) of their parent Geometry. In addition, GeometryCollections use a algorithm::BoundaryNodeRule to determine whether a segment is on the boundary or not. Finally, in GeometryCollections it can occur that an edge is both on the boundary and in the interior (e.g. a LineString segment lying on top of a Polygon edge.) In this case the Boundary is given precendence. These observations result in the following rules for computing the ON location:
|