Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/ikplugin')
-rw-r--r--source/blender/ikplugin/intern/itasc_plugin.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/source/blender/ikplugin/intern/itasc_plugin.cpp b/source/blender/ikplugin/intern/itasc_plugin.cpp
index b6fceabdb46..3dcb9e462b9 100644
--- a/source/blender/ikplugin/intern/itasc_plugin.cpp
+++ b/source/blender/ikplugin/intern/itasc_plugin.cpp
@@ -1121,12 +1121,14 @@ static IK_Scene* convert_tree(Scene *blscene, Object *ob, bPoseChannel *pchan)
KDL::Frame tip(iTaSC::F_identity);
Vector3 *fl = bone->bone_mat;
- KDL::Frame head(KDL::Rotation(
- fl[0][0], fl[1][0], fl[2][0],
- fl[0][1], fl[1][1], fl[2][1],
- fl[0][2], fl[1][2], fl[2][2]),
- KDL::Vector(bone->head[0], bone->head[1], bone->head[2])*scale);
-
+ KDL::Rotation brot(
+ fl[0][0], fl[1][0], fl[2][0],
+ fl[0][1], fl[1][1], fl[2][1],
+ fl[0][2], fl[1][2], fl[2][2]);
+ KDL::Vector bpos(bone->head[0], bone->head[1], bone->head[2]);
+ bpos = bpos*scale;
+ KDL::Frame head(brot, bpos);
+
// rest pose length of the bone taking scaling into account
length= bone->length*scale;
parent = (a > 0) ? ikscene->channels[tree->parent[a]].tail : root;