17#include <geos/export.h>
18#include <geos/geom/Coordinate.h>
19#include <geos/operation/overlayng/OverlayEdge.h>
20#include <geos/operation/overlayng/OverlayLabel.h>
21#include <geos/geom/CoordinateSequence.h>
23#include <unordered_map>
59 std::unordered_map<Coordinate, OverlayEdge*, geom::Coordinate::HashCode> nodeMap;
60 std::vector<OverlayEdge*> edges;
63 std::deque<OverlayEdge> ovEdgeQue;
64 std::deque<OverlayLabel> ovLabelQue;
66 std::vector<std::unique_ptr<const geom::CoordinateSequence>> csQue;
135 friend std::ostream& operator<<(std::ostream& os,
const OverlayGraph& og);
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:44
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
Definition: operation/overlayng/Edge.h:55
Definition: OverlayEdge.h:52
Definition: OverlayGraph.h:54
OverlayEdge * addEdge(Edge *edge)
std::vector< OverlayEdge * > & getEdges()
std::vector< OverlayEdge * > getResultAreaEdges()
OverlayEdge * getNodeEdge(const Coordinate &nodePt) const
OverlayLabel * createOverlayLabel(const Edge *edge)
std::vector< OverlayEdge * > getNodeEdges()
Definition: OverlayLabel.h:87
Basic namespace for all GEOS functionalities.
Definition: geos.h:39