21#include <geos/export.h>
22#include <geos/geom/Coordinate.h>
23#include <geos/noding/SegmentPointComparator.h>
31class NodedSegmentString;
53 friend std::ostream& operator<< (std::ostream& os,
const SegmentNode& n);
75 std::size_t nSegmentIndex,
int nSegmentOctant);
90 bool isEndPoint(
unsigned int maxSegmentIndex)
const
92 if(segmentIndex == 0 && ! isInteriorVar) {
95 if(segmentIndex == maxSegmentIndex) {
117 if (coord.equals2D(other.
coord)) {
126 if (!isInteriorVar)
return -1;
127 if (!other.isInteriorVar)
return 1;
129 return SegmentPointComparator::compare(
130 segmentOctant, coord,
138struct GEOS_DLL SegmentNodeLT {
140 operator()(SegmentNode* s1, SegmentNode* s2)
const
142 return s1->compareTo(*s2) < 0;
146 operator()(
const SegmentNode& s1,
const SegmentNode& s2)
const
148 return s1.compareTo(s2) < 0;
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:58
Represents a list of contiguous line segments, and supports noding the segments.
Definition NodedSegmentString.h:59
Represents an intersection point between two NodedSegmentString.
Definition SegmentNode.h:44
int compareTo(const SegmentNode &other) const
Definition SegmentNode.h:108
std::size_t segmentIndex
the index of the containing line segment in the parent edge
Definition SegmentNode.h:59
geom::Coordinate coord
the point of intersection (own copy)
Definition SegmentNode.h:56
bool isInterior() const
Return true if this Node is internal (not on the boundary) of the corresponding segment....
Definition SegmentNode.h:85
SegmentNode(const NodedSegmentString &ss, const geom::Coordinate &nCoord, std::size_t nSegmentIndex, int nSegmentOctant)
Basic namespace for all GEOS functionalities.
Definition geos.h:39