18#include <geos/export.h>
25class SweepLineEventOBJ;
36class GEOS_DLL SweepLineEvent final {
37 friend class SweepLineEventLessThen;
46 SweepLineEvent(
void* newEdgeSet,
double x,
47 SweepLineEvent* newInsertEvent,
48 SweepLineEventOBJ* newObj);
50 ~SweepLineEvent() =
default;
55 return insertEvent ==
nullptr;
61 return insertEvent !=
nullptr;
67 return insertEvent ==
nullptr ? INSERT_EVENT : DELETE_EVENT;
79 return deleteEventIndex;
83 setDeleteEventIndex(std::size_t newDeleteEventIndex)
85 deleteEventIndex = newDeleteEventIndex;
94 int compareTo(SweepLineEvent* sle);
102 SweepLineEventOBJ* obj;
108 SweepLineEvent* insertEvent;
110 std::size_t deleteEventIndex;
113class GEOS_DLL SweepLineEventLessThen {
117 operator()(
const T& f,
const T& s)
const
119 if(f->xValue < s->xValue) {
122 if(f->xValue > s->xValue) {
125 if(f->eventType() < s->eventType()) {
Basic namespace for all GEOS functionalities.
Definition: geos.h:39