From 41c2933a5ab2a2592a8d4dffb91b6db3a02f3c9b Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 27 Jul 2014 16:21:31 +0200 Subject: rename file so that name makes any sense --- opentrack-api/opentrack-guts.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'opentrack-api') diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index c8e3309a..c7134a6a 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -12,7 +12,7 @@ #include #include #include "ftnoir_tracker_base/ftnoir_tracker_base.h" -#include "facetracknoir/global-settings.h" +#include "facetracknoir/plugin-support.h" #include typedef ITracker* opentrack_tracker; -- cgit v1.2.3 From 0027139d8348e07e6a2d9734489964961294fe22 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 30 Aug 2014 10:19:10 +0200 Subject: remove MSVC support Leave as-is to avoid unconditionally assuming GNU extensions and ABI --- CMakeLists.txt | 99 +++--------------------- facetracknoir/facetracknoir.cpp | 2 +- facetracknoir/main.cpp | 26 ------- facetracknoir/plugin-support.h | 8 +- ftnoir_filter_kalman/ftnoir_filter_kalman.h | 8 +- ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h | 2 +- ftnoir_protocol_sc/ftnoir_protocol_sc.cpp | 2 +- ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h | 11 --- ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp | 2 +- ftnoir_tracker_base/ftnoir_tracker_base_global.h | 2 +- ftnoir_tracker_hydra/ftnoir_tracker_hydra.h | 6 +- opentrack-api/context.cpp | 2 +- 12 files changed, 26 insertions(+), 144 deletions(-) (limited to 'opentrack-api') diff --git a/CMakeLists.txt b/CMakeLists.txt index f0e401aa..647a3449 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,10 @@ project(opentrack) cmake_minimum_required(VERSION 2.8.11) cmake_policy(SET CMP0020 NEW) +if(MSVC) + message(FATAL_ERROR "Support for MSVC removed due to incomplete C++11 support") +endif() + include(CMakeParseArguments) set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_SOURCE_DIR}/cmake/") @@ -47,43 +51,10 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) add_definitions(-DOPENTRACK_API -DIN_OPENTRACK) -if(MSVC) - add_definitions(-DNOMINMAX) -endif() - if(CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE) add_definitions(-std=c++11) endif() -if(WIN32 AND MSVC) - set(SDK_GOOGLE_BREAKPAD "" CACHE PATH "google-breakpad for crash reporting") -endif() - -if(SDK_GOOGLE_BREAKPAD AND WIN32) - add_definitions(-DOPENTRACK_BREAKPAD) - include_directories("${SDK_GOOGLE_BREAKPAD}/src/client/windows/handler") - include_directories("${SDK_GOOGLE_BREAKPAD}/src/") -endif() - -if(WIN32 AND DEFINED MSVC_VERSION AND NOT ${MSVC_VERSION} LESS 1700) - find_path (WIN8_SDK_ROOT_DIR - Include/um/windows.h - PATHS - "$ENV{ProgramFiles}/Windows Kits/8.0" - "$ENV{ProgramFiles(x86)}/Windows Kits/8.0" - DOC "Windows 8 SDK root directory" - ) - - if(WIN8_SDK_ROOT_DIR) - SET(CMAKE_LIBRARY_PATH "${WIN8_SDK_ROOT_DIR}/Lib/win8/um/x86") - endif() -endif() - -if(WIN32 AND DEFINED MSVC_VERSION AND NOT ${MSVC_VERSION} LESS 1700) - SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") - SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO") - SET (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO") -endif() if(UNIX) set(SDK_ENABLE_LIBEVDEV FALSE CACHE BOOL "libevdev virtual joystick protocol support (probably Linux only)") @@ -162,15 +133,7 @@ set(EXTRA-MOCS "${CMAKE_SOURCE_DIR}/facetracknoir/options.h") function(link_with_dinput8 n) if(WIN32) - if(MSVC) - target_link_libraries(${n} - "${CMAKE_SOURCE_DIR}/dinput/dinput8.lib" - "${CMAKE_SOURCE_DIR}/dinput/dxguid.lib" - "${CMAKE_SOURCE_DIR}/dinput/strmiids.lib" - uuid) - else() - target_link_libraries(${n} dinput8 dxguid strmiids) - endif() + target_link_libraries(${n} dinput8 dxguid strmiids) endif() endfunction() @@ -306,11 +269,7 @@ opentrack_library(opentrack-proto-fgfs) if(SDK_VJOY) include_directories(${SDK_VJOY}) opentrack_library(opentrack-proto-vjoy) - if(MSVC) - target_link_libraries(opentrack-proto-vjoy ${MY_QT_LIBS} "${SDK_VJOY}/VJoy.lib") - else() - target_link_libraries(opentrack-proto-vjoy ${MY_QT_LIBS} "${SDK_VJOY}/VJoy.dll") - endif() + target_link_libraries(opentrack-proto-vjoy ${MY_QT_LIBS} "${SDK_VJOY}/VJoy.dll") endif() if(SDK_ENABLE_LIBEVDEV) @@ -321,9 +280,6 @@ if(SDK_ENABLE_LIBEVDEV) endif() if(SDK_FSUIPC) - if(MSVC) - set(link-flags "/NODEFAULTLIB:libc") - endif() opentrack_library(opentrack-proto-fsuipc LINK "${link-flags}") target_link_libraries(opentrack-proto-fsuipc "${SDK_FSUIPC}/FSUIPC_User.lib") endif() @@ -384,12 +340,6 @@ if(SDK_ARUCO_LIBPATH) include_directories(${CMAKE_SOURCE_DIR}/ftnoir_tracker_aruco/include) opentrack_library(opentrack-tracker-aruco) target_link_libraries(opentrack-tracker-aruco ${SDK_ARUCO_LIBPATH} ${OpenCV_LIBS}) - if(WIN32 AND MSVC) - target_link_libraries(opentrack-tracker-aruco - "${CMAKE_SOURCE_DIR}/dinput/dxguid.lib" - "${CMAKE_SOURCE_DIR}/dinput/strmiids.lib" - uuid) - endif() endif() link_with_dinput8(opentrack-tracker-ht) @@ -411,24 +361,16 @@ if(SDK_RIFT) set(link-flags "-framework CoreFoundation -framework CoreGraphics -framework IOKit -framework Quartz") set(c-flags "-fno-strict-aliasing") else() - if(MSVC) - set(link-flags "/NODEFAULTLIB:LIBCMT") - else() - set(c-flags "-fno-strict-aliasing") - endif() + set(c-flags "-fno-strict-aliasing") endif() opentrack_library(opentrack-tracker-rift LINK "${link-flags}" COMPILE "${c-flags}") - if(MSVC) - target_link_libraries(opentrack-tracker-rift "${SDK_RIFT}/Lib/Win32/libovr.lib" winmm.lib setupapi.lib) + if(WIN32) + target_link_libraries(opentrack-tracker-rift "${SDK_RIFT}/libLibOVR.a" winmm setupapi ws2_32 imagehlp wbemuuid) else() - if(WIN32) - target_link_libraries(opentrack-tracker-rift "${SDK_RIFT}/libLibOVR.a" winmm setupapi) + if(NOT APPLE) + target_link_libraries(opentrack-tracker-rift "${SDK_RIFT}/libLibOVR.a" udev Xinerama) else() - if(NOT APPLE) - target_link_libraries(opentrack-tracker-rift "${SDK_RIFT}/libLibOVR.a" udev Xinerama) - else() - target_link_libraries(opentrack-tracker-rift "${SDK_RIFT}/libLibOVR.a") - endif() + target_link_libraries(opentrack-tracker-rift "${SDK_RIFT}/libLibOVR.a") endif() endif() endif() @@ -516,22 +458,11 @@ if(CMAKE_SYSTEM STREQUAL LINUX) link_libraries(rt) endif() -if(MSVC) - SET_TARGET_PROPERTIES(opentrack PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup") -endif() target_link_libraries(opentrack opentrack-pose-widget opentrack-spline-widget ${MY_QT_LIBS} ${QXT_QXTCORE_LIB_RELEASE} ${QXT_QXTWIDGETS_LIB_RELEASE}) if(NOT WIN32) target_link_libraries(opentrack dl) target_link_libraries(opentrack-api dl) endif() -if(SDK_GOOGLE_BREAKPAD) - if(MSVC) - target_link_libraries(opentrack - "${SDK_GOOGLE_BREAKPAD}/src/client/windows/Release/lib/crash_generation_client.lib" - "${SDK_GOOGLE_BREAKPAD}/src/client/windows/Release/lib/exception_handler.lib" - "${SDK_GOOGLE_BREAKPAD}/src/client/windows/Release/lib/common.lib") - endif() -endif() # make install @@ -573,9 +504,3 @@ endif() if(WIN32) install(FILES "${CMAKE_SOURCE_DIR}/bin/cleye.config" DESTINATION .) endif() - -if(MSVC) - file(GLOB pdbs1 "${CMAKE_BINARY_DIR}/Release/*.pdb") - file(GLOB pdbs2 "${CMAKE_BINARY_DIR}/*.pdb") - install(FILES ${pdbs1} ${pdbs2} DESTINATION .) -endif() diff --git a/facetracknoir/facetracknoir.cpp b/facetracknoir/facetracknoir.cpp index 00a7b95e..d717b3be 100644 --- a/facetracknoir/facetracknoir.cpp +++ b/facetracknoir/facetracknoir.cpp @@ -44,7 +44,7 @@ #include #ifdef _MSC_VER -# define LIB_PREFIX "" +# error "No support for MSVC anymore" #else # define LIB_PREFIX "lib" #endif diff --git a/facetracknoir/main.cpp b/facetracknoir/main.cpp index 3143a093..9bf11b32 100644 --- a/facetracknoir/main.cpp +++ b/facetracknoir/main.cpp @@ -32,34 +32,8 @@ #include #include -#if defined(_WIN32) && defined(_MSC_VER) -# include -# ifdef OPENTRACK_BREAKPAD -# include -using namespace google_breakpad; -bool dumpCallback(const wchar_t* dump_path, - const wchar_t* minidump_id, - void* context, - EXCEPTION_POINTERS* exinfo, - MDRawAssertionInfo* assertion, - bool succeeded) -{ - MessageBoxA(GetDesktopWindow(), - "Generating crash dump!\r\n" - "Please send the .dmp file to to help us improve the code.", - "opentrack crashed :(", - MB_OK | MB_ICONERROR); - return succeeded; -} - -# endif -#endif - int main(int argc, char** argv) { -#if defined(OPENTRACK_BREAKPAD) && defined(_MSC_VER) - auto handler = new ExceptionHandler(L".", nullptr, dumpCallback, nullptr, -1); -#endif QApplication::setAttribute(Qt::AA_X11InitThreads, true); QApplication app(argc, argv); auto w = std::make_shared(); diff --git a/facetracknoir/plugin-support.h b/facetracknoir/plugin-support.h index 4394d1a0..1c63151a 100644 --- a/facetracknoir/plugin-support.h +++ b/facetracknoir/plugin-support.h @@ -3,7 +3,7 @@ #if defined(_WIN32) # define CALLING_CONVENTION_SUFFIX_VOID_FUNCTION "@0" # ifdef _MSC_VER -# define MAYBE_STDCALL_UNDERSCORE "_" +# error "No support for MSVC anymore" #else # define MAYBE_STDCALL_UNDERSCORE "" # endif @@ -12,12 +12,6 @@ # define MAYBE_STDCALL_UNDERSCORE "" #endif -#ifdef _MSC_VER -# define virt_override -#else -# define virt_override override -#endif - #include #include diff --git a/ftnoir_filter_kalman/ftnoir_filter_kalman.h b/ftnoir_filter_kalman/ftnoir_filter_kalman.h index e4b27d1f..9964d6f2 100755 --- a/ftnoir_filter_kalman/ftnoir_filter_kalman.h +++ b/ftnoir_filter_kalman/ftnoir_filter_kalman.h @@ -25,9 +25,9 @@ class FTNOIR_FILTER_BASE_EXPORT FTNoIR_Filter : public IFilter { public: FTNoIR_Filter(); - void reset() virt_override; + void reset() override; void FilterHeadPoseData(const double *target_camera_position, - double *new_camera_position) virt_override; + double *new_camera_position) override; cv::KalmanFilter kalman; double prev_position[6]; double prev2_filter_pos[6]; @@ -56,8 +56,8 @@ public: show(); } Ui::KalmanUICFilterControls ui; - virtual void registerFilter(IFilter*) virt_override {} - virtual void unregisterFilter() virt_override {} + virtual void registerFilter(IFilter*) override {} + virtual void unregisterFilter() override {} public slots: void doOK(); void doCancel(); diff --git a/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h b/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h index dcdd8098..6e0db58c 100644 --- a/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h +++ b/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h @@ -67,7 +67,7 @@ class FTNoIR_Protocol : public IProtocol { public: FTNoIR_Protocol(); - virtual ~FTNoIR_Protocol() virt_override; + virtual ~FTNoIR_Protocol() override; bool checkServerInstallationOK(); void sendHeadposeToGame(const double* headpose); QString getGameName() { diff --git a/ftnoir_protocol_sc/ftnoir_protocol_sc.cpp b/ftnoir_protocol_sc/ftnoir_protocol_sc.cpp index 7de762ac..c53aa49c 100644 --- a/ftnoir_protocol_sc/ftnoir_protocol_sc.cpp +++ b/ftnoir_protocol_sc/ftnoir_protocol_sc.cpp @@ -103,7 +103,7 @@ public: actx.lpResourceName = MAKEINTRESOURCEA(resid); actx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID; #ifdef _MSC_VER -# define PREFIX "" +# error "MSVC support removed" #else # define PREFIX "lib" #endif diff --git a/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h b/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h index 6ef828d4..c36b15f3 100644 --- a/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h +++ b/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h @@ -106,17 +106,6 @@ typedef struct _JOYSTICK_STATE UINT32 Buttons; // 32 Buttons } JOYSTICK_STATE, * PJOYSTICK_STATE; -#include - -#undef EXTERN_C -#if _MSC_VER -# define EXTERN_C -#else -# define EXTERN_C extern "C" -#endif -#if _MSC_VER -# pragma comment(linker, "/implib:vjoy.def") -#endif EXTERN_C BOOL __stdcall VJoy_Initialize(PCHAR name, PCHAR serial); EXTERN_C VOID __stdcall VJoy_Shutdown(); EXTERN_C BOOL __stdcall VJoy_UpdateJoyState(int id, PJOYSTICK_STATE pJoyState); diff --git a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp index 84b7eed3..18301b6a 100644 --- a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp +++ b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp @@ -325,7 +325,7 @@ void Tracker::run() last_roi.height = std::min(grayscale.rows - last_roi.y, last_roi.height); } - cv::solvePnP(obj_points, m, intrinsics, dist_coeffs, rvec, tvec, !first, cv::ITERATIVE); + cv::solvePnP(obj_points, m, intrinsics, dist_coeffs, rvec, tvec, !first, cv::SOLVEPNP_ITERATIVE); first = false; cv::Mat rotation_matrix = cv::Mat::zeros(3, 3, CV_64FC1); cv::Mat junk1(3, 3, CV_64FC1), junk2(3, 3, CV_64FC1); diff --git a/ftnoir_tracker_base/ftnoir_tracker_base_global.h b/ftnoir_tracker_base/ftnoir_tracker_base_global.h index 6d6a1918..5b53ba82 100644 --- a/ftnoir_tracker_base/ftnoir_tracker_base_global.h +++ b/ftnoir_tracker_base/ftnoir_tracker_base_global.h @@ -8,7 +8,7 @@ # if !defined(_MSC_VER) # define FTNOIR_TRACKER_BASE_EXPORT __attribute__ ((visibility ("default"))) Q_DECL_EXPORT # else -# define FTNOIR_TRACKER_BASE_EXPORT Q_DECL_EXPORT +# error "MSVC support removed" # endif # else # define FTNOIR_TRACKER_BASE_EXPORT Q_DECL_IMPORT diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h index 90574a4b..7819dd67 100644 --- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h +++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h @@ -26,8 +26,8 @@ class Hydra_Tracker : public ITracker public: Hydra_Tracker(); ~Hydra_Tracker(); - void StartTracker(QFrame *) virt_override; - void GetHeadPoseData(double *data) virt_override; + void StartTracker(QFrame *) override; + void GetHeadPoseData(double *data) override; volatile bool should_quit; protected: void run(); // qthread override run method @@ -36,7 +36,7 @@ private: bool isCalibrated; double newHeadPose[6]; // Structure with new headpose QMutex mutex; - virtual int preferredHz() virt_override { return 250; } + virtual int preferredHz() override { return 250; } }; class TrackerControls: public QWidget, public ITrackerDialog diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index 04fa5ac2..b706ad3a 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -12,7 +12,7 @@ #include #ifdef _MSC_VER -# define LIB_PREFIX "" +# error "MSVC support removed" #else # define LIB_PREFIX "lib" #endif -- cgit v1.2.3 From 95a88d4ae96f319a50d8f14a3b8728b89ed1eb8a Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 31 Aug 2014 13:53:45 +0200 Subject: remove opentrack-api, no consumers --- CMakeLists.txt | 14 ----- opentrack-api/context.cpp | 112 ---------------------------------- opentrack-api/gnuc-version-script.txt | 12 ---- opentrack-api/opentrack-guts.h | 57 ----------------- opentrack-api/opentrack.h | 58 ------------------ opentrack-api/trackers.cpp | 38 ------------ 6 files changed, 291 deletions(-) delete mode 100644 opentrack-api/context.cpp delete mode 100644 opentrack-api/gnuc-version-script.txt delete mode 100644 opentrack-api/opentrack-guts.h delete mode 100644 opentrack-api/opentrack.h delete mode 100644 opentrack-api/trackers.cpp (limited to 'opentrack-api') diff --git a/CMakeLists.txt b/CMakeLists.txt index 647a3449..5827e0c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -163,8 +163,6 @@ macro(opentrack_library n) install(TARGETS ${n} RUNTIME DESTINATION . LIBRARY DESTINATION .) endmacro() -file(GLOB opentrack-lib-c "opentrack-api/*.cpp" "facetracknoir/global-settings.cpp" "opentrack-api/*.h" "facetracknoir/plugin-support.cpp") - opentrack_module(opentrack-bin facetracknoir) opentrack_module(opentrack-pose-widget ftnoir_posewidget) opentrack_module(opentrack-spline-widget qfunctionconfigurator) @@ -430,16 +428,6 @@ if(APPLE) SET_TARGET_PROPERTIES(opentrack-qxt-mini PROPERTIES LINK_FLAGS "-framework Carbon -framework CoreFoundation") endif() -add_library(opentrack-api SHARED ${opentrack-lib-c}) -target_link_libraries(opentrack-api ${MY_QT_LIBS}) -if(CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE) - 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}\") if(UNIX OR APPLE) @@ -461,7 +449,6 @@ endif() target_link_libraries(opentrack opentrack-pose-widget opentrack-spline-widget ${MY_QT_LIBS} ${QXT_QXTCORE_LIB_RELEASE} ${QXT_QXTWIDGETS_LIB_RELEASE}) if(NOT WIN32) target_link_libraries(opentrack dl) - target_link_libraries(opentrack-api dl) endif() # make install @@ -488,7 +475,6 @@ if(NOT WIN32 AND SDK_WINE_PREFIX) endif() install(TARGETS - opentrack-api opentrack-compat opentrack-csv opentrack-pose-widget diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp deleted file mode 100644 index b706ad3a..00000000 --- a/opentrack-api/context.cpp +++ /dev/null @@ -1,112 +0,0 @@ -#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 -# error "MSVC support removed" -#else -# define LIB_PREFIX "lib" -#endif - -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(QString filter) -{ - QList ret; - 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; - 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; - } - /* 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)) - { - auto str2 = str.mid(prefix.size(), str.size() - prefix.size() - suffix.size()); - opentrack_meta item(str2, lib); - ret.push_back(item); - } - } - - return ret; -} - -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]; - 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" -{ - -OPENTRACK_EXPORT const char** opentrack_enum_trackers(opentrack ctx) -{ - return const_cast(ctx->list); -} - -OPENTRACK_EXPORT opentrack opentrack_make_ctx(int argc, char** argv, void* window_parent) -{ - return new opentrack_ctx(argc, argv, window_parent); -} - -OPENTRACK_EXPORT void opentrack_finalize_ctx(opentrack foo) -{ - delete foo; -} - -} - diff --git a/opentrack-api/gnuc-version-script.txt b/opentrack-api/gnuc-version-script.txt deleted file mode 100644 index cd3a568d..00000000 --- a/opentrack-api/gnuc-version-script.txt +++ /dev/null @@ -1,12 +0,0 @@ -{ - 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-guts.h b/opentrack-api/opentrack-guts.h deleted file mode 100644 index c7134a6a..00000000 --- a/opentrack-api/opentrack-guts.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "ftnoir_tracker_base/ftnoir_tracker_base.h" -#include "facetracknoir/plugin-support.h" -#include - -typedef ITracker* opentrack_tracker; - -class opentrack_meta { -public: - QString path; - std::shared_ptr lib; - - opentrack_meta(QString& path, DynamicLibrary* lib) : - path(path), lib(lib) - {} -}; - -class MyFrame : public QFrame { - Q_OBJECT -public: - MyFrame(void* parent) - { - if (parent == (void*) -1) - { - show(); - setVisible(false); - hide(); - } - else - { - create((WId) parent); - } - } - explicit MyFrame() {} -}; - -typedef class opentrack_ctx { -public: - QApplication app; - char** list; - QList meta_list; - 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 deleted file mode 100644 index 88ba6cf0..00000000 --- a/opentrack-api/opentrack.h +++ /dev/null @@ -1,58 +0,0 @@ -#pragma once - -#ifdef __cplusplus -extern "C" { -#endif -#ifndef IN_OPENTRACK -/* opaque pointers, forward definitions */ -struct opentrack_opaque_ctx; -typedef struct opentrack_opaque_ctx* opentrack; -struct opentrack_opaque_tracker; -typedef struct 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_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 */ -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_EXPORT opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); -OPENTRACK_EXPORT void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); -OPENTRACK_EXPORT void opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); -OPENTRACK_EXPORT void opentrack_finalize_tracker(opentrack_tracker tracker); -#ifdef __cplusplus -} -#endif - diff --git a/opentrack-api/trackers.cpp b/opentrack-api/trackers.cpp deleted file mode 100644 index 5027ec1d..00000000 --- a/opentrack-api/trackers.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "opentrack-guts.h" -#include "opentrack.h" - -extern "C" { - -opentrack_tracker OPENTRACK_EXPORT opentrack_make_tracker(opentrack ctx, const char* name) -{ - for (int i = 0; i < ctx->meta_list.size(); i++) - { - auto meta = ctx->meta_list.at(i); - if (ctx->meta_list.at(i).path == name) - { - ITracker* foo = static_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); -} - -void OPENTRACK_EXPORT opentrack_tracker_tick(opentrack_tracker tracker, double* headpose) -{ - tracker->GetHeadPoseData(headpose); - QApplication::processEvents(0, 5); -} - -} -- cgit v1.2.3