Horizon
Loading...
Searching...
No Matches
gerber_export.hpp
1#pragma once
2#include "gerber_writer.hpp"
3#include "excellon_writer.hpp"
4#include "util/layer_range.hpp"
5#include <memory>
6#include <sstream>
7
8namespace horizon {
10 friend class CanvasGerber;
11
12public:
13 GerberExporter(const class Board &b, const class GerberOutputSettings &s);
14 void generate();
15 std::string get_log();
16
17private:
18 const class Board &brd;
19 const class GerberOutputSettings &settings;
20 std::map<int, GerberWriter> writers;
21 GerberWriter *get_writer_for_layer(int l);
22 ExcellonWriter *get_drill_writer(const LayerRange &span, bool pth);
23 std::unique_ptr<ExcellonWriter> drill_writer_pth;
24 std::unique_ptr<ExcellonWriter> drill_writer_npth;
25 std::map<LayerRange, ExcellonWriter> drill_writers_blind_buried;
26 std::stringstream log;
27
28 std::vector<ExcellonWriter *> get_drill_writers();
29
30 void generate_zip();
31};
32} // namespace horizon
Definition board.hpp:47
Definition canvas_gerber.hpp:5
Definition excellon_writer.hpp:12
Definition gerber_export.hpp:9
Definition gerber_output_settings.hpp:11
Definition gerber_writer.hpp:13
Definition layer_range.hpp:11