2 #include "core/tool.hpp"
9 class PNS_HORIZON_IFACE;
11 class MEANDER_PLACER_BASE;
21 using ToolBase::ToolBase;
30 json serialize()
const override;
31 void load_from_json(
const json &j)
override;
33 bool remove_loops =
true;
34 enum class Mode { WALKAROUND, PUSH, BEND, STRAIGHT };
35 Mode mode = Mode::WALKAROUND;
36 static const std::map<Mode, std::string> mode_names;
46 void apply_settings()
override;
48 std::set<InToolActionID> get_actions()
const override
50 using I = InToolActionID;
55 I::LENGTH_TUNING_LENGTH,
56 I::LENGTH_TUNING_AMPLITUDE_INC,
57 I::LENGTH_TUNING_AMPLITUDE_DEC,
58 I::LENGTH_TUNING_SPACING_INC,
59 I::LENGTH_TUNING_SPACING_DEC,
65 I::TRACK_WIDTH_DEFAULT,
67 I::CLEARANCE_OFFSET_DEFAULT,
72 ToolSettings *get_settings()
override
83 class CanvasGL *canvas =
nullptr;
84 ToolWrapper *wrapper =
nullptr;
86 enum class State { START, ROUTING };
87 State state = State::START;
89 Board *board =
nullptr;
90 const class BoardRules *rules =
nullptr;
93 class Track *get_track(
const std::set<SelectableRef> &sel);
94 class Via *get_via(
const std::set<SelectableRef> &sel);
96 bool settings_window_visible =
false;
97 void update_settings_window();
Class MEANDER_PLACER_BASE.
Definition: pns_meander_placer_base.h:49
Definition: pns_horizon_iface.hpp:66
Definition: pns_router.h:113
a class to store JSON values
Definition: json.hpp:166