X-Git-Url: http://git.tdb.fi/?p=libs%2Fvr.git;a=blobdiff_plain;f=source%2Fopenvr%2Fopenvrsystem.h;h=7799ad298405914f198d41c7ddd676eae902b59b;hp=119eb16e7e7948d211cea8b7804360c7d40b4a89;hb=774cc129d93a0001c36434f47ec0614c653824be;hpb=2acdfcc95c317f30e725e17f0d372fce050830ef diff --git a/source/openvr/openvrsystem.h b/source/openvr/openvrsystem.h index 119eb16..7799ad2 100644 --- a/source/openvr/openvrsystem.h +++ b/source/openvr/openvrsystem.h @@ -5,6 +5,7 @@ #include #include "openvrcamera.h" #include "openvrcombiner.h" +#include "openvrcontroller.h" namespace Msp { namespace VR { @@ -14,6 +15,8 @@ class OpenVRSystem: public System private: unsigned n_tracked_devices; std::vector tracking_matrices; + std::vector controllers; + std::vector unclaimed_controllers; static unsigned n_instances; @@ -30,12 +33,15 @@ public: virtual bool get_absolute_tracking() const; virtual OpenVRCamera *create_camera(const GL::Camera &); virtual OpenVRCombiner *create_combiner(GL::View &); + virtual OpenVRController *create_controller(); virtual void tick(); void update_pose_matrices(); const GL::Matrix &get_tracking_matrix(unsigned) const; const GL::Matrix &get_hmd_matrix() const; + void add_controller(OpenVRController &); + void remove_controller(OpenVRController &); }; } // namespace VR