23 #ifndef GEOS_NODING_NODEDSEGMENTSTRING_H 24 #define GEOS_NODING_NODEDSEGMENTSTRING_H 39 #pragma warning(disable: 4251 4355) // warning C4355: 'this' : used in base member initializer list 66 for(II i = from; i != too_far; ++i) {
78 getNodedSubstrings(segStrings->begin(), segStrings->end(), resultEdgelist);
88 std::unique_ptr<std::vector<geom::Coordinate>> getNodedCoordinates();
109 , pts(ss->getCoordinates()->clone())
127 std::size_t normalizedSegmentIndex = segmentIndex;
130 std::size_t nextSegIndex = normalizedSegmentIndex + 1;
131 if(nextSegIndex < size()) {
133 getCoordinate(nextSegIndex);
138 normalizedSegmentIndex = nextSegIndex;
143 SegmentNode* ei = getNodeList().add(*intPt, normalizedSegmentIndex);
162 bool isClosed()
const override;
164 std::ostream& print(std::ostream& os)
const override;
174 int getSegmentOctant(
size_t index)
const;
182 size_t segmentIndex,
size_t geomIndex);
193 size_t geomIndex,
size_t intIndex);
203 size_t segmentIndex);
210 std::unique_ptr<geom::CoordinateSequence>
pts;
223 #endif // GEOS_NODING_NODEDSEGMENTSTRING_H NodedSegmentString(SegmentString *ss)
An interface for classes which support adding nodes to a segment string.
SegmentNode * addIntersectionNode(geom::Coordinate *intPt, std::size_t segmentIndex)
Adds an intersection node for a given point and segment to this segment string.
Coordinate is the lightweight class used to store coordinates.
An interface for classes which represent a sequence of contiguous line segments.
Represents a list of contiguous line segments, and supports noding the segments.
SegmentNodeList & getNodeList()
static void getNodedSubstrings(C *segStrings, SegmentString::NonConstVect *resultEdgelist)
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
void addSplitEdges(std::vector< SegmentString * > &edgeList)
Basic namespace for all GEOS functionalities.
std::vector< SegmentString * > NonConstVect
std::unique_ptr< geom::CoordinateSequence > pts
static void getNodedSubstrings(II from, II too_far, SegmentString::NonConstVect *resultEdgelist)
A list of the SegmentNode present along a NodedSegmentString.
NodedSegmentString(geom::CoordinateSequence *newPts, const void *newContext)
Creates a new segment string from a list of vertices.
The internal representation of a list of coordinates inside a Geometry.
size_t size() const override
bool equals2D(const Coordinate &other) const
Represents an intersection point between two NodedSegmentString.