diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2012-12-29 23:43:08 +0400 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2012-12-29 23:43:08 +0400 |
commit | 0028418fe85c737c2122285d5968a432091bf0d2 (patch) | |
tree | 82006c82153be77bc2edf1728e51d0479b1e0ea2 /source/blender/editors/transform/transform_generics.c | |
parent | e9c7aaaa3ccd83ee0bb6076f1f9fb2ac5653187f (diff) |
fix bug #33275: iTaSC ignores location of disconnected bones when they are changed in pose mode.
Disconnected bones can be translated in pose mode but this translation
cannot be applied to the iTaSC representation of the armature because
there is no joint associated with it. As a result, moving disconnected
bones had no effect. The bug fix is in two parts:
1) manual or rna change in the armature pose will cause automatic
rebuilding of the iTaSC scene
2) the iTaSC scene is now built from the current pose instead of
armature rest pose
Diffstat (limited to 'source/blender/editors/transform/transform_generics.c')
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 8f1d6a7b46e..2591c61c5ab 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -61,6 +61,8 @@ #include "BIF_gl.h" #include "BIF_glutil.h" +#include "BIK_api.h" + #include "BKE_animsys.h" #include "BKE_action.h" #include "BKE_armature.h" @@ -847,6 +849,8 @@ static void recalcData_view3d(TransInfo *t) /* old optimize trick... this enforces to bypass the depgraph */ if (!(arm->flag & ARM_DELAYDEFORM)) { DAG_id_tag_update(&ob->id, OB_RECALC_DATA); /* sets recalc flags */ + /* transformation of pose may affect IK tree, make sure it is rebuilt */ + BIK_clear_data(ob->pose); } else BKE_pose_where_is(t->scene, ob); |