+private:
+ Designer &designer;
+ Msp::Input::Mouse &mouse;
+ Selection &selection;
+ std::vector<MObject> objects;
+ R2C2::Vector center;
+
+ R2C2::Vector pointer;
+ R2C2::Vector gpointer;
+ Mode mode;
+ R2C2::Vector move_origin;
+ R2C2::Angle angle;
+ R2C2::Angle rot_origin;
+ float elev_origin;
+ std::set<R2C2::Object *> neighbors;
+ std::vector<R2C2::Track *> extend_tracks;
+
+public:
+ Manipulator(Designer &, Msp::Input::Mouse &, Selection &);