21#include <geos/export.h>
22#include <geos/geom/LineString.h>
23#include <geos/operation/linemerge/LineMergeGraph.h>
30#pragma warning(disable: 4251)
39namespace planargraph {
45class LineMergeDirectedEdge;
83 std::vector<std::unique_ptr<geom::LineString>> mergedLineStrings;
85 std::vector<EdgeString*> edgeStrings;
91 void buildEdgeStringsForObviousStartNodes();
93 void buildEdgeStringsForIsolatedLoops();
95 void buildEdgeStringsForUnprocessedNodes();
97 void buildEdgeStringsForNonDegree2Nodes();
115 void add(std::vector<const geom::Geometry*>* geometries);
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:66
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
Definition: LineString.h:66
A sequence of LineMergeDirectedEdge forming one of the lines that will be output by the line-merging ...
Definition: EdgeString.h:54
A DirectedEdge of a LineMergeGraph.
Definition: LineMergeDirectedEdge.h:46
A planar graph of edges that is analyzed to sew the edges together.
Definition: LineMergeGraph.h:58
Sews together a set of fully noded LineStrings.
Definition: LineMerger.h:75
void add(std::vector< const geom::Geometry * > *geometries)
Adds a collection of Geometries to be processed. May be called multiple times.
std::vector< std::unique_ptr< geom::LineString > > getMergedLineStrings()
Returns the LineStrings built by the merging process.
void add(const geom::Geometry *geometry)
Adds a Geometry to be processed. May be called multiple times.
A node in a PlanarGraph is a location where 0 or more Edge meet.
Definition: planargraph/Node.h:44
Basic namespace for all GEOS functionalities.
Definition: geos.h:39