diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2015-10-29 07:25:52 +0100 |
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-10-29 07:25:52 +0100 |
| commit | b0fbe9605b47437d06694a747e607a1b9558c8b3 (patch) | |
| tree | 12fdbdaf341b93f493c50280f94a89fde8ec5f92 /ftnoir_tracker_rift_025/ftnoir_tracker_rift.cpp | |
| parent | ee5a2b5cd1e93a2133697445aa68f40539c902e2 (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.cpp | 102 |
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) |
