summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_udp/ftnoir_tracker_udp.h
diff options
context:
space:
mode:
Diffstat (limited to 'ftnoir_tracker_udp/ftnoir_tracker_udp.h')
-rw-r--r--ftnoir_tracker_udp/ftnoir_tracker_udp.h67
1 files changed, 26 insertions, 41 deletions
diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.h b/ftnoir_tracker_udp/ftnoir_tracker_udp.h
index c7e9decf..62eb67df 100644
--- a/ftnoir_tracker_udp/ftnoir_tracker_udp.h
+++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.h
@@ -3,42 +3,47 @@
#include <QThread>
#include <QUdpSocket>
#include <QMessageBox>
-#include <QSettings>
#include <QMutex>
#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,26 +53,14 @@ class TrackerControls: public QWidget, public ITrackerDialog
public:
explicit TrackerControls();
- ~TrackerControls();
- void showEvent (QShowEvent *);
-
- void Initialize(QWidget *parent);
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; };
};
//*******************************************************************************************************
@@ -76,17 +69,9 @@ private slots:
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;
};