2 #include "block/bus.hpp"
3 #include "core/tool.hpp"
4 #include "tool_place_junction.hpp"
5 #include "tool_helper_move.hpp"
9 class ToolPlaceBusRipper :
public ToolPlaceJunction,
public ToolHelperMove {
11 ToolPlaceBusRipper(IDocument *c, ToolID tid);
13 std::set<InToolActionID> get_actions()
const override
15 using I = InToolActionID;
17 I::LMB, I::CANCEL, I::RMB, I::ROTATE, I::MIRROR, I::EDIT,
22 void create_attached()
override;
23 void delete_attached()
override;
24 bool begin_attached()
override;
25 bool update_attached(
const ToolArgs &args)
override;
26 bool check_line(
class LineNet *li)
override;
27 class BusRipper *ri =
nullptr;
28 Orientation last_orientation = Orientation::RIGHT;
31 std::vector<Bus::Member *> bus_members;
32 size_t bus_member_current = 0;