summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_ht/ftnoir_tracker_ht.h
diff options
context:
space:
mode:
authorDonovan Baarda <abo@minkirri.apana.org.au>2014-06-12 14:53:43 +1000
committerDonovan Baarda <abo@minkirri.apana.org.au>2014-06-12 14:53:43 +1000
commit0669a40347ffa233bc6042b0f65d244509a61394 (patch)
tree36a4577bdaa1ed28ca1ad222a54777012dd2dda8 /ftnoir_tracker_ht/ftnoir_tracker_ht.h
parent72540e0a96a3120a5d02271e714aba29e136ab78 (diff)
parent7454496476ba17ea622781d280606161581c9544 (diff)
Merge branch 'master' of https://github.com/opentrack/opentrack into dev/ewma2
Resolved conflicts manually in files: ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp ftnoir_filter_ewma2/ftnoir_filter_ewma2.h
Diffstat (limited to 'ftnoir_tracker_ht/ftnoir_tracker_ht.h')
-rw-r--r--ftnoir_tracker_ht/ftnoir_tracker_ht.h64
1 files changed, 31 insertions, 33 deletions
diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.h b/ftnoir_tracker_ht/ftnoir_tracker_ht.h
index fcdea140..583249dc 100644
--- a/ftnoir_tracker_ht/ftnoir_tracker_ht.h
+++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.h
@@ -12,40 +12,48 @@
#include "ftnoir_tracker_base/ftnoir_tracker_base.h"
#include "headtracker-ftnoir.h"
#include "ui_ht-trackercontrols.h"
-#include "video_widget.h"
+#include "ht_video_widget.h"
#include "compat/compat.h"
#include <QObject>
-#include <QTimer>
+#include "facetracknoir/options.h"
+using namespace options;
+
+struct settings {
+ pbundle b;
+ value<bool> enableTX, enableTY, enableTZ, enableRX, enableRY, enableRZ;
+ value<double> fov;
+ value<int> fps, camera_idx, resolution;
+ settings() :
+ b(bundle("HT-Tracker")),
+ enableTX(b, "enable-tx", true),
+ enableTY(b, "enable-ty", true),
+ enableTZ(b, "enable-tz", true),
+ enableRX(b, "enable-rx", true),
+ enableRY(b, "enable-ry", true),
+ enableRZ(b, "enable-rz", true),
+ fov(b, "fov", 56),
+ fps(b, "fps", 0),
+ camera_idx(b, "camera-index", 0),
+ resolution(b, "resolution", 0)
+ {}
+};
class Tracker : public QObject, public ITracker
{
Q_OBJECT
public:
Tracker();
- ~Tracker();
+ virtual ~Tracker();
void StartTracker(QFrame* frame);
- bool GiveHeadPoseData(double *data);
- bool enableTX, enableTY, enableTZ, enableRX, enableRY, enableRZ;
- ht_shm_t* shm;
- bool NeedsTimeToFinish() {
- return true;
- }
- void WaitForExit() {
- if (shm) {
- shm->terminate = true;
- subprocess.waitForFinished(5000);
- }
- subprocess.kill();
- }
+ void GetHeadPoseData(double *data);
+ void load_settings(ht_config_t* config);
private:
- QTimer timer;
+ settings s;
PortableLockedShm lck_shm;
+ ht_shm_t* shm;
QProcess subprocess;
- VideoWidget* videoWidget;
+ HTVideoWidget* videoWidget;
QHBoxLayout* layout;
- volatile bool fresh;
-private slots:
- void paint_widget();
};
// Widget that has controls for FTNoIR protocol client-settings.
@@ -53,27 +61,17 @@ class TrackerControls : public QWidget, public ITrackerDialog
{
Q_OBJECT
public:
-
explicit TrackerControls();
- virtual ~TrackerControls();
- void showEvent ( QShowEvent * event );
-
- void Initialize(QWidget *parent);
- void registerTracker(ITracker *tracker) {}
+ void registerTracker(ITracker *) {}
void unRegisterTracker() {}
private:
Ui::Form ui;
- void loadSettings();
- void save();
- bool settingsDirty;
+ settings s;
private slots:
void doOK();
void doCancel();
- void settingChanged() { settingsDirty = true; }
- void settingChanged(int) { settingsDirty = true; }
- void settingChanged(double) { settingsDirty = true; }
};
#endif