[Bf-blender-cvs] [263efb0b9a7] master: Depsgraph: Correction for previous fix
Sergey Sharybin
noreply at git.blender.org
Mon Jan 29 15:07:16 CET 2018
Commit: 263efb0b9a736a1529d8c6fce37e56bdb8d7866b
Author: Sergey Sharybin
Date: Mon Jan 29 15:06:44 2018 +0100
Branches: master
https://developer.blender.org/rB263efb0b9a736a1529d8c6fce37e56bdb8d7866b
Depsgraph: Correction for previous fix
Original fix only worked when there is one custom property.
===================================================================
M source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
M source/blender/depsgraph/intern/builder/deg_builder_relations.cc
M source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
===================================================================
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
index 177a0ec4358..29cd72c13fd 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
@@ -274,6 +274,7 @@ void DepsgraphNodeBuilder::build_proxy_rig(Object *object)
DEG_OPCODE_POSE_INIT);
op_node->set_as_entry();
+
BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
op_node = add_operation_node(&object->id, DEG_NODE_TYPE_BONE, pchan->name,
NULL, DEG_OPCODE_BONE_LOCAL);
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 107ba8dc9a1..85ea2c0a8e4 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -535,14 +535,6 @@ void DepsgraphRelationBuilder::build_object(Object *object)
ComponentKey ob_pose_key(&object->id, DEG_NODE_TYPE_EVAL_POSE);
ComponentKey proxy_pose_key(&object->proxy->id, DEG_NODE_TYPE_EVAL_POSE);
add_relation(ob_pose_key, proxy_pose_key, "Proxy");
-
- ComponentKey ob_parameters_key(&object->id,
- DEG_NODE_TYPE_PARAMETERS);
- ComponentKey proxy_parameters_key(&object->proxy->id,
- DEG_NODE_TYPE_PARAMETERS);
- add_relation(ob_parameters_key,
- proxy_parameters_key,
- "Proxy Parameters");
}
/* Object dupligroup. */
if (object->dup_group != NULL) {
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
index b0e99799824..4a822fe7477 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
@@ -444,6 +444,7 @@ void DepsgraphRelationBuilder::build_rig(Object *object)
void DepsgraphRelationBuilder::build_proxy_rig(Object *object)
{
+ Object *proxy_from = object->proxy_from;
OperationKey pose_init_key(&object->id,
DEG_NODE_TYPE_EVAL_POSE,
DEG_OPCODE_POSE_INIT);
@@ -466,6 +467,20 @@ void DepsgraphRelationBuilder::build_proxy_rig(Object *object)
add_relation(bone_local_key, bone_ready_key, "Local -> Ready");
add_relation(bone_ready_key, bone_done_key, "Ready -> Done");
add_relation(bone_done_key, pose_done_key, "Bone Done -> Pose Done");
+
+ if (pchan->prop != NULL) {
+ OperationKey bone_parameters(&object->id,
+ DEG_NODE_TYPE_PARAMETERS,
+ DEG_OPCODE_PARAMETERS_EVAL,
+ pchan->name);
+ OperationKey from_bone_parameters(&proxy_from->id,
+ DEG_NODE_TYPE_PARAMETERS,
+ DEG_OPCODE_PARAMETERS_EVAL,
+ pchan->name);
+ add_relation(from_bone_parameters,
+ bone_parameters,
+ "Proxy Bone Parameters");
+ }
}
}
More information about the Bf-blender-cvs
mailing list