2 #include "block/net.hpp"
3 #include "clipper/clipper.hpp"
4 #include "common/polygon.hpp"
15 enum class Style { ROUND, SQUARE, MITER };
17 Style style = Style::ROUND;
19 bool keep_orphans =
false;
21 enum class ConnectStyle { SOLID, THERMAL };
22 ConnectStyle connect_style = ConnectStyle::SOLID;
25 uint64_t thermal_spoke_width = 0.2_mm;
27 enum class TextStyle { EXPAND, BBOX };
28 TextStyle text_style = TextStyle::EXPAND;
30 enum class FillStyle { SOLID, HATCH };
31 FillStyle fill_style = FillStyle::SOLID;
32 uint64_t hatch_border_width = 0.5_mm;
34 uint64_t hatch_line_spacing = 0.5_mm;
36 json serialize()
const;
48 ClipperLib::Paths paths;
49 bool contains(
const Coordi &c)
const;
50 json serialize()
const;
58 bool from_rules =
true;
62 std::deque<Fragment> fragments;
63 unsigned int revision = 0;
65 Type get_type()
const;
66 UUID get_uuid()
const;
67 std::string get_name()
const;
69 json serialize()
const;