1 #ifndef MSP_VR_MOTIONCONTROLLER_H_
2 #define MSP_VR_MOTIONCONTROLLER_H_
4 #include <msp/gl/matrix.h>
5 #include <msp/gl/object.h>
6 #include <msp/input/device.h>
13 class MotionController: public Input::Device
16 sigc::signal<void, bool> signal_tracking_state_changed;
20 Msp::GL::Matrix matrix;
24 virtual ~MotionController();
26 void attach_to_view(StereoView &);
27 void detach_from_view();
28 virtual bool is_tracked() const = 0;
29 const GL::Matrix &get_matrix() const { return matrix; }
30 virtual void update() = 0;
32 void update_from_matrix(const Msp::GL::Matrix &);
35 virtual const GL::Object *get_object() const { return 0; }