From fc77d6cd404384a6c898c6c2d309fdbecb940752 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Mon, 7 Dec 2015 17:08:36 -0800 Subject: [PATCH] Fix grab behavior --- interface/src/avatar/AvatarActionHold.cpp | 15 ++++++++------- interface/src/avatar/AvatarActionHold.h | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/interface/src/avatar/AvatarActionHold.cpp b/interface/src/avatar/AvatarActionHold.cpp index e0ea226a53..fab838aa68 100644 --- a/interface/src/avatar/AvatarActionHold.cpp +++ b/interface/src/avatar/AvatarActionHold.cpp @@ -65,11 +65,6 @@ std::shared_ptr AvatarActionHold::getTarget(glm::quat& rotation, glm::ve } } - if (!isRightHand) { - static const glm::quat yFlip = glm::angleAxis(PI, Vectors::UNIT_Y); - palmRotation *= yFlip; // Match right hand frame of reference - } - rotation = palmRotation * _relativeRotation; position = palmPosition + rotation * _relativePosition; }); @@ -218,14 +213,20 @@ bool AvatarActionHold::updateArguments(QVariantMap arguments) { ok = true; kinematic = EntityActionInterface::extractBooleanArgument("hold", arguments, "kinematic", ok, false); if (!ok) { - _kinematic = false; + kinematic = _kinematic; } ok = true; kinematicSetVelocity = EntityActionInterface::extractBooleanArgument("hold", arguments, "kinematicSetVelocity", ok, false); if (!ok) { - _kinematicSetVelocity = false; + kinematicSetVelocity = _kinematicSetVelocity; + } + + ok = true; + ignoreIK = EntityActionInterface::extractBooleanArgument("hold", arguments, "ignoreIK", ok, false); + if (!ok) { + ignoreIK = _ignoreIK; } if (somethingChanged || diff --git a/interface/src/avatar/AvatarActionHold.h b/interface/src/avatar/AvatarActionHold.h index 8a6948dde2..63f30a75d9 100644 --- a/interface/src/avatar/AvatarActionHold.h +++ b/interface/src/avatar/AvatarActionHold.h @@ -50,7 +50,7 @@ private: bool _kinematic { false }; bool _kinematicSetVelocity { false }; bool _previousSet { false }; - bool _ignoreIK { true }; + bool _ignoreIK { false }; glm::vec3 _previousPositionalTarget; glm::quat _previousRotationalTarget;