diff options
author | Wim Vriend <facetracknoir@gmail.com> | 2011-03-08 22:10:06 +0000 |
---|---|---|
committer | Wim Vriend <facetracknoir@gmail.com> | 2011-03-08 22:10:06 +0000 |
commit | 7dc20f380c80b1b0597e619e66d23921f0309aa0 (patch) | |
tree | c5fb83c3b97b825112433a81ee3dfafe96dba84e /FTNoIR_Tracker_Base | |
parent | 63ce1b5dc62e5c1a079f8a675c0a4371adb27d29 (diff) |
Start after update 1.5
Begin placing faceAPI in DLL
git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@52 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb
Diffstat (limited to 'FTNoIR_Tracker_Base')
-rw-r--r-- | FTNoIR_Tracker_Base/ftnoir_tracker_base.h | 71 | ||||
-rw-r--r-- | FTNoIR_Tracker_Base/ftnoir_tracker_base_global.h | 12 |
2 files changed, 83 insertions, 0 deletions
diff --git a/FTNoIR_Tracker_Base/ftnoir_tracker_base.h b/FTNoIR_Tracker_Base/ftnoir_tracker_base.h new file mode 100644 index 00000000..f39a8b4d --- /dev/null +++ b/FTNoIR_Tracker_Base/ftnoir_tracker_base.h @@ -0,0 +1,71 @@ +#ifndef FTNOIR_TRACKER_BASE_H
+#define FTNOIR_TRACKER_BASE_H
+
+#include "ftnoir_tracker_base_global.h"
+#include <QtGui/QWidget>
+
+//
+// x,y,z position in centimetres, yaw, pitch and roll in degrees...
+//
+#pragma pack(push, 2)
+struct THeadPoseData {
+ double x, y, z, yaw, pitch, roll;
+};
+#pragma pack(pop)
+
+// 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 ITracker
+{
+ virtual void Release() = 0; // Member required to enable Auto-remove
+ virtual void Initialize() = 0;
+ virtual void StartTracker() = 0;
+ virtual void GiveHeadPoseData(THeadPoseData *data) = 0;
+};
+
+// Handle type. In C++ language the iterface type is used.
+typedef ITracker* TRACKERHANDLE;
+
+////////////////////////////////////////////////////////////////////////////////
+//
+#ifdef __cplusplus
+# define EXTERN_C extern "C"
+#else
+# define EXTERN_C
+#endif // __cplusplus
+
+// Factory function that creates instances of the Tracker object.
+EXTERN_C
+FTNOIR_TRACKER_BASE_EXPORT
+TRACKERHANDLE
+__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
diff --git a/FTNoIR_Tracker_Base/ftnoir_tracker_base_global.h b/FTNoIR_Tracker_Base/ftnoir_tracker_base_global.h new file mode 100644 index 00000000..9f4a6118 --- /dev/null +++ b/FTNoIR_Tracker_Base/ftnoir_tracker_base_global.h @@ -0,0 +1,12 @@ +#ifndef FTNOIR_TRACKER_BASE_GLOBAL_H
+#define FTNOIR_TRACKER_BASE_GLOBAL_H
+
+#include <Qt/qglobal.h>
+
+#ifdef FTNOIR_TRACKER_BASE_LIB
+# define FTNOIR_TRACKER_BASE_EXPORT Q_DECL_EXPORT
+#else
+# define FTNOIR_TRACKER_BASE_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif // FTNOIR_TRACKER_BASE_GLOBAL_H
|