[Bf-blender-cvs] [e79a4d5] depsgraph_refactor: Depsgraph: Correction to the previous commit
Sergey Sharybin
noreply at git.blender.org
Thu Nov 20 17:22:31 CET 2014
Commit: e79a4d5e6c618bf2afdd2a38777fb72425cdd9be
Author: Sergey Sharybin
Date: Thu Nov 20 17:21:35 2014 +0100
Branches: depsgraph_refactor
https://developer.blender.org/rBe79a4d5e6c618bf2afdd2a38777fb72425cdd9be
Depsgraph: Correction to the previous commit
For until granular updates uses proper intermediate storage need to handle
dependencies to bones from self a bit different.
===================================================================
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 8b9be6b..5b77b25 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
@@ -771,8 +771,15 @@ void DepsgraphRelationBuilder::build_ik_pose(Object *ob, bPoseChannel *pchan, bC
*/
ComponentKey pose_key(&ob->id, DEPSNODE_TYPE_EVAL_POSE);
if ((data->tar->type == OB_ARMATURE) && (data->subtarget[0])) {
- ComponentKey target_key(&data->tar->id, DEPSNODE_TYPE_BONE, data->subtarget);
- add_relation(target_key, pose_key, DEPSREL_TYPE_TRANSFORM, con->name);
+ /* TODO(sergey): This is only for until granular update stores intermediate result. */
+ if (data->tar != ob) {
+ ComponentKey target_key(&data->tar->id, DEPSNODE_TYPE_BONE, data->subtarget);
+ add_relation(target_key, pose_key, DEPSREL_TYPE_TRANSFORM, con->name);
+ }
+ else {
+ ComponentKey target_key(&data->tar->id, DEPSNODE_TYPE_BONE, data->subtarget);
+ add_relation(target_key, solver_key, DEPSREL_TYPE_TRANSFORM, con->name);
+ }
}
else {
ComponentKey target_key(&data->tar->id, DEPSNODE_TYPE_TRANSFORM);
More information about the Bf-blender-cvs
mailing list