#include <msp/vr/system.h>
#include "openvrcamera.h"
#include "openvrcombiner.h"
+#include "openvrcontroller.h"
namespace Msp {
namespace VR {
private:
unsigned n_tracked_devices;
std::vector<GL::Matrix> tracking_matrices;
+ std::vector<OpenVRController *> controllers;
+ std::vector<unsigned> unclaimed_controllers;
static unsigned n_instances;
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