19 #ifndef GEOS_NODING_SEGMENTNODE_H
20 #define GEOS_NODING_SEGMENTNODE_H
22 #include <geos/export.h>
27 #include <geos/inline.h>
29 #include <geos/geom/Coordinate.h>
34 class NodedSegmentString;
56 friend std::ostream& operator<< (std::ostream& os,
const SegmentNode& n);
78 std::size_t nSegmentIndex,
int nSegmentOctant);
93 bool isEndPoint(
unsigned int maxSegmentIndex)
const;
107 std::ostream& operator<< (std::ostream& os,
const SegmentNode& n);
109 struct GEOS_DLL SegmentNodeLT {
117 operator()(
const SegmentNode& s1,
const SegmentNode& s2)
const
119 return s1.compareTo(s2) < 0;
128 # include "geos/noding/SegmentNode.inl"
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:58
Represents an intersection point between two NodedSegmentString.
Definition: SegmentNode.h:47
int compareTo(const SegmentNode &other) const
std::size_t segmentIndex
the index of the containing line segment in the parent edge
Definition: SegmentNode.h:62
geom::Coordinate coord
the point of intersection (own copy)
Definition: SegmentNode.h:59
bool isInterior() const
Return true if this Node is internal (not on the boundary) of the corresponding segment....
Definition: SegmentNode.h:88
SegmentNode(const NodedSegmentString &ss, const geom::Coordinate &nCoord, std::size_t nSegmentIndex, int nSegmentOctant)
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26