GEOS  3.8.0dev
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
geos::planargraph::Subgraph Class Reference

A subgraph of a PlanarGraph. More...

#include <Subgraph.h>

Public Member Functions

 Subgraph (PlanarGraph &parent)
 
PlanarGraphgetParent () const
 
std::pair< std::set< Edge * >
::iterator, bool > 
add (Edge *e)
 
std::vector< const
DirectedEdge * >::iterator 
getDirEdgeBegin ()
 
std::set< Edge * >::iterator edgeBegin ()
 
std::set< Edge * >::iterator edgeEnd ()
 
NodeMap::container::iterator nodeBegin ()
 
NodeMap::container::const_iterator nodeEnd () const
 
NodeMap::container::iterator nodeEnd ()
 
NodeMap::container::const_iterator nodeBegin () const
 
bool contains (Edge *e)
 

Protected Member Functions

 Subgraph (const Subgraph &other)=delete
 
Subgraphoperator= (const Subgraph &rhs)=delete
 

Protected Attributes

PlanarGraphparentGraph
 
std::set< Edge * > edges
 
std::vector< const DirectedEdge * > dirEdges
 
NodeMap nodeMap
 

Detailed Description

A subgraph of a PlanarGraph.

A subgraph may contain any subset of geomgraph::Edges from the parent graph. It will also automatically contain all geomgraph::DirectedEdge and geomgraph::Node associated with those edges. No new objects are created when edges are added - all associated components must already exist in the parent graph.

@ Actually we'll be copying Coordinates in NodeMap. I guess that'll need to be changed soon.

Constructor & Destructor Documentation

geos::planargraph::Subgraph::Subgraph ( PlanarGraph parent)
inline

Creates a new subgraph of the given PlanarGraph

Parameters
parentthe parent graph

Member Function Documentation

std::pair<std::set<Edge*>::iterator, bool> geos::planargraph::Subgraph::add ( Edge e)

Adds an Edge to the subgraph. The associated DirectedEdges and planarNodes are also added.

Parameters
ethe edge to add
Returns
a pair with first element being an iterator to the Edge in set and second element being a boolean value indicating wheter the Edge has been inserted now or was already in the set.
bool geos::planargraph::Subgraph::contains ( Edge e)
inline

Tests whether an Edge is contained in this subgraph

Parameters
ethe edge to test
Returns
true if the edge is contained in this subgraph
std::set<Edge*>::iterator geos::planargraph::Subgraph::edgeBegin ( )
inline

Returns an Iterator over the Edges in this graph, in the order in which they were added.

Returns
an iterator over the edges
See also
add(Edge)
std::vector<const DirectedEdge*>::iterator geos::planargraph::Subgraph::getDirEdgeBegin ( )
inline

Returns an iterator over the DirectedEdge in this graph, in the order in which they were added.

Returns
an iterator over the directed edges
See also
add(Edge)
PlanarGraph& geos::planargraph::Subgraph::getParent ( ) const
inline

Gets the PlanarGraph which this subgraph is part of.

Returns
the parent PlanarGraph
NodeMap::container::iterator geos::planargraph::Subgraph::nodeBegin ( )
inline

Returns a iterators over the planarNodesMap::container in this graph.


The documentation for this class was generated from the following file: