From 2a3ec553d3737f2d94c32c3372ebac5333819ddd Mon Sep 17 00:00:00 2001 From: Wim Vriend Date: Tue, 18 Jan 2011 21:51:48 +0000 Subject: Profile selection items added in the Main form. git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@39 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb --- FaceTrackNoIR.suo | Bin 310784 -> 310784 bytes FaceTrackNoIR/Debug/BuildLog.htm | Bin 32430 -> 30550 bytes FaceTrackNoIR/Debug/FTServer.obj | Bin 112552 -> 112552 bytes FaceTrackNoIR/Debug/main.obj | Bin 167871 -> 167943 bytes FaceTrackNoIR/Debug/moc_FTServer.obj | Bin 66888 -> 66888 bytes FaceTrackNoIR/Debug/moc_tracker.obj | Bin 166418 -> 166554 bytes FaceTrackNoIR/Debug/mt.dep | 2 +- FaceTrackNoIR/Debug/tracker.obj | Bin 410641 -> 413066 bytes FaceTrackNoIR/ExcelServer.cpp | 22 ++++++-- FaceTrackNoIR/FTNoIR_cxx_protocolserver.h | 9 ++++ FaceTrackNoIR/FaceTrackNoIR.cpp | 63 ++++++++++++++++++++--- FaceTrackNoIR/FaceTrackNoIR.h | 2 + FaceTrackNoIR/FaceTrackNoIR.ui | 71 +++++++++++++++++++++++-- FaceTrackNoIR/tracker.cpp | 21 ++++++-- FaceTrackNoIR/tracker.h | 2 + List of compatible games.xls | Bin 26112 -> 26112 bytes List of compatible webcams.xls | Bin 20480 -> 20480 bytes bin/FaceTrackNoIR.exe | Bin 729088 -> 733184 bytes bin/Settings/SimConnect.ini | 83 +++++++++++------------------- bin_dbg/FaceTrackNoIR.exe | Bin 1048576 -> 1064960 bytes bin_dbg/FaceTrackNoIR.ilk | Bin 4232332 -> 4316092 bytes bin_dbg/FaceTrackNoIR.pdb | Bin 4287488 -> 4402176 bytes 22 files changed, 202 insertions(+), 73 deletions(-) diff --git a/FaceTrackNoIR.suo b/FaceTrackNoIR.suo index 846c4be4..21734805 100644 Binary files a/FaceTrackNoIR.suo and b/FaceTrackNoIR.suo differ diff --git a/FaceTrackNoIR/Debug/BuildLog.htm b/FaceTrackNoIR/Debug/BuildLog.htm index 8e1ff11f..5edbad60 100644 Binary files a/FaceTrackNoIR/Debug/BuildLog.htm and b/FaceTrackNoIR/Debug/BuildLog.htm differ diff --git a/FaceTrackNoIR/Debug/FTServer.obj b/FaceTrackNoIR/Debug/FTServer.obj index 7b150608..4c10fe9d 100644 Binary files a/FaceTrackNoIR/Debug/FTServer.obj and b/FaceTrackNoIR/Debug/FTServer.obj differ diff --git a/FaceTrackNoIR/Debug/main.obj b/FaceTrackNoIR/Debug/main.obj index 606d4b13..3e1bd4e3 100644 Binary files a/FaceTrackNoIR/Debug/main.obj and b/FaceTrackNoIR/Debug/main.obj differ diff --git a/FaceTrackNoIR/Debug/moc_FTServer.obj b/FaceTrackNoIR/Debug/moc_FTServer.obj index 430d91b2..c65e85ad 100644 Binary files a/FaceTrackNoIR/Debug/moc_FTServer.obj and b/FaceTrackNoIR/Debug/moc_FTServer.obj differ diff --git a/FaceTrackNoIR/Debug/moc_tracker.obj b/FaceTrackNoIR/Debug/moc_tracker.obj index c444fd14..4b3d94fd 100644 Binary files a/FaceTrackNoIR/Debug/moc_tracker.obj and b/FaceTrackNoIR/Debug/moc_tracker.obj differ diff --git a/FaceTrackNoIR/Debug/mt.dep b/FaceTrackNoIR/Debug/mt.dep index 406f9682..f1a7b210 100644 --- a/FaceTrackNoIR/Debug/mt.dep +++ b/FaceTrackNoIR/Debug/mt.dep @@ -1 +1 @@ -Manifest resource last updated at 21:57:49.28 on ma 03-01-2011 +Manifest resource last updated at 22:38:23.47 on di 18-01-2011 diff --git a/FaceTrackNoIR/Debug/tracker.obj b/FaceTrackNoIR/Debug/tracker.obj index f6e3d396..520a2178 100644 Binary files a/FaceTrackNoIR/Debug/tracker.obj and b/FaceTrackNoIR/Debug/tracker.obj differ diff --git a/FaceTrackNoIR/ExcelServer.cpp b/FaceTrackNoIR/ExcelServer.cpp index 097be513..0f046e98 100644 --- a/FaceTrackNoIR/ExcelServer.cpp +++ b/FaceTrackNoIR/ExcelServer.cpp @@ -62,7 +62,7 @@ SYSTEMTIME now; QFile data(QCoreApplication::applicationDirPath() + "\\output.txt"); if (data.open(QFile::WriteOnly | QFile::Append)) { QTextStream out(&data); - out << newHeadPoseTime << "\t" << headRotX << "\t" << virtRotX << "\t" << headRotY << "\t" << virtRotY << "\t" << headRotZ << "\t" << virtRotZ << '\n'; + out << newHeadPoseTime << "\t" << newSample << "\t" << confidence << "\t" << dT << "\t" << smoothvalue << "\t" << headRotX << "\t" << virtRotX << "\t" << prev_value << '\n'; } } @@ -75,9 +75,25 @@ bool ExcelServer::checkServerInstallationOK( HANDLE handle ) // Use this for some debug-output to file... QFile data(QCoreApplication::applicationDirPath() + "\\output.txt"); if (data.open(QFile::WriteOnly)) { + + + // + // Get the settings for the header + // + QSettings settings("Abbequerque Inc.", "FaceTrackNoIR"); // Registry settings (in HK_USER) + + QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); + QSettings iniFile( currentFile, QSettings::IniFormat ); // Application settings (in INI-file) + + iniFile.beginGroup ( "Tracking" ); + int smoothing = iniFile.value ( "Smooth", 10 ).toInt(); + bool useEWMA = iniFile.value ( "useEWMA", 1 ).toBool(); + iniFile.endGroup (); + QTextStream out(&data); - out << "Time" << "\t" << "RotX (Pitch)" << "\t" << "RotX (Pitch)" << "\t" << "RotY (Yaw)" << "\t" << "RotY (Yaw)" << "\t" << "RotY (Roll)" << "\t" << "RotY (Roll)" << '\n'; - out << "(long)" << "\t" << "Raw" << "\t" << "Filtered" << "\t" << "Raw" << "\t" << "Filtered" << "\t" << "Raw" << "\t" << "Filtered" << '\n'; + out << "Smoothing = \t" << smoothing << "\n" << "EWMA used = \t" << useEWMA << "\n" << "\n"; + out << "Time" << "\t" << "New Sample" << "\t" << "Confidence" << "\t" << "dT" << "\t" << "Smoothed" << "\t" << "RotX (Pitch)" << "\t" << "RotX (Pitch)" << "\t" << "Previous" << '\n'; + out << "(long)" << "\t" << "(bool)" << "\t" << "(float)" << "\t" << "(float)" << "\t" << "(float)" << "\t" << "Raw" << "\t" << "Filtered" << "\t" << "-" << '\n'; } return true; diff --git a/FaceTrackNoIR/FTNoIR_cxx_protocolserver.h b/FaceTrackNoIR/FTNoIR_cxx_protocolserver.h index a14b198d..6548a82f 100644 --- a/FaceTrackNoIR/FTNoIR_cxx_protocolserver.h +++ b/FaceTrackNoIR/FTNoIR_cxx_protocolserver.h @@ -88,6 +88,15 @@ namespace v4friend float prevRotY; float prevRotZ; + // + // Values for analysis of tracking... + // + float confidence; + float smoothvalue; + float prev_value; + bool newSample; + float dT; + private: ProtocolServerBase(const ProtocolServerBase &); ProtocolServerBase &operator=(const ProtocolServerBase &); diff --git a/FaceTrackNoIR/FaceTrackNoIR.cpp b/FaceTrackNoIR/FaceTrackNoIR.cpp index fda8ea84..fb48b149 100644 --- a/FaceTrackNoIR/FaceTrackNoIR.cpp +++ b/FaceTrackNoIR/FaceTrackNoIR.cpp @@ -80,8 +80,11 @@ void FaceTrackNoIR::setupFaceTrackNoIR() { // menu objects will be connected with the functions in FaceTrackNoIR class connect(ui.actionOpen, SIGNAL(triggered()), this, SLOT(open())); + connect(ui.btnLoad, SIGNAL(clicked()), this, SLOT(open())); connect(ui.actionSave, SIGNAL(triggered()), this, SLOT(save())); + connect(ui.btnSave, SIGNAL(clicked()), this, SLOT(save())); connect(ui.actionSave_As, SIGNAL(triggered()), this, SLOT(saveAs())); + connect(ui.btnSaveAs, SIGNAL(clicked()), this, SLOT(saveAs())); connect(ui.actionExit, SIGNAL(triggered()), this, SLOT(exit())); connect(ui.actionPreferences, SIGNAL(triggered()), this, SLOT(showPreferences())); @@ -132,14 +135,16 @@ void FaceTrackNoIR::setupFaceTrackNoIR() { createActions(); createTrayIcon(); - connect(ui.iconcomboTrackerSource, SIGNAL(currentIndexChanged(int)), this, SLOT(trackingSourceSelected(int))); - connect(ui.iconcomboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(setIcon(int))); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); //Load the tracker-settings, from the INI-file loadSettings(); trayIcon->show(); + connect(ui.iconcomboProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(profileSelected(int))); + connect(ui.iconcomboTrackerSource, SIGNAL(currentIndexChanged(int)), this, SLOT(trackingSourceSelected(int))); + connect(ui.iconcomboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(setIcon(int))); + //Setup the timer for automatically minimizing after StartTracker. timMinimizeFTN = new QTimer(this); connect(timMinimizeFTN, SIGNAL(timeout()), this, SLOT(showMinimized())); @@ -349,7 +354,7 @@ void FaceTrackNoIR::saveAs() // Remove the file, if it already exists. // QFileInfo newFileInfo ( fileName ); - if (newFileInfo.exists()) { + if ((newFileInfo.exists()) && (oldFile != fileName)) { QFile newFileFile ( fileName ); newFileFile.remove(); } @@ -385,6 +390,34 @@ void FaceTrackNoIR::loadSettings() { QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); QSettings iniFile( currentFile, QSettings::IniFormat ); // Application settings (in INI-file) + // + // Put the filename in the window-title. + // + QFileInfo pathInfo ( currentFile ); + setWindowTitle ( "FaceTrackNoIR (1.5) - " + pathInfo.fileName() ); + + // + // Get a List of all the INI-files in the (currently active) Settings-folder. + // + QDir settingsDir( pathInfo.dir() ); + QStringList filters; + filters << "*.ini"; + iniFileList.clear(); + iniFileList = settingsDir.entryList( filters, QDir::Files, QDir::Name ); + + // + // Add strings to the Listbox. + // + disconnect(ui.iconcomboProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(profileSelected(int))); + ui.iconcomboProfile->clear(); + for ( int i = 0; i < iniFileList.size(); i++) { + ui.iconcomboProfile->addItem(iniFileList.at(i)); + if (iniFileList.at(i) == pathInfo.fileName()) { + ui.iconcomboProfile->setCurrentIndex( i ); + } + } + connect(ui.iconcomboProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(profileSelected(int))); + qDebug() << "loadSettings says: iniFile = " << currentFile; iniFile.beginGroup ( "Tracking" ); @@ -414,11 +447,6 @@ void FaceTrackNoIR::loadSettings() { iniFile.endGroup (); settingsDirty = false; - - // Put the filename in the window-title - QFileInfo pathInfo ( currentFile ); - setWindowTitle ( "FaceTrackNoIR (1.5) - " + pathInfo.fileName() ); - } /** show support page in web-browser **/ @@ -916,6 +944,25 @@ void FaceTrackNoIR::trackingSourceSelected(int index) } } +// +// Handle changes of the Profile selection +// +void FaceTrackNoIR::profileSelected(int index) +{ + // + // Read the current INI-file setting, to get the folder in which it's located... + // + QSettings settings("Abbequerque Inc.", "FaceTrackNoIR"); // Registry settings (in HK_USER) + QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); + QFileInfo pathInfo ( currentFile ); + + // + // Get a List of all the INI-files in the (currently active) Settings-folder. + // + settings.setValue ("SettingsFile", pathInfo.absolutePath() + "/" + iniFileList.at(ui.iconcomboProfile->currentIndex())); + loadSettings(); +} + // // Constructor for FaceTrackNoIR=Preferences-dialog diff --git a/FaceTrackNoIR/FaceTrackNoIR.h b/FaceTrackNoIR/FaceTrackNoIR.h index 8be8b6d6..984b09c0 100644 --- a/FaceTrackNoIR/FaceTrackNoIR.h +++ b/FaceTrackNoIR/FaceTrackNoIR.h @@ -65,6 +65,7 @@ private: Ui::FaceTrackNoIRClass ui; Tracker *tracker; QTimer *timMinimizeFTN; + QStringList iniFileList; // List of INI-files, that are present in the Settings folder /** face api variables **/ VideoDisplayWidget *_display; @@ -114,6 +115,7 @@ private: void setIcon(int index); void iconActivated(QSystemTrayIcon::ActivationReason reason); void trackingSourceSelected(int index); + void profileSelected(int index); void showVideoWidget(); void showHeadPoseWidget(); diff --git a/FaceTrackNoIR/FaceTrackNoIR.ui b/FaceTrackNoIR/FaceTrackNoIR.ui index 56660d49..15d960bd 100644 --- a/FaceTrackNoIR/FaceTrackNoIR.ui +++ b/FaceTrackNoIR/FaceTrackNoIR.ui @@ -10,7 +10,7 @@ 0 0 - 923 + 925 371 @@ -808,7 +808,7 @@ border:none; Profile - + 10 @@ -824,7 +824,70 @@ border:none; -1 - 3 + 10 + + + + + true + + + + 10 + 80 + 161 + 23 + + + + Change tracker settings + + + + + + Save As ... + + + + + + 10 + 50 + 75 + 23 + + + + Start the Tracker + + + + + + Load + + + + + true + + + + 96 + 50 + 75 + 23 + + + + Stop the Tracker + + + + + + Save @@ -1950,7 +2013,7 @@ background:none; 0 0 - 923 + 925 21 diff --git a/FaceTrackNoIR/tracker.cpp b/FaceTrackNoIR/tracker.cpp index 633af24e..d1ebe6ea 100644 --- a/FaceTrackNoIR/tracker.cpp +++ b/FaceTrackNoIR/tracker.cpp @@ -53,7 +53,7 @@ // Definitions for testing purposes // #define USE_HEADPOSE_CALLBACK -#define USE_DEBUG_CLIENT +//#define USE_DEBUG_CLIENT using namespace sm::faceapi; using namespace sm::faceapi::qt; @@ -489,6 +489,7 @@ void Tracker::run() { // Pitch if (Tracker::useFilter) { rotX = lowPassFilter ( getSmoothFromList( &Pitch.rawList ) - Pitch.offset_headPos - Pitch.initial_headPos, +// rotX = lowPassFilter ( getSmoothFromList( &Pitch.rawList ), &Pitch.prevPos, dT, Tracker::Pitch.red ); } else { @@ -615,13 +616,21 @@ void Tracker::run() { } } } - ReleaseMutex(Tracker::hTrackMutex); - server_Game->sendHeadposeToGame(); # ifdef USE_DEBUG_CLIENT - debug_Client->sendHeadposeToGame(); + debug_Client->confidence = Tracker::Pitch.confidence; + debug_Client->newSample = Tracker::Pitch.newSample; + debug_Client->smoothvalue = getSmoothFromList( &Pitch.rawList ); + debug_Client->prev_value = Tracker::Pitch.prevPos; + debug_Client->dT = dT; + debug_Client->sendHeadposeToGame(); // Log to Excel + Tracker::Pitch.newSample = false; # endif + ReleaseMutex(Tracker::hTrackMutex); + server_Game->sendHeadposeToGame(); + + //for lower cpu load usleep(10000); yieldCurrentThread(); @@ -664,6 +673,8 @@ void Tracker::addHeadPose( smEngineHeadPoseData head_pose ) // Pitch Tracker::Pitch.headPos = head_pose.head_rot.x_rads * 57.295781f; // degrees addRaw2List ( &Pitch.rawList, Pitch.maxItems, Tracker::Pitch.headPos ); + Tracker::Pitch.confidence = head_pose.confidence; // Just this one ... + Tracker::Pitch.newSample = true; // Yaw Tracker::Yaw.headPos = head_pose.head_rot.y_rads * 57.295781f; // degrees @@ -781,7 +792,7 @@ float Tracker::getCorrectedNewRaw ( float NewRaw, float rotNeutral ) { // The code was adopted from Melchior Franz, who created it for FlightGear (aircraft.nas). // // The function takes the new value, the delta-time (sec) and a weighing coefficient (>0 and <1) -// All previou values are taken into account, the weight of this is determined by 'coeff'. +// All previous values are taken into account, the weight of this is determined by 'coeff'. // float Tracker::lowPassFilter ( float newvalue, float *oldvalue, float dt, float coeff) { float c = 0.0f; diff --git a/FaceTrackNoIR/tracker.h b/FaceTrackNoIR/tracker.h index 49d24f86..b7a653d9 100644 --- a/FaceTrackNoIR/tracker.h +++ b/FaceTrackNoIR/tracker.h @@ -94,6 +94,8 @@ struct THeadPoseDOF { QPainterPath curve; // Bezier curve to translate input -> output int NeutralZone; // Neutral zone int MaxInput; // Maximum raw input + float confidence; // Current confidence + bool newSample; // Indicate new sample from tracker }; // diff --git a/List of compatible games.xls b/List of compatible games.xls index 915c359e..bbe78b3b 100644 Binary files a/List of compatible games.xls and b/List of compatible games.xls differ diff --git a/List of compatible webcams.xls b/List of compatible webcams.xls index 3c975443..a3c7398e 100644 Binary files a/List of compatible webcams.xls and b/List of compatible webcams.xls differ diff --git a/bin/FaceTrackNoIR.exe b/bin/FaceTrackNoIR.exe index de14308a..5c314b2b 100644 Binary files a/bin/FaceTrackNoIR.exe and b/bin/FaceTrackNoIR.exe differ diff --git a/bin/Settings/SimConnect.ini b/bin/Settings/SimConnect.ini index 6d8d382f..05f5d972 100644 --- a/bin/Settings/SimConnect.ini +++ b/bin/Settings/SimConnect.ini @@ -7,62 +7,41 @@ invertX=false invertY=false invertZ=false useEWMA=true -redYaw=70 -redPitch=70 -redRoll=70 -redX=71 -redY=70 -redZ=70 +redYaw=95 +redPitch=90 +redRoll=90 +redX=90 +redY=90 +redZ=90 [GameProtocol] -Selection=5 +Selection=1 [TrackerSource] Selection=0 [Curves] -Yaw_point1=@Variant(\0\0\0\x1a@\x14\0\0\0\0\0\0@\x14\0\0\0\0\0\0) -Yaw_point2=@Variant(\0\0\0\x1a@O\0\0\0\0\0\0@2\0\0\0\0\0\0) -Yaw_point3=@Variant(\0\0\0\x1a@`\xa0\0\0\0\0\0@?\0\0\0\0\0\0) -Yaw_point4=@Variant(\0\0\0\x1a@f\x80\0\0\0\0\0@I\0\0\0\0\0\0) -Pitch_point1=@Variant(\0\0\0\x1a@\x18\0\0\0\0\0\0@\x18\0\0\0\0\0\0) -Pitch_point2=@Variant(\0\0\0\x1a@H\0\0\0\0\0\0@3\0\0\0\0\0\0) -Pitch_point3=@Variant(\0\0\0\x1a@b`\0\0\0\0\0@A\x80\0\0\0\0\0) -Pitch_point4=@Variant(\0\0\0\x1a@f\x80\0\0\0\0\0@I\0\0\0\0\0\0) -Roll_point1=@Variant(\0\0\0\x1a@\x14\0\0\0\0\0\0@\x14\0\0\0\0\0\0) -Roll_point2=@Variant(\0\0\0\x1a@R\0\0\0\0\0\0@1\0\0\0\0\0\0) -Roll_point3=@Variant(\0\0\0\x1a@[@\0\0\0\0\0@A\0\0\0\0\0\0) -Roll_point4=@Variant(\0\0\0\x1a@f\x80\0\0\0\0\0@I\0\0\0\0\0\0) -X_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0) -X_point2=@Variant(\0\0\0\x1a@R\xc0\0\0\0\0\0@2\0\0\0\0\0\0) -X_point3=@Variant(\0\0\0\x1a@Y\0\0\0\0\0\0@A\0\0\0\0\0\0) -X_point4=@Variant(\0\0\0\x1a@c\xc0\0\0\0\0\0@I\0\0\0\0\0\0) -Y_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0) -Y_point2=@Variant(\0\0\0\x1a@T@\0\0\0\0\0@3\0\0\0\0\0\0) -Y_point3=@Variant(\0\0\0\x1a@Y\xc0\0\0\0\0\0@A\0\0\0\0\0\0) -Y_point4=@Variant(\0\0\0\x1a@a\xa0\0\0\0\0\0@I\0\0\0\0\0\0) -Z_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0) -Z_point2=@Variant(\0\0\0\x1a@X\x80\0\0\0\0\0@5\0\0\0\0\0\0) -Z_point3=@Variant(\0\0\0\x1a@\\\x80\0\0\0\0\0@C\0\0\0\0\0\0) -Z_point4=@Variant(\0\0\0\x1a@c \0\0\0\0\0@I\0\0\0\0\0\0) - -[KB_Shortcuts] -Keycode_Center=199 -Shift_Center=false -Ctrl_Center=false -Alt_Center=false -Keycode_StartStop=207 -Shift_StartStop=false -Ctrl_StartStop=false -Alt_StartStop=false -Keycode_Inhibit=0 -Shift_Inhibit=false -Ctrl_Inhibit=false -Alt_Inhibit=false -Inhibit_Pitch=false -Inhibit_Yaw=false -Inhibit_Roll=false -Inhibit_X=false -Inhibit_Y=false -Inhibit_Z=false -SetZero=false +Yaw_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +Yaw_point2=@Variant(\0\0\0\x1a@1\0\0\0\0\0\0@1\0\0\0\0\0\0) +Yaw_point3=@Variant(\0\0\0\x1a@@\x80\0\0\0\0\0@@\x80\0\0\0\0\0) +Yaw_point4=@Variant(\0\0\0\x1a@d\x80\0\0\0\0\0@I\0\0\0\0\0\0) +Pitch_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +Pitch_point2=@Variant(\0\0\0\x1a@1\0\0\0\0\0\0@1\0\0\0\0\0\0) +Pitch_point3=@Variant(\0\0\0\x1a@@\x80\0\0\0\0\0@@\x80\0\0\0\0\0) +Pitch_point4=@Variant(\0\0\0\x1a@c\xd0\0\0\0\0\0@I\0\0\0\0\0\0) +Roll_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +Roll_point2=@Variant(\0\0\0\x1a@1\0\0\0\0\0\0@1\0\0\0\0\0\0) +Roll_point3=@Variant(\0\0\0\x1a@@\x80\0\0\0\0\0@@\x80\0\0\0\0\0) +Roll_point4=@Variant(\0\0\0\x1a@d\x10\0\0\0\0\0@I\0\0\0\0\0\0) +X_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +X_point2=@Variant(\0\0\0\x1a@1\0\0\0\0\0\0@1\0\0\0\0\0\0) +X_point3=@Variant(\0\0\0\x1a@@\x80\0\0\0\0\0@@\x80\0\0\0\0\0) +X_point4=@Variant(\0\0\0\x1a@I\0\0\0\0\0\0@I\0\0\0\0\0\0) +Y_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +Y_point2=@Variant(\0\0\0\x1a@1\0\0\0\0\0\0@1\0\0\0\0\0\0) +Y_point3=@Variant(\0\0\0\x1a@@\x80\0\0\0\0\0@@\x80\0\0\0\0\0) +Y_point4=@Variant(\0\0\0\x1a@I\0\0\0\0\0\0@I\0\0\0\0\0\0) +Z_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +Z_point2=@Variant(\0\0\0\x1a@1\0\0\0\0\0\0@1\0\0\0\0\0\0) +Z_point3=@Variant(\0\0\0\x1a@@\x80\0\0\0\0\0@@\x80\0\0\0\0\0) +Z_point4=@Variant(\0\0\0\x1a@I\0\0\0\0\0\0@I\0\0\0\0\0\0) diff --git a/bin_dbg/FaceTrackNoIR.exe b/bin_dbg/FaceTrackNoIR.exe index fe99adfe..8fe88707 100644 Binary files a/bin_dbg/FaceTrackNoIR.exe and b/bin_dbg/FaceTrackNoIR.exe differ diff --git a/bin_dbg/FaceTrackNoIR.ilk b/bin_dbg/FaceTrackNoIR.ilk index 5c2feb07..1b2e383a 100644 Binary files a/bin_dbg/FaceTrackNoIR.ilk and b/bin_dbg/FaceTrackNoIR.ilk differ diff --git a/bin_dbg/FaceTrackNoIR.pdb b/bin_dbg/FaceTrackNoIR.pdb index a102e79e..802a13b2 100644 Binary files a/bin_dbg/FaceTrackNoIR.pdb and b/bin_dbg/FaceTrackNoIR.pdb differ -- cgit v1.2.3