diff options
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 | 68 |
1 files changed, 0 insertions, 68 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 e8dda7b8de4..0e196450f60 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc @@ -306,72 +306,4 @@ void DepsgraphNodeBuilder::build_rig(Object *object) } } -void DepsgraphNodeBuilder::build_proxy_rig(Object *object) -{ - bArmature *armature = (bArmature *)object->data; - OperationNode *op_node; - Object *object_cow = get_cow_datablock(object); - /* Sanity check. */ - BLI_assert(object->pose != nullptr); - /* Armature. */ - build_armature(armature); - /* speed optimization for animation lookups */ - BKE_pose_channels_hash_ensure(object->pose); - if (object->pose->flag & POSE_CONSTRAINTS_NEED_UPDATE_FLAGS) { - BKE_pose_update_constraint_flags(object->pose); - } - op_node = add_operation_node( - &object->id, - NodeType::EVAL_POSE, - OperationCode::POSE_INIT, - [object_cow](::Depsgraph *depsgraph) { BKE_pose_eval_proxy_init(depsgraph, object_cow); }); - op_node->set_as_entry(); - - int pchan_index = 0; - LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { - op_node = add_operation_node( - &object->id, NodeType::BONE, pchan->name, OperationCode::BONE_LOCAL); - op_node->set_as_entry(); - /* Bone is ready for solvers. */ - add_operation_node(&object->id, NodeType::BONE, pchan->name, OperationCode::BONE_READY); - /* Bone is fully evaluated. */ - op_node = add_operation_node(&object->id, - NodeType::BONE, - pchan->name, - OperationCode::BONE_DONE, - [object_cow, pchan_index](::Depsgraph *depsgraph) { - BKE_pose_eval_proxy_copy_bone( - depsgraph, object_cow, pchan_index); - }); - op_node->set_as_exit(); - - /* Custom properties. */ - if (pchan->prop != nullptr) { - build_idproperties(pchan->prop); - add_operation_node( - &object->id, NodeType::PARAMETERS, OperationCode::PARAMETERS_EVAL, nullptr, pchan->name); - } - - /* Custom shape. */ - if (pchan->custom != nullptr) { - /* NOTE: The relation builder will ensure visibility of the custom shape object. */ - build_object(-1, pchan->custom, DEG_ID_LINKED_INDIRECTLY, false); - } - - pchan_index++; - } - op_node = add_operation_node(&object->id, - NodeType::EVAL_POSE, - OperationCode::POSE_CLEANUP, - [object_cow](::Depsgraph *depsgraph) { - BKE_pose_eval_proxy_cleanup(depsgraph, object_cow); - }); - op_node = add_operation_node( - &object->id, - NodeType::EVAL_POSE, - OperationCode::POSE_DONE, - [object_cow](::Depsgraph *depsgraph) { BKE_pose_eval_proxy_done(depsgraph, object_cow); }); - op_node->set_as_exit(); -} - } // namespace blender::deg |