4#ifndef EventQueue_DEFINED
5#define EventQueue_DEFINED
32 return std::tie(u0.
s.
p0, u0.
s.
p1) < std::tie(u1.
s.
p0, u1.
s.
p1);
54 return std::tie(
e0.where,
e0.type) < std::tie(
e1.where,
e1.type);
85 std::vector<Crossing> fCrossings;
std::vector< Crossing > crossings()
bool hasMoreEvents() const
void addCrossing(Point crossingPoint, const Segment &s0, const Segment &s1) override
void handleNextEventPoint(SweepLineInterface *handler)
static std::optional< EventQueue > Make(SkSpan< const Segment > segments)
std::set< Segment, OrderBySlope > InsertionSegmentSet
std::set< Segment > DeletionSegmentSet
std::variant< Lower, Cross, Upper > EventType
friend bool operator<(const Cross &c0, const Cross &c1)
friend bool operator<(const Event &e0, const Event &e1)
friend bool operator<(const Lower &, const Lower &)
friend bool operator<(const Upper &u0, const Upper &u1)