|
| GeometryGraph (uint8_t newArgIndex, const geom::Geometry *newParentGeom) |
|
| GeometryGraph (uint8_t newArgIndex, const geom::Geometry *newParentGeom, const algorithm::BoundaryNodeRule &boundaryNodeRule) |
|
const geom::Geometry * | getGeometry () |
|
void | getBoundaryNodes (std::vector< Node * > &bdyNodes) |
| Returned object is owned by this GeometryGraph.
|
|
std::vector< Node * > * | getBoundaryNodes () |
|
geom::CoordinateSequence * | getBoundaryPoints () |
| Returned object is owned by this GeometryGraph.
|
|
Edge * | findEdge (const geom::LineString *line) const |
|
void | computeSplitEdges (std::vector< Edge * > *edgelist) |
|
void | addEdge (Edge *e) |
|
void | addPoint (geom::Coordinate &pt) |
|
std::unique_ptr< index::SegmentIntersector > | computeSelfNodes (algorithm::LineIntersector *li, bool computeRingSelfNodes, const geom::Envelope *env=nullptr) |
| 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).
|
|
std::unique_ptr< index::SegmentIntersector > | computeSelfNodes (algorithm::LineIntersector &li, bool computeRingSelfNodes, const geom::Envelope *env=nullptr) |
|
std::unique_ptr< index::SegmentIntersector > | computeEdgeIntersections (GeometryGraph *g, algorithm::LineIntersector *li, bool includeProper, const geom::Envelope *env=nullptr) |
|
std::vector< Edge * > * | getEdges () |
|
bool | hasTooFewPoints () |
|
const geom::Coordinate & | getInvalidPoint () |
|
const algorithm::BoundaryNodeRule & | getBoundaryNodeRule () const |
|
| PlanarGraph (const NodeFactory &nodeFact) |
|
std::vector< Edge * >::iterator | getEdgeIterator () |
|
std::vector< EdgeEnd * > * | getEdgeEnds () |
|
bool | isBoundaryNode (uint8_t geomIndex, const geom::Coordinate &coord) |
|
void | add (EdgeEnd *e) |
|
NodeMap::iterator | getNodeIterator () |
|
void | getNodes (std::vector< Node * > &) |
|
Node * | addNode (Node *node) |
|
Node * | addNode (const geom::Coordinate &coord) |
|
Node * | find (geom::Coordinate &coord) |
|
void | addEdges (const std::vector< Edge * > &edgesToAdd) |
| Add a set of edges to the graph. For each edge two DirectedEdges will be created. DirectedEdges are NOT linked by this method.
|
|
void | linkResultDirectedEdges () |
|
void | linkAllDirectedEdges () |
|
EdgeEnd * | findEdgeEnd (Edge *e) |
| Returns the EdgeEnd which has edge e as its base edge (MD 18 Feb 2002 - this should return a pair of edges)
|
|
Edge * | findEdge (const geom::Coordinate &p0, const geom::Coordinate &p1) |
| Returns the edge whose first two coordinates are p0 and p1.
|
|
Edge * | findEdgeInSameDirection (const geom::Coordinate &p0, const geom::Coordinate &p1) |
| Returns the edge which starts at p0 and whose first segment is parallel to p1.
|
|
std::string | printEdges () |
|
NodeMap * | getNodeMap () |
|
A GeometryGraph is a graph that models a given Geometry.