From 5de762361a70f12e560eb12ae6c1f12c22abc447 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Fri, 8 Aug 2014 08:20:42 -0700 Subject: [PATCH] remove cleanup of Model::_jointStates tree the cleanup causes crashes and broken models --- interface/src/renderer/Model.cpp | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/interface/src/renderer/Model.cpp b/interface/src/renderer/Model.cpp index 73b65b6d41..a915406f8e 100644 --- a/interface/src/renderer/Model.cpp +++ b/interface/src/renderer/Model.cpp @@ -188,34 +188,8 @@ void Model::initSkinProgram(ProgramObject& program, Model::SkinLocations& locati QVector Model::createJointStates(const FBXGeometry& geometry) { QVector jointStates; - QVector roots; - roots.fill(-1, geometry.joints.size()); for (int i = 0; i < geometry.joints.size(); ++i) { const FBXJoint& joint = geometry.joints[i]; - int parentIndex = joint.parentIndex; - - // Some models may have multiple roots (?!), but these are causing problems in - // the Avatar Ragdoll simulation, so we prune them out of the JointState tree. - int rootIndex = 0; - if (parentIndex == -1) { - if (i != 0) { - // skip other root - continue; - } - } else { - rootIndex = roots[parentIndex]; - if (rootIndex == -1) { - roots[i] = parentIndex; - rootIndex = parentIndex; - } else { - roots[i] = rootIndex; - } - if (rootIndex != 0) { - // skip child of other root - continue; - } - } - // store a pointer to the FBXJoint in the JointState JointState state; state.setFBXJoint(&joint);