From 9213cfd0c23bfd9b9fb26f2db9cd25d1a272a875 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Thu, 30 May 2013 15:48:00 -0700 Subject: [PATCH] Revert to simply adding the Eulers. --- interface/src/Avatar.cpp | 7 +++---- interface/src/Head.cpp | 21 --------------------- interface/src/Head.h | 3 --- 3 files changed, 3 insertions(+), 28 deletions(-) diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index d1537b2145..370e3b0107 100644 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -134,10 +134,9 @@ void Avatar::updateHeadFromGyros(float deltaTime, SerialInterface* serialInterfa float measuredRollRate = serialInterface->getLastRollRate(); // Update avatar head position based on measured gyro rates - _head.addOrientation( - measuredPitchRate * AMPLIFY_PITCH * deltaTime, - measuredYawRate * AMPLIFY_YAW * deltaTime, - measuredRollRate * AMPLIFY_ROLL * deltaTime); + _head.addPitch(measuredPitchRate * AMPLIFY_PITCH * deltaTime); + _head.addYaw(measuredYawRate * AMPLIFY_YAW * deltaTime); + _head.addRoll(measuredRollRate * AMPLIFY_ROLL * deltaTime); // Update head lean distance based on accelerometer data glm::vec3 headRotationRates(_head.getPitch(), _head.getYaw(), _head.getRoll()); diff --git a/interface/src/Head.cpp b/interface/src/Head.cpp index ff1fd12b78..d1ee699dc8 100644 --- a/interface/src/Head.cpp +++ b/interface/src/Head.cpp @@ -307,27 +307,6 @@ void Head::renderMohawk(glm::vec3 cameraPosition) { } } -void Head::addOrientation(float pitch, float yaw, float roll) { - if (_lookingInMirror) { - yaw = -yaw; - roll = -roll; - } - setOrientation(getOrientation() * glm::quat(glm::radians(glm::vec3(pitch, yaw, roll)))); -} - -void Head::setOrientation(const glm::quat& orientation) { - glm::vec3 eulerAngles = safeEulerAngles(glm::inverse(glm::quat(glm::radians(_bodyRotation))) * orientation); - if (_lookingInMirror) { - setPitch(eulerAngles.x); - setYaw(-eulerAngles.y); - setRoll(-eulerAngles.z); - } else { - setPitch(eulerAngles.x); - setYaw(eulerAngles.y); - setRoll(eulerAngles.z); - } -} - glm::quat Head::getOrientation() const { return glm::quat(glm::radians(_bodyRotation)) * glm::quat(glm::radians(_lookingInMirror ? glm::vec3(_pitch, -_yaw, -_roll) : glm::vec3(_pitch, _yaw, _roll))); diff --git a/interface/src/Head.h b/interface/src/Head.h index 265bab51f1..f49e127caf 100644 --- a/interface/src/Head.h +++ b/interface/src/Head.h @@ -45,9 +45,6 @@ public: void setAverageLoudness(float averageLoudness ) { _averageLoudness = averageLoudness; } void setReturnToCenter (bool returnHeadToCenter) { _returnHeadToCenter = returnHeadToCenter; } void setRenderLookatVectors(bool onOff ) { _renderLookatVectors = onOff; } - void setOrientation(const glm::quat& orientation); - - void addOrientation(float pitch, float yaw, float roll); glm::quat getOrientation() const; glm::quat getWorldAlignedOrientation () const;