summaryrefslogtreecommitdiffhomepage
path: root/FTNoIR_Tracker_PT
diff options
context:
space:
mode:
authorWim Vriend <facetracknoir@gmail.com>2013-01-02 18:54:06 +0000
committerWim Vriend <facetracknoir@gmail.com>2013-01-02 18:54:06 +0000
commitc681889ab4c37bfd0f049177459b7fda380fda51 (patch)
treef6072db0b2328b4df9e5214e3578baa43792b48e /FTNoIR_Tracker_PT
parent9593aa9c3c231add3dadabf0a1ea9f8182f88a79 (diff)
Added 'enable axis' parameters to the Trackers. Added 'none' to filter-listbox.
git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@203 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb
Diffstat (limited to 'FTNoIR_Tracker_PT')
-rw-r--r--FTNoIR_Tracker_PT/FTNoIR_PT_Controls.ui186
-rw-r--r--FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc8.vcproj12
-rw-r--r--FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc9.vcproj2
-rw-r--r--FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp38
-rw-r--r--FTNoIR_Tracker_PT/ftnoir_tracker_pt.h7
-rw-r--r--FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.cpp20
-rw-r--r--FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.h7
-rw-r--r--FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.cpp16
-rw-r--r--FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.h7
9 files changed, 275 insertions, 20 deletions
diff --git a/FTNoIR_Tracker_PT/FTNoIR_PT_Controls.ui b/FTNoIR_Tracker_PT/FTNoIR_PT_Controls.ui
index 9c70b397..20e16985 100644
--- a/FTNoIR_Tracker_PT/FTNoIR_PT_Controls.ui
+++ b/FTNoIR_Tracker_PT/FTNoIR_PT_Controls.ui
@@ -9,8 +9,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>401</width>
- <height>497</height>
+ <width>393</width>
+ <height>585</height>
</rect>
</property>
<property name="sizePolicy">
@@ -433,6 +433,188 @@
</widget>
</item>
<item>
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>85</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Enable Axis</string>
+ </property>
+ <widget class="QWidget" name="layoutWidget">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>20</y>
+ <width>143</width>
+ <height>60</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Roll:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Pitch:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Yaw:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QCheckBox" name="chkEnableRoll">
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="styleSheet">
+ <string notr="true"/>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="chkEnablePitch">
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="chkEnableYaw">
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>X:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QCheckBox" name="chkEnableX">
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Y:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QCheckBox" name="chkEnableY">
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Z:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <widget class="QCheckBox" name="chkEnableZ">
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Minimum</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
diff --git a/FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc8.vcproj b/FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc8.vcproj
index 7d698af7..5b70b459 100644
--- a/FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc8.vcproj
+++ b/FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc8.vcproj
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8,00"
+ Version="8.00"
Name="FTNoIR_Tracker_PT"
ProjectGUID="{7A2A2560-9253-4CC8-A9D5-4B9D9C224D9D}"
Keyword="Qt4VSv1.0"
@@ -56,7 +56,7 @@
Name="VCLinkerTool"
AdditionalDependencies="qtmain.lib QtCore4.lib QtGui4.lib QtOpenGL4.lib opengl32.lib glu32.lib opencv_core242.lib opencv_highgui242.lib opencv_imgproc242.lib"
OutputFile="$(OutDir)\$(ProjectName).dll"
- AdditionalLibraryDirectories="&quot;$(QTDIR)\lib&quot;;&quot;$(OPENCV_DIR)\x86\vc9\lib&quot;"
+ AdditionalLibraryDirectories="&quot;$(QTDIR)\lib&quot;;&quot;$(OPENCV_DIR)\x86\vc8\lib\release&quot;"
GenerateDebugInformation="false"
SubSystem="2"
OptimizeReferences="1"
@@ -130,7 +130,7 @@
Name="VCLinkerTool"
AdditionalDependencies="qtmaind.lib QtCored4.lib QtGuid4.lib QtOpenGLd4.lib opengl32.lib glu32.lib opencv_core242d.lib opencv_highgui242d.lib opencv_imgproc242d.lib opencv_calib3d242d.lib"
OutputFile="$(OutDir)\$(ProjectName).dll"
- AdditionalLibraryDirectories="&quot;$(QTDIR)\lib&quot;;&quot;$(OPENCV_DIR)\x86\vc9\lib&quot;"
+ AdditionalLibraryDirectories="&quot;$(QTDIR)\lib&quot;;&quot;$(OPENCV_DIR)\x86\vc8\lib\debug&quot;"
GenerateDebugInformation="true"
SubSystem="2"
/>
@@ -268,7 +268,7 @@
<Tool
Name="VCCustomBuildTool"
Description="Moc&apos;ing ftnoir_tracker_pt_dialog.h..."
- CommandLine="&quot;$(QTDIR)\bin\moc.exe&quot; &quot;$(InputPath)&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot; -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DFTNOIR_TRACKER_BASE_LIB -DQT_OPENGL_LIB -D_WINDLL &quot;-I.&quot; &quot;-I.\GeneratedFiles&quot; &quot;-I.\GeneratedFiles\$(ConfigurationName)\.&quot; &quot;-I$(QTDIR)\include&quot; &quot;-I$(QTDIR)\include\QtCore&quot; &quot;-I$(QTDIR)\include\QtGui&quot; &quot;-I$(OPENCV_DIR)\include&quot; &quot;-I$(BOOST_DIR)\.&quot; &quot;-I$(QTDIR)\include\QtOpenGL&quot;&#x0D;&#x0A;"
+ CommandLine="&quot;$(QTDIR)\bin\moc.exe&quot; -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DFTNOIR_TRACKER_BASE_LIB -DQT_OPENGL_LIB -D_WINDLL -I&quot;.\.&quot; -I&quot;.\GeneratedFiles\.&quot; -I&quot;.\GeneratedFiles\$(ConfigurationName)\.&quot; -I&quot;$(QTDIR)\include\.&quot; -I&quot;$(QTDIR)\include\QtCore\.&quot; -I&quot;$(QTDIR)\include\QtGui\.&quot; -I&quot;$(OPENCV_DIR)\include\.&quot; -I&quot;$(BOOST_DIR)\.&quot; -I&quot;$(QTDIR)\include\QtOpenGL\.&quot; &quot;.\ftnoir_tracker_pt_dialog.h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;"
AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;$(InputPath)"
Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;"
/>
@@ -314,7 +314,7 @@
<Tool
Name="VCCustomBuildTool"
Description="Moc&apos;ing video_widget.h..."
- CommandLine="&quot;$(QTDIR)\bin\moc.exe&quot; &quot;$(InputPath)&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot; -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DFTNOIR_TRACKER_BASE_LIB -DQT_OPENGL_LIB -D_WINDLL &quot;-I.&quot; &quot;-I.\GeneratedFiles&quot; &quot;-I.\GeneratedFiles\$(ConfigurationName)\.&quot; &quot;-I$(QTDIR)\include&quot; &quot;-I$(QTDIR)\include\QtCore&quot; &quot;-I$(QTDIR)\include\QtGui&quot; &quot;-I$(OPENCV_DIR)\include&quot; &quot;-I$(BOOST_DIR)\.&quot; &quot;-I$(QTDIR)\include\QtOpenGL&quot;&#x0D;&#x0A;"
+ CommandLine="&quot;$(QTDIR)\bin\moc.exe&quot; -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DFTNOIR_TRACKER_BASE_LIB -DQT_OPENGL_LIB -D_WINDLL -I&quot;.\.&quot; -I&quot;.\GeneratedFiles\.&quot; -I&quot;.\GeneratedFiles\$(ConfigurationName)\.&quot; -I&quot;$(QTDIR)\include\.&quot; -I&quot;$(QTDIR)\include\QtCore\.&quot; -I&quot;$(QTDIR)\include\QtGui\.&quot; -I&quot;$(OPENCV_DIR)\include\.&quot; -I&quot;$(BOOST_DIR)\.&quot; -I&quot;$(QTDIR)\include\QtOpenGL\.&quot; &quot;.\video_widget.h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;"
AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;$(InputPath)"
Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;"
/>
@@ -545,7 +545,7 @@
/>
<Global
Name="QtVersion Win32"
- Value="4.6.2"
+ Value="$(DefaultQtVersion)"
/>
<Global
Name="RccDir"
diff --git a/FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc9.vcproj b/FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc9.vcproj
index 3c895e51..95f5ac62 100644
--- a/FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc9.vcproj
+++ b/FTNoIR_Tracker_PT/FTNoIR_Tracker_PT_vc9.vcproj
@@ -510,7 +510,7 @@
/>
<Global
Name="QtVersion Win32"
- Value="4.8.2"
+ Value="$(DefaultQtVersion)"
/>
<Global
Name="RccDir"
diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp
index 13522863..412d35d4 100644
--- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp
+++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp
@@ -109,7 +109,16 @@ void Tracker::apply(const TrackerSettings& settings)
sleep_time = settings.sleep_time;
point_tracker.dt_reset = settings.reset_time / 1000.0;
draw_frame = settings.video_widget;
+
+ bEnableRoll = settings.bEnableRoll;
+ bEnablePitch = settings.bEnablePitch;
+ bEnableYaw = settings.bEnableYaw;
+ bEnableX = settings.bEnableX;
+ bEnableY = settings.bEnableY;
+ bEnableZ = settings.bEnableZ;
+
t_MH = settings.t_MH;
+ qDebug()<<"Tracker::apply ends";
}
void Tracker::reset()
@@ -189,12 +198,19 @@ bool Tracker::GiveHeadPoseData(THeadPoseData *data)
Matx33f R = X_CH.R * X_CH_0.R.t();
Vec3f t = X_CH.t - X_CH_0.t;
- // get translation
- data->x = t[0] / 10.0; // convert to cm
- data->y = t[1] / 10.0;
- data->z = t[2] / 10.0;
+ // get translation(s)
+ if (bEnableX) {
+ data->x = t[0] / 10.0; // convert to cm
+ }
- // translate rotatation matrix from opengl (G) to roll-pitch-yaw (R) frame
+ if (bEnableY) {
+ data->y = t[1] / 10.0;
+ }
+ if (bEnableZ) {
+ data->z = t[2] / 10.0;
+ }
+
+ // translate rotation matrix from opengl (G) to roll-pitch-yaw (R) frame
// -z -> x, y -> z, x -> -y
Matx33f R_RG( 0, 0,-1,
-1, 0, 0,
@@ -208,9 +224,15 @@ bool Tracker::GiveHeadPoseData(THeadPoseData *data)
alpha = atan2( R(1,0), R(0,0));
gamma = atan2( R(2,1), R(2,2));
- data->yaw = rad2deg * alpha;
- data->pitch = -rad2deg * beta; // this is what ftnoir expects?
- data->roll = rad2deg * gamma;
+ if (bEnableYaw) {
+ data->yaw = rad2deg * alpha;
+ }
+ if (bEnablePitch) {
+ data->pitch = -rad2deg * beta; // this is what ftnoir expects?
+ }
+ if (bEnableRoll) {
+ data->roll = rad2deg * gamma;
+ }
}
return true;
}
diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h
index bfc262b3..c381b807 100644
--- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h
+++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h
@@ -33,6 +33,7 @@ public:
void StartTracker(HWND parent_window);
void StopTracker(bool exit);
bool GiveHeadPoseData(THeadPoseData *data);
+
void refreshVideo();
void apply(const TrackerSettings& settings);
@@ -64,6 +65,12 @@ protected:
cv::Vec3f t_MH;
bool draw_frame;
int sleep_time;
+ bool bEnableRoll;
+ bool bEnablePitch;
+ bool bEnableYaw;
+ bool bEnableX;
+ bool bEnableY;
+ bool bEnableZ;
long frame_count;
diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.cpp b/FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.cpp
index 357cd67f..f3daae0c 100644
--- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.cpp
+++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.cpp
@@ -32,6 +32,14 @@ TrackerDialog::TrackerDialog()
ui.res_y_spin->setValue(settings.cam_res_y);
ui.fps_spin->setValue(settings.cam_fps);
ui.threshold_slider->setValue(settings.threshold);
+
+ ui.chkEnableRoll->setChecked(settings.bEnableRoll);
+ ui.chkEnablePitch->setChecked(settings.bEnablePitch);
+ ui.chkEnableYaw->setChecked(settings.bEnableYaw);
+ ui.chkEnableX->setChecked(settings.bEnableX);
+ ui.chkEnableY->setChecked(settings.bEnableY);
+ ui.chkEnableZ->setChecked(settings.bEnableZ);
+
ui.mindiam_spin->setValue(settings.min_point_size);
ui.maxdiam_spin->setValue(settings.max_point_size);
ui.model_tabs->setCurrentIndex(dialog_settings.active_model_panel);
@@ -62,6 +70,14 @@ TrackerDialog::TrackerDialog()
connect( ui.res_y_spin,SIGNAL(valueChanged(int)), this,SLOT(set_cam_res_y(int)) );
connect( ui.fps_spin,SIGNAL(valueChanged(int)), this,SLOT(set_cam_fps(int)) );
connect( ui.threshold_slider,SIGNAL(sliderMoved(int)), this,SLOT(set_threshold(int)) );
+
+ connect( ui.chkEnableRoll,SIGNAL(toggled(bool)), this,SLOT(set_ena_roll(bool)) );
+ connect( ui.chkEnablePitch,SIGNAL(toggled(bool)), this,SLOT(set_ena_pitch(bool)) );
+ connect( ui.chkEnableYaw,SIGNAL(toggled(bool)), this,SLOT(set_ena_yaw(bool)) );
+ connect( ui.chkEnableX,SIGNAL(toggled(bool)), this,SLOT(set_ena_x(bool)) );
+ connect( ui.chkEnableY,SIGNAL(toggled(bool)), this,SLOT(set_ena_y(bool)) );
+ connect( ui.chkEnableZ,SIGNAL(toggled(bool)), this,SLOT(set_ena_z(bool)) );
+
connect( ui.mindiam_spin,SIGNAL(valueChanged(int)), this,SLOT(set_min_point_size(int)) );
connect( ui.maxdiam_spin,SIGNAL(valueChanged(int)), this,SLOT(set_max_point_size(int)) );
connect( ui.model_tabs,SIGNAL(currentChanged(int)), this,SLOT(set_model(int)) );
@@ -282,7 +298,7 @@ void TrackerDialog::Initialize(QWidget *parent)
void TrackerDialog::registerTracker(ITracker *t)
{
- qDebug()<<"TrackerDialog:: Tracker registerd";
+ qDebug()<<"TrackerDialog:: Tracker registered";
tracker = static_cast<Tracker*>(t);
if (isVisible() && settings_dirty) tracker->apply(settings);
ui.tcalib_button->setEnabled(true);
@@ -292,7 +308,7 @@ void TrackerDialog::registerTracker(ITracker *t)
void TrackerDialog::unRegisterTracker()
{
- qDebug()<<"TrackerDialog:: Tracker un-registerd";
+ qDebug()<<"TrackerDialog:: Tracker un-registered";
tracker = NULL;
ui.tcalib_button->setEnabled(false);
ui.center_button->setEnabled(false);
diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.h b/FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.h
index 68baf87a..19404444 100644
--- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.h
+++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt_dialog.h
@@ -44,6 +44,13 @@ protected slots:
void set_min_point_size(int val) { settings.min_point_size = val; settings_changed(); }
void set_max_point_size(int val) { settings.max_point_size = val; settings_changed(); }
void set_threshold(int val) { settings.threshold = val; settings_changed(); }
+ void set_ena_roll(bool val) { settings.bEnableRoll = val; settings_changed(); }
+ void set_ena_pitch(bool val) { settings.bEnablePitch = val; settings_changed(); }
+ void set_ena_yaw(bool val) { settings.bEnableYaw = val; settings_changed(); }
+ void set_ena_x(bool val) { settings.bEnableX = val; settings_changed(); }
+ void set_ena_y(bool val) { settings.bEnableY = val; settings_changed(); }
+ void set_ena_z(bool val) { settings.bEnableZ = val; settings_changed(); }
+
void set_clip_t_height(int val) { dialog_settings.clip_ty = val; set_clip(); }
void set_clip_t_length(int val) { dialog_settings.clip_tz = val; set_clip(); }
void set_clip_b_height(int val) { dialog_settings.clip_by = val; set_clip(); }
diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.cpp b/FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.cpp
index 036b0558..7c356694 100644
--- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.cpp
+++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.cpp
@@ -40,7 +40,14 @@ void TrackerSettings::load_ini()
video_widget = iniFile.value("VideoWidget", true).toBool();
sleep_time = iniFile.value("SleepTime", 10).toInt();
reset_time = iniFile.value("ResetTime", 1000).toInt();
-
+
+ bEnableRoll = iniFile.value ( "EnableRoll", 1 ).toBool();
+ bEnablePitch = iniFile.value ( "EnablePitch", 1 ).toBool();
+ bEnableYaw = iniFile.value ( "EnableYaw", 1 ).toBool();
+ bEnableX = iniFile.value ( "EnableX", 1 ).toBool();
+ bEnableY = iniFile.value ( "EnableY", 1 ).toBool();
+ bEnableZ = iniFile.value ( "EnableZ", 1 ).toBool();
+
iniFile.endGroup();
}
@@ -75,6 +82,13 @@ void TrackerSettings::save_ini() const
iniFile.setValue("SleepTime", sleep_time);
iniFile.setValue("ResetTime", reset_time);
+ iniFile.setValue ( "EnableRoll", bEnableRoll );
+ iniFile.setValue ( "EnablePitch", bEnablePitch );
+ iniFile.setValue ( "EnableYaw", bEnableYaw );
+ iniFile.setValue ( "EnableX", bEnableX );
+ iniFile.setValue ( "EnableY", bEnableY );
+ iniFile.setValue ( "EnableZ", bEnableZ );
+
iniFile.endGroup();
}
diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.h b/FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.h
index 23496d91..16ee20f3 100644
--- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.h
+++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt_settings.h
@@ -31,6 +31,13 @@ struct TrackerSettings
cv::Vec3f M01;
cv::Vec3f M02;
+ bool bEnableRoll;
+ bool bEnablePitch;
+ bool bEnableYaw;
+ bool bEnableX;
+ bool bEnableY;
+ bool bEnableZ;
+
// head to model translation
cv::Vec3f t_MH;