summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2013-12-30 11:15:17 +0100
committerStanislaw Halik <sthalik@misaki.pl>2013-12-30 11:15:17 +0100
commit272e784d6c79e5f43e2514c349f46734fbbd0078 (patch)
tree11390357f5262672c50ed551059167fb749d3ecd /ftnoir_tracker_hydra/ftnoir_tracker_hydra.h
parent60a8fd51ba9cd77b1944d10cab75e095db7b2815 (diff)
hydra: use new settings framework. also decruft
Diffstat (limited to 'ftnoir_tracker_hydra/ftnoir_tracker_hydra.h')
-rw-r--r--ftnoir_tracker_hydra/ftnoir_tracker_hydra.h57
1 files changed, 19 insertions, 38 deletions
diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h
index 240f0687..16629c3a 100644
--- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h
+++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h
@@ -5,82 +5,63 @@
#include <QWaitCondition>
#include <math.h>
#include "facetracknoir/global-settings.h"
+#include "facetracknoir/options.hpp"
+using namespace options;
+
+struct settings {
+ pbundle b;
+ value<bool> bEnableRoll, bEnablePitch, bEnableYaw, bEnableX, bEnableY, bEnableZ;
+ settings() :
+ b(bundle("tracker-hydra")),
+ bEnableRoll(b, "enable-rz", true),
+ bEnablePitch(b, "enable-ry", true),
+ bEnableYaw(b, "enable-rx", true),
+ bEnableX(b, "enable-tx", true),
+ bEnableY(b, "enable-ty", true),
+ bEnableZ(b, "enable-tz", true)
+ {}
+};
+
class Hydra_Tracker : public ITracker
{
public:
Hydra_Tracker();
~Hydra_Tracker();
-
void StartTracker(QFrame *) virt_override;
void GetHeadPoseData(double *data) virt_override;
- void loadSettings();
volatile bool should_quit;
protected:
void run(); // qthread override run method
-
private:
+ settings s;
bool isCalibrated;
-
double newHeadPose[6]; // Structure with new headpose
- bool bEnableRoll;
- bool bEnablePitch;
- bool bEnableYaw;
-
- bool bEnableX;
- bool bEnableY;
- bool bEnableZ;
-
QMutex mutex;
-
virtual int preferredHz() virt_override { return 250; }
};
-// Widget that has controls for FTNoIR protocol client-settings.
class TrackerControls: public QWidget, public ITrackerDialog
{
Q_OBJECT
public:
-
explicit TrackerControls();
- ~TrackerControls();
- void showEvent (QShowEvent *);
-
void Initialize(QWidget *parent);
void registerTracker(ITracker *) {}
void unRegisterTracker() {}
-
private:
+ settings s;
Ui::UIHydraControls 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 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;
};