From 63ce1b5dc62e5c1a079f8a675c0a4371adb27d29 Mon Sep 17 00:00:00 2001 From: Wim Vriend Date: Sat, 12 Feb 2011 16:13:30 +0000 Subject: Displaying headpose-data seemed to cause crashes. Update is now done in FaceTrackNoIR.cpp, using a timer. git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@51 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb --- FTNoIR_Tracker_UDP/ftnoir_tracker_base.h | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'FTNoIR_Tracker_UDP/ftnoir_tracker_base.h') diff --git a/FTNoIR_Tracker_UDP/ftnoir_tracker_base.h b/FTNoIR_Tracker_UDP/ftnoir_tracker_base.h index 60f0caf3..f39a8b4d 100644 --- a/FTNoIR_Tracker_UDP/ftnoir_tracker_base.h +++ b/FTNoIR_Tracker_UDP/ftnoir_tracker_base.h @@ -2,6 +2,7 @@ #define FTNOIR_TRACKER_BASE_H #include "ftnoir_tracker_base_global.h" +#include // // x,y,z position in centimetres, yaw, pitch and roll in degrees... @@ -19,7 +20,7 @@ struct THeadPoseData { // Instances are obtained via factory function. struct ITracker { - virtual void Release() = 0; + virtual void Release() = 0; // Member required to enable Auto-remove virtual void Initialize() = 0; virtual void StartTracker() = 0; virtual void GiveHeadPoseData(THeadPoseData *data) = 0; @@ -44,4 +45,27 @@ __stdcall GetTracker( void); + +// COM-Like abstract interface. +// This interface doesn't require __declspec(dllexport/dllimport) specifier. +// Method calls are dispatched via virtual table. +// Any C++ compiler can use it. +// Instances are obtained via factory function. +struct ITrackerDialog +{ + virtual void Release() = 0; // Member required to enable Auto-remove + virtual void Initialize(QWidget *parent) = 0; +}; + +// Handle type. In C++ language the iterface type is used. +typedef ITrackerDialog* TRACKERDIALOGHANDLE; + +// Factory function that creates instances of the Tracker object. +EXTERN_C +FTNOIR_TRACKER_BASE_EXPORT +TRACKERDIALOGHANDLE +__stdcall +GetTrackerDialog(void); + + #endif // FTNOIR_TRACKER_BASE_H -- cgit v1.2.3