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>
75class GEOS_DLL PlanarGraph {
86 template <
typename It>
90 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);
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()
A EdgeEndStar is an ordered list of EdgeEnds around a node.
Definition EdgeEndStar.h:63
Models the end of an edge incident on a node.
Definition EdgeEnd.h:56
Definition geomgraph/Edge.h:66
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:87
Contains the Geometry interface hierarchy and supporting classes.
Definition IndexedNestedRingTester.h:26
Contains classes that implement topology graphs.
Definition IndexedNestedRingTester.h:34
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25