19 #ifndef GEOS_NODING_INTERSECTIONADDER_H 20 #define GEOS_NODING_INTERSECTIONADDER_H 22 #include <geos/export.h> 28 #include <geos/inline.h> 30 #include <geos/geom/Coordinate.h> 31 #include <geos/noding/SegmentIntersector.h> 39 class LineIntersector;
65 bool hasIntersectionVar;
67 bool hasProperInterior;
83 bool isTrivialIntersection(
const SegmentString* e0,
size_t segIndex0,
93 int numInteriorIntersections;
94 int numProperIntersections;
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(
185 isAdjacentSegments(
size_t i1,
size_t i2)
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.
Definition: IntersectionAdder.h:145
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
An interface for classes which represent a sequence of contiguous line segments.
Definition: SegmentString.h:46
bool hasInteriorIntersection()
An interior intersection is an intersection which is in the interior of some segment.
Definition: IntersectionAdder.h:165
const geom::Coordinate & getProperIntersectionPoint()
Definition: IntersectionAdder.h:124
bool isDone() const override
Always process all intersections.
Definition: IntersectionAdder.h:196
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:49
Computes the intersections between two line segments in SegmentString and adds them to each string...
Definition: IntersectionAdder.h:57
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26
Processes possible intersections detected by a Noder.
Definition: noding/SegmentIntersector.h:48
bool hasProperInteriorIntersection()
A proper interior intersection is a proper intersection which is not contained in the set of boundary...
Definition: IntersectionAdder.h:155