diff options
-rw-r--r-- | opentrack-logic/tracker.cpp | 8 | ||||
-rw-r--r-- | opentrack/simple-mat.cpp | 8 | ||||
-rw-r--r-- | opentrack/simple-mat.hpp | 2 |
3 files changed, 10 insertions, 8 deletions
diff --git a/opentrack-logic/tracker.cpp b/opentrack-logic/tracker.cpp index e8d8a522..aec9e654 100644 --- a/opentrack-logic/tracker.cpp +++ b/opentrack-logic/tracker.cpp @@ -194,7 +194,7 @@ void Tracker::logic() for (int i = 0; i < 3; i++) { - value(i) = tmp[i]; + value(i) = tmp(i); value(i+3) = euler(i); } } @@ -223,9 +223,11 @@ void Tracker::logic() value(Pitch) * d2r, value(Roll) * d2r); t_compensate(euler_to_rmat(&value_[0]), - value, - value, + value_, + value_, s.tcomp_tz); + for (int i = 3; i < 6; i++) + value(i) = value_(i); } for (int i = 0; i < 6; i++) diff --git a/opentrack/simple-mat.cpp b/opentrack/simple-mat.cpp index 6a5421c1..ed372299 100644 --- a/opentrack/simple-mat.cpp +++ b/opentrack/simple-mat.cpp @@ -30,11 +30,11 @@ euler_t rmat_to_euler(const dmat<3, 3>& R) } // tait-bryan angles, not euler -rmat euler_to_rmat(const double* input) +rmat euler_to_rmat(const euler_t input) { - const double H = input[0]; - const double P = input[1]; - const double B = input[2]; + const double H = input(0); + const double P = input(1); + const double B = input(2); const auto c1 = cos(H); const auto s1 = sin(H); diff --git a/opentrack/simple-mat.hpp b/opentrack/simple-mat.hpp index 04cd38ee..93d0d0c9 100644 --- a/opentrack/simple-mat.hpp +++ b/opentrack/simple-mat.hpp @@ -268,7 +268,7 @@ template<int y, int x> using dmat = Mat<double, y, x>; using rmat = dmat<3, 3>; using euler_t = dmat<3, 1>; -rmat OPENTRACK_API_EXPORT euler_to_rmat(const double* input); +rmat OPENTRACK_API_EXPORT euler_to_rmat(const euler_t input); // http://stackoverflow.com/a/18436193 euler_t OPENTRACK_API_EXPORT rmat_to_euler(const dmat<3, 3>& R); |