summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_ht
diff options
context:
space:
mode:
Diffstat (limited to 'ftnoir_tracker_ht')
-rw-r--r--ftnoir_tracker_ht/ftnoir_tracker_ht.cpp45
-rw-r--r--ftnoir_tracker_ht/ftnoir_tracker_ht.h11
-rw-r--r--ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h3
-rw-r--r--ftnoir_tracker_ht/ht-trackercontrols.ui91
4 files changed, 19 insertions, 131 deletions
diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp b/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp
index 76a6ba71..a1cb33a5 100644
--- a/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp
+++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp
@@ -1,10 +1,9 @@
#include "stdafx.h"
-#include "ftnoir_tracker_base/ftnoir_tracker_base.h"
#include "headtracker-ftnoir.h"
#include "ftnoir_tracker_ht.h"
#include "ftnoir_tracker_ht_dll.h"
#include "ui_ht-trackercontrols.h"
-#include "facetracknoir/global-settings.h"
+#include "facetracknoir/plugin-api.hpp"
#include <cmath>
#if defined(_WIN32)
@@ -139,7 +138,7 @@ void Tracker::load_settings(ht_config_t* config)
Tracker::Tracker() :
lck_shm(HT_SHM_NAME, HT_MUTEX_NAME, sizeof(ht_shm_t)),
- shm(reinterpret_cast<ht_shm_t*>(lck_shm.mem)),
+ shm(reinterpret_cast<ht_shm_t*>(lck_shm.ptr())),
videoWidget(nullptr),
layout(nullptr)
{
@@ -197,24 +196,12 @@ void Tracker::GetHeadPoseData(double *data)
shm->frame.width = 0;
}
if (shm->result.filled) {
- if (s.enableRX)
- data[Yaw] = shm->result.rotx;
- if (s.enableRY) {
- data[Pitch] = shm->result.roty;
- }
- if (s.enableRZ) {
- data[Roll] = shm->result.rotz;
- }
- if (s.enableTX)
- data[TX] = shm->result.tx;
- if (s.enableTY)
- data[TY] = shm->result.ty;
- if (s.enableTZ)
- data[TZ] = shm->result.tz;
- if (fabs(data[Yaw]) > 60 || fabs(data[Pitch]) > 50 || fabs(data[Roll]) > 40)
- {
- shm->pause = true;
- }
+ data[Yaw] = shm->result.rotx;
+ data[Pitch] = shm->result.roty;
+ data[Roll] = shm->result.rotz;
+ data[TX] = shm->result.tx;
+ data[TY] = shm->result.ty;
+ data[TZ] = shm->result.tz;
} else {
shm->pause = false;
}
@@ -224,7 +211,7 @@ void Tracker::GetHeadPoseData(double *data)
//-----------------------------------------------------------------------------
void TrackerDll::getFullName(QString *strToBeFilled)
{
- *strToBeFilled = "HT 1.0";
+ *strToBeFilled = "HT face tracker";
}
void TrackerDll::getShortName(QString *strToBeFilled)
@@ -242,17 +229,17 @@ void TrackerDll::getIcon(QIcon *icon)
*icon = QIcon(":/images/ht.png");
}
-extern "C" FTNOIR_TRACKER_BASE_EXPORT Metadata* CALLING_CONVENTION GetMetadata()
+extern "C" OPENTRACK_EXPORT Metadata* GetMetadata()
{
return new TrackerDll;
}
-extern "C" FTNOIR_TRACKER_BASE_EXPORT ITracker* CALLING_CONVENTION GetConstructor()
+extern "C" OPENTRACK_EXPORT ITracker* GetConstructor()
{
return new Tracker;
}
-extern "C" FTNOIR_TRACKER_BASE_EXPORT ITrackerDialog* CALLING_CONVENTION GetDialog( )
+extern "C" OPENTRACK_EXPORT ITrackerDialog* GetDialog( )
{
return new TrackerControls;
}
@@ -267,12 +254,6 @@ TrackerControls::TrackerControls()
tie_setting(s.camera_idx, ui.cameraName);
tie_setting(s.fps, ui.cameraFPS);
tie_setting(s.fov, ui.cameraFOV);
- tie_setting(s.enableTX, ui.tx);
- tie_setting(s.enableTY, ui.ty);
- tie_setting(s.enableTZ, ui.tz);
- tie_setting(s.enableRX, ui.rx);
- tie_setting(s.enableRY, ui.ry);
- tie_setting(s.enableRZ, ui.rz);
tie_setting(s.resolution, ui.resolution);
connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(doCancel()));
connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(doOK()));
@@ -286,6 +267,6 @@ void TrackerControls::doOK()
void TrackerControls::doCancel()
{
- s.b->revert();
+ s.b->reload();
this->close();
}
diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.h b/ftnoir_tracker_ht/ftnoir_tracker_ht.h
index 583249dc..ea2cb75e 100644
--- a/ftnoir_tracker_ht/ftnoir_tracker_ht.h
+++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.h
@@ -9,28 +9,21 @@
#define FTNOIR_TRACKER_HT_H
#include "stdafx.h"
-#include "ftnoir_tracker_base/ftnoir_tracker_base.h"
#include "headtracker-ftnoir.h"
#include "ui_ht-trackercontrols.h"
#include "ht_video_widget.h"
#include "compat/compat.h"
#include <QObject>
#include "facetracknoir/options.h"
+#include "facetracknoir/plugin-api.hpp"
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),
@@ -43,7 +36,7 @@ class Tracker : public QObject, public ITracker
Q_OBJECT
public:
Tracker();
- virtual ~Tracker();
+ ~Tracker() override;
void StartTracker(QFrame* frame);
void GetHeadPoseData(double *data);
void load_settings(ht_config_t* config);
diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h b/ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h
index ffdc5262..66e57100 100644
--- a/ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h
+++ b/ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h
@@ -5,8 +5,7 @@
* copyright notice and this permission notice appear in all copies.
*/
-#include "ftnoir_tracker_base/ftnoir_tracker_base.h"
-#include "facetracknoir/global-settings.h"
+#include "facetracknoir/plugin-api.hpp"
//-----------------------------------------------------------------------------
class TrackerDll : public Metadata
diff --git a/ftnoir_tracker_ht/ht-trackercontrols.ui b/ftnoir_tracker_ht/ht-trackercontrols.ui
index f57022c8..0b94ffc5 100644
--- a/ftnoir_tracker_ht/ht-trackercontrols.ui
+++ b/ftnoir_tracker_ht/ht-trackercontrols.ui
@@ -9,8 +9,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>531</width>
- <height>166</height>
+ <width>354</width>
+ <height>158</height>
</rect>
</property>
<property name="sizePolicy">
@@ -52,91 +52,6 @@
</property>
</widget>
</item>
- <item row="0" column="2" rowspan="3">
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string>Enable axes</string>
- </property>
- <widget class="QCheckBox" name="rx">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>20</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>RX</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="ry">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>40</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>RY</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="rz">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>60</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>RZ</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="tx">
- <property name="geometry">
- <rect>
- <x>60</x>
- <y>20</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>TX</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="ty">
- <property name="geometry">
- <rect>
- <x>60</x>
- <y>40</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>TY</string>
- </property>
- </widget>
- <widget class="QCheckBox" name="tz">
- <property name="geometry">
- <rect>
- <x>60</x>
- <y>60</y>
- <width>70</width>
- <height>17</height>
- </rect>
- </property>
- <property name="text">
- <string>TZ</string>
- </property>
- </widget>
- </widget>
- </item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
@@ -214,7 +129,7 @@
</item>
</widget>
</item>
- <item row="4" column="2">
+ <item row="4" column="1">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>