35 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 41 class CoordinateSequence;
45 class NodedSegmentString;
58 std::set<SegmentNode*, SegmentNodeLT>
nodeMap;
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;
134 typedef std::set<SegmentNode*, SegmentNodeLT>
container;
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();
218 void addSplitEdges(std::vector<SegmentString*>& edgeList);
224 addSplitEdges(*edgeList);
236 std::unique_ptr<std::vector<geom::Coordinate>> getSplitCoordinates();
const NodedSegmentString & edge
Coordinate is the lightweight class used to store coordinates.
std::set< SegmentNode *, SegmentNodeLT > container
SegmentNodeList(const NodedSegmentString *newEdge)
SegmentNode * add(const geom::Coordinate *intPt, std::size_t segmentIndex)
Represents a list of contiguous line segments, and supports noding the segments.
container::const_iterator const_iterator
std::set< SegmentNode *, SegmentNodeLT > nodeMap
std::set< SegmentNode *, SegmentNodeLT > * getNodes()
std::deque< SegmentNode > nodeQue
container::iterator iterator
std::ostream & operator<<(std::ostream &os, const Coordinate &c)
Output function.
container::const_iterator begin() const
void addSplitEdges(std::vector< SegmentString * > *edgeList)
container::iterator end()
Basic namespace for all GEOS functionalities.
SegmentNodeList(const NodedSegmentString &newEdge)
size_t size() const
Return the number of nodes in this list.
container::const_iterator end() const
A list of the SegmentNode present along a NodedSegmentString.
const NodedSegmentString & getEdge() const
container::iterator begin()
Represents an intersection point between two NodedSegmentString.