From 848daed37e7bab0eeec0eacc0333d7b7859cf3a6 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 13 Apr 2017 13:51:37 +0200 Subject: tracker/steamvr: use doubles for intermediate computation --- tracker-steamvr/steamvr.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tracker-steamvr') diff --git a/tracker-steamvr/steamvr.cpp b/tracker-steamvr/steamvr.cpp index d6691cfd..fac0346a 100644 --- a/tracker-steamvr/steamvr.cpp +++ b/tracker-steamvr/steamvr.cpp @@ -263,8 +263,9 @@ bool steamvr::center() void steamvr::matrix_to_euler(double& yaw, double& pitch, double& roll, const vr::HmdMatrix34_t& result) { using std::atan2; + using std::sqrt; - yaw = atan2((double)-result.m[2][0], sqrt((double)result.m[2][1] * result.m[2][1] + result.m[2][2] * result.m[2][2])); + yaw = atan2((double)-result.m[2][0], sqrt(double(result.m[2][1]) * result.m[2][1] + result.m[2][2] * result.m[2][2])); pitch = atan2((double)result.m[2][1], (double)result.m[2][2]); roll = atan2((double)result.m[1][0], (double)result.m[0][0]); -- cgit v1.2.3