Horizon
Loading...
Searching...
No Matches
keepout.hpp
1#pragma once
2#include "common/polygon.hpp"
3#include "clipper/clipper.hpp"
4
5namespace horizon {
6using json = nlohmann::json;
7
8class Keepout : public PolygonUsage {
9public:
10 Keepout(const UUID &uu, const json &j, class ObjectProvider &prv);
11 Keepout(const UUID &uu);
12 UUID uuid;
13 uuid_ptr<Polygon> polygon;
14 std::string keepout_class;
15
16 std::set<PatchType> patch_types_cu;
17 bool exposed_cu_only = false;
18 bool all_cu_layers = false;
19
20 Type get_type() const override;
21 UUID get_uuid() const override;
22
23 json serialize() const;
24};
25
27public:
28 const Keepout *keepout = nullptr;
29 const class BoardPackage *pkg = nullptr;
30 ClipperLib::Path contour;
31};
32
33} // namespace horizon
Definition board_package.hpp:13
Definition keepout.hpp:26
Definition keepout.hpp:8
Interface for classes that store objects identified by UUID (e.g. Line or Junction)
Definition object_provider.hpp:10
Definition polygon.hpp:13
This class encapsulates a UUID and allows it to be uses as a value type.
Definition uuid.hpp:16
Definition uuid_ptr.hpp:8
a class to store JSON values
Definition json.hpp:177
basic_json<> json
default JSON class
Definition json_fwd.hpp:62