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 * 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:88
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:26