27#include <geos/export.h>
33#pragma warning(disable: 4251)
40class CoordinateSequence;
46class TaggedLineSegment;
61 typedef std::vector<geom::Coordinate> CoordVect;
63 typedef std::unique_ptr<CoordVect> CoordVectPtr;
67 typedef std::unique_ptr<geom::CoordinateSequence> CoordSeqPtr;
70 std::size_t minimumSize = 2);
74 std::size_t getMinimumSize()
const;
78 const CoordSeq* getParentCoordinates()
const;
80 CoordSeqPtr getResultCoordinates()
const;
82 std::size_t getResultSize()
const;
88 std::vector<TaggedLineSegment*>& getSegments();
90 const std::vector<TaggedLineSegment*>& getSegments()
const;
92 void addToResult(std::unique_ptr<TaggedLineSegment> seg);
94 std::unique_ptr<geom::Geometry> asLineString()
const;
96 std::unique_ptr<geom::Geometry> asLinearRing()
const;
103 std::vector<TaggedLineSegment*> segs;
106 std::vector<TaggedLineSegment*> resultSegs;
108 std::size_t minimumSize;
112 static CoordVectPtr extractCoordinates(
113 const std::vector<TaggedLineSegment*>& segs);
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:44
Definition: LineString.h:66
A geom::LineSegment which is tagged with its location in a geom::Geometry.
Definition: TaggedLineSegment.h:53
Contains and owns a list of TaggedLineSegments.
Definition: TaggedLineString.h:57
Basic namespace for all GEOS functionalities.
Definition: geos.h:39