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
horizon::CanvasGerber
Definition: canvas_gerber.hpp:5
horizon::GerberWriter
Definition: gerber_writer.hpp:13
horizon::Board
Definition: board.hpp:31
horizon::GerberExporter
Definition: gerber_export.hpp:8
horizon::FabOutputSettings
Definition: fab_output_settings.hpp:10
horizon::ExcellonWriter
Definition: excellon_writer.hpp:12