From c557231b34a5c536a3fcb4f4a21c47d06b3a1ade Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 27 Apr 2013 04:12:54 +0200 Subject: Rift: from mm0zct with fixes --- ftnoir_tracker_rift/ftnoir_tracker_rift.h | 91 +++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 ftnoir_tracker_rift/ftnoir_tracker_rift.h (limited to 'ftnoir_tracker_rift/ftnoir_tracker_rift.h') diff --git a/ftnoir_tracker_rift/ftnoir_tracker_rift.h b/ftnoir_tracker_rift/ftnoir_tracker_rift.h new file mode 100644 index 00000000..b73f8b36 --- /dev/null +++ b/ftnoir_tracker_rift/ftnoir_tracker_rift.h @@ -0,0 +1,91 @@ +#include "ftnoir_tracker_base/ftnoir_tracker_base.h" +#include "ui_ftnoir_rift_clientcontrols.h" +#include +#include +#include +#include +#include "facetracknoir/global-settings.h" +#include "OVR.h" +class Rift_Tracker : public ITracker +{ +public: + Rift_Tracker(); + ~Rift_Tracker(); + + void StartTracker( QFrame *videoframe ); + bool GiveHeadPoseData(double *data); + void loadSettings(); + volatile bool should_quit; + void WaitForExit() { + return; + } +protected: + void run(); // qthread override run method + +private: + static bool isInitialised; + OVR::Ptr pManager; + OVR::Ptr pHMD; + OVR::Ptr pSensor; + OVR::SensorFusion SFusion; + double newHeadPose[6]; // Structure with new headpose + bool bEnableRoll; + bool bEnablePitch; + bool bEnableYaw; + bool bEnableX; + bool bEnableY; + bool bEnableZ; + QMutex mutex; +}; + +// Widget that has controls for FTNoIR protocol client-settings. +class TrackerControls: public QWidget, public ITrackerDialog +{ + Q_OBJECT +public: + + explicit TrackerControls(); + ~TrackerControls(); + void showEvent ( QShowEvent * event ); + + void Initialize(QWidget *parent); + void registerTracker(ITracker *tracker) {}; + void unRegisterTracker() {}; + +private: + Ui::UIRiftControls ui; + void loadSettings(); + void save(); + + /** helper **/ + bool settingsDirty; + +private slots: + void doOK(); + void doCancel(); + void settingChanged() { settingsDirty = true; }; + void settingChanged(int) { settingsDirty = true; }; +}; + +//******************************************************************************************************* +// FaceTrackNoIR Tracker DLL. Functions used to get general info on the Tracker +//******************************************************************************************************* +class FTNoIR_TrackerDll : public Metadata +{ +public: + FTNoIR_TrackerDll(); + ~FTNoIR_TrackerDll(); + + void Initialize(); + + void getFullName(QString *strToBeFilled); + void getShortName(QString *strToBeFilled); + void getDescription(QString *strToBeFilled); + void getIcon(QIcon *icon); + +private: + QString trackerFullName; // Trackers' name and description + QString trackerShortName; + QString trackerDescription; +}; + -- cgit v1.2.3