]> git.tdb.fi Git - libs/vr.git/blobdiff - source/openvr/openvrsystem.cpp
Receive events from OpenVR
[libs/vr.git] / source / openvr / openvrsystem.cpp
index 8c3188c370006edf0e5f38c3da713afe37d0a938..d631f48f8dece03c7a27c074924eafc0ded64b86 100644 (file)
@@ -101,6 +101,22 @@ OpenVRCombiner *OpenVRSystem::create_combiner(GL::View &v)
        return new OpenVRCombiner(*this, v);
 }
 
+void OpenVRSystem::tick()
+{
+       vr::IVRSystem *vr_sys = vr::VRSystem();
+
+       vr::VREvent_t event;
+       while(vr_sys->PollNextEvent(&event, sizeof(event)))
+       {
+               if(event.eventType==vr::VREvent_TrackedDeviceActivated)
+                       if(event.trackedDeviceIndex>=n_tracked_devices)
+                       {
+                               n_tracked_devices = event.trackedDeviceIndex+1;
+                               tracking_matrices.resize(n_tracked_devices);
+                       }
+       }
+}
+
 void OpenVRSystem::update_pose_matrices()
 {
        vector<vr::TrackedDevicePose_t> poses;