summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_rift_025/ftnoir_tracker_rift.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-10-29 07:25:52 +0100
committerStanislaw Halik <sthalik@misaki.pl>2015-10-29 07:25:52 +0100
commitb0fbe9605b47437d06694a747e607a1b9558c8b3 (patch)
tree12fdbdaf341b93f493c50280f94a89fde8ec5f92 /ftnoir_tracker_rift_025/ftnoir_tracker_rift.cpp
parentee5a2b5cd1e93a2133697445aa68f40539c902e2 (diff)
rift: finish 0.2.5 support
Diffstat (limited to 'ftnoir_tracker_rift_025/ftnoir_tracker_rift.cpp')
-rw-r--r--ftnoir_tracker_rift_025/ftnoir_tracker_rift.cpp102
1 files changed, 0 insertions, 102 deletions
diff --git a/ftnoir_tracker_rift_025/ftnoir_tracker_rift.cpp b/ftnoir_tracker_rift_025/ftnoir_tracker_rift.cpp
deleted file mode 100644
index 549b5ca2..00000000
--- a/ftnoir_tracker_rift_025/ftnoir_tracker_rift.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright: "i couldn't care less what anyone does with the 5 lines of code i wrote" - mm0zct */
-#include "ftnoir_tracker_rift.h"
-#include "facetracknoir/global-settings.h"
-#include "OVR.h"
-#include <cstdio>
-
-using namespace OVR;
-
-Rift_Tracker::Rift_Tracker()
-{
- should_quit = false;
- pManager = NULL;
- pSensor = NULL;
- pSFusion = NULL;
- old_yaw = 0;
-}
-
-Rift_Tracker::~Rift_Tracker()
-{
- if (pSensor)
- pSensor->Release();
- if (pSFusion)
- delete pSFusion;
- if (pManager)
- pManager->Release();
- System::Destroy();
-}
-
-void Rift_Tracker::start_tracker(QFrame*)
-{
- System::Init(Log::ConfigureDefaultLog(LogMask_All));
- pManager = DeviceManager::Create();
- if (pManager != NULL)
- {
- DeviceEnumerator<OVR::SensorDevice> enumerator = pManager->EnumerateDevices<OVR::SensorDevice>();
- if (enumerator.IsAvailable())
- {
- pSensor = enumerator.CreateDevice();
-
- if (pSensor)
- {
- pSFusion = new OVR::SensorFusion();
- pSFusion->Reset();
- pSFusion->AttachToSensor(pSensor);
- }
- else
- {
- QMessageBox::warning(0,"FaceTrackNoIR Error", "Unable to create Rift sensor",QMessageBox::Ok,QMessageBox::NoButton);
- }
-
- }
- else
- {
- QMessageBox::warning(0,"FaceTrackNoIR Error", "Unable to enumerate Rift tracker",QMessageBox::Ok,QMessageBox::NoButton);
- }
- }
- else
- {
- QMessageBox::warning(0,"FaceTrackNoIR Error", "Unable to start Rift tracker",QMessageBox::Ok,QMessageBox::NoButton);
- }
-}
-
-
-void Rift_Tracker::data(double *data)
-{
- if (pSFusion != NULL && pSensor != NULL)
- {
- Quatf hmdOrient = pSFusion->GetOrientation();
- double newHeadPose[6];
-
- float yaw = 0.0f;
- float pitch = 0.0f;
- float roll = 0.0f;
- hmdOrient.GetEulerAngles<Axis_Y, Axis_X, Axis_Z>(&yaw, &pitch , &roll);
- newHeadPose[Pitch] = pitch;
- newHeadPose[Roll] = roll;
- newHeadPose[Yaw] = yaw;
- if (s.useYawSpring)
- {
- newHeadPose[Yaw] = old_yaw*s.persistence + (yaw-old_yaw);
- if(newHeadPose[Yaw] > s.deadzone)
- newHeadPose[Yaw] -= s.constant_drift;
- if(newHeadPose[Yaw] < -s.deadzone)
- newHeadPose[Yaw] += s.constant_drift;
- old_yaw=yaw;
- }
- if (s.bEnableYaw)
- {
- data[Yaw] = newHeadPose[Yaw] * 57.295781f;
- }
- if (s.bEnablePitch)
- {
- data[Pitch] = newHeadPose[Pitch] * 57.295781f;
- }
- if (s.bEnableRoll)
- {
- data[Roll] = newHeadPose[Roll] * 57.295781f;
- }
- }
-}
-
-OPENTRACK_DECLARE_TRACKER(Rift_Tracker, TrackerControls, FTNoIR_TrackerDll)