19 #ifndef GEOS_OP_LINEMERGE_LINEMERGER_H
20 #define GEOS_OP_LINEMERGE_LINEMERGER_H
22 #include <geos/export.h>
23 #include <geos/geom/LineString.h>
24 #include <geos/operation/linemerge/LineMergeGraph.h>
31 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
37 class GeometryFactory;
40 namespace planargraph {
46 class LineMergeDirectedEdge;
82 std::vector<std::unique_ptr<geom::LineString>> mergedLineStrings;
84 std::vector<EdgeString*> edgeStrings;
90 void buildEdgeStringsForObviousStartNodes();
92 void buildEdgeStringsForIsolatedLoops();
94 void buildEdgeStringsForUnprocessedNodes();
96 void buildEdgeStringsForNonDegree2Nodes();
114 void add(std::vector<const geom::Geometry*>* geometries);
132 std::vector<std::unique_ptr<geom::LineString>> getMergedLineStrings();
149 #endif // GEOS_OP_LINEMERGE_LINEMERGER_H
Sews together a set of fully noded LineStrings.
Definition: LineMerger.h:76
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Definition: LineString.h:68
A planar graph of edges that is analyzed to sew the edges together.
Definition: LineMergeGraph.h:59
A sequence of LineMergeDirectedEdge forming one of the lines that will be output by the line-merging ...
Definition: EdgeString.h:56
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
A node in a PlanarGraph is a location where 0 or more Edge meet.
Definition: planargraph/Node.h:45
A DirectedEdge of a LineMergeGraph.
Definition: LineMergeDirectedEdge.h:47