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