2 #include "block/net.hpp"
3 #include "clipper/clipper.hpp"
4 #include "common/polygon.hpp"
17 enum class ConnectStyle { SOLID, THERMAL, FROM_PLANE };
18 ConnectStyle connect_style = ConnectStyle::SOLID;
20 uint64_t thermal_gap_width = 0.2_mm;
21 uint64_t thermal_spoke_width = 0.2_mm;
22 unsigned int n_spokes = 4;
25 void serialize(
json &j)
const;
34 enum class Style { ROUND, SQUARE, MITER };
35 uint64_t min_width = 0.2_mm;
36 Style style = Style::ROUND;
37 uint64_t extra_clearance = 0;
38 bool keep_orphans =
false;
42 enum class TextStyle { EXPAND, BBOX };
43 TextStyle text_style = TextStyle::EXPAND;
45 enum class FillStyle { SOLID, HATCH };
46 FillStyle fill_style = FillStyle::SOLID;
47 uint64_t hatch_border_width = 0.5_mm;
48 uint64_t hatch_line_width = 0.2_mm;
49 uint64_t hatch_line_spacing = 0.5_mm;
51 json serialize()
const;
63 ClipperLib::Paths paths;
64 bool contains(
const Coordi &c)
const;
65 json serialize()
const;
73 bool from_rules =
true;
77 std::deque<Fragment> fragments;
79 unsigned int get_revision()
const
83 void load_fragments(
const json &j);
85 Type get_type()
const override;
86 UUID get_uuid()
const override;
87 std::string get_name()
const;
89 json serialize()
const;
90 json serialize_fragments()
const;
93 unsigned int revision = 0;
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