diff --git a/CGII/src/IKViewer.cpp b/CGII/src/IKViewer.cpp index 9f7586e..c4b1100 100644 --- a/CGII/src/IKViewer.cpp +++ b/CGII/src/IKViewer.cpp @@ -170,6 +170,9 @@ void IKViewer::calculate_kinematic_chain(Bone *base, Bone *endeffector) Bone *bone = base_tree[base_index]; + std::shared_ptr inverse_static = std::shared_ptr(new StaticTransform(inv(bone->calculate_transform_prev_to_current_without_dofs()))); + kinematic_chain.emplace_front(inverse_static); + //for (int i = bone->dof_count() - 1; i >= 0; i--) for (int i = 0; i < bone->dof_count(); i++) { @@ -178,9 +181,6 @@ void IKViewer::calculate_kinematic_chain(Bone *base, Bone *endeffector) kinematic_chain.emplace_front(inverse_dof); } - std::shared_ptr inverse_static = std::shared_ptr(new StaticTransform(inv(bone->calculate_transform_prev_to_current_without_dofs()))); - kinematic_chain.emplace_front(inverse_static); - base_index--; } else