From 2af0ddbcf5cf32e4f6e8e1e3993a1aca0c409c90 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 17:22:02 +0100 Subject: add initial, untested opentrack-api.dll Signed-off-by: Stanislaw Halik --- opentrack-api/context.cpp | 108 ++++++++++++++++++++++++++++++++++++++++ opentrack-api/opentrack-api.cpp | 13 +++++ opentrack-api/opentrack-guts.h | 40 +++++++++++++++ opentrack-api/opentrack.h | 57 +++++++++++++++++++++ opentrack-api/trackers.cpp | 38 ++++++++++++++ 5 files changed, 256 insertions(+) create mode 100644 opentrack-api/context.cpp create mode 100644 opentrack-api/opentrack-api.cpp create mode 100644 opentrack-api/opentrack-guts.h create mode 100644 opentrack-api/opentrack.h create mode 100644 opentrack-api/trackers.cpp (limited to 'opentrack-api') diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp new file mode 100644 index 00000000..100acf5c --- /dev/null +++ b/opentrack-api/context.cpp @@ -0,0 +1,108 @@ +#include "opentrack-guts.h" +#include "opentrack.h" + +#if defined(__APPLE__) +# define SONAME "dylib" +#elif defined(_WIN32) +# define SONAME "dll" +#else +# define SONAME "so" +#endif + +#include + +#ifdef _MSC_VER +# define LIB_PREFIX "" +#else +# define LIB_PREFIX "lib" +#endif + +// shamelessly copied from core +static Metadata* get_metadata(DynamicLibrary* lib, QString& longName, QIcon& icon) +{ + Metadata* meta; + if (!lib->Metadata || ((meta = lib->Metadata()), !meta)) + return NULL; + meta->getFullName(&longName); + meta->getIcon(&icon); + return meta; +} + +static QList list_files(QDir& dir, QString filter) +{ + QList ret; + QStringList filenames = dir.entryList( QStringList() << (LIB_PREFIX + filter + ("*." SONAME)), QDir::Files, QDir::Name ); + for ( int i = 0; i < filenames.size(); i++) { + QIcon icon; + QString long_name; + QString str = filenames.at(i); + DynamicLibrary* lib = new DynamicLibrary(str); + qDebug() << "Loading" << str; + std::cout.flush(); + Metadata* meta; + if (!(meta = get_metadata(lib, long_name, icon))) + { + delete lib; + continue; + } + QString prefix(LIB_PREFIX + filter); + QString suffix("*." SONAME); + if (str.size() > prefix.size() + suffix.size() && str.startsWith(prefix) && str.endsWith(suffix)) + { + auto str2 = str.mid(prefix.size(), str.size() - prefix.size() - suffix.size()); + opentrack_meta item(meta, str2, lib); + ret.push_back(item); + } + } + + return ret; +} + +opentrack_ctx::opentrack_ctx(QDir& dir) : + dir(dir), + meta_list(list_files(dir, "opentrack-tracker-")) +{ + const int count = meta_list.size(); + list = new char*[count + 1]; + for (int i = 0; i < count; i++) + { + QByteArray tmp = meta_list.at(i).path.toUtf8(); + int len = tmp.size(); + auto foo = new char[len+1]; + for (int j = 0; j < len; j++) + foo[j] = tmp.at(j); + foo[len] = '\0'; + list[i] = foo; + } + list[count] = NULL; +} + +opentrack_ctx::~opentrack_ctx() +{ + for (int i = 0; list[i]; i++) + { + delete list[i]; + } + delete list; +} + +extern "C" +{ + +const char** OPENTRACK_EXPORT opentrack_enum_trackers(opentrack ctx) +{ + return const_cast(ctx->list); +} + +opentrack OPENTRACK_EXPORT opentrack_make_ctx(const char *dir) +{ + QDir d(dir); + return new opentrack_ctx(d); +} + +void OPENTRACK_EXPORT opentrack_finalize_ctx(opentrack foo) +{ + delete foo; +} + +} diff --git a/opentrack-api/opentrack-api.cpp b/opentrack-api/opentrack-api.cpp new file mode 100644 index 00000000..acb6d823 --- /dev/null +++ b/opentrack-api/opentrack-api.cpp @@ -0,0 +1,13 @@ +#include "opentrack-guts.h" +#include "opentrack.h" + +opentrack opentrack_make_ctx(const char *dir) +{ + QDir d(dir); + return new opentrack_ctx(d); +} + +void opentrack_finalize_ctx(opentrack bye_bye) +{ + delete bye_bye; +} diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h new file mode 100644 index 00000000..1061d75d --- /dev/null +++ b/opentrack-api/opentrack-guts.h @@ -0,0 +1,40 @@ +#pragma once + +#include "ftnoir_tracker_base/ftnoir_tracker_base.h" +#include "facetracknoir/global-settings.h" +#include +#include +#include +#include +#include +#include +#include +#include + +typedef ITracker* opentrack_tracker; + +class opentrack_meta { +public: + Metadata* meta; + QString path; + DynamicLibrary* lib; + + opentrack_meta(Metadata* meta, QString& path, DynamicLibrary* lib) : + meta(meta), path(path), lib(lib) + {} + ~opentrack_meta() + { + delete meta; + delete lib; + } +}; + +typedef class opentrack_ctx { +public: + QDir dir; + char** list; + QList meta_list; + QFrame fake_frame; + opentrack_ctx(QDir& dir); + ~opentrack_ctx(); +} *opentrack; diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h new file mode 100644 index 00000000..afd5506b --- /dev/null +++ b/opentrack-api/opentrack.h @@ -0,0 +1,57 @@ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif +#ifndef IN_OPENTRACK + /* opaque pointers, forward definitions */ + struct opentrack_opaque_ctx; + typedef opentrack_opaque_ctx* opentrack; + struct opentrack_opaque_tracker; + typedef opentrack_opaque_tracker* opentrack_tracker; +#endif + +#ifdef IN_OPENTRACK +# ifdef _WIN32 +# define OPENTRACK_EXPORT __declspec(dllexport) +# else +# define OPENTRACK_EXPORT +# endif +#else +# ifdef _WIN32 +# define OPENTRACK_EXPORT __declspec(dllimport) +# else +# define OPENTRACK_EXPORT +# endif +#endif + + /* for `opentrack_tracker_tick', individual headpose elts */ +#ifndef IN_OPENTRACK + enum opentrack_dof { + TX = 0, + TY, + TZ, + Yaw, + Pitch, + Roll, + DOF_count + }; +#endif + + opentrack opentrack_make_ctx(const char* dir); + void opentrack_finalize_ctx(opentrack self); + + /* no need to free the return value; invalid to modify it */ + const char** opentrack_enum_trackers(opentrack self); + + /* + * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so + * it's also invalid to start a finalized tracker + */ + opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); + void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); + int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); + void opentrack_finalize_tracker(opentrack_tracker tracker); +#ifdef __cplusplus +} +#endif diff --git a/opentrack-api/trackers.cpp b/opentrack-api/trackers.cpp new file mode 100644 index 00000000..2527017b --- /dev/null +++ b/opentrack-api/trackers.cpp @@ -0,0 +1,38 @@ +#include "opentrack-guts.h" +#include "opentrack.h" + +extern "C" { + +opentrack_tracker OPENTRACK_EXPORT opentrack_make_tracker(opentrack ctx, const char* name) +{ + QString n(name); + for (int i = 0; i < ctx->meta_list.size(); i++) + { + auto meta = ctx->meta_list[i]; + if (ctx->meta_list.at(i).path == name) + { + ITracker* foo = reinterpret_cast(meta.lib->Constructor()); + return foo; + } + } + return NULL; +} + +void OPENTRACK_EXPORT opentrack_finalize_tracker(opentrack_tracker tracker) +{ + delete tracker; +} + +void OPENTRACK_EXPORT opentrack_tracker_start(opentrack self, opentrack_tracker tracker) +{ + // hot damn, this is problematic! + // need to pass QFrame from somewhere + return tracker->StartTracker(&self->fake_frame); +} + +int OPENTRACK_EXPORT opentrack_tracker_tick(opentrack_tracker tracker, double* headpose) +{ + return tracker->GiveHeadPoseData(headpose); +} + +} -- cgit v1.2.3 From ff7a9978ad9c1e804d7f51f6055d3ca540efa57d Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 17:23:15 +0100 Subject: reindent Signed-off-by: Stanislaw Halik --- opentrack-api/opentrack.h | 48 +++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'opentrack-api') diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index afd5506b..494f0de2 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -4,11 +4,11 @@ extern "C" { #endif #ifndef IN_OPENTRACK - /* opaque pointers, forward definitions */ - struct opentrack_opaque_ctx; - typedef opentrack_opaque_ctx* opentrack; - struct opentrack_opaque_tracker; - typedef opentrack_opaque_tracker* opentrack_tracker; +/* opaque pointers, forward definitions */ +struct opentrack_opaque_ctx; +typedef opentrack_opaque_ctx* opentrack; +struct opentrack_opaque_tracker; +typedef opentrack_opaque_tracker* opentrack_tracker; #endif #ifdef IN_OPENTRACK @@ -25,33 +25,33 @@ extern "C" { # endif #endif - /* for `opentrack_tracker_tick', individual headpose elts */ +/* for `opentrack_tracker_tick', individual headpose elts */ #ifndef IN_OPENTRACK - enum opentrack_dof { - TX = 0, - TY, - TZ, - Yaw, - Pitch, - Roll, - DOF_count - }; +enum opentrack_dof { + TX = 0, + TY, + TZ, + Yaw, + Pitch, + Roll, + DOF_count +}; #endif - opentrack opentrack_make_ctx(const char* dir); - void opentrack_finalize_ctx(opentrack self); +opentrack opentrack_make_ctx(const char* dir); +void opentrack_finalize_ctx(opentrack self); - /* no need to free the return value; invalid to modify it */ - const char** opentrack_enum_trackers(opentrack self); +/* no need to free the return value; invalid to modify it */ +const char** opentrack_enum_trackers(opentrack self); - /* +/* * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so * it's also invalid to start a finalized tracker */ - opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); - void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); - int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); - void opentrack_finalize_tracker(opentrack_tracker tracker); +opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); +void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); +int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); +void opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } #endif -- cgit v1.2.3 From 4d67352d570d0ca6b13226328513c76b5f690342 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 17:28:38 +0100 Subject: decruft Signed-off-by: Stanislaw Halik --- opentrack-api/opentrack-api.cpp | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 opentrack-api/opentrack-api.cpp (limited to 'opentrack-api') diff --git a/opentrack-api/opentrack-api.cpp b/opentrack-api/opentrack-api.cpp deleted file mode 100644 index acb6d823..00000000 --- a/opentrack-api/opentrack-api.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "opentrack-guts.h" -#include "opentrack.h" - -opentrack opentrack_make_ctx(const char *dir) -{ - QDir d(dir); - return new opentrack_ctx(d); -} - -void opentrack_finalize_ctx(opentrack bye_bye) -{ - delete bye_bye; -} -- cgit v1.2.3 From d239f7977df736183c442c7dbd6da19a3ca9c968 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 17:30:51 +0100 Subject: reindent Signed-off-by: Stanislaw Halik --- opentrack-api/opentrack.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'opentrack-api') diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 494f0de2..8d28b5b8 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -45,9 +45,9 @@ void opentrack_finalize_ctx(opentrack self); const char** opentrack_enum_trackers(opentrack self); /* - * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so - * it's also invalid to start a finalized tracker - */ + * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so + * it's also invalid to start a finalized tracker + */ opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); -- cgit v1.2.3 From 4501ea093dadd3c44e88da9901eff683b0a91614 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 17:47:38 +0100 Subject: add visibility modifiers for GNU C --- opentrack-api/opentrack-guts.h | 10 ++++++++-- opentrack-api/opentrack.h | 20 +++++++++++++------- 2 files changed, 21 insertions(+), 9 deletions(-) (limited to 'opentrack-api') diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index 1061d75d..3f8806cc 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -11,9 +11,15 @@ #include #include +#ifdef __GNUC__ +# define OPENTRACK_HIDDEN __attribute__((visibility ("hidden"))) +#else +# define OPENTRACK_HIDDEN +#endif + typedef ITracker* opentrack_tracker; -class opentrack_meta { +class OPENTRACK_HIDDEN opentrack_meta { public: Metadata* meta; QString path; @@ -29,7 +35,7 @@ public: } }; -typedef class opentrack_ctx { +typedef class OPENTRACK_HIDDEN opentrack_ctx { public: QDir dir; char** list; diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 8d28b5b8..95339d08 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -25,6 +25,12 @@ typedef opentrack_opaque_tracker* opentrack_tracker; # endif #endif +#ifdef __GNUC__ +# define OPENTRACK_VISIBLE __attribute__((visibility ("default"))) +#else +# define OPENTRACK_VISIBLE +#endif + /* for `opentrack_tracker_tick', individual headpose elts */ #ifndef IN_OPENTRACK enum opentrack_dof { @@ -38,20 +44,20 @@ enum opentrack_dof { }; #endif -opentrack opentrack_make_ctx(const char* dir); -void opentrack_finalize_ctx(opentrack self); +opentrack OPENTRACK_VISIBLE opentrack_make_ctx(const char* dir); +void OPENTRACK_VISIBLE opentrack_finalize_ctx(opentrack self); /* no need to free the return value; invalid to modify it */ -const char** opentrack_enum_trackers(opentrack self); +const char** OPENTRACK_VISIBLE opentrack_enum_trackers(opentrack self); /* * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so * it's also invalid to start a finalized tracker */ -opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); -void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); -int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); -void opentrack_finalize_tracker(opentrack_tracker tracker); +opentrack_tracker OPENTRACK_VISIBLE opentrack_make_tracker(opentrack ctx, const char* name); +void OPENTRACK_VISIBLE opentrack_tracker_start(opentrack self, opentrack_tracker tracker); +int OPENTRACK_VISIBLE opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); +void OPENTRACK_VISIBLE opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } #endif -- cgit v1.2.3 From 181875f3385391aed537c7e5fcff8fda199d39e6 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 17:54:51 +0100 Subject: use version script Signed-off-by: Stanislaw Halik --- CMakeLists.txt | 4 ++++ opentrack-api/gnuc-version-script.txt | 12 ++++++++++++ opentrack-api/opentrack.h | 20 +++++++------------- 3 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 opentrack-api/gnuc-version-script.txt (limited to 'opentrack-api') diff --git a/CMakeLists.txt b/CMakeLists.txt index 3084bdfd..239cafb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -614,6 +614,10 @@ configure_file("${CMAKE_SOURCE_DIR}/opentrack-version.h" "${CMAKE_BINARY_DIR}/op add_library(opentrack-api SHARED ${opentrack-lib-c} ${opentrack-lib-h} ${opentrack-lib-moc}) target_link_libraries(opentrack-api ${MY_QT_LIBS}) +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) + SET_TARGET_PROPERTIES(opentrack-api + PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_SOURCE_DIR}/opentrack-api/gnuc-version-script.txt") +endif() set_target_properties(opentrack PROPERTIES COMPILE_DEFINITIONS OPENTRACK_VERSION=\"${OPENTRACK__COMMIT}\") diff --git a/opentrack-api/gnuc-version-script.txt b/opentrack-api/gnuc-version-script.txt new file mode 100644 index 00000000..cd3a568d --- /dev/null +++ b/opentrack-api/gnuc-version-script.txt @@ -0,0 +1,12 @@ +{ + global: + opentrack_make_ctx; + opentrack_finalize_ctx; + opentrack_enum_trackers; + opentrack_make_tracker; + opentrack_tracker_start; + opentrack_tracker_tick; + opentrack_finalize_tracker; + local: + *; +}; diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 95339d08..8d28b5b8 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -25,12 +25,6 @@ typedef opentrack_opaque_tracker* opentrack_tracker; # endif #endif -#ifdef __GNUC__ -# define OPENTRACK_VISIBLE __attribute__((visibility ("default"))) -#else -# define OPENTRACK_VISIBLE -#endif - /* for `opentrack_tracker_tick', individual headpose elts */ #ifndef IN_OPENTRACK enum opentrack_dof { @@ -44,20 +38,20 @@ enum opentrack_dof { }; #endif -opentrack OPENTRACK_VISIBLE opentrack_make_ctx(const char* dir); -void OPENTRACK_VISIBLE opentrack_finalize_ctx(opentrack self); +opentrack opentrack_make_ctx(const char* dir); +void opentrack_finalize_ctx(opentrack self); /* no need to free the return value; invalid to modify it */ -const char** OPENTRACK_VISIBLE opentrack_enum_trackers(opentrack self); +const char** opentrack_enum_trackers(opentrack self); /* * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so * it's also invalid to start a finalized tracker */ -opentrack_tracker OPENTRACK_VISIBLE opentrack_make_tracker(opentrack ctx, const char* name); -void OPENTRACK_VISIBLE opentrack_tracker_start(opentrack self, opentrack_tracker tracker); -int OPENTRACK_VISIBLE opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); -void OPENTRACK_VISIBLE opentrack_finalize_tracker(opentrack_tracker tracker); +opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); +void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); +int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); +void opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } #endif -- cgit v1.2.3 From 95f7e4c5b9608c550d008c662dc41fa049a6b725 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 18:24:51 +0100 Subject: clean up the visibility mess in a messiest way possible Signed-off-by: Stanislaw Halik --- CMakeLists.txt | 13 ++++++++----- facetracknoir/global-settings.cpp | 12 ++++++++++++ facetracknoir/global-settings.h | 15 +++++++++++++++ opentrack-api/context.cpp | 15 +++++++++++---- opentrack-api/opentrack-guts.h | 24 +++++++++++++----------- opentrack-api/opentrack.h | 7 ++++++- 6 files changed, 65 insertions(+), 21 deletions(-) (limited to 'opentrack-api') diff --git a/CMakeLists.txt b/CMakeLists.txt index 239cafb5..1aafaa16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,8 +154,8 @@ else() endif() # main app -file(GLOB opentrack-lib-c "opentrack-api/*.cpp") -file(GLOB opentrack-lib-h "opentrack-api/*.h") +file(GLOB opentrack-lib-c "opentrack-api/*.cpp" "facetracknoir/global-settings.cpp") +file(GLOB opentrack-lib-h "opentrack-api/*.h" "facetracknoir/global-settings.h") file(GLOB opentrack-bin-c "facetracknoir/*.cpp" "facetracknoir/*.rc") file(GLOB opentrack-bin-h "facetracknoir/*.h") @@ -614,9 +614,12 @@ configure_file("${CMAKE_SOURCE_DIR}/opentrack-version.h" "${CMAKE_BINARY_DIR}/op add_library(opentrack-api SHARED ${opentrack-lib-c} ${opentrack-lib-h} ${opentrack-lib-moc}) target_link_libraries(opentrack-api ${MY_QT_LIBS}) -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) - SET_TARGET_PROPERTIES(opentrack-api - PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_SOURCE_DIR}/opentrack-api/gnuc-version-script.txt") +if(CMAKE_COMPILER_IS_GNUCXX) + SET_TARGET_PROPERTIES(opentrack-api PROPERTIES + LINK_FLAGS "-Wl,--version-script=${CMAKE_SOURCE_DIR}/opentrack-api/gnuc-version-script.txt" + COMPILE_FLAGS "-fvisibility=protected -fvisibility-inlines-hidden" + COMPILE_DEFINITIONS IN_OPENTRACK_API + ) endif() set_target_properties(opentrack PROPERTIES COMPILE_DEFINITIONS OPENTRACK_VERSION=\"${OPENTRACK__COMMIT}\") diff --git a/facetracknoir/global-settings.cpp b/facetracknoir/global-settings.cpp index b198f327..42646742 100644 --- a/facetracknoir/global-settings.cpp +++ b/facetracknoir/global-settings.cpp @@ -4,6 +4,12 @@ # include #endif +#ifdef IN_OPENTRACK_API +# ifdef __GNUC__ +# pragma GCC visibility push(protected) +# endif +#endif + SelectedLibraries* Libraries = NULL; SelectedLibraries::~SelectedLibraries() @@ -128,3 +134,9 @@ DynamicLibrary::~DynamicLibrary() (void) dlclose(handle); #endif } + +#ifdef IN_OPENTRACK_API +# ifdef __GNUC__ +# pragma GCC visibility pop +# endif +#endif diff --git a/facetracknoir/global-settings.h b/facetracknoir/global-settings.h index b2a54e20..ea36abac 100644 --- a/facetracknoir/global-settings.h +++ b/facetracknoir/global-settings.h @@ -12,6 +12,14 @@ # define MAYBE_STDCALL_UNDERSCORE "" #endif +#include + +#ifdef IN_OPENTRACK_API +# ifdef __GNUC__ +# pragma GCC visibility push(protected) +# endif +#endif + #include #include #include @@ -83,3 +91,10 @@ public: virtual DynamicLibrary* current_filter() = 0; virtual QFrame* get_video_widget() = 0; }; + + +#ifdef IN_OPENTRACK_API +# ifdef __GNUC__ +# pragma GCC visibility pop +# endif +#endif diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index 100acf5c..1fdf6713 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -17,7 +17,10 @@ # define LIB_PREFIX "lib" #endif -// shamelessly copied from core +#ifdef __GNUC__ +# pragma GCC visibility push(protected) +#endif + static Metadata* get_metadata(DynamicLibrary* lib, QString& longName, QIcon& icon) { Metadata* meta; @@ -89,20 +92,24 @@ opentrack_ctx::~opentrack_ctx() extern "C" { -const char** OPENTRACK_EXPORT opentrack_enum_trackers(opentrack ctx) +const char** opentrack_enum_trackers(opentrack ctx) { return const_cast(ctx->list); } -opentrack OPENTRACK_EXPORT opentrack_make_ctx(const char *dir) +opentrack opentrack_make_ctx(const char *dir) { QDir d(dir); return new opentrack_ctx(d); } -void OPENTRACK_EXPORT opentrack_finalize_ctx(opentrack foo) +void opentrack_finalize_ctx(opentrack foo) { delete foo; } } + +#ifdef __GNUC__ +# pragma GCC visibility pop +#endif diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index 3f8806cc..01463cfc 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -1,8 +1,9 @@ #pragma once -#include "ftnoir_tracker_base/ftnoir_tracker_base.h" -#include "facetracknoir/global-settings.h" -#include +#ifdef __GNUC__ +# pragma GCC visibility push(protected) +#endif + #include #include #include @@ -10,16 +11,13 @@ #include #include #include - -#ifdef __GNUC__ -# define OPENTRACK_HIDDEN __attribute__((visibility ("hidden"))) -#else -# define OPENTRACK_HIDDEN -#endif +#include +#include "ftnoir_tracker_base/ftnoir_tracker_base.h" +#include "facetracknoir/global-settings.h" typedef ITracker* opentrack_tracker; -class OPENTRACK_HIDDEN opentrack_meta { +class opentrack_meta { public: Metadata* meta; QString path; @@ -35,7 +33,7 @@ public: } }; -typedef class OPENTRACK_HIDDEN opentrack_ctx { +typedef class opentrack_ctx { public: QDir dir; char** list; @@ -44,3 +42,7 @@ public: opentrack_ctx(QDir& dir); ~opentrack_ctx(); } *opentrack; + +#ifdef __GNUC__ +# pragma GCC visibility pop +#endif diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 8d28b5b8..1c8fcee5 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -15,7 +15,11 @@ typedef opentrack_opaque_tracker* opentrack_tracker; # ifdef _WIN32 # define OPENTRACK_EXPORT __declspec(dllexport) # else -# define OPENTRACK_EXPORT +# ifdef __GNUC__ +# define OPENTRACK_EXPORT __attribute__((visibility ("default"))) +# else +# define OPENTRACK_EXPORT +# endif # endif #else # ifdef _WIN32 @@ -55,3 +59,4 @@ void opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } #endif + -- cgit v1.2.3 From 5eb570d1608e2071c0d01412925ac43768770624 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 18:40:06 +0100 Subject: end this foolishness, a linker script is more than enough Signed-off-by: Stanislaw Halik --- facetracknoir/global-settings.cpp | 12 ------------ facetracknoir/global-settings.h | 13 ------------- opentrack-api/context.cpp | 7 ------- opentrack-api/opentrack-guts.h | 8 -------- 4 files changed, 40 deletions(-) (limited to 'opentrack-api') diff --git a/facetracknoir/global-settings.cpp b/facetracknoir/global-settings.cpp index 42646742..b198f327 100644 --- a/facetracknoir/global-settings.cpp +++ b/facetracknoir/global-settings.cpp @@ -4,12 +4,6 @@ # include #endif -#ifdef IN_OPENTRACK_API -# ifdef __GNUC__ -# pragma GCC visibility push(protected) -# endif -#endif - SelectedLibraries* Libraries = NULL; SelectedLibraries::~SelectedLibraries() @@ -134,9 +128,3 @@ DynamicLibrary::~DynamicLibrary() (void) dlclose(handle); #endif } - -#ifdef IN_OPENTRACK_API -# ifdef __GNUC__ -# pragma GCC visibility pop -# endif -#endif diff --git a/facetracknoir/global-settings.h b/facetracknoir/global-settings.h index ea36abac..3e24bf74 100644 --- a/facetracknoir/global-settings.h +++ b/facetracknoir/global-settings.h @@ -14,12 +14,6 @@ #include -#ifdef IN_OPENTRACK_API -# ifdef __GNUC__ -# pragma GCC visibility push(protected) -# endif -#endif - #include #include #include @@ -91,10 +85,3 @@ public: virtual DynamicLibrary* current_filter() = 0; virtual QFrame* get_video_widget() = 0; }; - - -#ifdef IN_OPENTRACK_API -# ifdef __GNUC__ -# pragma GCC visibility pop -# endif -#endif diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index 1fdf6713..003377ce 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -17,10 +17,6 @@ # define LIB_PREFIX "lib" #endif -#ifdef __GNUC__ -# pragma GCC visibility push(protected) -#endif - static Metadata* get_metadata(DynamicLibrary* lib, QString& longName, QIcon& icon) { Metadata* meta; @@ -110,6 +106,3 @@ void opentrack_finalize_ctx(opentrack foo) } -#ifdef __GNUC__ -# pragma GCC visibility pop -#endif diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index 01463cfc..b9c3878b 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -1,9 +1,5 @@ #pragma once -#ifdef __GNUC__ -# pragma GCC visibility push(protected) -#endif - #include #include #include @@ -42,7 +38,3 @@ public: opentrack_ctx(QDir& dir); ~opentrack_ctx(); } *opentrack; - -#ifdef __GNUC__ -# pragma GCC visibility pop -#endif -- cgit v1.2.3 From 4aed930154638707e5e6cd37abfda2f8c369d444 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 18:42:59 +0100 Subject: fix braino Signed-off-by: Stanislaw Halik --- opentrack-api/context.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'opentrack-api') diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index 003377ce..9b8aa718 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -45,7 +45,7 @@ static QList list_files(QDir& dir, QString filter) continue; } QString prefix(LIB_PREFIX + filter); - QString suffix("*." SONAME); + QString suffix("." SONAME); if (str.size() > prefix.size() + suffix.size() && str.startsWith(prefix) && str.endsWith(suffix)) { auto str2 = str.mid(prefix.size(), str.size() - prefix.size() - suffix.size()); -- cgit v1.2.3 From 657cf32cb57257556c26f702e9e09b0edb15f350 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 23:09:36 +0100 Subject: make standalone libopentrack-api.so work --- opentrack-api/context.cpp | 20 +++++++++++--------- opentrack-api/opentrack-guts.h | 27 +++++++++++++++++---------- opentrack-api/opentrack.h | 6 +++--- opentrack-api/trackers.cpp | 9 +++++---- 4 files changed, 36 insertions(+), 26 deletions(-) (limited to 'opentrack-api') diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index 9b8aa718..e0fd5357 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -27,10 +27,12 @@ static Metadata* get_metadata(DynamicLibrary* lib, QString& longName, QIcon& ico return meta; } -static QList list_files(QDir& dir, QString filter) +static QList list_files(QString filter) { QList ret; - QStringList filenames = dir.entryList( QStringList() << (LIB_PREFIX + filter + ("*." SONAME)), QDir::Files, QDir::Name ); + QStringList filenames = QDir((qApp->applicationDirPath())).entryList( + QStringList() << (LIB_PREFIX + filter + ("*." SONAME)), + QDir::Files, QDir::Name ); for ( int i = 0; i < filenames.size(); i++) { QIcon icon; QString long_name; @@ -49,7 +51,7 @@ static QList list_files(QDir& dir, QString filter) if (str.size() > prefix.size() + suffix.size() && str.startsWith(prefix) && str.endsWith(suffix)) { auto str2 = str.mid(prefix.size(), str.size() - prefix.size() - suffix.size()); - opentrack_meta item(meta, str2, lib); + opentrack_meta item(str2, lib); ret.push_back(item); } } @@ -57,9 +59,10 @@ static QList list_files(QDir& dir, QString filter) return ret; } -opentrack_ctx::opentrack_ctx(QDir& dir) : - dir(dir), - meta_list(list_files(dir, "opentrack-tracker-")) +opentrack_ctx::opentrack_ctx(int argc, char** argv, void* window_parent) : + app(argc, argv), + meta_list(list_files("opentrack-tracker-")), + fake_frame(window_parent) { const int count = meta_list.size(); list = new char*[count + 1]; @@ -93,10 +96,9 @@ const char** opentrack_enum_trackers(opentrack ctx) return const_cast(ctx->list); } -opentrack opentrack_make_ctx(const char *dir) +opentrack opentrack_make_ctx(int argc, char** argv, void* window_parent) { - QDir d(dir); - return new opentrack_ctx(d); + return new opentrack_ctx(argc, argv, window_parent); } void opentrack_finalize_ctx(opentrack foo) diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index b9c3878b..fd94ea34 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -8,33 +9,39 @@ #include #include #include +#include #include "ftnoir_tracker_base/ftnoir_tracker_base.h" #include "facetracknoir/global-settings.h" +#include typedef ITracker* opentrack_tracker; class opentrack_meta { public: - Metadata* meta; QString path; - DynamicLibrary* lib; + std::shared_ptr lib; - opentrack_meta(Metadata* meta, QString& path, DynamicLibrary* lib) : - meta(meta), path(path), lib(lib) + opentrack_meta(QString& path, DynamicLibrary* lib) : + path(path), lib(lib) {} - ~opentrack_meta() +}; + +class MyFrame : public QFrame { + Q_OBJECT +public: + MyFrame(void* parent) { - delete meta; - delete lib; + create((WId) parent); } + explicit MyFrame() {} }; typedef class opentrack_ctx { public: - QDir dir; + QApplication app; char** list; QList meta_list; - QFrame fake_frame; - opentrack_ctx(QDir& dir); + MyFrame fake_frame; + opentrack_ctx(int argc, char** argv, void* window_parent); ~opentrack_ctx(); } *opentrack; diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 1c8fcee5..63136abc 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -6,9 +6,9 @@ extern "C" { #ifndef IN_OPENTRACK /* opaque pointers, forward definitions */ struct opentrack_opaque_ctx; -typedef opentrack_opaque_ctx* opentrack; +typedef struct opentrack_opaque_ctx* opentrack; struct opentrack_opaque_tracker; -typedef opentrack_opaque_tracker* opentrack_tracker; +typedef struct opentrack_opaque_tracker* opentrack_tracker; #endif #ifdef IN_OPENTRACK @@ -42,7 +42,7 @@ enum opentrack_dof { }; #endif -opentrack opentrack_make_ctx(const char* dir); +opentrack opentrack_make_ctx(int argc, char** argv, void* window_parent); void opentrack_finalize_ctx(opentrack self); /* no need to free the return value; invalid to modify it */ diff --git a/opentrack-api/trackers.cpp b/opentrack-api/trackers.cpp index 2527017b..0f698e4c 100644 --- a/opentrack-api/trackers.cpp +++ b/opentrack-api/trackers.cpp @@ -5,13 +5,12 @@ extern "C" { opentrack_tracker OPENTRACK_EXPORT opentrack_make_tracker(opentrack ctx, const char* name) { - QString n(name); for (int i = 0; i < ctx->meta_list.size(); i++) { - auto meta = ctx->meta_list[i]; + auto meta = ctx->meta_list.at(i); if (ctx->meta_list.at(i).path == name) { - ITracker* foo = reinterpret_cast(meta.lib->Constructor()); + ITracker* foo = static_cast(meta.lib->Constructor()); return foo; } } @@ -32,7 +31,9 @@ void OPENTRACK_EXPORT opentrack_tracker_start(opentrack self, opentrack_tracker int OPENTRACK_EXPORT opentrack_tracker_tick(opentrack_tracker tracker, double* headpose) { - return tracker->GiveHeadPoseData(headpose); + int ret = tracker->GiveHeadPoseData(headpose); + QApplication::processEvents(0, 5); + return ret; } } -- cgit v1.2.3 From e7f264c09a2d1f4f1f6c6a3144fd5993e72a408d Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 23:22:13 +0100 Subject: mismatched delete/delete[] Signed-off-by: Stanislaw Halik --- opentrack-api/context.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'opentrack-api') diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index e0fd5357..84089c43 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -83,9 +83,9 @@ opentrack_ctx::~opentrack_ctx() { for (int i = 0; list[i]; i++) { - delete list[i]; + delete[] list[i]; } - delete list; + delete[] list; } extern "C" -- cgit v1.2.3 From 50a101da6278f40e2c3a13234078b4404a99d718 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 23:24:27 +0100 Subject: plug in memleak in api Signed-off-by: Stanislaw Halik --- opentrack-api/context.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'opentrack-api') diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index 84089c43..eb5b8a58 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -46,6 +46,8 @@ static QList list_files(QString filter) delete lib; continue; } + /* TODO perhaps return full name and somesuch */ + delete meta; QString prefix(LIB_PREFIX + filter); QString suffix("." SONAME); if (str.size() > prefix.size() + suffix.size() && str.startsWith(prefix) && str.endsWith(suffix)) -- cgit v1.2.3 From ecbb8c37edd201115ebc4a0d1cc272f1c56933c2 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 31 Oct 2013 07:56:30 +0100 Subject: aid MSVC symbol exportitude Signed-off-by: Stanislaw Halik --- opentrack-api/context.cpp | 6 +++--- opentrack-api/opentrack.h | 20 ++++++++------------ 2 files changed, 11 insertions(+), 15 deletions(-) (limited to 'opentrack-api') diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index eb5b8a58..5b218f93 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -93,17 +93,17 @@ opentrack_ctx::~opentrack_ctx() extern "C" { -const char** opentrack_enum_trackers(opentrack ctx) +const char** OPENTRACK_EXPORT opentrack_enum_trackers(opentrack ctx) { return const_cast(ctx->list); } -opentrack opentrack_make_ctx(int argc, char** argv, void* window_parent) +opentrack OPENTRACK_EXPORT opentrack_make_ctx(int argc, char** argv, void* window_parent) { return new opentrack_ctx(argc, argv, window_parent); } -void opentrack_finalize_ctx(opentrack foo) +void OPENTRACK_EXPORT opentrack_finalize_ctx(opentrack foo) { delete foo; } diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 63136abc..b0883d50 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -15,11 +15,7 @@ typedef struct opentrack_opaque_tracker* opentrack_tracker; # ifdef _WIN32 # define OPENTRACK_EXPORT __declspec(dllexport) # else -# ifdef __GNUC__ -# define OPENTRACK_EXPORT __attribute__((visibility ("default"))) -# else -# define OPENTRACK_EXPORT -# endif +# define OPENTRACK_EXPORT # endif #else # ifdef _WIN32 @@ -42,20 +38,20 @@ enum opentrack_dof { }; #endif -opentrack opentrack_make_ctx(int argc, char** argv, void* window_parent); -void opentrack_finalize_ctx(opentrack self); +opentrack OPENTRACK_EXPORT opentrack_make_ctx(int argc, char** argv, void* window_parent); +void OPENTRACK_EXPORT opentrack_finalize_ctx(opentrack self); /* no need to free the return value; invalid to modify it */ -const char** opentrack_enum_trackers(opentrack self); +const char** OPENTRACK_EXPORT opentrack_enum_trackers(opentrack self); /* * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so * it's also invalid to start a finalized tracker */ -opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); -void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); -int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); -void opentrack_finalize_tracker(opentrack_tracker tracker); +opentrack_tracker OPENTRACK_EXPORT opentrack_make_tracker(opentrack ctx, const char* name); +void OPENTRACK_EXPORT opentrack_tracker_start(opentrack self, opentrack_tracker tracker); +int OPENTRACK_EXPORT opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); +void OPENTRACK_EXPORT opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } #endif -- cgit v1.2.3 From 1882ed8c0dfacf9994201e6ca99635d067d32e46 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 31 Oct 2013 17:10:11 +0100 Subject: api: add a mode where video frame isn't visible at all Signed-off-by: Stanislaw Halik --- opentrack-api/opentrack-guts.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'opentrack-api') diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index fd94ea34..db897edc 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -31,7 +32,15 @@ class MyFrame : public QFrame { public: MyFrame(void* parent) { - create((WId) parent); + if (parent == (void*) -1) + { + show(); + setVisible(false); + } + else + { + create((WId) parent); + } } explicit MyFrame() {} }; -- cgit v1.2.3 From 4e8de273fe765a8a3fedaebd654cb74752bc4663 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 31 Oct 2013 17:18:36 +0100 Subject: api: prevent focus lossage, hopefully --- opentrack-api/opentrack-guts.h | 1 + 1 file changed, 1 insertion(+) (limited to 'opentrack-api') diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index db897edc..c8e3309a 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -36,6 +36,7 @@ public: { show(); setVisible(false); + hide(); } else { -- cgit v1.2.3 From a36b0c4fb8cfd3d28710f0cb7534e8a0d86cc3cb Mon Sep 17 00:00:00 2001 From: Ryan Spicer Date: Sun, 3 Nov 2013 12:06:54 -0800 Subject: MSVC 11 expects __declspec(dllexport) before return type. --- opentrack-api/context.cpp | 6 +++--- opentrack-api/opentrack.h | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'opentrack-api') diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index 5b218f93..04fa5ac2 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -93,17 +93,17 @@ opentrack_ctx::~opentrack_ctx() extern "C" { -const char** OPENTRACK_EXPORT opentrack_enum_trackers(opentrack ctx) +OPENTRACK_EXPORT const char** opentrack_enum_trackers(opentrack ctx) { return const_cast(ctx->list); } -opentrack OPENTRACK_EXPORT opentrack_make_ctx(int argc, char** argv, void* window_parent) +OPENTRACK_EXPORT opentrack opentrack_make_ctx(int argc, char** argv, void* window_parent) { return new opentrack_ctx(argc, argv, window_parent); } -void OPENTRACK_EXPORT opentrack_finalize_ctx(opentrack foo) +OPENTRACK_EXPORT void opentrack_finalize_ctx(opentrack foo) { delete foo; } diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index b0883d50..990b6aa4 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -38,20 +38,20 @@ enum opentrack_dof { }; #endif -opentrack OPENTRACK_EXPORT opentrack_make_ctx(int argc, char** argv, void* window_parent); -void OPENTRACK_EXPORT opentrack_finalize_ctx(opentrack self); +OPENTRACK_EXPORT opentrack opentrack_make_ctx(int argc, char** argv, void* window_parent); +OPENTRACK_EXPORT void opentrack_finalize_ctx(opentrack self); /* no need to free the return value; invalid to modify it */ -const char** OPENTRACK_EXPORT opentrack_enum_trackers(opentrack self); +OPENTRACK_EXPORT const char** opentrack_enum_trackers(opentrack self); /* * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so * it's also invalid to start a finalized tracker */ -opentrack_tracker OPENTRACK_EXPORT opentrack_make_tracker(opentrack ctx, const char* name); -void OPENTRACK_EXPORT opentrack_tracker_start(opentrack self, opentrack_tracker tracker); -int OPENTRACK_EXPORT opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); -void OPENTRACK_EXPORT opentrack_finalize_tracker(opentrack_tracker tracker); +OPENTRACK_EXPORT opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); +OPENTRACK_EXPORT void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); +OPENTRACK_EXPORT int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); +OPENTRACK_EXPORT void opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } #endif -- cgit v1.2.3 From c298ec1126f1ec8fbf01e5619c5a4b0a30a222c2 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 10 Dec 2013 03:52:19 +0100 Subject: remove return value from GiveHeadPoseData --- FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp | 8 +++++--- FTNoIR_Tracker_PT/ftnoir_tracker_pt.h | 2 +- ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp | 4 +--- ftnoir_tracker_aruco/ftnoir_tracker_aruco.h | 2 +- ftnoir_tracker_base/ftnoir_tracker_base.h | 2 +- ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp | 7 ++----- ftnoir_tracker_hatire/ftnoir_tracker_hat.h | 2 +- ftnoir_tracker_ht/ftnoir_tracker_ht.cpp | 7 +------ ftnoir_tracker_ht/ftnoir_tracker_ht.h | 2 +- ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp | 4 +--- ftnoir_tracker_hydra/ftnoir_tracker_hydra.h | 2 +- ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp | 10 ++++------ ftnoir_tracker_joystick/ftnoir_tracker_joystick.h | 2 +- ftnoir_tracker_rift/ftnoir_tracker_rift.cpp | 3 +-- ftnoir_tracker_rift/ftnoir_tracker_rift.h | 2 +- ftnoir_tracker_udp/ftnoir_tracker_udp.cpp | 3 +-- ftnoir_tracker_udp/ftnoir_tracker_udp.h | 2 +- opentrack-api/opentrack.h | 2 +- opentrack-api/trackers.cpp | 5 ++--- 19 files changed, 28 insertions(+), 43 deletions(-) (limited to 'opentrack-api') diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp index 5cb7bdf3..a6aaa29c 100644 --- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp +++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp @@ -233,12 +233,12 @@ void Tracker::StopTracker(bool exit) #define THeadPoseData double #endif -bool Tracker::GiveHeadPoseData(THeadPoseData *data) +void Tracker::GiveHeadPoseData(THeadPoseData *data) { { QMutexLocker lock(&mutex); - if (!tracking_valid) return false; + if (!tracking_valid) return; FrameTrafo X_CM = point_tracker.get_pose(); FrameTrafo X_MH(Matx33f::eye(), t_MH); @@ -280,7 +280,9 @@ bool Tracker::GiveHeadPoseData(THeadPoseData *data) if (bEnableRoll) data[Roll] = rad2deg * gamma; #endif } - return true; +#ifndef OPENTRACK_API + return true; +#endif } //----------------------------------------------------------------------------- diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h index 64f282b6..5c8d35d2 100644 --- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h +++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h @@ -44,7 +44,7 @@ public: virtual void Initialize(QFrame *videoframe); #ifdef OPENTRACK_API virtual void StartTracker(QFrame* parent_window); - virtual bool GiveHeadPoseData(double* data); + virtual void GiveHeadPoseData(double* data); #else virtual void StartTracker(HWND parent_window); virtual void StopTracker(bool exit); diff --git a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp index 7581b77a..11916df5 100644 --- a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp +++ b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp @@ -375,7 +375,7 @@ void Tracker::run() } } -bool Tracker::GiveHeadPoseData(double *data) +void Tracker::GiveHeadPoseData(double *data) { QMutexLocker lck(&mtx); @@ -391,8 +391,6 @@ bool Tracker::GiveHeadPoseData(double *data) data[TY] = pose[TY]; if (enableTZ) data[TZ] = pose[TZ]; - - return true; } class TrackerDll : public Metadata diff --git a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h index 1518ba4d..8a480d9f 100644 --- a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h +++ b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h @@ -26,7 +26,7 @@ public: Tracker(); virtual ~Tracker(); void StartTracker(QFrame* frame); - bool GiveHeadPoseData(double *data); + void GiveHeadPoseData(double *data); bool enableTX, enableTY, enableTZ, enableRX, enableRY, enableRZ; void run(); void load_settings(); diff --git a/ftnoir_tracker_base/ftnoir_tracker_base.h b/ftnoir_tracker_base/ftnoir_tracker_base.h index 38c24afe..e6e770ed 100644 --- a/ftnoir_tracker_base/ftnoir_tracker_base.h +++ b/ftnoir_tracker_base/ftnoir_tracker_base.h @@ -43,7 +43,7 @@ struct ITracker { virtual ~ITracker() = 0; virtual void StartTracker( QFrame* frame ) = 0; - virtual bool GiveHeadPoseData(double *data) = 0; + virtual void GiveHeadPoseData(double *data) = 0; virtual int preferredHz() { return 66; } }; diff --git a/ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp b/ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp index b933dd14..bcef6753 100644 --- a/ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp +++ b/ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp @@ -323,7 +323,7 @@ void FTNoIR_Tracker::StartTracker(QFrame*) #define THeadPoseData double #endif -bool FTNoIR_Tracker::GiveHeadPoseData(THeadPoseData *data) +void FTNoIR_Tracker::GiveHeadPoseData(THeadPoseData *data) { QMutexLocker lck(&mutex); while (dataRead.length()>=30) { @@ -354,7 +354,7 @@ bool FTNoIR_Tracker::GiveHeadPoseData(THeadPoseData *data) if (CptError>50) { emit sendMsgInfo("Can't find HAT frame") ; CptError=0; - return false; + return; } #ifdef OPENTRACK_API data[frame_cnt] = (long) HAT.Code; @@ -425,9 +425,6 @@ bool FTNoIR_Tracker::GiveHeadPoseData(THeadPoseData *data) // For debug //data->x=dataRead.length(); //data->y=CptError; - - return true; - } diff --git a/ftnoir_tracker_hatire/ftnoir_tracker_hat.h b/ftnoir_tracker_hatire/ftnoir_tracker_hat.h index a1b4ecda..04c5fb61 100644 --- a/ftnoir_tracker_hatire/ftnoir_tracker_hat.h +++ b/ftnoir_tracker_hatire/ftnoir_tracker_hat.h @@ -29,7 +29,7 @@ public: #ifdef OPENTRACK_API virtual void StartTracker(QFrame*); - virtual bool GiveHeadPoseData(double* data); + virtual void GiveHeadPoseData(double* data); #else void Initialize( QFrame *videoframe ); virtual void StartTracker(HWND parent_window); diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp b/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp index c08af00b..c3c12005 100644 --- a/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp +++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp @@ -186,10 +186,8 @@ void Tracker::StartTracker(QFrame* videoframe) #endif } -bool Tracker::GiveHeadPoseData(double *data) +void Tracker::GiveHeadPoseData(double *data) { - bool ret = false; - lck_shm.lock(); shm->timer = 0; if (shm->frame.width > 0) @@ -213,7 +211,6 @@ bool Tracker::GiveHeadPoseData(double *data) data[TY] = shm->result.ty; if (enableTZ) data[TZ] = shm->result.tz; - ret = true; if (fabs(data[Yaw]) > 60 || fabs(data[Pitch]) > 50 || fabs(data[Roll]) > 40) { shm->pause = true; @@ -222,8 +219,6 @@ bool Tracker::GiveHeadPoseData(double *data) shm->pause = false; } lck_shm.unlock(); - - return ret; } //----------------------------------------------------------------------------- diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.h b/ftnoir_tracker_ht/ftnoir_tracker_ht.h index c19e2d93..475d5a6c 100644 --- a/ftnoir_tracker_ht/ftnoir_tracker_ht.h +++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.h @@ -23,7 +23,7 @@ public: Tracker(); virtual ~Tracker(); void StartTracker(QFrame* frame); - bool GiveHeadPoseData(double *data); + void GiveHeadPoseData(double *data); bool enableTX, enableTY, enableTZ, enableRX, enableRY, enableRZ; ht_shm_t* shm; private: diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp index 86ca8888..11a3e0fb 100644 --- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp +++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp @@ -66,7 +66,7 @@ void Hydra_Tracker::StartTracker(QFrame*) } -bool Hydra_Tracker::GiveHeadPoseData(double *data) +void Hydra_Tracker::GiveHeadPoseData(double *data) { sixenseSetActiveBase(0); @@ -109,8 +109,6 @@ bool Hydra_Tracker::GiveHeadPoseData(double *data) if (bEnableRoll) { data[Roll] = newHeadPose[Roll] * 57.295781f; } - - return true; } diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h index 3daaf239..6e40b710 100644 --- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h +++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h @@ -12,7 +12,7 @@ public: ~Hydra_Tracker(); void StartTracker(QFrame *) virt_override; - bool GiveHeadPoseData(double *data) virt_override; + void GiveHeadPoseData(double *data) virt_override; void loadSettings(); volatile bool should_quit; protected: diff --git a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp index 66138e90..8f5ac162 100644 --- a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp +++ b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp @@ -175,13 +175,13 @@ fail: qDebug() << "joy init failure"; } -bool FTNoIR_Tracker::GiveHeadPoseData(double *data) +void FTNoIR_Tracker::GiveHeadPoseData(double *data) { QMutexLocker foo(&mtx); DIJOYSTATE js = {0}; if( !g_pDI || !g_pJoystick) - return false; + return; auto hr = g_pJoystick->Poll(); if( FAILED( hr )) @@ -190,11 +190,11 @@ bool FTNoIR_Tracker::GiveHeadPoseData(double *data) for (int i = 0; hr == DIERR_INPUTLOST && i < 200; i++) hr = g_pJoystick->Acquire(); if (hr != DI_OK) - return false; + return; } if( FAILED( hr = g_pJoystick->GetDeviceState( sizeof( js ), &js ) ) ) - return false; + return; const LONG values[] = { js.lRx, @@ -232,8 +232,6 @@ bool FTNoIR_Tracker::GiveHeadPoseData(double *data) data[i] = val * limits[i] / (double) (val >= 0 ? max : min); } } - - return true; } void FTNoIR_Tracker::loadSettings() { diff --git a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h index cdf4fc7b..809d8c73 100644 --- a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h +++ b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h @@ -42,7 +42,7 @@ public: ~FTNoIR_Tracker(); void StartTracker(QFrame *frame); - bool GiveHeadPoseData(double *data); + void GiveHeadPoseData(double *data); void loadSettings(); LPDIRECTINPUT8 g_pDI; LPDIRECTINPUTDEVICE8 g_pJoystick; diff --git a/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp b/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp index 4816cea4..c3b313ca 100644 --- a/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp +++ b/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp @@ -68,7 +68,7 @@ void Rift_Tracker::StartTracker(QFrame*) } -bool Rift_Tracker::GiveHeadPoseData(double *data) +void Rift_Tracker::GiveHeadPoseData(double *data) { if (pSFusion != NULL && pSensor != NULL) { Quatf hmdOrient = pSFusion->GetOrientation(); @@ -113,7 +113,6 @@ bool Rift_Tracker::GiveHeadPoseData(double *data) data[Roll] = newHeadPose[Roll] * 57.295781f; } } - return pSensor != NULL; } diff --git a/ftnoir_tracker_rift/ftnoir_tracker_rift.h b/ftnoir_tracker_rift/ftnoir_tracker_rift.h index 7a4533d3..33e6f5cd 100644 --- a/ftnoir_tracker_rift/ftnoir_tracker_rift.h +++ b/ftnoir_tracker_rift/ftnoir_tracker_rift.h @@ -15,7 +15,7 @@ public: virtual ~Rift_Tracker() virt_override; void StartTracker(QFrame *) virt_override; - bool GiveHeadPoseData(double *data) virt_override; + void GiveHeadPoseData(double *data) virt_override; void loadSettings(); virtual int preferredHz() virt_override { return 250; } volatile bool should_quit; diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp b/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp index 1539707e..d58341a6 100644 --- a/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp @@ -110,7 +110,7 @@ void FTNoIR_Tracker::StartTracker(QFrame*) return; } -bool FTNoIR_Tracker::GiveHeadPoseData(double *data) +void FTNoIR_Tracker::GiveHeadPoseData(double *data) { mutex.lock(); if (bEnableX) { @@ -132,7 +132,6 @@ bool FTNoIR_Tracker::GiveHeadPoseData(double *data) data[Roll] = newHeadPose[Roll]; } mutex.unlock(); - return true; } // diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.h b/ftnoir_tracker_udp/ftnoir_tracker_udp.h index d158630b..7b6c5328 100644 --- a/ftnoir_tracker_udp/ftnoir_tracker_udp.h +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.h @@ -16,7 +16,7 @@ public: ~FTNoIR_Tracker(); void StartTracker(QFrame *); - bool GiveHeadPoseData(double *data); + void GiveHeadPoseData(double *data); void loadSettings(); volatile bool should_quit; protected: diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 990b6aa4..88ba6cf0 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -50,7 +50,7 @@ OPENTRACK_EXPORT const char** opentrack_enum_trackers(opentrack self); */ OPENTRACK_EXPORT opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); OPENTRACK_EXPORT void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); -OPENTRACK_EXPORT int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); +OPENTRACK_EXPORT void opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); OPENTRACK_EXPORT void opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } diff --git a/opentrack-api/trackers.cpp b/opentrack-api/trackers.cpp index 0f698e4c..937f7084 100644 --- a/opentrack-api/trackers.cpp +++ b/opentrack-api/trackers.cpp @@ -29,11 +29,10 @@ void OPENTRACK_EXPORT opentrack_tracker_start(opentrack self, opentrack_tracker return tracker->StartTracker(&self->fake_frame); } -int OPENTRACK_EXPORT opentrack_tracker_tick(opentrack_tracker tracker, double* headpose) +void OPENTRACK_EXPORT opentrack_tracker_tick(opentrack_tracker tracker, double* headpose) { - int ret = tracker->GiveHeadPoseData(headpose); + tracker->GiveHeadPoseData(headpose); QApplication::processEvents(0, 5); - return ret; } } -- cgit v1.2.3 From 3bc46979c76cd13b10ba0215804962f1e3904c5c Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 10 Dec 2013 03:54:52 +0100 Subject: s/Give/Get/ --- FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp | 2 +- FTNoIR_Tracker_PT/ftnoir_tracker_pt.h | 4 ++-- facetracknoir/tracker.cpp | 4 ++-- ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp | 2 +- ftnoir_tracker_aruco/ftnoir_tracker_aruco.h | 2 +- ftnoir_tracker_base/ftnoir_tracker_base.h | 2 +- ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp | 2 +- ftnoir_tracker_hatire/ftnoir_tracker_hat.h | 4 ++-- ftnoir_tracker_ht/ftnoir_tracker_ht.cpp | 2 +- ftnoir_tracker_ht/ftnoir_tracker_ht.h | 2 +- ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp | 2 +- ftnoir_tracker_hydra/ftnoir_tracker_hydra.h | 2 +- ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp | 2 +- ftnoir_tracker_joystick/ftnoir_tracker_joystick.h | 2 +- ftnoir_tracker_rift/ftnoir_tracker_rift.cpp | 2 +- ftnoir_tracker_rift/ftnoir_tracker_rift.h | 2 +- ftnoir_tracker_udp/ftnoir_tracker_udp.cpp | 2 +- ftnoir_tracker_udp/ftnoir_tracker_udp.h | 2 +- opentrack-api/trackers.cpp | 2 +- 19 files changed, 22 insertions(+), 22 deletions(-) (limited to 'opentrack-api') diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp index a6aaa29c..639053b7 100644 --- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp +++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.cpp @@ -233,7 +233,7 @@ void Tracker::StopTracker(bool exit) #define THeadPoseData double #endif -void Tracker::GiveHeadPoseData(THeadPoseData *data) +void Tracker::GetHeadPoseData(THeadPoseData *data) { { QMutexLocker lock(&mutex); diff --git a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h index 5c8d35d2..54edafb2 100644 --- a/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h +++ b/FTNoIR_Tracker_PT/ftnoir_tracker_pt.h @@ -44,11 +44,11 @@ public: virtual void Initialize(QFrame *videoframe); #ifdef OPENTRACK_API virtual void StartTracker(QFrame* parent_window); - virtual void GiveHeadPoseData(double* data); + virtual void GetHeadPoseData(double* data); #else virtual void StartTracker(HWND parent_window); virtual void StopTracker(bool exit); - virtual bool GiveHeadPoseData(THeadPoseData *data); + virtual bool GetHeadPoseData(THeadPoseData *data); #endif virtual void refreshVideo(); diff --git a/facetracknoir/tracker.cpp b/facetracknoir/tracker.cpp index fbf90a66..8f8ad356 100644 --- a/facetracknoir/tracker.cpp +++ b/facetracknoir/tracker.cpp @@ -108,11 +108,11 @@ void Tracker::run() { break; if (Libraries->pSecondTracker) { - Libraries->pSecondTracker->GiveHeadPoseData(newpose); + Libraries->pSecondTracker->GetHeadPoseData(newpose); } if (Libraries->pTracker) { - Libraries->pTracker->GiveHeadPoseData(newpose); + Libraries->pTracker->GetHeadPoseData(newpose); } { diff --git a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp index 11916df5..6d06d4a8 100644 --- a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp +++ b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp @@ -375,7 +375,7 @@ void Tracker::run() } } -void Tracker::GiveHeadPoseData(double *data) +void Tracker::GetHeadPoseData(double *data) { QMutexLocker lck(&mtx); diff --git a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h index 8a480d9f..be2ad3d7 100644 --- a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h +++ b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h @@ -26,7 +26,7 @@ public: Tracker(); virtual ~Tracker(); void StartTracker(QFrame* frame); - void GiveHeadPoseData(double *data); + void GetHeadPoseData(double *data); bool enableTX, enableTY, enableTZ, enableRX, enableRY, enableRZ; void run(); void load_settings(); diff --git a/ftnoir_tracker_base/ftnoir_tracker_base.h b/ftnoir_tracker_base/ftnoir_tracker_base.h index e6e770ed..16f76cf3 100644 --- a/ftnoir_tracker_base/ftnoir_tracker_base.h +++ b/ftnoir_tracker_base/ftnoir_tracker_base.h @@ -43,7 +43,7 @@ struct ITracker { virtual ~ITracker() = 0; virtual void StartTracker( QFrame* frame ) = 0; - virtual void GiveHeadPoseData(double *data) = 0; + virtual void GetHeadPoseData(double *data) = 0; virtual int preferredHz() { return 66; } }; diff --git a/ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp b/ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp index bcef6753..f902b207 100644 --- a/ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp +++ b/ftnoir_tracker_hatire/ftnoir_tracker_hat.cpp @@ -323,7 +323,7 @@ void FTNoIR_Tracker::StartTracker(QFrame*) #define THeadPoseData double #endif -void FTNoIR_Tracker::GiveHeadPoseData(THeadPoseData *data) +void FTNoIR_Tracker::GetHeadPoseData(THeadPoseData *data) { QMutexLocker lck(&mutex); while (dataRead.length()>=30) { diff --git a/ftnoir_tracker_hatire/ftnoir_tracker_hat.h b/ftnoir_tracker_hatire/ftnoir_tracker_hat.h index 04c5fb61..ec1125b9 100644 --- a/ftnoir_tracker_hatire/ftnoir_tracker_hat.h +++ b/ftnoir_tracker_hatire/ftnoir_tracker_hat.h @@ -29,12 +29,12 @@ public: #ifdef OPENTRACK_API virtual void StartTracker(QFrame*); - virtual void GiveHeadPoseData(double* data); + virtual void GetHeadPoseData(double* data); #else void Initialize( QFrame *videoframe ); virtual void StartTracker(HWND parent_window); virtual void StopTracker(bool exit); - virtual bool GiveHeadPoseData(THeadPoseData *data); + virtual bool GetHeadPoseData(THeadPoseData *data); #endif void applysettings(const TrackerSettings& settings); void notifyCenter(); diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp b/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp index c3c12005..00dd9919 100644 --- a/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp +++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp @@ -186,7 +186,7 @@ void Tracker::StartTracker(QFrame* videoframe) #endif } -void Tracker::GiveHeadPoseData(double *data) +void Tracker::GetHeadPoseData(double *data) { lck_shm.lock(); shm->timer = 0; diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.h b/ftnoir_tracker_ht/ftnoir_tracker_ht.h index 475d5a6c..404dbf6e 100644 --- a/ftnoir_tracker_ht/ftnoir_tracker_ht.h +++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.h @@ -23,7 +23,7 @@ public: Tracker(); virtual ~Tracker(); void StartTracker(QFrame* frame); - void GiveHeadPoseData(double *data); + void GetHeadPoseData(double *data); bool enableTX, enableTY, enableTZ, enableRX, enableRY, enableRZ; ht_shm_t* shm; private: diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp index 11a3e0fb..31e3f319 100644 --- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp +++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp @@ -66,7 +66,7 @@ void Hydra_Tracker::StartTracker(QFrame*) } -void Hydra_Tracker::GiveHeadPoseData(double *data) +void Hydra_Tracker::GetHeadPoseData(double *data) { sixenseSetActiveBase(0); diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h index 6e40b710..240f0687 100644 --- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h +++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h @@ -12,7 +12,7 @@ public: ~Hydra_Tracker(); void StartTracker(QFrame *) virt_override; - void GiveHeadPoseData(double *data) virt_override; + void GetHeadPoseData(double *data) virt_override; void loadSettings(); volatile bool should_quit; protected: diff --git a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp index 8f5ac162..5be6b3db 100644 --- a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp +++ b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp @@ -175,7 +175,7 @@ fail: qDebug() << "joy init failure"; } -void FTNoIR_Tracker::GiveHeadPoseData(double *data) +void FTNoIR_Tracker::GetHeadPoseData(double *data) { QMutexLocker foo(&mtx); DIJOYSTATE js = {0}; diff --git a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h index 809d8c73..9c856d85 100644 --- a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h +++ b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h @@ -42,7 +42,7 @@ public: ~FTNoIR_Tracker(); void StartTracker(QFrame *frame); - void GiveHeadPoseData(double *data); + void GetHeadPoseData(double *data); void loadSettings(); LPDIRECTINPUT8 g_pDI; LPDIRECTINPUTDEVICE8 g_pJoystick; diff --git a/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp b/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp index c3b313ca..da44ea0c 100644 --- a/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp +++ b/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp @@ -68,7 +68,7 @@ void Rift_Tracker::StartTracker(QFrame*) } -void Rift_Tracker::GiveHeadPoseData(double *data) +void Rift_Tracker::GetHeadPoseData(double *data) { if (pSFusion != NULL && pSensor != NULL) { Quatf hmdOrient = pSFusion->GetOrientation(); diff --git a/ftnoir_tracker_rift/ftnoir_tracker_rift.h b/ftnoir_tracker_rift/ftnoir_tracker_rift.h index 33e6f5cd..3920c6ad 100644 --- a/ftnoir_tracker_rift/ftnoir_tracker_rift.h +++ b/ftnoir_tracker_rift/ftnoir_tracker_rift.h @@ -15,7 +15,7 @@ public: virtual ~Rift_Tracker() virt_override; void StartTracker(QFrame *) virt_override; - void GiveHeadPoseData(double *data) virt_override; + void GetHeadPoseData(double *data) virt_override; void loadSettings(); virtual int preferredHz() virt_override { return 250; } volatile bool should_quit; diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp b/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp index d58341a6..e70bfdc7 100644 --- a/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp @@ -110,7 +110,7 @@ void FTNoIR_Tracker::StartTracker(QFrame*) return; } -void FTNoIR_Tracker::GiveHeadPoseData(double *data) +void FTNoIR_Tracker::GetHeadPoseData(double *data) { mutex.lock(); if (bEnableX) { diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.h b/ftnoir_tracker_udp/ftnoir_tracker_udp.h index 7b6c5328..c7e9decf 100644 --- a/ftnoir_tracker_udp/ftnoir_tracker_udp.h +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.h @@ -16,7 +16,7 @@ public: ~FTNoIR_Tracker(); void StartTracker(QFrame *); - void GiveHeadPoseData(double *data); + void GetHeadPoseData(double *data); void loadSettings(); volatile bool should_quit; protected: diff --git a/opentrack-api/trackers.cpp b/opentrack-api/trackers.cpp index 937f7084..5027ec1d 100644 --- a/opentrack-api/trackers.cpp +++ b/opentrack-api/trackers.cpp @@ -31,7 +31,7 @@ void OPENTRACK_EXPORT opentrack_tracker_start(opentrack self, opentrack_tracker void OPENTRACK_EXPORT opentrack_tracker_tick(opentrack_tracker tracker, double* headpose) { - tracker->GiveHeadPoseData(headpose); + tracker->GetHeadPoseData(headpose); QApplication::processEvents(0, 5); } -- cgit v1.2.3