21 #ifndef GEOS_GEOMGRAPH_PLANARGRAPH_H
22 #define GEOS_GEOMGRAPH_PLANARGRAPH_H
24 #include <geos/export.h>
29 #include <geos/geom/Coordinate.h>
30 #include <geos/geomgraph/PlanarGraph.h>
31 #include <geos/geomgraph/NodeMap.h>
32 #include <geos/geomgraph/DirectedEdgeStar.h>
34 #include <geos/inline.h>
86 template <
typename It>
91 for(; first != last; ++first) {
111 virtual std::vector<Edge*>::iterator getEdgeIterator();
113 virtual std::vector<EdgeEnd*>* getEdgeEnds();
119 virtual NodeMap::iterator getNodeIterator();
121 virtual void getNodes(std::vector<Node*>&);
136 virtual void addEdges(
const std::vector<Edge*>& edgesToAdd);
138 virtual void linkResultDirectedEdges();
140 virtual void linkAllDirectedEdges();
170 virtual std::string printEdges();
172 virtual NodeMap* getNodeMap();
176 std::vector<Edge*>* edges;
180 std::vector<EdgeEnd*>* edgeEndList;
182 virtual void insertEdge(
Edge* e);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node.
Definition: geomgraph/DirectedEdgeStar.h:55
void linkResultDirectedEdges()
Traverse the star of DirectedEdges, linking the included edges together.
A EdgeEndStar is an ordered list of EdgeEnds around a node.
Definition: EdgeEndStar.h:65
Models the end of an edge incident on a node.
Definition: EdgeEnd.h:56
Definition: geomgraph/Edge.h:66
The node component of a geometry graph.
Definition: geomgraph/Node.h:62
Represents a directed graph which is embeddable in a planar surface.
Definition: geomgraph/PlanarGraph.h:75
virtual Edge * findEdge(const geom::Coordinate &p0, const geom::Coordinate &p1)
Returns the edge whose first two coordinates are p0 and p1.
virtual 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.
virtual 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 N...
virtual 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 ...
virtual Node * find(geom::Coordinate &coord)
static void linkResultDirectedEdges(It first, It last)
For nodes in the collection (first..last), link the DirectedEdges at the node that are in the result.
Definition: geomgraph/PlanarGraph.h:88
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26