#define MSP_VR_MOTIONCONTROLLER_H_
#include <msp/gl/matrix.h>
+#include <msp/gl/object.h>
#include <msp/input/device.h>
namespace Msp {
class MotionController: public Input::Device
{
+public:
+ sigc::signal<void, bool> signal_tracking_state_changed;
+
protected:
StereoView *view;
Msp::GL::Matrix matrix;
void attach_to_view(StereoView &);
void detach_from_view();
+ virtual bool is_tracked() const = 0;
const GL::Matrix &get_matrix() const { return matrix; }
virtual void update() = 0;
protected:
void update_from_matrix(const Msp::GL::Matrix &);
+
+public:
+ virtual const GL::Object *get_object() const { return 0; }
};
} // namespace VR