18#include <geos/dissolve/DissolveEdgeGraph.h>
22#include <geos/geom/LineString.h>
23#include <geos/export.h>
29 class DissolveHalfEdge;
35 class CoordinateSequence;
37 class GeometryFactory;
80 std::unique_ptr<Geometry> result;
82 DissolveEdgeGraph graph;
83 std::vector<std::unique_ptr<LineString>> lines;
84 std::stack<HalfEdge*> nodeEdgeStack;
85 DissolveHalfEdge* ringStartEdge =
nullptr;
120 void updateRingStartEdge(DissolveHalfEdge* e);
137 void buildRing(
HalfEdge* eStartRing);
139 void addLine(std::unique_ptr<CoordinateSequence>& cs);
171 void add(std::vector<const Geometry*> geometries);
Definition LineDissolver.h:70
std::unique_ptr< Geometry > getResult()
LineDissolver(const LineDissolver &)=delete
static std::unique_ptr< Geometry > dissolve(const Geometry *g)
void add(std::vector< const Geometry * > geometries)
void add(const Geometry *geometry)
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:70
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:196
Definition LineString.h:66
Basic namespace for all GEOS functionalities.
Definition geos.h:38