From d0132f5e3881a6cb09bfe41326831d36527b7321 Mon Sep 17 00:00:00 2001 From: Wim Vriend Date: Mon, 10 Jan 2011 20:28:59 +0000 Subject: Basic Excel tracking. git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@38 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb --- FaceTrackNoIR.suo | Bin 310272 -> 310784 bytes FaceTrackNoIR/ExcelServer.cpp | 24 ++++++++++++++++++++++++ FaceTrackNoIR/tracker.cpp | 6 +++++- bin/FaceTrackNoIR.exe | Bin 729088 -> 729088 bytes 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/FaceTrackNoIR.suo b/FaceTrackNoIR.suo index 69dd478c..846c4be4 100644 Binary files a/FaceTrackNoIR.suo and b/FaceTrackNoIR.suo differ diff --git a/FaceTrackNoIR/ExcelServer.cpp b/FaceTrackNoIR/ExcelServer.cpp index d512ef7a..097be513 100644 --- a/FaceTrackNoIR/ExcelServer.cpp +++ b/FaceTrackNoIR/ExcelServer.cpp @@ -32,6 +32,7 @@ #include #include "ExcelServer.h" #include "Tracker.h" +#include /** constructor **/ ExcelServer::ExcelServer( Tracker *parent ) { @@ -48,6 +49,21 @@ ExcelServer::~ExcelServer() { // Update Headpose in Game. // void ExcelServer::sendHeadposeToGame() { +SYSTEMTIME now; + + // + // Get the System-time and substract the time from the previous call. + // dT will be used for the EWMA-filter. + // + GetSystemTime ( &now ); + long newHeadPoseTime = (((now.wHour * 3600) + (now.wMinute * 60) + now.wSecond) * 1000) + now.wMilliseconds; + + // Use this for some debug-output to file... + 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'; + } } // @@ -56,6 +72,14 @@ void ExcelServer::sendHeadposeToGame() { // bool ExcelServer::checkServerInstallationOK( HANDLE handle ) { + // Use this for some debug-output to file... + QFile data(QCoreApplication::applicationDirPath() + "\\output.txt"); + if (data.open(QFile::WriteOnly)) { + 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'; + } + return true; } diff --git a/FaceTrackNoIR/tracker.cpp b/FaceTrackNoIR/tracker.cpp index 6e360ade..633af24e 100644 --- a/FaceTrackNoIR/tracker.cpp +++ b/FaceTrackNoIR/tracker.cpp @@ -618,8 +618,12 @@ void Tracker::run() { ReleaseMutex(Tracker::hTrackMutex); server_Game->sendHeadposeToGame(); +# ifdef USE_DEBUG_CLIENT + debug_Client->sendHeadposeToGame(); +# endif + //for lower cpu load - msleep(10); + usleep(10000); yieldCurrentThread(); } } diff --git a/bin/FaceTrackNoIR.exe b/bin/FaceTrackNoIR.exe index 111bb018..de14308a 100644 Binary files a/bin/FaceTrackNoIR.exe and b/bin/FaceTrackNoIR.exe differ -- cgit v1.2.3