X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdesigner%2Fmanipulator.h;h=1c46af6b6fd4c4eeae53bd197c87a198723f9acc;hb=51d3c122fb489f9e3f00060f885f00c1fae7ceb5;hp=469f09f769fe5a768ad40c3501d0ff6f454a91d2;hpb=ec1f75d72e5c4f7f7c9dafdf80f58c30ffb1a855;p=r2c2.git diff --git a/source/designer/manipulator.h b/source/designer/manipulator.h index 469f09f..1c46af6 100644 --- a/source/designer/manipulator.h +++ b/source/designer/manipulator.h @@ -2,6 +2,7 @@ #define MANIPULATOR_H_ #include +#include "libr2c2/geometry.h" class Designer; class Selection; @@ -18,13 +19,13 @@ private: EXTEND }; - struct MTrack + struct MObject { - R2C2::Track *track; + R2C2::Object *object; R2C2::Vector pos; - float rot; + R2C2::Angle rot; - MTrack(R2C2::Track *); + MObject(R2C2::Object *); }; struct TrackOrder @@ -43,16 +44,17 @@ private: Designer &designer; Msp::Input::Mouse &mouse; Selection &selection; - std::vector tracks; + std::vector objects; R2C2::Vector center; R2C2::Vector pointer; R2C2::Vector gpointer; Mode mode; R2C2::Vector move_origin; - float angle; - float rot_origin; - std::set neighbors; + R2C2::Angle angle; + R2C2::Angle rot_origin; + float elev_origin; + std::set neighbors; std::vector extend_tracks; public: @@ -71,10 +73,10 @@ private: void button_press(unsigned); void axis_motion(unsigned, float, float); void selection_changed(); - void update_tracks(); + void update_objects(); void update_neighbors(); void set_slope(TrackOrder &, float, float); - std::vector create_straight(const R2C2::Vector &, float, float, float); + std::vector create_straight(const R2C2::Vector &, const R2C2::Angle &, float, float); }; #endif