#include <GeometryGraph.h>
Public Member Functions | |
| GeometryGraph (int newArgIndex, const geom::Geometry *newParentGeom) | |
| GeometryGraph (int newArgIndex, const geom::Geometry *newParentGeom, const algorithm::BoundaryNodeRule &boundaryNodeRule) | |
| const geom::Geometry * | getGeometry () |
| std::vector< Node * > * | getBoundaryNodes () |
| Returned object is owned by this GeometryGraph. | |
| void | getBoundaryNodes (std::vector< Node * > &bdyNodes) |
| geom::CoordinateSequence * | getBoundaryPoints () |
| Returned object is owned by this GeometryGraph. | |
| Edge * | findEdge (const geom::LineString *line) |
| void | computeSplitEdges (std::vector< Edge * > *edgelist) |
| void | addEdge (Edge *e) |
| void | addPoint (geom::Coordinate &pt) |
| index::SegmentIntersector * | computeSelfNodes (algorithm::LineIntersector *li, bool computeRingSelfNodes) |
| Compute self-nodes, taking advantage of the Geometry type to minimize the number of intersection tests. (E.g. rings are not tested for self-intersection, since they are assumed to be valid). | |
| index::SegmentIntersector * | computeSelfNodes (algorithm::LineIntersector &li, bool computeRingSelfNodes) |
| index::SegmentIntersector * | computeEdgeIntersections (GeometryGraph *g, algorithm::LineIntersector *li, bool includeProper) |
| std::vector< Edge * > * | getEdges () |
| bool | hasTooFewPoints () |
| const geom::Coordinate & | getInvalidPoint () |
| const algorithm::BoundaryNodeRule & | getBoundaryNodeRule () const |
Static Public Member Functions | |
| static bool | isInBoundary (int boundaryCount) |
| static int | determineBoundary (int boundaryCount) |
| static int | determineBoundary (const algorithm::BoundaryNodeRule &boundaryNodeRule, int boundaryCount) |
A GeometryGraph is a graph that models a given Geometry
| index::SegmentIntersector* geos::geomgraph::GeometryGraph::computeSelfNodes | ( | algorithm::LineIntersector * | li, | |
| bool | computeRingSelfNodes | |||
| ) |
Compute self-nodes, taking advantage of the Geometry type to minimize the number of intersection tests. (E.g. rings are not tested for self-intersection, since they are assumed to be valid).
| li | the LineIntersector to use | |
| computeRingSelfNodes | if <false>, intersection checks are optimized to not test rings for self-intersection |
1.6.1