21 #include <geos/export.h>
23 #include <geos/inline.h>
31 #include <geos/noding/SegmentNode.h>
35 #pragma warning(disable: 4251)
41 class CoordinateSequence;
45 class NodedSegmentString;
58 std::set<SegmentNode*, SegmentNodeLT> nodeMap;
59 std::deque<SegmentNode> nodeQue;
70 void checkSplitEdgesCorrectness(
const std::vector<SegmentString*>& splitEdges)
const;
92 void createSplitEdgePts(
const SegmentNode* ei0,
const SegmentNode* ei1, std::vector<geom::Coordinate>& pts)
const;
102 void addCollapsedNodes();
108 void findCollapsesFromExistingVertices(
109 std::vector<std::size_t>& collapsedVertexIndexes)
const;
118 void findCollapsesFromInsertedNodes(
119 std::vector<std::size_t>& collapsedVertexIndexes)
const;
122 size_t& collapsedVertexIndex)
const;
124 void addEdgeCoordinates(
const SegmentNode* ei0,
const SegmentNode* ei1, std::vector<geom::Coordinate>& coordList)
const;
132 friend std::ostream& operator<< (std::ostream& os,
const SegmentNodeList& l);
134 typedef std::set<SegmentNode*, SegmentNodeLT> container;
135 typedef container::iterator iterator;
136 typedef container::const_iterator const_iterator;
165 return add(*intPt, segmentIndex);
173 std::set<SegmentNode*, SegmentNodeLT>*
183 return nodeMap.size();
189 return nodeMap.begin();
191 container::const_iterator
194 return nodeMap.begin();
199 return nodeMap.end();
201 container::const_iterator
204 return nodeMap.end();
221 addSplitEdges(std::vector<SegmentString*>* edgeList)
224 addSplitEdges(*edgeList);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Represents a list of contiguous line segments, and supports noding the segments.
Definition: NodedSegmentString.h:57
A list of the SegmentNode present along a NodedSegmentString.
Definition: SegmentNodeList.h:56
std::unique_ptr< std::vector< geom::Coordinate > > getSplitCoordinates()
void addSplitEdges(std::vector< SegmentString * > &edgeList)
size_t size() const
Return the number of nodes in this list.
Definition: SegmentNodeList.h:181
SegmentNode * add(const geom::Coordinate &intPt, std::size_t segmentIndex)
Represents an intersection point between two NodedSegmentString.
Definition: SegmentNode.h:47
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26