Horizon
Loading...
Searching...
No Matches
gerber_output_settings.hpp
1#pragma once
2#include "common/common.hpp"
3#include "common/lut.hpp"
4#include "nlohmann/json_fwd.hpp"
5#include "util/uuid.hpp"
6#include "util/layer_range.hpp"
7
8namespace horizon {
9using json = nlohmann::json;
10
12public:
14 public:
15 GerberLayer(int l);
16 GerberLayer(int l, const json &j);
17 json serialize() const;
18
19 int layer;
20 std::string filename;
21 bool enabled = true;
22 };
23
26 {
27 }
28 json serialize() const;
29 void update_for_board(const class Board &brd);
30
31 std::map<int, GerberLayer> layers;
32 std::map<LayerRange, std::string> blind_buried_drills_filenames;
33
34 void update_blind_buried_drills_filenames(const Board &brd);
35
36 enum class DrillMode { INDIVIDUAL, MERGED };
37 DrillMode drill_mode = DrillMode::MERGED;
38
39 static const LutEnumStr<DrillMode> mode_lut;
40
41 std::string drill_pth_filename = ".txt";
42 std::string drill_npth_filename = "-npth.txt";
43 uint64_t outline_width = 0.01_mm;
44
45 std::string prefix;
46 std::string output_directory;
47 bool zip_output = false;
48};
49} // namespace horizon
Definition board.hpp:47
Definition gerber_output_settings.hpp:13
Definition gerber_output_settings.hpp:11
a class to store JSON values
Definition json.hpp:177
basic_json<> json
default JSON class
Definition json_fwd.hpp:62