summaryrefslogtreecommitdiffhomepage
path: root/logic/pipeline.hpp
diff options
context:
space:
mode:
authorGO63-samara <go1@list.ru>2021-07-31 02:38:25 +0400
committerStanislaw Halik <sthalik@misaki.pl>2021-08-18 19:47:13 +0200
commitc5a652e9ad60f1ab0ee586d578daa0be79359b28 (patch)
tree310e2ea5460e8702cc5dec9b96e7031b94fde0a0 /logic/pipeline.hpp
parent2fc5d7b3490e41952e0e335841d7d7f72a3b76a9 (diff)
Adding a choice of centering method
Diffstat (limited to 'logic/pipeline.hpp')
-rw-r--r--logic/pipeline.hpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/logic/pipeline.hpp b/logic/pipeline.hpp
index fc1f2060..80d4d8a7 100644
--- a/logic/pipeline.hpp
+++ b/logic/pipeline.hpp
@@ -20,6 +20,7 @@
#include <atomic>
#include <cmath>
+#include <QQuaternion>
#include "export.hpp"
@@ -99,8 +100,9 @@ class OTR_LOGIC_EXPORT pipeline : private QThread
reltrans rel;
struct {
- rmat inv_R = rmat::eye();
- Pose_ T;
+ Pose P;
+ QQuaternion QC = QQuaternion(1,0,0,0);
+ QQuaternion QR = QQuaternion(1,0,0,0);
} center;
time_units::ms backlog_time {};
@@ -111,8 +113,8 @@ class OTR_LOGIC_EXPORT pipeline : private QThread
void logic();
void run() override;
bool maybe_enable_center_on_tracking_started();
- void maybe_set_center_pose(const Pose& value, bool own_center_logic);
- Pose apply_center(Pose value) const;
+ void maybe_set_center_pose(const centering_state mode, const Pose& value, bool own_center_logic);
+ Pose apply_center(const centering_state mode, Pose value) const;
std::tuple<Pose, Pose, vec6_bool> get_selected_axis_values(const Pose& newpose) const;
Pose maybe_apply_filter(const Pose& value) const;
Pose apply_reltrans(Pose value, vec6_bool disabled, bool centerp);