summaryrefslogtreecommitdiffhomepage
path: root/logic
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-11-25 09:13:14 +0100
committerStanislaw Halik <sthalik@misaki.pl>2016-11-25 09:13:14 +0100
commit97f80ccc1fed421665ee49745e230a7fb63f226a (patch)
tree9de66fe34bab9a55d2f10ba5e6694167390d70c4 /logic
parent50d3b377880049aebfd69c4c6f956b0f8d5326dd (diff)
Revert "logic, gui: remove relative translation disable axis"opentrack-2.3-rc99p15
This reverts commit 9fb8b48027ac8c03628955da2b186de88745e348.
Diffstat (limited to 'logic')
-rw-r--r--logic/main-settings.hpp10
-rw-r--r--logic/tracker.cpp16
2 files changed, 20 insertions, 6 deletions
diff --git a/logic/main-settings.hpp b/logic/main-settings.hpp
index ecb7cd5c..53c5fae1 100644
--- a/logic/main-settings.hpp
+++ b/logic/main-settings.hpp
@@ -67,9 +67,11 @@ struct main_settings
{
bundle b, b_map;
axis_opts a_x, a_y, a_z, a_yaw, a_pitch, a_roll;
- value<bool> tcomp_p, tcomp_disable_tz;
+ value<bool> tcomp_p, tcomp_disable_tx, tcomp_disable_ty, tcomp_disable_tz;
+ value<bool> tcomp_disable_src_yaw, tcomp_disable_src_pitch, tcomp_disable_src_roll;
value<bool> tray_enabled, tray_start;
value<int> camera_yaw, camera_pitch, camera_roll;
+ value<bool> use_camera_offset_from_centering;
value<bool> center_at_startup;
value<int> center_method;
key_opts key_start_tracking, key_stop_tracking, key_toggle_tracking, key_restart_tracking;
@@ -88,12 +90,18 @@ struct main_settings
a_pitch(b, b_map, "pitch", Pitch),
a_roll(b, b_map, "roll", Roll),
tcomp_p(b, "compensate-translation", true),
+ tcomp_disable_tx(b, "compensate-translation-disable-x-axis", false),
+ tcomp_disable_ty(b, "compensate-translation-disable-y-axis", false),
tcomp_disable_tz(b, "compensate-translation-disable-z-axis", false),
+ tcomp_disable_src_yaw(b, "compensate-translation-disable-source-yaw", false),
+ tcomp_disable_src_pitch(b, "compensate-translation-disable-source-pitch", false),
+ tcomp_disable_src_roll(b, "compensate-translation-disable-source-roll", false),
tray_enabled(b, "use-system-tray", false),
tray_start(b, "start-in-tray", false),
camera_yaw(b, "camera-yaw", 0),
camera_pitch(b, "camera-pitch", 0),
camera_roll(b, "camera-roll", 0),
+ use_camera_offset_from_centering(b, "use-camera-offset-from-centering", false),
center_at_startup(b, "center-at-startup", true),
center_method(b, "centering-method", true),
key_start_tracking(b, "start-tracking"),
diff --git a/logic/tracker.cpp b/logic/tracker.cpp
index 5733166a..a5892dd0 100644
--- a/logic/tracker.cpp
+++ b/logic/tracker.cpp
@@ -300,15 +300,21 @@ void Tracker::logic()
if (s.tcomp_p && !get(f_tcomp_disabled))
{
+ const double tcomp_c[] =
+ {
+ double(!s.tcomp_disable_src_yaw),
+ double(!s.tcomp_disable_src_pitch),
+ double(!s.tcomp_disable_src_roll),
+ };
euler_t value_(value(TX), value(TY), value(TZ));
t_compensate(euler_to_rmat(
- euler_t(value(Yaw) * d2r,
- value(Pitch) * d2r,
- value(Roll) * d2r)),
+ euler_t(value(Yaw) * d2r * tcomp_c[0],
+ value(Pitch) * d2r * tcomp_c[1],
+ value(Roll) * d2r * tcomp_c[2])),
value_,
value_,
- false,
- false,
+ s.tcomp_disable_tx,
+ s.tcomp_disable_ty,
s.tcomp_disable_tz);
if (is_nan(value_))
nanp = true;