summaryrefslogtreecommitdiffhomepage
path: root/FaceTrackNoIR/tracker.h
diff options
context:
space:
mode:
authorWim Vriend <facetracknoir@gmail.com>2011-01-21 16:26:41 +0000
committerWim Vriend <facetracknoir@gmail.com>2011-01-21 16:26:41 +0000
commitedd74a92a7d6e3c11d2409ba34085073185af43f (patch)
treea68aea51bc62efba9c9db9d047ce58e40182eaa9 /FaceTrackNoIR/tracker.h
parent2a3ec553d3737f2d94c32c3372ebac5333819ddd (diff)
Starting work on Tracker in DLL
git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@40 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb
Diffstat (limited to 'FaceTrackNoIR/tracker.h')
-rw-r--r--FaceTrackNoIR/tracker.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/FaceTrackNoIR/tracker.h b/FaceTrackNoIR/tracker.h
index b7a653d9..20fd60d8 100644
--- a/FaceTrackNoIR/tracker.h
+++ b/FaceTrackNoIR/tracker.h
@@ -45,6 +45,15 @@
#include "ExcelServer.h" // Excel-server (for analysing purposes)
#include "FTNoIR_cxx_protocolserver.h"
+#include "FTNoIR_Tracker_base.h"
+#include "AutoClosePtr.h"
+
+// 1a. COM-Like usage with smart pointer.
+// No need to call `ITracker::Release'; the instance will
+// be released automatically in destructor of the smart pointer.
+typedef AutoClosePtr<ITracker, void, &ITracker::Release> ITrackerPtr;
+typedef ITracker *(WINAPI *importGetTracker)(void);
+
// include the DirectX Library files
#pragma comment (lib, "dinput8.lib")
#pragma comment (lib, "dxguid.lib")
@@ -129,6 +138,7 @@ private:
APIScope *faceapi_scope;
QSharedPointer<EngineBase> _engine;
smEngineHandle _engine_handle;
+ ITrackerPtr pTracker; // Pointer to Tracker instance (in DLL)
/** static callback method for the head pose tracking **/
static void STDCALL receiveHeadPose(void *,smEngineHeadPoseData head_pose, smCameraVideoFrame video_frame);