From f90844449d33b0c86bb355b2dbd8dffc22290665 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Fri, 23 Oct 2015 13:16:05 -0700 Subject: [PATCH] fix angular velocity --- interface/src/Application.cpp | 2 -- interface/src/avatar/MyAvatar.cpp | 8 ++++---- libraries/avatars/src/HandData.h | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index dd04b89b66..0a634425bc 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4851,10 +4851,8 @@ void Application::setPalmData(Hand* hand, const controller::Pose& pose, float de angularVelocity = glm::normalize(glm::axis(deltaRotation)); angularVelocity *= (rotationAngle / deltaTime); palm->setRawAngularVelocity(angularVelocity); - palm->setRawDeltaRotation(deltaRotation); // FIXME - do we really want both RawAngularVelocity and RawDeltaRotation } else { palm->setRawAngularVelocity(glm::vec3(0.0f)); - palm->setRawDeltaRotation(glm::quat()); } if (controller::InputDevice::getLowVelocityFilter()) { diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 09f702eb83..6e08ca24cf 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -600,28 +600,28 @@ controller::Pose MyAvatar::getLeftHandPose() const { const int LEFT_HAND = 0; auto palmData = getActivePalm(LEFT_HAND); return palmData ? controller::Pose(palmData->getPosition(), palmData->getRotation(), - palmData->getVelocity(), palmData->getRawDeltaRotation()) : controller::Pose(); + palmData->getVelocity(), palmData->getRawAngularVelocityAsQuat()) : controller::Pose(); } controller::Pose MyAvatar::getRightHandPose() const { const int RIGHT_HAND = 1; auto palmData = getActivePalm(RIGHT_HAND); return palmData ? controller::Pose(palmData->getPosition(), palmData->getRotation(), - palmData->getVelocity(), palmData->getRawDeltaRotation()) : controller::Pose(); + palmData->getVelocity(), palmData->getRawAngularVelocityAsQuat()) : controller::Pose(); } controller::Pose MyAvatar::getLeftHandTipPose() const { const int LEFT_HAND = 0; auto palmData = getActivePalm(LEFT_HAND); return palmData ? controller::Pose(palmData->getTipPosition(), palmData->getRotation(), - palmData->getTipVelocity(), palmData->getRawDeltaRotation()) : controller::Pose(); + palmData->getTipVelocity(), palmData->getRawAngularVelocityAsQuat()) : controller::Pose(); } controller::Pose MyAvatar::getRightHandTipPose() const { const int RIGHT_HAND = 1; auto palmData = getActivePalm(RIGHT_HAND); return palmData ? controller::Pose(palmData->getTipPosition(), palmData->getRotation(), - palmData->getTipVelocity(), palmData->getRawDeltaRotation()) : controller::Pose(); + palmData->getTipVelocity(), palmData->getRawAngularVelocityAsQuat()) : controller::Pose(); } // virtual diff --git a/libraries/avatars/src/HandData.h b/libraries/avatars/src/HandData.h index a194620f3a..855da63870 100644 --- a/libraries/avatars/src/HandData.h +++ b/libraries/avatars/src/HandData.h @@ -104,8 +104,7 @@ public: void setRawAngularVelocity(const glm::vec3& angularVelocity) { _rawAngularVelocity = angularVelocity; } const glm::vec3& getRawAngularVelocity() const { return _rawAngularVelocity; } - void setRawDeltaRotation(glm::quat rawDeltaRotation) { _rawDeltaRotation = rawDeltaRotation; } // FIXME, is this really what we want? - glm::quat getRawDeltaRotation() const { return _rawDeltaRotation; } + glm::quat getRawAngularVelocityAsQuat() const { return glm::quat(_rawAngularVelocity); } void addToPosition(const glm::vec3& delta);