1 #pragma once
2 #include "common/polygon.hpp"
3 #include <optional>
4 
5 namespace horizon {
6 class PolygonArcRemovalProxy {
7 public:
8     PolygonArcRemovalProxy(const Polygon &poly, unsigned int precision = 16);
9     const Polygon &get() const;
10     bool had_arcs() const;
11 
12 private:
13     const Polygon &parent;
14     std::optional<Polygon> poly_arcs_removed;
15     const Polygon *ppoly = nullptr;
16 };
17 } // namespace horizon
18