27 #include <geos/export.h>
33 #pragma warning(disable: 4251)
40 class CoordinateSequence;
46 class TaggedLineSegment;
63 typedef std::vector<Coordinate> CoordVect;
65 typedef std::unique_ptr<CoordVect> CoordVectPtr;
69 typedef std::unique_ptr<CoordinateSequence> CoordSeqPtr;
72 std::size_t minimumSize,
77 std::size_t getMinimumSize()
const;
83 const CoordSeq* getParentCoordinates()
const;
85 CoordSeqPtr getResultCoordinates()
const;
87 const Coordinate& getCoordinate(std::size_t i)
const;
89 std::size_t size()
const;
93 std::size_t getResultSize()
const;
99 std::vector<TaggedLineSegment*>& getSegments();
101 const std::vector<TaggedLineSegment*>& getSegments()
const;
103 const std::vector<TaggedLineSegment*>& getResultSegments()
const;
105 void addToResult(std::unique_ptr<TaggedLineSegment> seg);
109 std::unique_ptr<geom::Geometry> asLineString()
const;
111 std::unique_ptr<geom::Geometry> asLinearRing()
const;
118 std::vector<TaggedLineSegment*> segs;
121 std::vector<TaggedLineSegment*> resultSegs;
123 std::size_t minimumSize;
129 static std::unique_ptr<CoordinateSequence> extractCoordinates(
130 const std::vector<TaggedLineSegment*>& segs);
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:217
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: Angle.h:25