From a8ffbb76f3e3bbca547fccf5135323e06cae9d2a Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 19 Oct 2014 13:39:50 +0200 Subject: update modules to refactored API --- ftnoir_filter_accela/ftnoir_filter_accela.cpp | 2 +- ftnoir_filter_accela/ftnoir_filter_accela.h | 11 ++-- ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp | 2 +- ftnoir_filter_ewma2/ftnoir_filter_ewma2.h | 10 ++-- ftnoir_filter_ewma2/ftnoir_filter_ewma2_dialog.cpp | 3 +- ftnoir_filter_kalman/ftnoir_filter_kalman.h | 10 ++-- ftnoir_filter_kalman/kalman.cpp | 2 +- ftnoir_protocol_fg/ftnoir_protocol_fg.cpp | 4 +- ftnoir_protocol_fg/ftnoir_protocol_fg.h | 18 +++--- ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp | 10 ++-- ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h | 18 +++--- ftnoir_protocol_ft/ftnoir_protocol_ft.cpp | 15 +++-- ftnoir_protocol_ft/ftnoir_protocol_ft.h | 40 ++++++------- ftnoir_protocol_ftn/ftnoir_protocol_ftn.cpp | 4 +- ftnoir_protocol_ftn/ftnoir_protocol_ftn.h | 19 +++--- ftnoir_protocol_ftn/ftnoir_protocol_ftn_dialog.cpp | 3 +- .../ftnoir_protocol_libevdev.cpp | 2 +- .../ftnoir_protocol_libevdev.h | 28 +++------ .../ftnoir_protocol_libevdev_dialog.cpp | 2 +- .../ftnoir_protocol_libevdev_dll.cpp | 8 --- ftnoir_protocol_mouse/ftnoir_protocol_mouse.cpp | 4 +- ftnoir_protocol_mouse/ftnoir_protocol_mouse.h | 18 +++--- ftnoir_protocol_sc/ftnoir_protocol_sc.cpp | 22 +++---- ftnoir_protocol_sc/ftnoir_protocol_sc.h | 18 +++--- ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.cpp | 2 +- ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h | 22 +++---- ftnoir_protocol_vjoy/ftnoir_protocol_vjoy_dll.cpp | 8 --- ftnoir_protocol_wine/ftnoir_protocol_wine.cpp | 4 +- ftnoir_protocol_wine/ftnoir_protocol_wine.h | 22 +++---- .../ftnoir_protocol_wine_dialog.cpp | 2 +- ftnoir_protocol_wine/ftnoir_protocol_wine_dll.cpp | 8 --- ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp | 33 ++-------- ftnoir_tracker_aruco/ftnoir_tracker_aruco.h | 10 ++-- .../ftnoir_tracker_freepie-udp.cpp | 4 +- .../ftnoir_tracker_freepie-udp.h | 16 +++-- .../ftnoir_tracker_freepie-udp_dll.cpp | 20 ------- ftnoir_tracker_ht/ftnoir_tracker_ht.cpp | 25 +------- ftnoir_tracker_ht/ftnoir_tracker_ht.h | 10 ++-- ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h | 15 +---- ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp | 4 +- ftnoir_tracker_hydra/ftnoir_tracker_hydra.h | 18 +++--- ftnoir_tracker_hydra/ftnoir_tracker_hydra_dll.cpp | 20 ------- .../ftnoir_tracker_joystick.cpp | 6 +- ftnoir_tracker_joystick/ftnoir_tracker_joystick.h | 24 +++----- .../ftnoir_tracker_joystick_dll.cpp | 21 ------- .../ftnoir_tracker_libevdev.cpp | 70 +++++++++++++++++----- ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.h | 36 ++++++----- .../ftnoir_tracker_libevdev_dll.cpp | 20 ------- ftnoir_tracker_pt/ftnoir_tracker_pt.cpp | 8 +-- ftnoir_tracker_pt/ftnoir_tracker_pt.h | 6 +- ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp | 6 +- ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.h | 6 +- ftnoir_tracker_pt/ftnoir_tracker_pt_dll.cpp | 22 ------- ftnoir_tracker_pt/ftnoir_tracker_pt_dll.h | 6 +- ftnoir_tracker_pt/point_tracker.h | 2 +- ftnoir_tracker_rift/ftnoir_tracker_rift.cpp | 4 +- ftnoir_tracker_rift/ftnoir_tracker_rift.h | 25 +++----- ftnoir_tracker_rift/ftnoir_tracker_rift_dll.cpp | 32 ---------- ftnoir_tracker_udp/ftnoir_tracker_udp.cpp | 4 +- ftnoir_tracker_udp/ftnoir_tracker_udp.h | 16 +++-- ftnoir_tracker_udp/ftnoir_tracker_udp_dialog.cpp | 3 +- ftnoir_tracker_udp/ftnoir_tracker_udp_dll.cpp | 20 ------- 62 files changed, 291 insertions(+), 562 deletions(-) diff --git a/ftnoir_filter_accela/ftnoir_filter_accela.cpp b/ftnoir_filter_accela/ftnoir_filter_accela.cpp index 9b7b2cb2..f6ffd68c 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela.cpp +++ b/ftnoir_filter_accela/ftnoir_filter_accela.cpp @@ -23,7 +23,7 @@ static inline double parabola(const double a, const double x, const double dz, c return a1 * pow(std::max(fabs(x) - dz, 0), expt) * sign; } -void FTNoIR_Filter::FilterHeadPoseData(const double* target_camera_position, +void FTNoIR_Filter::filter(const double* target_camera_position, double *new_camera_position) { if (first_run) diff --git a/ftnoir_filter_accela/ftnoir_filter_accela.h b/ftnoir_filter_accela/ftnoir_filter_accela.h index 0a736042..c1b325fa 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela.h +++ b/ftnoir_filter_accela/ftnoir_filter_accela.h @@ -36,7 +36,7 @@ class FTNoIR_Filter : public IFilter { public: FTNoIR_Filter(); - void FilterHeadPoseData(const double* target_camera_position, double *new_camera_position); + void filter(const double* target_camera_position, double *new_camera_position); void reset() { first_run = true; } @@ -50,7 +50,7 @@ private: double last_output[3][6]; }; -class FilterControls: public QWidget, public IFilterDialog +class FilterControls: public IFilterDialog { Q_OBJECT public: @@ -71,9 +71,6 @@ private slots: class FTNoIR_FilterDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("Accela Filter Mk4"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("Accela Mk4"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("Accela filter Mk4"); } - - void getIcon(QIcon *icon){ *icon = QIcon(":/images/filter-16.png"); } + QString name() { return QString("Accela"); } + QIcon icon() { return QIcon(":/images/filter-16.png"); } }; diff --git a/ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp b/ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp index 320b95ad..5214b37b 100644 --- a/ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp +++ b/ftnoir_filter_ewma2/ftnoir_filter_ewma2.cpp @@ -40,7 +40,7 @@ void FTNoIR_Filter::receiveSettings() s.b->reload(); } -void FTNoIR_Filter::FilterHeadPoseData(const double *target_camera_position, +void FTNoIR_Filter::filter(const double *target_camera_position, double *new_camera_position) { double new_delta, new_noise, norm_noise; diff --git a/ftnoir_filter_ewma2/ftnoir_filter_ewma2.h b/ftnoir_filter_ewma2/ftnoir_filter_ewma2.h index aacf4916..f2baaa22 100644 --- a/ftnoir_filter_ewma2/ftnoir_filter_ewma2.h +++ b/ftnoir_filter_ewma2/ftnoir_filter_ewma2.h @@ -25,7 +25,7 @@ class FTNoIR_Filter : public IFilter public: FTNoIR_Filter(); void reset() { first_run=true; } - void FilterHeadPoseData(const double *target_camera_position, + void filter(const double *target_camera_position, double *new_camera_position); void receiveSettings(); private: @@ -38,7 +38,7 @@ private: settings s; }; -class FilterControls: public QWidget, public IFilterDialog +class FilterControls: public IFilterDialog { Q_OBJECT public: @@ -60,8 +60,6 @@ private slots: class FTNoIR_FilterDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("EWMA Filter Mk3"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("EWMA"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("Exponentially Weighted Moving Average filter with dynamic smoothing parameter"); } - void getIcon(QIcon *icon){ *icon = QIcon(":/images/filter-16.png"); } + QString name() { return QString("EWMA"); } + QIcon icon() { return QIcon(":/images/filter-16.png"); } }; diff --git a/ftnoir_filter_ewma2/ftnoir_filter_ewma2_dialog.cpp b/ftnoir_filter_ewma2/ftnoir_filter_ewma2_dialog.cpp index b6bde553..bdc6e1bf 100644 --- a/ftnoir_filter_ewma2/ftnoir_filter_ewma2_dialog.cpp +++ b/ftnoir_filter_ewma2/ftnoir_filter_ewma2_dialog.cpp @@ -4,8 +4,7 @@ #include "facetracknoir/plugin-support.h" #include "ui_ftnoir_ewma_filtercontrols.h" -FilterControls::FilterControls() : - QWidget(), pFilter(NULL) +FilterControls::FilterControls() : pFilter(NULL) { ui.setupUi( this ); diff --git a/ftnoir_filter_kalman/ftnoir_filter_kalman.h b/ftnoir_filter_kalman/ftnoir_filter_kalman.h index 558aebd6..7dcd0f7d 100755 --- a/ftnoir_filter_kalman/ftnoir_filter_kalman.h +++ b/ftnoir_filter_kalman/ftnoir_filter_kalman.h @@ -24,7 +24,7 @@ class OPENTRACK_EXPORT FTNoIR_Filter : public IFilter public: FTNoIR_Filter(); void reset(); - void FilterHeadPoseData(const double *target_camera_position, + void filter(const double *target_camera_position, double *new_camera_position); double accel_variance; double noise_variance; @@ -36,13 +36,11 @@ public: class OPENTRACK_EXPORT FTNoIR_FilterDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("Kalman filter"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("Kalman filter"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("Kalman filter"); } - void getIcon(QIcon *icon){ *icon = QIcon(":/images/filter-16.png"); } + QString name() { return QString("Kalman"); } + QIcon icon() { return QIcon(":/images/filter-16.png"); } }; -class OPENTRACK_EXPORT FilterControls: public QWidget, public IFilterDialog +class OPENTRACK_EXPORT FilterControls: public IFilterDialog { Q_OBJECT public: diff --git a/ftnoir_filter_kalman/kalman.cpp b/ftnoir_filter_kalman/kalman.cpp index 14b0e8ab..9a902643 100644 --- a/ftnoir_filter_kalman/kalman.cpp +++ b/ftnoir_filter_kalman/kalman.cpp @@ -67,7 +67,7 @@ void FTNoIR_Filter::reset() { timer.invalidate(); } -void FTNoIR_Filter::FilterHeadPoseData(const double* target_camera_position, +void FTNoIR_Filter::filter(const double* target_camera_position, double *new_camera_position) { // Start the timer if it's not running. diff --git a/ftnoir_protocol_fg/ftnoir_protocol_fg.cpp b/ftnoir_protocol_fg/ftnoir_protocol_fg.cpp index b2d29118..8b5baaa8 100644 --- a/ftnoir_protocol_fg/ftnoir_protocol_fg.cpp +++ b/ftnoir_protocol_fg/ftnoir_protocol_fg.cpp @@ -35,7 +35,7 @@ void FTNoIR_Protocol::reloadSettings() s.b->reload(); } -void FTNoIR_Protocol::sendHeadposeToGame(const double* headpose) { +void FTNoIR_Protocol::pose(const double* headpose) { FlightData.x = headpose[TX] * 1e-2; FlightData.y = headpose[TY] * 1e-2; FlightData.z = headpose[TZ] * 1e-2; @@ -52,7 +52,7 @@ void FTNoIR_Protocol::sendHeadposeToGame(const double* headpose) { (void) outSocket.writeDatagram(reinterpret_cast(&FlightData), sizeof(FlightData), destIP, static_cast(destPort)); } -bool FTNoIR_Protocol::checkServerInstallationOK() +bool FTNoIR_Protocol::correct() { return outSocket.bind(QHostAddress::Any, 0, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint); } diff --git a/ftnoir_protocol_fg/ftnoir_protocol_fg.h b/ftnoir_protocol_fg/ftnoir_protocol_fg.h index 4b25a3e1..44b79c06 100644 --- a/ftnoir_protocol_fg/ftnoir_protocol_fg.h +++ b/ftnoir_protocol_fg/ftnoir_protocol_fg.h @@ -52,9 +52,9 @@ struct settings { class FTNoIR_Protocol : public IProtocol { public: - bool checkServerInstallationOK(); - void sendHeadposeToGame(const double *headpose); - QString getGameName() { + bool correct(); + void pose(const double *headpose); + QString game_name() { return "FlightGear"; } void reloadSettings(); @@ -65,15 +65,15 @@ private: }; // Widget that has controls for FTNoIR protocol client-settings. -class FGControls: public QWidget, public IProtocolDialog +class FGControls: public IProtocolDialog { Q_OBJECT public: FGControls(); - void registerProtocol(IProtocol *protocol) { + void register_protocol(IProtocol *protocol) { theProtocol = (FTNoIR_Protocol *) protocol; // Accept the pointer to the Protocol } - void unRegisterProtocol() { + void unregister_protocol() { theProtocol = NULL; // Reset the pointer } private: @@ -88,8 +88,6 @@ private slots: class FTNoIR_ProtocolDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("FlightGear"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("FlightGear"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("FlightGear UDP protocol"); } - void getIcon(QIcon *icon) { *icon = QIcon(":/images/flightgear.png"); } + QString name() { return QString("FlightGear"); } + QIcon icon() { return QIcon(":/images/flightgear.png"); } }; diff --git a/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp b/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp index 822cdb4d..16f116f6 100644 --- a/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp +++ b/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp @@ -58,7 +58,7 @@ double local_x; return (int) y; } -void FTNoIR_Protocol::sendHeadposeToGame(const double *headpose ) { +void FTNoIR_Protocol::pose(const double *headpose ) { DWORD result; TFSState pitch; TFSState yaw; @@ -139,20 +139,20 @@ void FTNoIR_Protocol::sendHeadposeToGame(const double *headpose ) { prevRotZ = virtRotZ; } -bool FTNoIR_Protocol::checkServerInstallationOK() +bool FTNoIR_Protocol::correct() { - qDebug() << "checkServerInstallationOK says: Starting Function"; + qDebug() << "correct says: Starting Function"; // // Load the DLL. // FSUIPCLib.setFileName( s.LocationOfDLL ); if (FSUIPCLib.load() != true) { - qDebug() << "checkServerInstallationOK says: Error loading FSUIPC DLL"; + qDebug() << "correct says: Error loading FSUIPC DLL"; return false; } else { - qDebug() << "checkServerInstallationOK says: FSUIPC DLL loaded."; + qDebug() << "correct says: FSUIPC DLL loaded."; } return true; diff --git a/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h b/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h index bde16d8f..06428df3 100644 --- a/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h +++ b/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.h @@ -67,9 +67,9 @@ class FTNoIR_Protocol : public IProtocol public: FTNoIR_Protocol(); ~FTNoIR_Protocol() override; - bool checkServerInstallationOK(); - void sendHeadposeToGame(const double* headpose); - QString getGameName() { + bool correct(); + void pose(const double* headpose); + QString game_name() { return "Microsoft Flight Simulator X"; } private: @@ -79,13 +79,13 @@ private: settings s; }; -class FSUIPCControls: public QWidget, public IProtocolDialog +class FSUIPCControls: public IProtocolDialog { Q_OBJECT public: FSUIPCControls(); - void registerProtocol(IProtocol *) {} - void unRegisterProtocol() {} + void register_protocol(IProtocol *) {} + void unregister_protocol() {} private: Ui::UICFSUIPCControls ui; settings s; @@ -98,10 +98,8 @@ private slots: class FTNoIR_ProtocolDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("FS2002/FS2004"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("FSUIPC"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("Microsoft FS2004 protocol"); } - void getIcon(QIcon *icon) { *icon = QIcon(":/images/fs9.png"); } + QString name() { return QString("FSUIPC -- Microsoft FS2002/FS2004"); } + QIcon icon() { return QIcon(":/images/fs9.png"); } }; diff --git a/ftnoir_protocol_ft/ftnoir_protocol_ft.cpp b/ftnoir_protocol_ft/ftnoir_protocol_ft.cpp index ae23be3c..c0a186ff 100644 --- a/ftnoir_protocol_ft/ftnoir_protocol_ft.cpp +++ b/ftnoir_protocol_ft/ftnoir_protocol_ft.cpp @@ -28,13 +28,12 @@ #include "ftnoir_csv/csv.h" FTNoIR_Protocol::FTNoIR_Protocol() : - shm(FREETRACK_HEAP, FREETRACK_MUTEX, sizeof(FTHeap)) + pMemData((FTHeap*) shm.ptr()), + shm(FREETRACK_HEAP, FREETRACK_MUTEX, sizeof(FTHeap)), + viewsStart(nullptr), + viewsStop(nullptr), + intGameID(0) { - pMemData = (FTHeap*) shm.ptr(); - ProgramName = ""; - intGameID = 0; - viewsStart = 0; - viewsStop = 0; } FTNoIR_Protocol::~FTNoIR_Protocol() @@ -48,7 +47,7 @@ FTNoIR_Protocol::~FTNoIR_Protocol() dummyTrackIR.waitForFinished(50); } -void FTNoIR_Protocol::sendHeadposeToGame(const double* headpose) { +void FTNoIR_Protocol::pose(const double* headpose) { float yaw = getRadsFromDegrees(headpose[Yaw]); float pitch = getRadsFromDegrees(headpose[Pitch]); float roll = getRadsFromDegrees(headpose[Roll]); @@ -128,7 +127,7 @@ void FTNoIR_Protocol::start_dummy() { dummyTrackIR.start(); } -bool FTNoIR_Protocol::checkServerInstallationOK() +bool FTNoIR_Protocol::correct() { QSettings settings("Freetrack", "FreetrackClient"); // Registry settings (in HK_USER) QSettings settingsTIR("NaturalPoint", "NATURALPOINT\\NPClient Location"); // Registry settings (in HK_USER) diff --git a/ftnoir_protocol_ft/ftnoir_protocol_ft.h b/ftnoir_protocol_ft/ftnoir_protocol_ft.h index 5a9e5cdd..51079f20 100644 --- a/ftnoir_protocol_ft/ftnoir_protocol_ft.h +++ b/ftnoir_protocol_ft/ftnoir_protocol_ft.h @@ -60,42 +60,38 @@ class FTNoIR_Protocol : public IProtocol public: FTNoIR_Protocol(); ~FTNoIR_Protocol() override; - bool checkServerInstallationOK( ); - void sendHeadposeToGame( const double *headpose ); - QString getGameName() { + bool correct( ); + void pose( const double *headpose ); + QString game_name() override { QMutexLocker foo(&game_name_mutex); return connected_game; } private: - importTIRViewsStart viewsStart; - importTIRViewsStop viewsStop; - + settings s; FTHeap *pMemData; - QString game_name; PortableLockedShm shm; - QString ProgramName; QLibrary FTIRViewsLib; QProcess dummyTrackIR; - static inline double getRadsFromDegrees ( double degrees ) - { - return degrees * 0.017453; - } + importTIRViewsStart viewsStart; + importTIRViewsStop viewsStop; + int intGameID; - void start_tirviews(); - void start_dummy(); QString connected_game; QMutex game_name_mutex; - settings s; + + static inline double getRadsFromDegrees(double degrees) { return degrees * 0.017453; } + void start_tirviews(); + void start_dummy(); }; -class FTControls: public QWidget, public IProtocolDialog +class FTControls: public IProtocolDialog { Q_OBJECT public: - explicit FTControls(); - void registerProtocol(IProtocol *) {} - void unRegisterProtocol() {} + FTControls(); + void register_protocol(IProtocol *) {} + void unregister_protocol() {} private: Ui::UICFTControls ui; settings s; @@ -108,8 +104,6 @@ private slots: class FTNoIR_ProtocolDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("FreeTrack 2.0"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("FreeTrack 2.0"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("Enhanced FreeTrack protocol"); } - void getIcon(QIcon *icon) { *icon = QIcon(":/images/freetrack.png"); } + QString name() { return QString("freetrack 2.0 Enhanced"); } + QIcon icon() { return QIcon(":/images/freetrack.png"); } }; diff --git a/ftnoir_protocol_ftn/ftnoir_protocol_ftn.cpp b/ftnoir_protocol_ftn/ftnoir_protocol_ftn.cpp index ccff1ba5..c8759bc1 100644 --- a/ftnoir_protocol_ftn/ftnoir_protocol_ftn.cpp +++ b/ftnoir_protocol_ftn/ftnoir_protocol_ftn.cpp @@ -33,7 +33,7 @@ FTNoIR_Protocol::FTNoIR_Protocol() { } -void FTNoIR_Protocol::sendHeadposeToGame(const double *headpose) { +void FTNoIR_Protocol::pose(const double *headpose) { int destPort = s.port; QHostAddress destIP(QString("%1.%2.%3.%4").arg( QString::number(static_cast(s.ip1)), @@ -43,7 +43,7 @@ void FTNoIR_Protocol::sendHeadposeToGame(const double *headpose) { outSocket.writeDatagram((const char *) headpose, sizeof( double[6] ), destIP, destPort); } -bool FTNoIR_Protocol::checkServerInstallationOK() +bool FTNoIR_Protocol::correct() { return outSocket.bind(QHostAddress::Any, 0, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint); } diff --git a/ftnoir_protocol_ftn/ftnoir_protocol_ftn.h b/ftnoir_protocol_ftn/ftnoir_protocol_ftn.h index c14a7dba..587f0034 100644 --- a/ftnoir_protocol_ftn/ftnoir_protocol_ftn.h +++ b/ftnoir_protocol_ftn/ftnoir_protocol_ftn.h @@ -53,9 +53,9 @@ class FTNoIR_Protocol : public IProtocol { public: FTNoIR_Protocol(); - bool checkServerInstallationOK(); - void sendHeadposeToGame(const double *headpose); - QString getGameName() { + bool correct(); + void pose(const double *headpose); + QString game_name() { return "UDP Tracker"; } private: @@ -64,13 +64,13 @@ private: }; // Widget that has controls for FTNoIR protocol client-settings. -class FTNControls: public QWidget, public IProtocolDialog +class FTNControls: public IProtocolDialog { Q_OBJECT public: FTNControls(); - void registerProtocol(IProtocol *) {} - void unRegisterProtocol() {} + void register_protocol(IProtocol *) {} + void unregister_protocol() {} private: Ui::UICFTNControls ui; settings s; @@ -82,9 +82,6 @@ private slots: class FTNoIR_ProtocolDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("UDP"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("UDP"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("opentrack UDP protocol"); } - - void getIcon(QIcon *icon) { *icon = QIcon(":/images/facetracknoir.png"); } + QString name() { return QString("UDP receiver"); } + QIcon icon() { return QIcon(":/images/facetracknoir.png"); } }; diff --git a/ftnoir_protocol_ftn/ftnoir_protocol_ftn_dialog.cpp b/ftnoir_protocol_ftn/ftnoir_protocol_ftn_dialog.cpp index 8af12ad7..4637223d 100644 --- a/ftnoir_protocol_ftn/ftnoir_protocol_ftn_dialog.cpp +++ b/ftnoir_protocol_ftn/ftnoir_protocol_ftn_dialog.cpp @@ -25,8 +25,7 @@ #include "ftnoir_protocol_ftn.h" #include "facetracknoir/plugin-support.h" -FTNControls::FTNControls() : - QWidget() +FTNControls::FTNControls() { ui.setupUi( this ); diff --git a/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev.cpp b/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev.cpp index 1840fa03..8b7db62a 100644 --- a/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev.cpp +++ b/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev.cpp @@ -69,7 +69,7 @@ FTNoIR_Protocol::~FTNoIR_Protocol() libevdev_free(dev); } -void FTNoIR_Protocol::sendHeadposeToGame(const double* headpose) { +void FTNoIR_Protocol::pose(const double* headpose) { static const int axes[] = { /* translation goes first */ ABS_X, ABS_Y, ABS_Z, ABS_RX, ABS_RY, ABS_RZ diff --git a/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev.h b/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev.h index e613885a..af6b3142 100644 --- a/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev.h +++ b/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev.h @@ -20,11 +20,11 @@ class FTNoIR_Protocol : public IProtocol public: FTNoIR_Protocol(); ~FTNoIR_Protocol() override; - bool checkServerInstallationOK() { + bool correct() { return dev != NULL; } - void sendHeadposeToGame(const double *headpose); - QString getGameName() { + void pose(const double *headpose); + QString game_name() { return "Virtual joystick for Linux"; } private: @@ -32,14 +32,13 @@ private: struct libevdev_uinput* uidev; }; -class LibevdevControls: public QWidget, public IProtocolDialog +class LibevdevControls: public IProtocolDialog { Q_OBJECT public: - - explicit LibevdevControls(); - void registerProtocol(IProtocol *) {} - void unRegisterProtocol() {} + LibevdevControls(); + void register_protocol(IProtocol *) {} + void unregister_protocol() {} private: Ui::UICLibevdevControls ui; @@ -50,18 +49,9 @@ private slots: void doCancel(); }; -//******************************************************************************************************* -// FaceTrackNoIR Protocol DLL. Functions used to get general info on the Protocol -//******************************************************************************************************* class FTNoIR_ProtocolDll : public Metadata { public: - FTNoIR_ProtocolDll(); - ~FTNoIR_ProtocolDll(); - - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("libevdev"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("libevdev"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("libevdev"); } - - void getIcon(QIcon *icon) { *icon = QIcon(":/images/linux.png"); } + QString name() { return QString("libevdev joystick receiver"); } + QIcon icon() { return QIcon(":/images/linux.png"); } }; diff --git a/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev_dialog.cpp b/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev_dialog.cpp index d522610b..15e8097c 100644 --- a/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev_dialog.cpp +++ b/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev_dialog.cpp @@ -1,7 +1,7 @@ #include "ftnoir_protocol_libevdev.h" #include "facetracknoir/plugin-support.h" -LibevdevControls::LibevdevControls() : QWidget() +LibevdevControls::LibevdevControls() { ui.setupUi( this ); connect(ui.btnOK, SIGNAL(clicked()), this, SLOT(doOK())); diff --git a/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev_dll.cpp b/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev_dll.cpp index e258b077..75898715 100644 --- a/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev_dll.cpp +++ b/ftnoir_protocol_libevdev/ftnoir_protocol_libevdev_dll.cpp @@ -2,14 +2,6 @@ #include #include "facetracknoir/plugin-support.h" -FTNoIR_ProtocolDll::FTNoIR_ProtocolDll() { -} - -FTNoIR_ProtocolDll::~FTNoIR_ProtocolDll() -{ - -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new FTNoIR_ProtocolDll; diff --git a/ftnoir_protocol_mouse/ftnoir_protocol_mouse.cpp b/ftnoir_protocol_mouse/ftnoir_protocol_mouse.cpp index 47f7a67e..ca3ba805 100644 --- a/ftnoir_protocol_mouse/ftnoir_protocol_mouse.cpp +++ b/ftnoir_protocol_mouse/ftnoir_protocol_mouse.cpp @@ -29,7 +29,7 @@ #include "ftnoir_protocol_mouse.h" #include "facetracknoir/plugin-support.h" -void FTNoIR_Protocol::sendHeadposeToGame(const double *headpose ) { +void FTNoIR_Protocol::pose(const double *headpose ) { double fMouse_X = 0; double fMouse_Y = 0; @@ -58,7 +58,7 @@ void FTNoIR_Protocol::reload() s.b->reload(); } -bool FTNoIR_Protocol::checkServerInstallationOK() +bool FTNoIR_Protocol::correct() { return true; } diff --git a/ftnoir_protocol_mouse/ftnoir_protocol_mouse.h b/ftnoir_protocol_mouse/ftnoir_protocol_mouse.h index 8f1f3ff1..55a37e12 100644 --- a/ftnoir_protocol_mouse/ftnoir_protocol_mouse.h +++ b/ftnoir_protocol_mouse/ftnoir_protocol_mouse.h @@ -60,9 +60,9 @@ class FTNoIR_Protocol : public IProtocol { public: FTNoIR_Protocol() {} - bool checkServerInstallationOK(); - void sendHeadposeToGame( const double *headpose); - QString getGameName() { + bool correct(); + void pose( const double *headpose); + QString game_name() { return "Mouse tracker"; } void reload(); @@ -70,15 +70,15 @@ private: struct settings s; }; -class MOUSEControls: public QWidget, public IProtocolDialog +class MOUSEControls: public IProtocolDialog { Q_OBJECT public: MOUSEControls(); - void registerProtocol(IProtocol *protocol) { + void register_protocol(IProtocol *protocol) { _proto = (FTNoIR_Protocol *) protocol; } - void unRegisterProtocol() { + void unregister_protocol() { _proto = NULL; } private: @@ -93,10 +93,8 @@ private slots: class FTNoIR_ProtocolDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("Mouse Look"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("Mouse Look"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("Mouse Look protocol"); } - void getIcon(QIcon *icon) { *icon = QIcon(":/images/mouse.png"); } + QString name() { return QString("mouse emulation"); } + QIcon icon() { return QIcon(":/images/mouse.png"); } }; diff --git a/ftnoir_protocol_sc/ftnoir_protocol_sc.cpp b/ftnoir_protocol_sc/ftnoir_protocol_sc.cpp index 72b800d2..b56585df 100644 --- a/ftnoir_protocol_sc/ftnoir_protocol_sc.cpp +++ b/ftnoir_protocol_sc/ftnoir_protocol_sc.cpp @@ -68,7 +68,7 @@ FTNoIR_Protocol::~FTNoIR_Protocol() } } -void FTNoIR_Protocol::sendHeadposeToGame( const double *headpose ) { +void FTNoIR_Protocol::pose( const double *headpose ) { virtSCRotX = -headpose[Pitch]; // degrees virtSCRotY = -headpose[Yaw]; virtSCRotZ = headpose[Roll]; @@ -134,7 +134,7 @@ private: HANDLE hactctx; }; -bool FTNoIR_Protocol::checkServerInstallationOK() +bool FTNoIR_Protocol::correct() { if (!SCClientLib.isLoaded()) { @@ -152,17 +152,17 @@ bool FTNoIR_Protocol::checkServerInstallationOK() // simconnect_open = (importSimConnect_Open) SCClientLib.resolve("SimConnect_Open"); if (simconnect_open == NULL) { - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect_Open function not found in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect_Open function not found in DLL!"; return false; } simconnect_set6DOF = (importSimConnect_CameraSetRelative6DOF) SCClientLib.resolve("SimConnect_CameraSetRelative6DOF"); if (simconnect_set6DOF == NULL) { - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect_CameraSetRelative6DOF function not found in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect_CameraSetRelative6DOF function not found in DLL!"; return false; } simconnect_close = (importSimConnect_Close) SCClientLib.resolve("SimConnect_Close"); if (simconnect_close == NULL) { - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect_Close function not found in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect_Close function not found in DLL!"; return false; } @@ -170,35 +170,35 @@ bool FTNoIR_Protocol::checkServerInstallationOK() simconnect_calldispatch = (importSimConnect_CallDispatch) SCClientLib.resolve("SimConnect_CallDispatch"); if (simconnect_calldispatch == NULL) { - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect_CallDispatch function not found in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect_CallDispatch function not found in DLL!"; return false; } simconnect_subscribetosystemevent = (importSimConnect_SubscribeToSystemEvent) SCClientLib.resolve("SimConnect_SubscribeToSystemEvent"); if (simconnect_subscribetosystemevent == NULL) { - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect_SubscribeToSystemEvent function not found in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect_SubscribeToSystemEvent function not found in DLL!"; return false; } simconnect_mapclienteventtosimevent = (importSimConnect_MapClientEventToSimEvent) SCClientLib.resolve("SimConnect_MapClientEventToSimEvent"); if (simconnect_subscribetosystemevent == NULL) { - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect_MapClientEventToSimEvent function not found in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect_MapClientEventToSimEvent function not found in DLL!"; return false; } simconnect_addclienteventtonotificationgroup = (importSimConnect_AddClientEventToNotificationGroup) SCClientLib.resolve("SimConnect_AddClientEventToNotificationGroup"); if (simconnect_subscribetosystemevent == NULL) { - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect_AddClientEventToNotificationGroup function not found in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect_AddClientEventToNotificationGroup function not found in DLL!"; return false; } simconnect_setnotificationgrouppriority = (importSimConnect_SetNotificationGroupPriority) SCClientLib.resolve("SimConnect_SetNotificationGroupPriority"); if (simconnect_subscribetosystemevent == NULL) { - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect_SetNotificationGroupPriority function not found in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect_SetNotificationGroupPriority function not found in DLL!"; return false; } - qDebug() << "FTNoIR_Protocol::checkServerInstallationOK() says: SimConnect functions resolved in DLL!"; + qDebug() << "FTNoIR_Protocol::correct() says: SimConnect functions resolved in DLL!"; return true; } diff --git a/ftnoir_protocol_sc/ftnoir_protocol_sc.h b/ftnoir_protocol_sc/ftnoir_protocol_sc.h index 02cb7b0e..784c915c 100644 --- a/ftnoir_protocol_sc/ftnoir_protocol_sc.h +++ b/ftnoir_protocol_sc/ftnoir_protocol_sc.h @@ -89,9 +89,9 @@ class FTNoIR_Protocol : public IProtocol public: FTNoIR_Protocol(); ~FTNoIR_Protocol() override; - bool checkServerInstallationOK(); - void sendHeadposeToGame(const double* headpose); - QString getGameName() { + bool correct(); + void pose(const double* headpose); + QString game_name() { return "FS2004/FSX"; } private: @@ -127,13 +127,13 @@ private: settings s; }; -class SCControls: public QWidget, public IProtocolDialog +class SCControls: public IProtocolDialog { Q_OBJECT public: SCControls(); - void registerProtocol(IProtocol *) {} - void unRegisterProtocol() {} + void register_protocol(IProtocol *) {} + void unregister_protocol() {} private: Ui::UICSCControls ui; settings s; @@ -145,8 +145,6 @@ private slots: class FTNoIR_ProtocolDll : public Metadata { public: - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("FSX SimConnect"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("SimConnect"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("Microsoft SimConnect protocol"); } - void getIcon(QIcon *icon) { *icon = QIcon(":/images/fsx.png"); } + QString name() { return QString("Microsoft FSX SimConnect"); } + QIcon icon() { return QIcon(":/images/fsx.png"); } }; diff --git a/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.cpp b/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.cpp index 58fa2ab1..c29eb11e 100644 --- a/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.cpp +++ b/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.cpp @@ -12,7 +12,7 @@ FTNoIR_Protocol::~FTNoIR_Protocol() VJoy_Shutdown(); } -void FTNoIR_Protocol::sendHeadposeToGame( const double *headpose ) { +void FTNoIR_Protocol::pose( const double *headpose ) { #pragma GCC diagnostic ignored "-Wmissing-field-initializers" JOYSTICK_STATE state[2] = { 0 }; diff --git a/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h b/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h index eac3c610..e9a6e704 100644 --- a/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h +++ b/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy.h @@ -37,25 +37,25 @@ class FTNoIR_Protocol : public IProtocol public: FTNoIR_Protocol(); ~FTNoIR_Protocol() override; - bool checkServerInstallationOK() { + bool correct() { return true; } - void sendHeadposeToGame( const double *headpose ); - QString getGameName() { + void pose( const double *headpose ); + QString game_name() { return "Virtual joystick"; } private: }; // Widget that has controls for FTNoIR protocol client-settings. -class VJoyControls: public QWidget, public IProtocolDialog +class VJoyControls: public IProtocolDialog { Q_OBJECT public: explicit VJoyControls(); - void registerProtocol(IProtocol *) {} - void unRegisterProtocol() {} + void register_protocol(IProtocol *) {} + void unregister_protocol() {} private: Ui::UICVJoyControls ui; @@ -69,14 +69,8 @@ private slots: class FTNoIR_ProtocolDll : public Metadata { public: - FTNoIR_ProtocolDll(); - ~FTNoIR_ProtocolDll(); - - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("VJoy"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("VJoy"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("VJoy"); } - - void getIcon(QIcon *icon) { *icon = QIcon(":/images/vjoy.png"); } + QString name() { return QString("Joystick emulation -- VJoy"); } + QIcon icon() { return QIcon(":/images/vjoy.png"); } }; #define VJOY_AXIS_MIN -32768 diff --git a/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy_dll.cpp b/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy_dll.cpp index 367a0df6..cdfdc361 100644 --- a/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy_dll.cpp +++ b/ftnoir_protocol_vjoy/ftnoir_protocol_vjoy_dll.cpp @@ -2,14 +2,6 @@ #include #include "facetracknoir/plugin-support.h" -FTNoIR_ProtocolDll::FTNoIR_ProtocolDll() { -} - -FTNoIR_ProtocolDll::~FTNoIR_ProtocolDll() -{ - -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new FTNoIR_ProtocolDll; diff --git a/ftnoir_protocol_wine/ftnoir_protocol_wine.cpp b/ftnoir_protocol_wine/ftnoir_protocol_wine.cpp index 29a2a70c..db030554 100644 --- a/ftnoir_protocol_wine/ftnoir_protocol_wine.cpp +++ b/ftnoir_protocol_wine/ftnoir_protocol_wine.cpp @@ -29,7 +29,7 @@ FTNoIR_Protocol::~FTNoIR_Protocol() //shm_unlink("/" WINE_SHM_NAME); } -void FTNoIR_Protocol::sendHeadposeToGame( const double *headpose ) { +void FTNoIR_Protocol::pose( const double *headpose ) { if (shm) { lck_shm.lock(); @@ -51,7 +51,7 @@ void FTNoIR_Protocol::sendHeadposeToGame( const double *headpose ) { } } -bool FTNoIR_Protocol::checkServerInstallationOK() +bool FTNoIR_Protocol::correct() { return lck_shm.success(); } diff --git a/ftnoir_protocol_wine/ftnoir_protocol_wine.h b/ftnoir_protocol_wine/ftnoir_protocol_wine.h index 9a7fb7d5..685c3010 100644 --- a/ftnoir_protocol_wine/ftnoir_protocol_wine.h +++ b/ftnoir_protocol_wine/ftnoir_protocol_wine.h @@ -18,9 +18,9 @@ public: FTNoIR_Protocol(); ~FTNoIR_Protocol() override; - bool checkServerInstallationOK(); - void sendHeadposeToGame(const double* headpose); - QString getGameName() { + bool correct(); + void pose(const double* headpose); + QString game_name() { QMutexLocker foo(&game_name_mutex); return connected_game; } @@ -33,13 +33,13 @@ private: QMutex game_name_mutex; }; -class FTControls: public QWidget, public IProtocolDialog +class FTControls: public IProtocolDialog { Q_OBJECT public: FTControls(); - void registerProtocol(IProtocol *) {} - void unRegisterProtocol() {} + void register_protocol(IProtocol *) {} + void unregister_protocol() {} private: Ui::UICFTControls ui; @@ -52,12 +52,6 @@ private slots: class FTNoIR_ProtocolDll : public Metadata { public: - FTNoIR_ProtocolDll(); - ~FTNoIR_ProtocolDll(); - - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("Wine"); } - void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("Wine"); } - void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("Wine glue wrapper"); } - - void getIcon(QIcon *icon) { *icon = QIcon(":/images/wine.png"); } + QString name() { return QString("Wine -- Windows layer for Unix"); } + QIcon icon() { return QIcon(":/images/wine.png"); } }; diff --git a/ftnoir_protocol_wine/ftnoir_protocol_wine_dialog.cpp b/ftnoir_protocol_wine/ftnoir_protocol_wine_dialog.cpp index c092de42..4e3d72ac 100644 --- a/ftnoir_protocol_wine/ftnoir_protocol_wine_dialog.cpp +++ b/ftnoir_protocol_wine/ftnoir_protocol_wine_dialog.cpp @@ -2,7 +2,7 @@ #include #include "facetracknoir/plugin-support.h" -FTControls::FTControls() : QWidget() +FTControls::FTControls() { ui.setupUi( this ); connect(ui.btnOK, SIGNAL(clicked()), this, SLOT(doOK())); diff --git a/ftnoir_protocol_wine/ftnoir_protocol_wine_dll.cpp b/ftnoir_protocol_wine/ftnoir_protocol_wine_dll.cpp index c6e3d433..df26e49f 100644 --- a/ftnoir_protocol_wine/ftnoir_protocol_wine_dll.cpp +++ b/ftnoir_protocol_wine/ftnoir_protocol_wine_dll.cpp @@ -1,14 +1,6 @@ #include "ftnoir_protocol_wine.h" #include "facetracknoir/plugin-support.h" -FTNoIR_ProtocolDll::FTNoIR_ProtocolDll() -{ -} - -FTNoIR_ProtocolDll::~FTNoIR_ProtocolDll() -{ -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new FTNoIR_ProtocolDll; diff --git a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp index fa7bf398..066b782a 100644 --- a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp +++ b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp @@ -117,7 +117,7 @@ Tracker::~Tracker() qDebug() << "all done!"; } -void Tracker::StartTracker(QFrame* videoframe) +void Tracker::start_tracker(QFrame* videoframe) { videoframe->show(); videoWidget = new ArucoVideoWidget(videoframe); @@ -398,7 +398,7 @@ void Tracker::run() } } -void Tracker::GetHeadPoseData(double *data) +void Tracker::data(double *data) { QMutexLocker lck(&mtx); @@ -412,35 +412,10 @@ void Tracker::GetHeadPoseData(double *data) class TrackerDll : public Metadata { - // ITrackerDll interface - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); + QString name() { return QString("aruco -- paper marker tracker"); } + QIcon icon() { return QIcon(":/images/aruco.png"); } }; -//----------------------------------------------------------------------------- -void TrackerDll::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = "aruco"; -} - -void TrackerDll::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = "aruco"; -} - -void TrackerDll::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = ""; -} - -void TrackerDll::getIcon(QIcon *icon) -{ - *icon = QIcon(":/images/aruco.png"); -} - - //----------------------------------------------------------------------------- //#pragma comment(linker, "/export:GetTrackerDll=_GetTrackerDll@0") diff --git a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h index 090cf478..67392d40 100644 --- a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h +++ b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.h @@ -47,8 +47,8 @@ class Tracker : protected QThread, public ITracker public: Tracker(); ~Tracker() override; - void StartTracker(QFrame* frame); - void GetHeadPoseData(double *data); + void start_tracker(QFrame* frame); + void data(double *data); void run(); void reload() { s.b->reload(); } void getRT(cv::Matx33d &r, cv::Vec3d &t); @@ -65,13 +65,13 @@ private: cv::Vec3d t; }; -class TrackerControls : public QWidget, public ITrackerDialog +class TrackerControls : public ITrackerDialog { Q_OBJECT public: TrackerControls(); - void registerTracker(ITracker * x) { tracker = dynamic_cast(x); } - void unRegisterTracker() { tracker = nullptr; } + void register_tracker(ITracker * x) { tracker = static_cast(x); } + void unregister_tracker() { tracker = nullptr; } private: Ui::Form ui; Tracker* tracker; diff --git a/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp.cpp b/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp.cpp index ad505229..0870e67d 100644 --- a/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp.cpp +++ b/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp.cpp @@ -73,13 +73,13 @@ void TrackerImpl::run() { } } -void TrackerImpl::StartTracker(QFrame*) +void TrackerImpl::start_tracker(QFrame*) { (void) sock.bind(QHostAddress::Any, (int) s.port, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint); start(); } -void TrackerImpl::GetHeadPoseData(double *data) +void TrackerImpl::data(double *data) { QMutexLocker foo(&mtx); diff --git a/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp.h b/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp.h index de32e64b..92d42319 100644 --- a/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp.h +++ b/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp.h @@ -27,8 +27,8 @@ class TrackerImpl : public ITracker, private QThread public: TrackerImpl(); ~TrackerImpl() override; - void StartTracker(QFrame *); - void GetHeadPoseData(double *data); + void start_tracker(QFrame *); + void data(double *data); protected: void run() override; private: @@ -39,13 +39,13 @@ private: volatile bool should_quit; }; -class TrackerDialog : public QWidget, public ITrackerDialog +class TrackerDialog : public ITrackerDialog { Q_OBJECT public: TrackerDialog(); - void registerTracker(ITracker *) {} - void unRegisterTracker() {} + void register_tracker(ITracker *) {} + void unregister_tracker() {} private: Ui::UI_freepie_udp_dialog ui; settings s; @@ -57,9 +57,7 @@ private slots: class TrackerMeta : public Metadata { public: - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); + QString name() { return QString("FreePIE UDP receiver"); } + QIcon icon() { return QIcon(":/glovepie.png"); } }; diff --git a/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp_dll.cpp b/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp_dll.cpp index afcc8c6e..3c7fce9a 100644 --- a/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp_dll.cpp +++ b/ftnoir_tracker_freepie-udp/ftnoir_tracker_freepie-udp_dll.cpp @@ -1,26 +1,6 @@ #include "ftnoir_tracker_freepie-udp.h" #include "facetracknoir/plugin-support.h" -void TrackerMeta::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = "FreePIE UDP"; -} - -void TrackerMeta::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = "FreePIE"; -} - -void TrackerMeta::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = "FreePIE UDP"; -} - -void TrackerMeta::getIcon(QIcon *icon) -{ - *icon = QIcon(":/glovepie.png"); -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new TrackerMeta; diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp b/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp index a1cb33a5..13b6aabb 100644 --- a/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp +++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.cpp @@ -161,7 +161,7 @@ Tracker::~Tracker() delete videoWidget; } -void Tracker::StartTracker(QFrame* videoframe) +void Tracker::start_tracker(QFrame* videoframe) { videoframe->show(); videoWidget = new HTVideoWidget(videoframe); @@ -185,7 +185,7 @@ void Tracker::StartTracker(QFrame* videoframe) #endif } -void Tracker::GetHeadPoseData(double *data) +void Tracker::data(double *data) { lck_shm.lock(); shm->timer = 0; @@ -208,27 +208,6 @@ void Tracker::GetHeadPoseData(double *data) lck_shm.unlock(); } -//----------------------------------------------------------------------------- -void TrackerDll::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = "HT face tracker"; -} - -void TrackerDll::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = "HT"; -} - -void TrackerDll::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = ""; -} - -void TrackerDll::getIcon(QIcon *icon) -{ - *icon = QIcon(":/images/ht.png"); -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new TrackerDll; diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht.h b/ftnoir_tracker_ht/ftnoir_tracker_ht.h index ea2cb75e..119ffa7d 100644 --- a/ftnoir_tracker_ht/ftnoir_tracker_ht.h +++ b/ftnoir_tracker_ht/ftnoir_tracker_ht.h @@ -37,8 +37,8 @@ class Tracker : public QObject, public ITracker public: Tracker(); ~Tracker() override; - void StartTracker(QFrame* frame); - void GetHeadPoseData(double *data); + void start_tracker(QFrame* frame); + void data(double *data); void load_settings(ht_config_t* config); private: settings s; @@ -50,13 +50,13 @@ private: }; // Widget that has controls for FTNoIR protocol client-settings. -class TrackerControls : public QWidget, public ITrackerDialog +class TrackerControls : public ITrackerDialog { Q_OBJECT public: explicit TrackerControls(); - void registerTracker(ITracker *) {} - void unRegisterTracker() {} + void register_tracker(ITracker *) {} + void unregister_tracker() {} private: Ui::Form ui; diff --git a/ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h b/ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h index 66e57100..d684f72f 100644 --- a/ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h +++ b/ftnoir_tracker_ht/ftnoir_tracker_ht_dll.h @@ -1,18 +1,7 @@ -/* Copyright (c) 2013 Stanisław Halik - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - */ - #include "facetracknoir/plugin-api.hpp" -//----------------------------------------------------------------------------- class TrackerDll : public Metadata { - // ITrackerDll interface - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); + QString name() { return QString("ht -- face tracker"); } + QIcon icon() { return QIcon(":/images/ht.png"); } }; diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp index b7d078c2..b7f088e9 100644 --- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp +++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.cpp @@ -19,12 +19,12 @@ Hydra_Tracker::~Hydra_Tracker() sixenseExit(); } -void Hydra_Tracker::StartTracker(QFrame*) +void Hydra_Tracker::start_tracker(QFrame*) { sixenseInit(); } -void Hydra_Tracker::GetHeadPoseData(double *data) +void Hydra_Tracker::data(double *data) { sixenseSetActiveBase(0); diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h index 672efa28..a498a1cb 100644 --- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h +++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra.h @@ -15,21 +15,21 @@ class Hydra_Tracker : public ITracker public: Hydra_Tracker(); ~Hydra_Tracker(); - void StartTracker(QFrame *) override; - void GetHeadPoseData(double *data) override; + void start_tracker(QFrame *) override; + void data(double *data) override; volatile bool should_quit; private: settings s; QMutex mutex; }; -class TrackerControls: public QWidget, public ITrackerDialog +class TrackerControls: public ITrackerDialog { Q_OBJECT public: - explicit TrackerControls(); - void registerTracker(ITracker *) {} - void unRegisterTracker() {} + TrackerControls(); + void register_tracker(ITracker *) {} + void unregister_tracker() {} private: settings s; Ui::UIHydraControls ui; @@ -41,9 +41,7 @@ private slots: class FTNoIR_TrackerDll : public Metadata { public: - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); + QString name() { return QString("Razer Hydra -- inertial device"); } + QIcon icon() { return QIcon(":/images/facetracknoir.png"); } }; diff --git a/ftnoir_tracker_hydra/ftnoir_tracker_hydra_dll.cpp b/ftnoir_tracker_hydra/ftnoir_tracker_hydra_dll.cpp index 18efea05..871312d1 100644 --- a/ftnoir_tracker_hydra/ftnoir_tracker_hydra_dll.cpp +++ b/ftnoir_tracker_hydra/ftnoir_tracker_hydra_dll.cpp @@ -3,26 +3,6 @@ #include #include "facetracknoir/plugin-support.h" -void FTNoIR_TrackerDll::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = "Hydra"; -} - -void FTNoIR_TrackerDll::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = "Hydra"; -} - -void FTNoIR_TrackerDll::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = "Hydra"; -} - -void FTNoIR_TrackerDll::getIcon(QIcon *icon) -{ - *icon = QIcon(":/images/facetracknoir.png"); -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new FTNoIR_TrackerDll; diff --git a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp index bb1076dd..97f36b67 100644 --- a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp +++ b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.cpp @@ -25,7 +25,7 @@ void FTNoIR_Tracker::reload() g_pJoystick = nullptr; g_pDI = nullptr; - StartTracker(frame); + start_tracker(frame); } FTNoIR_Tracker::~FTNoIR_Tracker() @@ -81,7 +81,7 @@ static BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance return stop ? DIENUM_STOP : DIENUM_CONTINUE; } -void FTNoIR_Tracker::StartTracker(QFrame* frame) +void FTNoIR_Tracker::start_tracker(QFrame* frame) { QMutexLocker foo(&mtx); this->frame = frame; @@ -144,7 +144,7 @@ fail: qDebug() << "joy init failure"; } -void FTNoIR_Tracker::GetHeadPoseData(double *data) +void FTNoIR_Tracker::data(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 04a933db..03bcc383 100644 --- a/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h +++ b/ftnoir_tracker_joystick/ftnoir_tracker_joystick.h @@ -43,8 +43,8 @@ class FTNoIR_Tracker : public ITracker public: FTNoIR_Tracker(); ~FTNoIR_Tracker(); - void StartTracker(QFrame *frame); - void GetHeadPoseData(double *data); + void start_tracker(QFrame *frame); + void data(double *data); void reload(); LPDIRECTINPUT8 g_pDI; LPDIRECTINPUTDEVICE8 g_pJoystick; @@ -56,17 +56,13 @@ public: static constexpr int AXIS_MAX = 65535; }; -class TrackerControls: public QWidget, public ITrackerDialog +class TrackerControls: public ITrackerDialog { Q_OBJECT public: TrackerControls(); - void registerTracker(ITracker *foo) { - tracker = dynamic_cast(foo); - } - void unRegisterTracker() { - tracker = NULL; - } + void register_tracker(ITracker *foo) {} + void unregister_tracker() {} QList guids; Ui::UIJoystickControls ui; FTNoIR_Tracker* tracker; @@ -79,13 +75,7 @@ private slots: class FTNoIR_TrackerDll : public Metadata { public: - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); -private: - QString trackerFullName; // Trackers' name and description - QString trackerShortName; - QString trackerDescription; + QString name() { return QString("Joystick input"); } + QIcon icon() { return QIcon(":/images/facetracknoir.png"); } }; diff --git a/ftnoir_tracker_joystick/ftnoir_tracker_joystick_dll.cpp b/ftnoir_tracker_joystick/ftnoir_tracker_joystick_dll.cpp index af1a9679..c2328a90 100644 --- a/ftnoir_tracker_joystick/ftnoir_tracker_joystick_dll.cpp +++ b/ftnoir_tracker_joystick/ftnoir_tracker_joystick_dll.cpp @@ -1,27 +1,6 @@ #include "ftnoir_tracker_joystick.h" -#include #include "facetracknoir/plugin-support.h" -void FTNoIR_TrackerDll::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = "Joystick"; -} - -void FTNoIR_TrackerDll::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = "Joystick"; -} - -void FTNoIR_TrackerDll::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = "Joystick"; -} - -void FTNoIR_TrackerDll::getIcon(QIcon *icon) -{ - *icon = QIcon(":/images/facetracknoir.png"); -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new FTNoIR_TrackerDll; diff --git a/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.cpp b/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.cpp index 8bb35314..13669cf9 100644 --- a/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.cpp +++ b/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.cpp @@ -15,38 +15,43 @@ static const int ot_libevdev_joystick_axes[6] = { ABS_X, ABS_Y, ABS_Z, ABS_RX, ABS_RY, ABS_RZ }; -FTNoIR_Tracker::FTNoIR_Tracker() : node(nullptr), success(false) +FTNoIR_Tracker::FTNoIR_Tracker() : node(nullptr), success(false), should_quit(false) { } FTNoIR_Tracker::~FTNoIR_Tracker() { + if (success) + { + should_quit = true; + wait(); + } if (node) libevdev_free(node); if (fd != -1) close(fd); } -void FTNoIR_Tracker::StartTracker(QFrame*) +void FTNoIR_Tracker::start_tracker(QFrame*) { QString node_name = s.device_name; std::string str = (QString("/dev/input/by-id/") + node_name).toStdString(); const char* filename = str.c_str(); - - fd = open(filename, O_NONBLOCK, O_RDWR); + + fd = open(filename, 0, O_RDWR); if (fd == -1) { qDebug() << "error opening" << filename; return; } - + int ret = libevdev_new_from_fd(fd, &node); if (ret) { qDebug() << "libevdev open error" << ret; return; } - + for (int i = 0; i < 6; i++) { // no error checking here, errors result in SIGFPE @@ -54,32 +59,65 @@ void FTNoIR_Tracker::StartTracker(QFrame*) a_max[i] = libevdev_get_abs_maximum(node, ot_libevdev_joystick_axes[i]); qDebug() << "axis limits" << i << a_min[i] << "->" << a_max[i]; } - + success = true; + + QThread::start(); } -void FTNoIR_Tracker::GetHeadPoseData(double *data) +void FTNoIR_Tracker::run() { - if (node) + bool absp = libevdev_has_event_code(node, EV_ABS, ABS_X) && + !libevdev_has_event_code(node, EV_REL, ABS_X); + while (!should_quit) { - while (libevdev_has_event_pending(node) == 1) + struct input_event ev; + int status = libevdev_next_event(node, LIBEVDEV_READ_FLAG_NORMAL, &ev); + if (status != LIBEVDEV_READ_STATUS_SUCCESS) + continue; + if (absp) { - struct input_event ev; - int status = libevdev_next_event(node, LIBEVDEV_READ_FLAG_NORMAL, &ev); - if (status != LIBEVDEV_READ_STATUS_SUCCESS) - continue; if (ev.type == EV_ABS) { - const int val = ev.value, code = ev.code; + const int code = ev.code; for (int i = 0; i < 6; i++) { if (ot_libevdev_joystick_axes[i] == code) { - data[i] = (val - a_min[i])*(i >= Yaw ? 180. : 100.) / a_max[i] - a_min[i]; + QMutexLocker l(&mtx); + values[i] = ev.value; break; } } } + } else { + if (ev.type == EV_REL) + { + const int code = ev.code; + for (int i = 0; i < 6; i++) + { + if (ot_libevdev_joystick_axes[i] == code) + { + QMutexLocker l(&mtx); + values[i] += ev.value; + break; + } + } + } + } + } +} + +void FTNoIR_Tracker::data(double *data) +{ + if (node) + { + QMutexLocker l(&mtx); + for (int i = 0; i < 6; i++) + { + int val = values[i]; + double v = (val - a_min[i])*(i >= Yaw ? 180. : 100.) / a_max[i] - a_min[i]; + data[i] = v; } } } diff --git a/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.h b/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.h index 2474fb35..4251435c 100644 --- a/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.h +++ b/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev.h @@ -4,6 +4,9 @@ #include "facetracknoir/plugin-api.hpp" #include "facetracknoir/options.h" #include "./ui_ftnoir_libevdev.h" +#include +#include +#include using namespace options; struct settings { @@ -15,41 +18,42 @@ struct settings { {} }; -class FTNoIR_Tracker : public ITracker +class FTNoIR_Tracker : public ITracker, private QThread { public: - FTNoIR_Tracker(); + FTNoIR_Tracker(); ~FTNoIR_Tracker() override; - void StartTracker(QFrame *); - void GetHeadPoseData(double *data); + void start_tracker(QFrame *); + void data(double *data); private: + void run() override; struct libevdev* node; int fd; settings s; bool success; - int a_min[6], a_max[6]; + int a_min[6], a_max[6], values[6]; + QMutex mtx; + volatile bool should_quit; }; -class TrackerControls: public QWidget, public ITrackerDialog +class TrackerControls: public ITrackerDialog { Q_OBJECT public: - TrackerControls(); - void registerTracker(ITracker *) {} - void unRegisterTracker() {} + TrackerControls(); + void register_tracker(ITracker *) {} + void unregister_tracker() {} private: - Ui::ui_libevdev_tracker_dialog ui; + Ui::ui_libevdev_tracker_dialog ui; settings s; private slots: - void doOK(); - void doCancel(); + void doOK(); + void doCancel(); }; class FTNoIR_TrackerDll : public Metadata { public: - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); + QString name() { return QString("libevdev joystick input"); } + QIcon icon() { return QIcon(":/images/facetracknoir.png"); } }; diff --git a/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dll.cpp b/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dll.cpp index 6ad13c8c..e6216d7f 100644 --- a/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dll.cpp +++ b/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dll.cpp @@ -1,26 +1,6 @@ #include "ftnoir_tracker_libevdev.h" #include "facetracknoir/plugin-support.h" -void FTNoIR_TrackerDll::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = "Joystick"; -} - -void FTNoIR_TrackerDll::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = "Joystick"; -} - -void FTNoIR_TrackerDll::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = "Joystick"; -} - -void FTNoIR_TrackerDll::getIcon(QIcon *icon) -{ - *icon = QIcon(":/images/facetracknoir.png"); -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new FTNoIR_TrackerDll; diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp b/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp index cb4a6e21..9b3795b9 100644 --- a/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp +++ b/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp @@ -147,12 +147,12 @@ void Tracker::center() { point_tracker.reset(); // we also do a reset here since there is no reset shortkey yet QMutexLocker lock(&mutex); - FrameTrafo X_CM_0 = point_tracker.get_pose(); + FrameTrafo X_CM_0 = point_tracker.pose(); FrameTrafo X_MH(Matx33f::eye(), t_MH); X_GH_0 = R_GC * X_CM_0 * X_MH; } -void Tracker::StartTracker(QFrame *parent_window) +void Tracker::start_tracker(QFrame *parent_window) { this->video_frame = parent_window; video_frame->setAttribute(Qt::WA_NativeWindow); @@ -180,12 +180,12 @@ void Tracker::StopTracker(bool exit) #define THeadPoseData double #endif -void Tracker::GetHeadPoseData(THeadPoseData *data) +void Tracker::data(THeadPoseData *data) { { QMutexLocker lock(&mutex); - FrameTrafo X_CM = point_tracker.get_pose(); + FrameTrafo X_CM = point_tracker.pose(); FrameTrafo X_MH(Matx33f::eye(), t_MH); FrameTrafo X_GH = R_GC * X_CM * X_MH; Matx33f R = X_GH.R * X_GH_0.R.t(); diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt.h b/ftnoir_tracker_pt/ftnoir_tracker_pt.h index fff8d4ab..4295b6f9 100644 --- a/ftnoir_tracker_pt/ftnoir_tracker_pt.h +++ b/ftnoir_tracker_pt/ftnoir_tracker_pt.h @@ -38,15 +38,15 @@ class Tracker : public ITracker, protected QThread public: Tracker(); ~Tracker() override; - void StartTracker(QFrame* parent_window) override; - void GetHeadPoseData(double* data) override; + void start_tracker(QFrame* parent_window) override; + void data(double* data) override; void apply(settings& s); void apply_inner(); void center(); void reset(); // reset the trackers internal state variables - void get_pose(FrameTrafo* X_CM) { QMutexLocker lock(&mutex); *X_CM = point_tracker.get_pose(); } + void pose(FrameTrafo* X_CM) { QMutexLocker lock(&mutex); *X_CM = point_tracker.pose(); } int get_n_points() { QMutexLocker lock(&mutex); return point_extractor.get_points().size(); } void get_cam_info(CamInfo* info) { QMutexLocker lock(&mutex); *info = camera.get_info(); } protected: diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp b/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp index 981cbea0..a15e97b9 100644 --- a/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp +++ b/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp @@ -180,7 +180,7 @@ void TrackerDialog::trans_calib_step() if (tracker) { FrameTrafo X_CM; - tracker->get_pose(&X_CM); + tracker->pose(&X_CM); trans_calib.update(X_CM.R, X_CM.t); cv::Vec3f t_MH = trans_calib.get_estimate(); s.t_MH_x = t_MH[0]; @@ -234,7 +234,7 @@ void TrackerDialog::doCancel() close(); } -void TrackerDialog::registerTracker(ITracker *t) +void TrackerDialog::register_tracker(ITracker *t) { qDebug()<<"TrackerDialog:: Tracker registered"; tracker = static_cast(t); @@ -244,7 +244,7 @@ void TrackerDialog::registerTracker(ITracker *t) //ui.center_button->setEnabled(true); } -void TrackerDialog::unRegisterTracker() +void TrackerDialog::unregister_tracker() { qDebug()<<"TrackerDialog:: Tracker un-registered"; tracker = NULL; diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.h b/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.h index bff12dd0..8b6309da 100644 --- a/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.h +++ b/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.h @@ -23,13 +23,13 @@ //----------------------------------------------------------------------------- // The dialog that shows up when the user presses "Settings" -class TrackerDialog : public QWidget, public ITrackerDialog +class TrackerDialog : public ITrackerDialog { Q_OBJECT public: TrackerDialog(); - void registerTracker(ITracker *tracker) override; - void unRegisterTracker() override; + void register_tracker(ITracker *tracker) override; + void unregister_tracker() override; void save(); void trans_calib_step(); diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt_dll.cpp b/ftnoir_tracker_pt/ftnoir_tracker_pt_dll.cpp index fb756a86..9b73ee37 100644 --- a/ftnoir_tracker_pt/ftnoir_tracker_pt_dll.cpp +++ b/ftnoir_tracker_pt/ftnoir_tracker_pt_dll.cpp @@ -8,28 +8,6 @@ #include "ftnoir_tracker_pt_dll.h" #include -//----------------------------------------------------------------------------- -void TrackerDll::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = "PointTracker 1.1"; -} - -void TrackerDll::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = "PointTracker"; -} - -void TrackerDll::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = "Tracks a 3-point model with know geometry like Freetrack / TrackIR"; -} - -void TrackerDll::getIcon(QIcon *icon) -{ - *icon = QIcon(":/Resources/Logo_IR.png"); -} - - #ifdef OPENTRACK_API # include "facetracknoir/plugin-support.h" extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt_dll.h b/ftnoir_tracker_pt/ftnoir_tracker_pt_dll.h index 50f66a35..d9b9adf6 100644 --- a/ftnoir_tracker_pt/ftnoir_tracker_pt_dll.h +++ b/ftnoir_tracker_pt/ftnoir_tracker_pt_dll.h @@ -19,8 +19,6 @@ class TrackerDll : public ITrackerDll #endif { - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); + QString name() { return QString("PointTracker 1.1"); } + QIcon icon() { return QIcon(":/Resources/Logo_IR.png"); } }; diff --git a/ftnoir_tracker_pt/point_tracker.h b/ftnoir_tracker_pt/point_tracker.h index d65494a4..dac99b87 100644 --- a/ftnoir_tracker_pt/point_tracker.h +++ b/ftnoir_tracker_pt/point_tracker.h @@ -91,7 +91,7 @@ public: // f : (focal length)/(sensor width) // dt : time since last call void track(const std::vector& projected_points, const PointModel& model); - FrameTrafo get_pose() const { return X_CM; } + FrameTrafo pose() const { return X_CM; } void reset(); private: diff --git a/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp b/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp index 68a520ad..9f44c78e 100644 --- a/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp +++ b/ftnoir_tracker_rift/ftnoir_tracker_rift.cpp @@ -17,7 +17,7 @@ Rift_Tracker::~Rift_Tracker() ovr_Shutdown(); } -void Rift_Tracker::StartTracker(QFrame*) +void Rift_Tracker::start_tracker(QFrame*) { ovr_Initialize(); hmd = ovrHmd_Create(0); @@ -34,7 +34,7 @@ void Rift_Tracker::StartTracker(QFrame*) } -void Rift_Tracker::GetHeadPoseData(double *data) +void Rift_Tracker::data(double *data) { if (hmd) { diff --git a/ftnoir_tracker_rift/ftnoir_tracker_rift.h b/ftnoir_tracker_rift/ftnoir_tracker_rift.h index b862555c..db14a536 100644 --- a/ftnoir_tracker_rift/ftnoir_tracker_rift.h +++ b/ftnoir_tracker_rift/ftnoir_tracker_rift.h @@ -27,22 +27,22 @@ class Rift_Tracker : public ITracker public: Rift_Tracker(); ~Rift_Tracker() override; - void StartTracker(QFrame *) override; - void GetHeadPoseData(double *data) override; + void start_tracker(QFrame *) override; + void data(double *data) override; private: double old_yaw; ovrHmd hmd; settings s; }; -class TrackerControls: public QWidget, public ITrackerDialog +class TrackerControls: public ITrackerDialog { Q_OBJECT public: - explicit TrackerControls(); + TrackerControls(); - void registerTracker(ITracker *) {} - void unRegisterTracker() {} + void register_tracker(ITracker *) {} + void unregister_tracker() {} private: Ui::UIRiftControls ui; @@ -55,16 +55,7 @@ private slots: class FTNoIR_TrackerDll : public Metadata { public: - FTNoIR_TrackerDll(); - ~FTNoIR_TrackerDll(); - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); - -private: - QString trackerFullName; // Trackers' name and description - QString trackerShortName; - QString trackerDescription; + QString name() { return QString("Oculus Rift -- HMD"); } + QIcon icon() { return QIcon(":/images/rift_tiny.png"); } }; diff --git a/ftnoir_tracker_rift/ftnoir_tracker_rift_dll.cpp b/ftnoir_tracker_rift/ftnoir_tracker_rift_dll.cpp index 902c8051..fd50f75f 100644 --- a/ftnoir_tracker_rift/ftnoir_tracker_rift_dll.cpp +++ b/ftnoir_tracker_rift/ftnoir_tracker_rift_dll.cpp @@ -3,38 +3,6 @@ #include #include "facetracknoir/plugin-support.h" -FTNoIR_TrackerDll::FTNoIR_TrackerDll() { - //populate the description strings - trackerFullName = "Rift"; - trackerShortName = "Rift"; - trackerDescription = "Rift"; -} - -FTNoIR_TrackerDll::~FTNoIR_TrackerDll() -{ - -} - -void FTNoIR_TrackerDll::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = trackerFullName; -} - -void FTNoIR_TrackerDll::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = trackerShortName; -} - -void FTNoIR_TrackerDll::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = trackerDescription; -} - -void FTNoIR_TrackerDll::getIcon(QIcon *icon) -{ - *icon = QIcon(":/images/rift_tiny.png"); -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new FTNoIR_TrackerDll; diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp b/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp index 136e075d..cbea79a4 100644 --- a/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp @@ -23,13 +23,13 @@ void FTNoIR_Tracker::run() { } } -void FTNoIR_Tracker::StartTracker(QFrame*) +void FTNoIR_Tracker::start_tracker(QFrame*) { (void) sock.bind(QHostAddress::Any, (int) s.port, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint); start(); } -void FTNoIR_Tracker::GetHeadPoseData(double *data) +void FTNoIR_Tracker::data(double *data) { QMutexLocker foo(&mutex); for (int i = 0; i < 6; i++) diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.h b/ftnoir_tracker_udp/ftnoir_tracker_udp.h index a6f2e6d3..1ec63866 100644 --- a/ftnoir_tracker_udp/ftnoir_tracker_udp.h +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.h @@ -21,8 +21,8 @@ class FTNoIR_Tracker : public ITracker, protected QThread public: FTNoIR_Tracker(); ~FTNoIR_Tracker(); - void StartTracker(QFrame *); - void GetHeadPoseData(double *data); + void start_tracker(QFrame *); + void data(double *data); protected: void run() override; private: @@ -33,13 +33,13 @@ private: volatile bool should_quit; }; -class TrackerControls: public QWidget, public ITrackerDialog +class TrackerControls: public ITrackerDialog { Q_OBJECT public: TrackerControls(); - void registerTracker(ITracker *) {} - void unRegisterTracker() {} + void register_tracker(ITracker *) {} + void unregister_tracker() {} private: Ui::UICFTNClientControls ui; settings s; @@ -51,8 +51,6 @@ private slots: class FTNoIR_TrackerDll : public Metadata { public: - void getFullName(QString *strToBeFilled); - void getShortName(QString *strToBeFilled); - void getDescription(QString *strToBeFilled); - void getIcon(QIcon *icon); + QString name() { return QString("UDP sender"); } + QIcon icon() { return QIcon(":/images/facetracknoir.png"); } }; diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp_dialog.cpp b/ftnoir_tracker_udp/ftnoir_tracker_udp_dialog.cpp index 062b1899..0b4dd74e 100644 --- a/ftnoir_tracker_udp/ftnoir_tracker_udp_dialog.cpp +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp_dialog.cpp @@ -1,8 +1,7 @@ #include "ftnoir_tracker_udp.h" #include "facetracknoir/plugin-support.h" -TrackerControls::TrackerControls() : -QWidget() +TrackerControls::TrackerControls() { ui.setupUi( this ); diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp_dll.cpp b/ftnoir_tracker_udp/ftnoir_tracker_udp_dll.cpp index 7cd23552..d6cb5db3 100644 --- a/ftnoir_tracker_udp/ftnoir_tracker_udp_dll.cpp +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp_dll.cpp @@ -1,26 +1,6 @@ #include "ftnoir_tracker_udp.h" #include "facetracknoir/plugin-support.h" -void FTNoIR_TrackerDll::getFullName(QString *strToBeFilled) -{ - *strToBeFilled = "UDP"; -} - -void FTNoIR_TrackerDll::getShortName(QString *strToBeFilled) -{ - *strToBeFilled = "UDP"; -} - -void FTNoIR_TrackerDll::getDescription(QString *strToBeFilled) -{ - *strToBeFilled = "UDP"; -} - -void FTNoIR_TrackerDll::getIcon(QIcon *icon) -{ - *icon = QIcon(":/images/facetracknoir.png"); -} - extern "C" OPENTRACK_EXPORT Metadata* GetMetadata() { return new FTNoIR_TrackerDll; -- cgit v1.2.3