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);