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;
185 isAdjacentSegments(
size_t i1,
size_t i2)
187 return (i1 > i2 ? i1 - i2 : i2 - i1) == 1;
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:49
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Computes the intersections between two line segments in SegmentString and adds them to each string.
Definition: IntersectionAdder.h:57
bool hasInteriorIntersection()
An interior intersection is an intersection which is in the interior of some segment.
Definition: IntersectionAdder.h:165
void processIntersections(SegmentString *e0, size_t segIndex0, SegmentString *e1, size_t segIndex1) override
This method is called by clients of the SegmentIntersector class to process intersections for two seg...
const geom::Coordinate & getProperIntersectionPoint()
Definition: IntersectionAdder.h:124
bool hasProperInteriorIntersection()
A proper interior intersection is a proper intersection which is not contained in the set of boundary...
Definition: IntersectionAdder.h:155
bool isDone() const override
Always process all intersections.
Definition: IntersectionAdder.h:196
bool hasProperIntersection()
A proper intersection is an intersection which is interior to at least two line segments.
Definition: IntersectionAdder.h:145
Processes possible intersections detected by a Noder.
Definition: noding/SegmentIntersector.h:48
An interface for classes which represent a sequence of contiguous line segments.
Definition: SegmentString.h:46
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26