Commit: c9f3dbd5f8874438871dab69d53bc42d5753f50d
Author: Sergey Sharybin
Date:   Mon Jan 26 20:02:09 2015 +0500
Branches: depsgraph_refactor
https://developer.blender.org/rBc9f3dbd5f8874438871dab69d53bc42d5753f50d

Depsgraph: Whole IK chain depends on the solver result

This is the only way we can make sure all needed calculations are done
to the time BKE_pose_bone_done() is called.

===================================================================

M       source/blender/depsgraph/intern/depsgraph_build_relations.cpp

===================================================================

diff --git a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp 
b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
index 8b4e97a..c1f9023 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
@@ -1132,6 +1132,9 @@ void DepsgraphRelationBuilder::build_ik_pose(Object *ob,
                if (parchan != pchan) {
                        OperationKey parent_key(&ob->id, DEPSNODE_TYPE_BONE, 
parchan->name, DEG_OPCODE_BONE_READY);
                        add_relation(parent_key, solver_key, 
DEPSREL_TYPE_TRANSFORM, "IK Chain Parent");
+
+                       OperationKey done_key(&ob->id, DEPSNODE_TYPE_BONE, 
parchan->name, DEG_OPCODE_BONE_DONE);
+                       add_relation(solver_key, done_key, 
DEPSREL_TYPE_TRANSFORM, "IK Chain Result");
                }
                parchan->flag |= POSE_DONE;
 
@@ -1200,6 +1203,9 @@ void DepsgraphRelationBuilder::build_splineik_pose(Object 
*ob,
                if (parchan != pchan) {
                        OperationKey parent_key(&ob->id, DEPSNODE_TYPE_BONE, 
parchan->name, DEG_OPCODE_BONE_READY);
                        add_relation(parent_key, solver_key, 
DEPSREL_TYPE_TRANSFORM, "Spline IK Solver Update");
+
+                       OperationKey done_key(&ob->id, DEPSNODE_TYPE_BONE, 
parchan->name, DEG_OPCODE_BONE_DONE);
+                       add_relation(solver_key, done_key, 
DEPSREL_TYPE_TRANSFORM, "IK Chain Result");
                }
                parchan->flag |= POSE_DONE;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to