22 #ifndef GEOS_GEOMGRAPH_PLANARGRAPH_H
23 #define GEOS_GEOMGRAPH_PLANARGRAPH_H
25 #include <geos/export.h>
30 #include <geos/geom/Coordinate.h>
31 #include <geos/geomgraph/PlanarGraph.h>
32 #include <geos/geomgraph/NodeMap.h>
33 #include <geos/geomgraph/DirectedEdgeStar.h>
35 #include <geos/inline.h>
87 template <
typename It>
88 static void linkResultDirectedEdges(It first, It last)
91 for ( ; first!=last; ++first )
112 virtual std::vector<Edge*>::iterator getEdgeIterator();
114 virtual std::vector<EdgeEnd*>* getEdgeEnds();
120 virtual NodeMap::iterator getNodeIterator();
122 virtual void getNodes(std::vector<Node*>&);
124 virtual Node* addNode(Node *node);
137 virtual void addEdges(
const std::vector<Edge*> &edgesToAdd);
139 virtual void linkResultDirectedEdges();
141 virtual void linkAllDirectedEdges();
150 virtual EdgeEnd* findEdgeEnd(Edge *e);
171 virtual std::string printEdges();
173 virtual NodeMap* getNodeMap();
177 std::vector<Edge*> *edges;
181 std::vector<EdgeEnd*> *edgeEndList;
183 virtual void insertEdge(Edge *e);
209 #endif // ifndef GEOS_GEOMGRAPH_PLANARGRAPH_H