summaryrefslogtreecommitdiffhomepage
path: root/FaceTrackNoIR/tracker.cpp
diff options
context:
space:
mode:
authorWim Vriend <facetracknoir@gmail.com>2011-01-29 12:58:57 +0000
committerWim Vriend <facetracknoir@gmail.com>2011-01-29 12:58:57 +0000
commit51a3eb679889844a0f8c8643034615dc12a7f523 (patch)
treea93e97b35e06ef476c80375275ba190ab8d57741 /FaceTrackNoIR/tracker.cpp
parentde8ca77801f1f7de1e553967f80147ad89345912 (diff)
Testing filter.
git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@45 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb
Diffstat (limited to 'FaceTrackNoIR/tracker.cpp')
-rw-r--r--FaceTrackNoIR/tracker.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/FaceTrackNoIR/tracker.cpp b/FaceTrackNoIR/tracker.cpp
index bc7b45f8..f271ee5b 100644
--- a/FaceTrackNoIR/tracker.cpp
+++ b/FaceTrackNoIR/tracker.cpp
@@ -163,6 +163,7 @@ QLibrary *filterLib;
break;
case FTNOIR:
+ server_Game = QSharedPointer<FTNServer>(new FTNServer ( this )); // Create FaceTrackNoIR protocol-server
break;
case PPJOY:
@@ -556,15 +557,15 @@ void Tracker::run() {
if (Tracker::do_tracking && Tracker::confid) {
// Pitch
- target_camera_position.x = X.headPos - X.offset_headPos - X.initial_headPos;
- target_camera_position.y = Y.headPos - Y.offset_headPos - Y.initial_headPos;
- target_camera_position.z = Z.headPos - Z.offset_headPos - Z.initial_headPos;
- target_camera_position.pitch = Pitch.headPos - Pitch.offset_headPos - Pitch.initial_headPos;
- target_camera_position.yaw = Yaw.headPos - Yaw.offset_headPos - Yaw.initial_headPos;
- target_camera_position.roll = Roll.headPos - Roll.offset_headPos - Roll.initial_headPos;
+ target_camera_position.x = getSmoothFromList( &X.rawList ) - X.offset_headPos - X.initial_headPos;
+ target_camera_position.y = getSmoothFromList( &Y.rawList ) - Y.offset_headPos - Y.initial_headPos;
+ target_camera_position.z = getSmoothFromList( &Z.rawList ) - Z.offset_headPos - Z.initial_headPos;
+ target_camera_position.pitch = getSmoothFromList( &Pitch.rawList ) - Pitch.offset_headPos - Pitch.initial_headPos;
+ target_camera_position.yaw = getSmoothFromList( &Yaw.rawList ) - Yaw.offset_headPos - Yaw.initial_headPos;
+ target_camera_position.roll = getSmoothFromList( &Roll.rawList ) - Roll.offset_headPos - Roll.initial_headPos;
if (Tracker::useFilter && pFilter) {
- pFilter->FilterHeadPoseData(&current_camera_position, &target_camera_position, &new_camera_position);
+ pFilter->FilterHeadPoseData(&current_camera_position, &target_camera_position, &new_camera_position, Tracker::Pitch.newSample);
}
else {
new_camera_position.x = getSmoothFromList( &X.rawList ) - X.offset_headPos - X.initial_headPos;
@@ -658,9 +659,10 @@ void Tracker::run() {
debug_Client->prev_value = Tracker::Pitch.prevPos;
debug_Client->dT = dT;
debug_Client->sendHeadposeToGame(); // Log to Excel
- Tracker::Pitch.newSample = false;
# endif
+ Tracker::Pitch.newSample = false;
+
ReleaseMutex(Tracker::hTrackMutex);
server_Game->sendHeadposeToGame();
@@ -694,10 +696,6 @@ void Tracker::receiveHeadPose(void *,smEngineHeadPoseData head_pose, smCameraVid
}
ReleaseMutex(Tracker::hTrackMutex);
-
- // for lower cpu load
- msleep(10);
- yieldCurrentThread();
}
/** Add the headpose-data to the Lists **/