16 #ifndef GEOS_GEOMGRAPH_INDEX_SWEEPLINEEVENT_H 17 #define GEOS_GEOMGRAPH_INDEX_SWEEPLINEEVENT_H 20 #include <geos/export.h> 27 class SweepLineEventOBJ;
38 class GEOS_DLL SweepLineEvent final {
39 friend class SweepLineEventLessThen;
48 SweepLineEvent(
void* newEdgeSet,
double x,
49 SweepLineEvent* newInsertEvent,
50 SweepLineEventOBJ* newObj);
52 ~SweepLineEvent() =
default;
57 return insertEvent ==
nullptr;
63 return insertEvent !=
nullptr;
69 return insertEvent ==
nullptr ? INSERT_EVENT : DELETE_EVENT;
81 return deleteEventIndex;
85 setDeleteEventIndex(
size_t newDeleteEventIndex)
87 deleteEventIndex = newDeleteEventIndex;
96 int compareTo(SweepLineEvent* sle);
104 SweepLineEventOBJ* obj;
110 SweepLineEvent* insertEvent;
112 size_t deleteEventIndex;
115 class GEOS_DLL SweepLineEventLessThen {
119 operator()(
const T& f,
const T& s)
const 121 if(f->xValue < s->xValue) {
124 if(f->xValue > s->xValue) {
127 if(f->eventType() < s->eventType()) {
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25