geos::planargraph::Subgraph Class Reference

A subgraph of a PlanarGraph. More...

`#include <Subgraph.h>`

## Public Member Functions

| Subgraph (PlanarGraph &parent)
| Creates a new subgraph of the given PlanarGraph.
PlanarGraph & | getParent () const
| Gets the PlanarGraph which this subgraph is part of.
std::pair< std::set< Edge * >::iterator, bool > | add (Edge *e)
| Adds an Edge to the subgraph.
std::vector< constDirectedEdge * >::iterator | getDirEdgeBegin ()
| Returns an iterator over the DirectedEdge in this graph, in the order in which they were added.
std::set< Edge * >::iterator | edgeBegin ()
| Returns an iterator over the `Edge`s in this graph, in the order in which they were added.
std::set< Edge * >::iterator | edgeEnd ()
NodeMap::container::iterator | nodeBegin ()
| Returns a iterators over the planar NodeMap::container in this graph.
NodeMap::container::const_iterator | nodeEnd () const
NodeMap::container::iterator | nodeEnd ()
NodeMap::container::const_iterator | nodeBegin () const
bool | contains (Edge *e)
| Tests whether an `Edge` is contained in this subgraph.

## Protected Member Functions

| Subgraph (const Subgraph &other)=delete
Subgraph & | operator= (const Subgraph &rhs)=delete

## 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 `Edge`s from the parent graph. It will also automatically contain all `DirectedEdge`s and `Node`s associated with those edges. No new objects are created when edges are added - all associated components must already exist in the parent graph.

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

## Constructor & Destructor Documentation

## Subgraph()

geos::planargraph::Subgraph::Subgraph | ( | PlanarGraph & | parent | ) |

inline

Creates a new subgraph of the given PlanarGraph.

Parameters

  parent | the parent graph

## Member Function Documentation

## add()

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

Adds an Edge to the subgraph.

The associated `DirectedEdge`s and `Node`s 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 whether the Edge has been inserted now or was already in the set.

## contains()

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

## edgeBegin()

std::set< Edge * >::iterator geos::planargraph::Subgraph::edgeBegin | ( |  | ) |

inline

Returns an iterator over the `Edge`s in this graph, in the order in which they were added.

Returns
  an iterator over the edges

See also
  Adding methods

## getDirEdgeBegin()

std::vector< constDirectedEdge * >::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
  Adding methods

## getParent()

PlanarGraph & geos::planargraph::Subgraph::getParent | ( |  | ) | const

inline

Gets the PlanarGraph which this subgraph is part of.

Returns
  the parent PlanarGraph

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

- Subgraph.h