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