From a203ad70579fc52b4bae7cb58d4a59febfa4036a Mon Sep 17 00:00:00 2001 From: hodasemi Date: Sun, 17 Jun 2018 23:06:27 +0200 Subject: [PATCH] Fix endeffector location when parent is transformed --- CGII/src/IKViewer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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