X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdesigner%2Fmanipulator.h;h=8115ab4abd8dd7e8e3b1d6429a249737b2efbf09;hb=258600f95f62ba4fbe745da4aebdd1a496af0050;hp=9177f971b66d2d63011d69601306287b4dca1c8e;hpb=449fb5de95ddb2ac9da4bd72a1c12150505d5549;p=r2c2.git diff --git a/source/designer/manipulator.h b/source/designer/manipulator.h index 9177f97..8115ab4 100644 --- a/source/designer/manipulator.h +++ b/source/designer/manipulator.h @@ -9,7 +9,6 @@ Distributed under the GPL #define MANIPULATOR_H_ #include -#include "3d/track.h" class Designer; class Selection; @@ -42,28 +41,16 @@ private: TrackOrder(Marklin::Track *t, bool r): track(t), rev(r) { } }; - struct TrackWrap - { - Marklin::Point pos; - float rot; - float width; - float height; - }; - public: sigc::signal signal_status; sigc::signal signal_done; private: Designer &designer; - Selection *selection; + Selection &selection; std::vector tracks; Marklin::Point center; - std::list wrap; - Marklin::Point wrap_pos; - float wrap_rot; - Marklin::Point gpointer; int pointer_y; Mode mode; @@ -72,25 +59,23 @@ private: float rot_origin; int elev_origin; std::set neighbors; - sigc::connection selection_changed_conn; public: - Manipulator(Designer &); + Manipulator(Designer &, Selection &); - void set_selection(Selection *); void start_move(); void start_rotate(); void start_elevate(); void duplicate(); void flatten(); void even_slope(bool =false); + void connect(); void cancel(); void button_press(int, int, float, float, unsigned); void pointer_motion(int, int, float, float); - void render(); private: void selection_changed(); - void update_wrap(); + void update_tracks(); void update_neighbors(); void set_slope(TrackOrder &, float, float); };