GEOS: geos::planargraph::Subgraph Class Reference

Public Member Functions | Protected Member Functions | Protected Attributes

# geos::planargraph::Subgraph Class Reference

A subgraph of a PlanarGraph. More...

`#include <Subgraph.h>`

List of all members.

## Public Member Functions
| Subgraph (PlanarGraph &parent)
PlanarGraph & | getParent () 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)
Subgraph & | operator= (const Subgraph &rhs)
## Protected Attributes
PlanarGraph & | parentGraph
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:

  parent | the 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:

  e | the 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:

  e | the 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:

- Subgraph.h