From 4b4523579aa00a51d7eb91109a7146bf2ecde6be Mon Sep 17 00:00:00 2001 From: Brad Davis <bdavis@saintandreas.org> Date: Mon, 2 Jan 2017 14:41:35 -0800 Subject: [PATCH] Fix mirrored animations --- libraries/animation/src/AnimSkeleton.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libraries/animation/src/AnimSkeleton.cpp b/libraries/animation/src/AnimSkeleton.cpp index f3d54fd16d..350fe8a534 100644 --- a/libraries/animation/src/AnimSkeleton.cpp +++ b/libraries/animation/src/AnimSkeleton.cpp @@ -32,10 +32,10 @@ AnimSkeleton::AnimSkeleton(const std::vector<FBXJoint>& joints) { int AnimSkeleton::nameToJointIndex(const QString& jointName) const { auto itr = _jointIndicesByName.find(jointName); - if (_jointIndicesByName.end() == itr) { - return -1; + if (_jointIndicesByName.end() != itr) { + return itr.value(); } - return itr.value(); + return -1; } int AnimSkeleton::getNumJoints() const { @@ -202,6 +202,10 @@ void AnimSkeleton::buildSkeletonFromJoints(const std::vector<FBXJoint>& joints) } } + for (int i = 0; i < _jointsSize; i++) { + _jointIndicesByName[_joints[i].name] = i; + } + // build mirror map. _nonMirroredIndices.clear(); _mirrorMap.reserve(_jointsSize); @@ -225,10 +229,6 @@ void AnimSkeleton::buildSkeletonFromJoints(const std::vector<FBXJoint>& joints) _mirrorMap.push_back(i); } } - - for (int i = 0; i < _jointsSize; i++) { - _jointIndicesByName[_joints[i].name] = i; - } } void AnimSkeleton::dump(bool verbose) const {