diff options
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc | 61 |
1 files changed, 0 insertions, 61 deletions
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 856e37ee473..377ef9fc357 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc @@ -471,65 +471,4 @@ void DepsgraphRelationBuilder::build_rig(Object *object) } } -void DepsgraphRelationBuilder::build_proxy_rig(Object *object) -{ - bArmature *armature = (bArmature *)object->data; - Object *proxy_from = object->proxy_from; - build_armature(armature); - OperationKey pose_init_key(&object->id, NodeType::EVAL_POSE, OperationCode::POSE_INIT); - OperationKey pose_done_key(&object->id, NodeType::EVAL_POSE, OperationCode::POSE_DONE); - OperationKey pose_cleanup_key(&object->id, NodeType::EVAL_POSE, OperationCode::POSE_CLEANUP); - LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { - build_idproperties(pchan->prop); - OperationKey bone_local_key( - &object->id, NodeType::BONE, pchan->name, OperationCode::BONE_LOCAL); - OperationKey bone_ready_key( - &object->id, NodeType::BONE, pchan->name, OperationCode::BONE_READY); - OperationKey bone_done_key(&object->id, NodeType::BONE, pchan->name, OperationCode::BONE_DONE); - OperationKey from_bone_done_key( - &proxy_from->id, NodeType::BONE, pchan->name, OperationCode::BONE_DONE); - add_relation(pose_init_key, bone_local_key, "Pose Init -> Bone Local"); - 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_cleanup_key, "Bone Done -> Pose Cleanup"); - add_relation(bone_done_key, pose_done_key, "Bone Done -> Pose Done", RELATION_FLAG_GODMODE); - /* Make sure bone in the proxy is not done before its FROM is done. */ - if (check_pchan_has_bbone(object, pchan)) { - OperationKey from_bone_segments_key( - &proxy_from->id, NodeType::BONE, pchan->name, OperationCode::BONE_SEGMENTS); - add_relation(from_bone_segments_key, - bone_done_key, - "Bone Segments -> Bone Done", - RELATION_FLAG_GODMODE); - } - else { - add_relation(from_bone_done_key, bone_done_key, "Bone Done -> Bone Done"); - } - - /* Parent relation: even though the proxy bone itself doesn't need - * the parent bone, some users expect the parent to be ready if the - * bone itself is (e.g. for computing the local space matrix). - */ - if (pchan->parent != nullptr) { - OperationKey parent_key( - &object->id, NodeType::BONE, pchan->parent->name, OperationCode::BONE_DONE); - add_relation(parent_key, bone_done_key, "Parent Bone -> Child Bone"); - } - - if (pchan->prop != nullptr) { - OperationKey bone_parameters( - &object->id, NodeType::PARAMETERS, OperationCode::PARAMETERS_EVAL, pchan->name); - OperationKey from_bone_parameters( - &proxy_from->id, NodeType::PARAMETERS, OperationCode::PARAMETERS_EVAL, pchan->name); - add_relation(from_bone_parameters, bone_parameters, "Proxy Bone Parameters"); - } - - /* Custom shape. */ - if (pchan->custom != nullptr) { - build_object(pchan->custom); - add_visibility_relation(&pchan->custom->id, &armature->id); - } - } -} - } // namespace blender::deg |