GEOS 3.13.1
geos::operation::overlayng::OverlayGraph Class Reference

#include <OverlayGraph.h>

Public Member Functions

 OverlayGraph ()
 OverlayGraph (const OverlayGraph &g)=delete
OverlayGraphoperator= (const OverlayGraph &g)=delete
OverlayEdgeaddEdge (Edge *edge)
std::vector< OverlayEdge * > & getEdges ()
std::vector< OverlayEdge * > getNodeEdges ()
OverlayEdgegetNodeEdge (const Coordinate &nodePt) const
std::vector< OverlayEdge * > getResultAreaEdges ()
OverlayLabelcreateOverlayLabel (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 Edges.

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: