16 #ifndef GEOS_PLANARGRAPH_SUBGRAPH_H 17 #define GEOS_PLANARGRAPH_SUBGRAPH_H 26 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 31 namespace planargraph {
39 namespace planargraph {
91 std::pair<std::set<Edge*>::iterator,
bool> add(
Edge* e);
101 std::vector<const DirectedEdge*>::iterator
104 return dirEdges.begin();
116 std::set<Edge*>::iterator
119 return edges.begin();
121 std::set<Edge*>::iterator
131 NodeMap::container::iterator
134 return nodeMap.begin();
136 NodeMap::container::const_iterator
139 return nodeMap.end();
141 NodeMap::container::iterator
144 return nodeMap.end();
146 NodeMap::container::const_iterator
149 return nodeMap.begin();
161 return (edges.find(e) != edges.end());
183 #endif // GEOS_PLANARGRAPH_SUBGRAPH_H Subgraph(PlanarGraph &parent)
Creates a new subgraph of the given PlanarGraph.
std::set< Edge * >::iterator edgeBegin()
Returns an iterator over the Edges in this graph, in the order in which they were added...
std::vector< const DirectedEdge * > dirEdges
NodeMap::container::const_iterator nodeEnd() const
NodeMap::container::const_iterator nodeBegin() const
NodeMap::container::iterator nodeEnd()
std::set< Edge * >::iterator edgeEnd()
PlanarGraph & getParent() const
Gets the PlanarGraph which this subgraph is part of.
NodeMap::container::iterator nodeBegin()
Returns a iterators over the planar NodeMap::container in this graph.
PlanarGraph & parentGraph
Basic namespace for all GEOS functionalities.
bool contains(Edge *e)
Tests whether an Edge is contained in this subgraph.
Represents an undirected edge of a PlanarGraph.
std::vector< const DirectedEdge * >::iterator getDirEdgeBegin()
Returns an iterator over the DirectedEdge in this graph, in the order in which they were added...
A subgraph of a PlanarGraph.
A map of Node, indexed by the coordinate of the node.
Represents a directed graph which is embeddable in a planar surface.