summaryrefslogtreecommitdiffhomepage
path: root/facetracknoir
diff options
context:
space:
mode:
Diffstat (limited to 'facetracknoir')
-rw-r--r--facetracknoir/curve-config.cpp22
-rw-r--r--facetracknoir/ftnoir_curves.ui424
-rw-r--r--facetracknoir/main-settings.hpp19
3 files changed, 326 insertions, 139 deletions
diff --git a/facetracknoir/curve-config.cpp b/facetracknoir/curve-config.cpp
index ef63607d..e1f39d03 100644
--- a/facetracknoir/curve-config.cpp
+++ b/facetracknoir/curve-config.cpp
@@ -31,12 +31,19 @@ CurveConfigurationDialog::CurveConfigurationDialog(FaceTrackNoIR *ftnoir, QWidge
tie_setting(mainApp->s.a_pitch.zero, ui.pos_ry);
tie_setting(mainApp->s.a_roll.zero, ui.pos_rz);
- tie_setting(mainApp->s.a_yaw.invert, ui.chkInvertYaw);
- tie_setting(mainApp->s.a_pitch.invert, ui.chkInvertPitch);
- tie_setting(mainApp->s.a_roll.invert, ui.chkInvertRoll);
- tie_setting(mainApp->s.a_x.invert, ui.chkInvertX);
- tie_setting(mainApp->s.a_y.invert, ui.chkInvertY);
- tie_setting(mainApp->s.a_z.invert, ui.chkInvertZ);
+ tie_setting(mainApp->s.a_yaw.invert, ui.invert_yaw);
+ tie_setting(mainApp->s.a_pitch.invert, ui.invert_pitch);
+ tie_setting(mainApp->s.a_roll.invert, ui.invert_roll);
+ tie_setting(mainApp->s.a_x.invert, ui.invert_x);
+ tie_setting(mainApp->s.a_y.invert, ui.invert_y);
+ tie_setting(mainApp->s.a_z.invert, ui.invert_z);
+
+ tie_setting(mainApp->s.a_yaw.src, ui.src_yaw);
+ tie_setting(mainApp->s.a_pitch.src, ui.src_pitch);
+ tie_setting(mainApp->s.a_roll.src, ui.src_roll);
+ tie_setting(mainApp->s.a_x.src, ui.src_x);
+ tie_setting(mainApp->s.a_y.src, ui.src_y);
+ tie_setting(mainApp->s.a_z.src, ui.src_z);
loadSettings();
}
@@ -83,9 +90,6 @@ void CurveConfigurationDialog::loadSettings() {
}
}
-//
-// Save the current Settings to the currently 'active' INI-file.
-//
void CurveConfigurationDialog::save() {
qDebug() << "save() says: started";
diff --git a/facetracknoir/ftnoir_curves.ui b/facetracknoir/ftnoir_curves.ui
index 33421b40..951d37a7 100644
--- a/facetracknoir/ftnoir_curves.ui
+++ b/facetracknoir/ftnoir_curves.ui
@@ -580,6 +580,9 @@
<string>Options</string>
</attribute>
<layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="title">
@@ -737,47 +740,6 @@
</widget>
</item>
<item row="1" column="0">
- <widget class="QGroupBox" name="groupBox_2">
- <property name="styleSheet">
- <string notr="true"/>
- </property>
- <property name="title">
- <string>Translation compensation</string>
- </property>
- <property name="flat">
- <bool>true</bool>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <widget class="QCheckBox" name="tcomp_enable">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="styleSheet">
- <string notr="true"/>
- </property>
- <property name="text">
- <string>Enable</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="tcomp_rz">
- <property name="styleSheet">
- <string notr="true"/>
- </property>
- <property name="text">
- <string>Disable Z axis compensation</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="2" column="0">
<widget class="QGroupBox" name="groupBox_4">
<property name="maximumSize">
<size>
@@ -791,7 +753,7 @@
</font>
</property>
<property name="title">
- <string>Axis inversion</string>
+ <string>Output source</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -802,127 +764,345 @@
<property name="checkable">
<bool>false</bool>
</property>
- <layout class="QGridLayout" name="gridLayout_4" rowstretch="6,6,6" columnstretch="6,6" rowminimumheight="6,6,6" columnminimumwidth="6,6">
+ <layout class="QGridLayout" name="gridLayout_4" rowstretch="0,0,0,0,0,0,0" columnstretch="0,0,0,0">
<property name="sizeConstraint">
<enum>QLayout::SetMinAndMaxSize</enum>
</property>
<property name="spacing">
<number>6</number>
</property>
- <item row="0" column="0">
- <widget class="QCheckBox" name="chkInvertYaw">
- <property name="maximumSize">
- <size>
- <width>65536</width>
- <height>65536</height>
- </size>
- </property>
- <property name="layoutDirection">
- <enum>Qt::RightToLeft</enum>
- </property>
- <property name="styleSheet">
- <string notr="true">background:none;</string>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>X</string>
</property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_7">
<property name="text">
<string>Yaw</string>
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QCheckBox" name="chkInvertX">
- <property name="maximumSize">
- <size>
- <width>65536</width>
- <height>65536</height>
- </size>
- </property>
- <property name="layoutDirection">
- <enum>Qt::RightToLeft</enum>
- </property>
- <property name="styleSheet">
- <string notr="true">background:none;</string>
- </property>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_8">
<property name="text">
- <string>TX</string>
+ <string>Pitch</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="chkInvertPitch">
- <property name="maximumSize">
- <size>
- <width>65536</width>
- <height>65536</height>
- </size>
- </property>
- <property name="layoutDirection">
- <enum>Qt::RightToLeft</enum>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Y</string>
</property>
- <property name="autoFillBackground">
- <bool>false</bool>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>Z</string>
</property>
- <property name="styleSheet">
- <string notr="true">background:none;</string>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Roll</string>
</property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QCheckBox" name="invert_yaw">
<property name="text">
- <string>Pitch</string>
+ <string/>
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="chkInvertY">
- <property name="maximumSize">
- <size>
- <width>65536</width>
- <height>65536</height>
- </size>
+ <item row="2" column="2">
+ <widget class="QCheckBox" name="invert_pitch">
+ <property name="text">
+ <string/>
</property>
- <property name="layoutDirection">
- <enum>Qt::RightToLeft</enum>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QCheckBox" name="invert_x">
+ <property name="text">
+ <string/>
</property>
- <property name="styleSheet">
- <string notr="true">background:none;</string>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QCheckBox" name="invert_roll">
+ <property name="text">
+ <string/>
</property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QCheckBox" name="invert_y">
<property name="text">
- <string>TY</string>
+ <string/>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QCheckBox" name="chkInvertRoll">
- <property name="maximumSize">
- <size>
- <width>65536</width>
- <height>65536</height>
- </size>
+ <item row="6" column="2">
+ <widget class="QCheckBox" name="invert_z">
+ <property name="text">
+ <string/>
</property>
- <property name="layoutDirection">
- <enum>Qt::RightToLeft</enum>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="src_yaw">
+ <item>
+ <property name="text">
+ <string>X</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Y</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Z</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Yaw</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Pitch</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="src_pitch">
+ <item>
+ <property name="text">
+ <string>X</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Y</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Z</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Yaw</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Pitch</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="src_roll">
+ <item>
+ <property name="text">
+ <string>X</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Y</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Z</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Yaw</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Pitch</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="src_x">
+ <item>
+ <property name="text">
+ <string>X</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Y</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Z</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Yaw</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Pitch</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="src_y">
+ <item>
+ <property name="text">
+ <string>X</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Y</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Z</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Yaw</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Pitch</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QComboBox" name="src_z">
+ <item>
+ <property name="text">
+ <string>X</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Y</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Z</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Yaw</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Pitch</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="styleSheet">
+ <string notr="true"/>
+ </property>
+ <property name="title">
+ <string>Translation compensation</string>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ <layout class="QFormLayout" name="formLayout_2">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="tcomp_enable">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
<property name="styleSheet">
- <string notr="true">background:none;</string>
+ <string notr="true"/>
</property>
<property name="text">
- <string>Roll</string>
+ <string>Enable</string>
</property>
</widget>
</item>
- <item row="2" column="1">
- <widget class="QCheckBox" name="chkInvertZ">
- <property name="maximumSize">
- <size>
- <width>65536</width>
- <height>65536</height>
- </size>
- </property>
- <property name="layoutDirection">
- <enum>Qt::RightToLeft</enum>
- </property>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="tcomp_rz">
<property name="styleSheet">
- <string notr="true">background:none;</string>
+ <string notr="true"/>
</property>
<property name="text">
- <string>TZ</string>
+ <string>Disable Z axis compensation</string>
</property>
</widget>
</item>
diff --git a/facetracknoir/main-settings.hpp b/facetracknoir/main-settings.hpp
index 8e93bd24..b45c5d9c 100644
--- a/facetracknoir/main-settings.hpp
+++ b/facetracknoir/main-settings.hpp
@@ -2,6 +2,7 @@
#include <QString>
#include "facetracknoir/options.h"
+#include "ftnoir_tracker_base/ftnoir_tracker_types.h"
using namespace options;
struct key_opts {
@@ -18,10 +19,12 @@ struct key_opts {
struct axis_opts {
value<double> zero;
value<bool> invert, altp;
- axis_opts(pbundle b, QString pfx) :
+ value<int> src;
+ axis_opts(pbundle b, QString pfx, int idx) :
zero(b, n(pfx, "zero-pos"), 0),
invert(b, n(pfx, "invert-axis"), false),
- altp(b, n(pfx, "alt-axis-sign"), false)
+ altp(b, n(pfx, "alt-axis-sign"), false),
+ src(b, n(pfx, "source-index"), idx)
{}
private:
static inline QString n(QString pfx, QString name) {
@@ -44,12 +47,12 @@ struct main_settings {
tracker2_dll(b, "tracker2-dll", ""),
filter_dll(b, "filter-dll", ""),
protocol_dll(b, "protocol-dll", ""),
- a_x(b, "x"),
- a_y(b, "y"),
- a_z(b, "z"),
- a_yaw(b, "yaw"),
- a_pitch(b, "pitch"),
- a_roll(b, "roll"),
+ a_x(b, "x", TX),
+ a_y(b, "y", TY),
+ a_z(b, "z", TZ),
+ a_yaw(b, "yaw", Yaw),
+ a_pitch(b, "pitch", Pitch),
+ a_roll(b, "roll", Roll),
tcomp_p(b, "compensate-translation", true),
tcomp_tz(b, "compensate-translation-disable-z-axis", false),
dingp(b, "ding", true)