summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_udp/ftnoir_tracker_udp.h
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2013-12-31 13:06:30 +0100
committerStanislaw Halik <sthalik@misaki.pl>2013-12-31 13:06:30 +0100
commit4411f8aa4508f2759c29181b668ebf949dc3bc8c (patch)
tree408e24fd5b30fcaf856f30dd74fd804c345bedf8 /ftnoir_tracker_udp/ftnoir_tracker_udp.h
parentedcdcaadb5920cebc9aaa34572cba74de5637241 (diff)
udp: use settings framework
Diffstat (limited to 'ftnoir_tracker_udp/ftnoir_tracker_udp.h')
-rw-r--r--ftnoir_tracker_udp/ftnoir_tracker_udp.h58
1 files changed, 26 insertions, 32 deletions
diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.h b/ftnoir_tracker_udp/ftnoir_tracker_udp.h
index 7157f064..140a935d 100644
--- a/ftnoir_tracker_udp/ftnoir_tracker_udp.h
+++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.h
@@ -8,37 +8,43 @@
#include <QWaitCondition>
#include <math.h>
#include "facetracknoir/global-settings.h"
+#include "facetracknoir/options.h"
+using namespace options;
+
+struct settings {
+ pbundle b;
+ value<int> port;
+ value<bool> enable_roll, enable_pitch, enable_yaw,
+ enable_x, enable_y, enable_z;
+ settings() :
+ b(bundle("udp-tracker")),
+ port(b, "port", 4242),
+ enable_roll(b, "enable-roll", true),
+ enable_pitch(b, "enable-pitch", true),
+ enable_yaw(b, "enable-yaw", true),
+ enable_x(b, "enable-x", true),
+ enable_y(b, "enable-y", true),
+ enable_z(b, "enable-y", true)
+ {}
+};
class FTNoIR_Tracker : public ITracker, public QThread
{
public:
FTNoIR_Tracker();
- ~FTNoIR_Tracker();
-
+ ~FTNoIR_Tracker();
void StartTracker(QFrame *);
void GetHeadPoseData(double *data);
- void loadSettings();
volatile bool should_quit;
protected:
void run(); // qthread override run method
-
private:
- // UDP socket-variables
- QUdpSocket *inSocket; // Receive from ...
- QUdpSocket *outSocket; // Send to ...
- QHostAddress destIP; // Destination IP-address
- QHostAddress srcIP; // Source IP-address
-
- double newHeadPose[6]; // Structure with new headpose
-
- float portAddress; // Port-number
- bool bEnableRoll;
- bool bEnablePitch;
- bool bEnableYaw;
- bool bEnableX;
- bool bEnableY;
- bool bEnableZ;
+ QUdpSocket inSocket;
+ QHostAddress destIP;
+ QHostAddress srcIP;
+ double newHeadPose[6];
QMutex mutex;
+ settings s;
};
// Widget that has controls for FTNoIR protocol client-settings.
@@ -48,23 +54,14 @@ class TrackerControls: public QWidget, public ITrackerDialog
public:
explicit TrackerControls();
- ~TrackerControls();
void registerTracker(ITracker *) {}
void unRegisterTracker() {}
-
private:
Ui::UICFTNClientControls ui;
- void loadSettings();
- void save();
-
- /** helper **/
- bool settingsDirty;
-
+ settings s;
private slots:
void doOK();
void doCancel();
- void settingChanged() { settingsDirty = true; };
- void settingChanged(int) { settingsDirty = true; };
};
//*******************************************************************************************************
@@ -73,9 +70,6 @@ private slots:
class FTNoIR_TrackerDll : public Metadata
{
public:
- FTNoIR_TrackerDll();
- ~FTNoIR_TrackerDll();
-
void getFullName(QString *strToBeFilled);
void getShortName(QString *strToBeFilled);
void getDescription(QString *strToBeFilled);