diff options
author | Stéphane Lenclud <github@lenclud.com> | 2019-04-19 16:55:50 +0200 |
---|---|---|
committer | Stéphane Lenclud <github@lenclud.com> | 2019-04-19 16:58:51 +0200 |
commit | abcbf64cf1d2ee09f27d82f38bfb632e2d2268b9 (patch) | |
tree | 2dc081a4ff92d322bb05bf0074d97f6c67463616 /tracker-easy/tracker-easy.h | |
parent | bfe47f03615b4e5a28df91547d804c5819d981f2 (diff) |
EasyTracker: Now using a timer.
Diffstat (limited to 'tracker-easy/tracker-easy.h')
-rw-r--r-- | tracker-easy/tracker-easy.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/tracker-easy/tracker-easy.h b/tracker-easy/tracker-easy.h index a84d725e..05fdb94a 100644 --- a/tracker-easy/tracker-easy.h +++ b/tracker-easy/tracker-easy.h @@ -39,11 +39,9 @@ namespace EasyTracker using namespace numeric_types; - struct Tracker : QThread, ITracker + struct Tracker : public QObject, ITracker { - // We had problem where Qt slots would not get disconnected upon object destruction. - // Issue seems to be gone now even without Q_OBJECT declaration, go figure. - //Q_OBJECT + Q_OBJECT public: friend class Dialog; @@ -54,20 +52,26 @@ namespace EasyTracker module_status start_tracker(QFrame* parent_window) override; void data(double* data) override; bool center() override; - + + private slots: + void Tick(); + + private: void CreateModelFromSettings(); void CreateCameraIntrinsicsMatrices(); void ProcessFrame(); - // From QThread - void run() override; + // bool maybe_reopen_camera(); void set_fov(int value); + void SetFps(int aFps); + void DoSetFps(int aFps); QMutex camera_mtx; - + QThread iThread; + QTimer iTicker; Settings iSettings; @@ -91,7 +95,7 @@ namespace EasyTracker // Statistics Timer iTimer; - Timer iFpsTimer; + Timer iFpsTimer; int iFrameCount = 0; int iSkippedFrameCount = 0; int iFps = 0; |