19 #ifndef GEOS_NODING_INTERSECTIONADDER_H 20 #define GEOS_NODING_INTERSECTIONADDER_H 39 class LineIntersector;
83 bool isTrivialIntersection(
const SegmentString* e0,
size_t segIndex0,
101 hasIntersectionVar(false),
103 hasProperInterior(false),
105 properIntersectionPoint(),
108 numInteriorIntersections(0),
109 numProperIntersections(0),
126 return properIntersectionPoint;
132 return hasIntersectionVar;
157 return hasProperInterior;
179 void processIntersections(
187 return (i1 > i2 ? i1 - i2 : i2 - i1) == 1;
206 #endif // GEOS_NODING_INTERSECTIONADDER_H bool hasProperIntersection()
A proper intersection is an intersection which is interior to at least two line segments.
Coordinate is the lightweight class used to store coordinates.
An interface for classes which represent a sequence of contiguous line segments.
bool hasInteriorIntersection()
An interior intersection is an intersection which is in the interior of some segment.
int numProperIntersections
const geom::Coordinate & getProperIntersectionPoint()
algorithm::LineIntersector & li
bool isDone() const override
Always process all intersections.
int numInteriorIntersections
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Computes the intersections between two line segments in SegmentString and adds them to each string...
algorithm::LineIntersector & getLineIntersector()
IntersectionAdder(algorithm::LineIntersector &newLi)
Basic namespace for all GEOS functionalities.
Processes possible intersections detected by a Noder.
bool hasProperInteriorIntersection()
A proper interior intersection is a proper intersection which is not contained in the set of boundary...
geom::Coordinate properIntersectionPoint
static bool isAdjacentSegments(size_t i1, size_t i2)