2 #include "block/net.hpp"
3 #include "common/polygon.hpp"
4 #include "clipper/clipper.hpp"
9 class Keepout :
public PolygonUsage {
11 Keepout(
const UUID &uu,
const json &j,
class ObjectProvider &prv);
12 Keepout(
const UUID &uu);
14 uuid_ptr<Polygon> polygon;
15 std::string keepout_class;
17 std::set<PatchType> patch_types_cu;
18 bool exposed_cu_only =
false;
19 bool all_cu_layers =
false;
21 Type get_type()
const override;
22 UUID get_uuid()
const override;
24 json serialize()
const;
27 class KeepoutContour {
29 const Keepout *keepout =
nullptr;
30 const class BoardPackage *pkg =
nullptr;
31 ClipperLib::Path contour;