NONE,
MOVE,
ROTATE,
- ELEVATE
+ ELEVATE,
+ EXTEND
};
struct MTrack
float rot_origin;
int elev_origin;
std::set<Marklin::Track *> neighbors;
+ std::vector<Marklin::Track *> extend_tracks;
public:
Manipulator(Designer &, Selection &);
void start_move();
void start_rotate();
void start_elevate();
+ void start_extend();
void duplicate();
void flatten();
void even_slope(bool =false);
void update_tracks();
void update_neighbors();
void set_slope(TrackOrder &, float, float);
+ std::vector<Marklin::Track *> create_straight(const Marklin::Point &, float, float, float);
};
#endif