geos::operation::overlayng::OverlayGraph Class Reference

`#include <OverlayGraph.h>`

## Public Member Functions

| OverlayGraph ()
| OverlayGraph (const OverlayGraph &g)=delete
OverlayGraph & | operator= (const OverlayGraph &g)=delete
OverlayEdge * | addEdge (Edge *edge)
std::vector< OverlayEdge * > & | getEdges ()
std::vector< OverlayEdge * > | getNodeEdges ()
OverlayEdge * | getNodeEdge (const Coordinate &nodePt) const
std::vector< OverlayEdge * > | getResultAreaEdges ()
OverlayLabel * | createOverlayLabel (const Edge *edge)

## Friends

std::ostream & | operator<< (std::ostream &os, const OverlayGraph &og)

## Detailed Description

A planar graph of `OverlayEdge`, representing the topology resulting from an overlay operation. Each source `Edge` is represented by two OverlayEdges, with opposite orientation. A single `OverlayLabel` is created for each symmetric pair of OverlayEdges.

Author
  mdavis

## Constructor & Destructor Documentation

## OverlayGraph()

geos::operation::overlayng::OverlayGraph::OverlayGraph | ( |  | ) |

Creates a new graph for a set of noded, labelled `Edge`s.

References OverlayGraph().

Referenced by createOverlayLabel(), and OverlayGraph().

## Member Function Documentation

## addEdge()

OverlayEdge * geos::operation::overlayng::OverlayGraph::addEdge | ( | Edge * | edge | ) |

Adds an edge between the coordinates orig and dest to this graph. Only valid edges can be added (in particular, zero-length segments cannot be added)

## createOverlayLabel()

OverlayLabel * geos::operation::overlayng::OverlayGraph::createOverlayLabel | ( | const Edge * | edge | ) |

Create a single OverlayLabel in local std::deque storage and return a pointer to the stored object.

References OverlayGraph().

## getEdges()

std::vector< OverlayEdge * > & geos::operation::overlayng::OverlayGraph::getEdges | ( |  | ) |

Gets the set of edges in this graph. Only one of each symmetric pair of OverlayEdges is included. The opposing edge can be found by using `OverlayEdge#sym()`.

## getNodeEdge()

OverlayEdge * geos::operation::overlayng::OverlayGraph::getNodeEdge | ( | const Coordinate & | nodePt | ) | const

Gets an edge originating at the given node point.

## getNodeEdges()

std::vector< OverlayEdge * > geos::operation::overlayng::OverlayGraph::getNodeEdges | ( |  | ) |

Gets the collection of edges representing the nodes in this graph. For each star of edges originating at a node a single representative edge is included. The other edges around the node can be found by following the next and prev links.

## getResultAreaEdges()

std::vector< OverlayEdge * > geos::operation::overlayng::OverlayGraph::getResultAreaEdges | ( |  | ) |

Gets the representative edges marked as being in the result area.

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

- OverlayGraph.h