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;
47 class GEOS_DLL SegmentNode {
49 const NodedSegmentString& segString;
56 SegmentNode(
const SegmentNode& other) =
delete;
57 SegmentNode& operator=(
const SegmentNode& rhs) =
delete;
60 friend std::ostream& operator<< (std::ostream& os,
const SegmentNode& n);
63 geom::Coordinate coord;
80 SegmentNode(
const NodedSegmentString& ss,
81 const geom::Coordinate& nCoord,
82 size_t nSegmentIndex,
int nSegmentOctant);
97 bool isEndPoint(
unsigned int maxSegmentIndex)
const;
111 std::ostream& operator<< (std::ostream& os,
const SegmentNode& n);
113 struct GEOS_DLL SegmentNodeLT {
115 operator()(SegmentNode* s1, SegmentNode* s2)
const
117 return s1->compareTo(*s2) < 0;
125 #endif // GEOS_NODING_SEGMENTNODE_H