3 #include "clipper/clipper.hpp"
13 bool operator<(
const PatchKey &other)
const
15 if (type < other.type)
17 else if (type > other.type)
20 if (layer < other.layer)
22 else if (layer > other.layer)
25 return net < other.net;
29 const std::map<PatchKey, ClipperLib::Paths> &get_patches()
const;
30 const std::set<std::tuple<int, Coordi, Coordi>> &get_text_extents()
const;
31 void clear()
override;
33 void append_polygon(
const Polygon &poly);
35 enum class SimplifyOnUpdate { YES, NO };
36 CanvasPatch(SimplifyOnUpdate simplify_on_update = SimplifyOnUpdate::YES);
41 void request_push()
override;
45 const SimplifyOnUpdate simplify_on_update;
46 const Net *net =
nullptr;
47 PatchType patch_type = PatchType::OTHER;
48 virtual void img_net(
const Net *net)
override;
49 virtual void img_polygon(
const Polygon &poly,
bool tr)
override;
50 virtual void img_hole(
const class Hole &hole)
override;
51 virtual void img_patch_type(PatchType type)
override;
53 std::map<PatchKey, ClipperLib::Paths> patches;
54 std::set<std::tuple<int, Coordi, Coordi>> text_extents;
Definition: canvas_patch.hpp:8
Definition: canvas_patch.hpp:6
Definition: canvas.hpp:24
Polygon used in Padstack, Package and Board for specifying filled Regions.
Definition: polygon.hpp:25
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16