#pragma once #include "vde/core/polygon.h" #include namespace vde::boolean { using core::Point2D; using core::Polygon2D; enum class BooleanOp { Union, Intersection, Difference, SymDiff }; /// 2D polygon boolean operations (Vatti algorithm) /// Currently implemented via a simple edge walking approach for convex polygons std::vector boolean_2d(const Polygon2D& a, const Polygon2D& b, BooleanOp op); } // namespace vde::boolean