2 #include "common/common.hpp" 7 #include "pool/padstack.hpp" 8 #include "util/placement.hpp" 9 #include "clipper/clipper.hpp" 16 void write_line(
const std::string &s);
18 void comment(
const std::string &s);
20 void write_apertures();
24 unsigned int get_or_create_aperture_circle(uint64_t diameter);
27 void draw_line(
const Coordi &from,
const Coordi &to, uint64_t width);
29 void draw_region(
const ClipperLib::Path &path,
bool dark =
true,
int prio = 0);
30 const std::string &get_filename();
35 Line(
const Coordi &f,
const Coordi &t,
unsigned int ap) : from(f), to(t), aperture(ap)
40 unsigned int aperture;
45 Region(
const ClipperLib::Path &p,
bool d =
true,
int prio = 0) : path(p), dark(d), priority(prio){};
46 ClipperLib::Path path;
55 enum class Code { CIRCLE = 1, CENTER_LINE = 21, OUTLINE = 4 };
57 std::vector<int64_t> modifiers;
84 std::vector<Coordi> vertices;
87 ApertureMacro(
unsigned int n) : name(n)
92 std::vector<std::unique_ptr<Primitive>> primitives;
96 std::string out_filename;
98 std::map<uint64_t, unsigned int> apertures_circle;
99 std::map<std::tuple<UUID, std::string, int, bool>, ApertureMacro> apertures_macro;
101 unsigned int aperture_n = 10;
103 std::deque<Line> lines;
104 std::deque<Region> regions;
105 std::deque<std::pair<unsigned int, Coordi>> pads;
106 void write_decimal(int64_t x,
bool comma =
true);
Definition: gerber_writer.hpp:53
Definition: gerber_writer.hpp:73
Definition: placement.hpp:8
Definition: gerber_writer.hpp:66
Definition: padstack.hpp:21
Definition: gerber_writer.hpp:13
Definition: gerber_writer.hpp:81
Your typical coordinate class.
Definition: common.hpp:71