diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-04-05 19:03:36 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-04-05 19:03:36 +0300 |
commit | 9b8a92b874d30657753d9714d65ec6f16478c2ed (patch) | |
tree | 6de251d6c23884134d3a8a0acc11adffb53ca2ea /source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc | |
parent | ea0e2f9bd3849b73a29ef1805988fdb0484bc9d4 (diff) |
Depsgraph: Pull indirect dependencies via pchan constraints
Was missing ID looper for pchan constraint.
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc | 7 |
1 files changed, 6 insertions, 1 deletions
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 4e1de16235c..9cfe83e0087 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc @@ -49,6 +49,7 @@ extern "C" { #include "BKE_action.h" #include "BKE_armature.h" +#include "BKE_constraint.h" } /* extern "C" */ #include "DEG_depsgraph.h" @@ -68,7 +69,11 @@ void DepsgraphNodeBuilder::build_pose_constraints(Object *object, bPoseChannel *pchan, int pchan_index) { - /* create node for constraint stack */ + /* Pull indirect dependencies via constraints. */ + BuilderWalkUserData data; + data.builder = this; + BKE_constraints_id_loop(&pchan->constraints, constraint_walk, &data); + /* Create node for constraint stack. */ add_operation_node(&object->id, DEG_NODE_TYPE_BONE, pchan->name, function_bind(BKE_pose_constraints_evaluate, _1, |