23#include <geos/export.h>
28#include <geos/geom/Coordinate.h>
29#include <geos/geomgraph/PlanarGraph.h>
30#include <geos/geomgraph/NodeMap.h>
31#include <geos/geomgraph/DirectedEdgeStar.h>
83 template <
typename It>
88 for(; first != last; ++first) {
108 virtual std::vector<Edge*>::iterator getEdgeIterator();
110 virtual std::vector<EdgeEnd*>* getEdgeEnds();
112 virtual bool isBoundaryNode(uint8_t geomIndex,
const geom::Coordinate& coord);
116 virtual NodeMap::iterator getNodeIterator();
118 virtual void getNodes(std::vector<Node*>&);
133 virtual void addEdges(
const std::vector<Edge*>& edgesToAdd);
135 virtual void linkResultDirectedEdges();
137 virtual void linkAllDirectedEdges();
167 virtual std::string printEdges();
169 virtual NodeMap* getNodeMap();
173 std::vector<Edge*>* edges;
177 std::vector<EdgeEnd*>* edgeEndList;
179 virtual void insertEdge(
Edge* e);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node.
Definition: geomgraph/DirectedEdgeStar.h:53
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:62
Models the end of an edge incident on a node.
Definition: EdgeEnd.h:54
Definition: geomgraph/Edge.h:63
The node component of a geometry graph.
Definition: geomgraph/Node.h:59
Represents a directed graph which is embeddable in a planar surface.
Definition: geomgraph/PlanarGraph.h:72
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 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)
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 Edge * findEdge(const geom::Coordinate &p0, const geom::Coordinate &p1)
Returns the edge whose first two coordinates are p0 and p1.
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:85
Basic namespace for all GEOS functionalities.
Definition: geos.h:39