Flutter Engine
The Flutter Engine
SweepLine.h
Go to the documentation of this file.
1// Copyright 2023 Google LLC
2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3
4#ifndef SweepLine_DEFINED
5#define SweepLine_DEFINED
6
9
10#include <cstdint>
11#include <vector>
12
13namespace bentleyottmann {
14struct Point;
15
17public:
18 SweepLine();
19
20 void handleDeletions(Point eventPoint, const DeletionSegmentSet& removing) override;
21
23 const InsertionSegmentSet& inserting,
24 EventQueueInterface* queue) override;
25
26private:
27 friend struct SweepLineTestingPeer;
28
29 void verify(int32_t y) const;
30
31 std::vector<Segment> fSweepLine;
32};
33} // namespace bentleyottmann
34#endif // SweepLine_DEFINED
void handleDeletions(Point eventPoint, const DeletionSegmentSet &removing) override
Definition: SweepLine.cpp:41
void handleInsertionsAndCheckForNewCrossings(Point eventPoint, const InsertionSegmentSet &inserting, EventQueueInterface *queue) override
Definition: SweepLine.cpp:59
VkQueue queue
Definition: main.cc:55
double y
std::set< Segment, OrderBySlope > InsertionSegmentSet
std::set< Segment > DeletionSegmentSet
TPoint< Scalar > Point
Definition: point.h:322