GEOS 3.3.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

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)
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