diff options
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 54 |
1 files changed, 6 insertions, 48 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index cb43ef685d4..26dd7bc1363 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -555,7 +555,7 @@ void DepsgraphRelationBuilder::build_id(ID *id) case ID_MB: case ID_CU: case ID_LT: - case ID_HA: + case ID_CV: case ID_PT: case ID_VO: case ID_GD: @@ -787,9 +787,6 @@ void DepsgraphRelationBuilder::build_object(Object *object) (object->pd->tex != nullptr)) { build_texture(object->pd->tex); } - /* Proxy object to copy from. */ - build_object_proxy_from(object); - build_object_proxy_group(object); /* Object dupligroup. */ if (object->instance_collection != nullptr) { build_collection(nullptr, object, object->instance_collection); @@ -804,31 +801,6 @@ void DepsgraphRelationBuilder::build_object(Object *object) build_parameters(&object->id); } -void DepsgraphRelationBuilder::build_object_proxy_from(Object *object) -{ - if (object->proxy_from == nullptr) { - return; - } - /* Object is linked here (comes from the library). */ - build_object(object->proxy_from); - ComponentKey ob_transform_key(&object->proxy_from->id, NodeType::TRANSFORM); - ComponentKey proxy_transform_key(&object->id, NodeType::TRANSFORM); - add_relation(ob_transform_key, proxy_transform_key, "Proxy Transform"); -} - -void DepsgraphRelationBuilder::build_object_proxy_group(Object *object) -{ - if (ELEM(object->proxy_group, nullptr, object->proxy)) { - return; - } - /* Object is local here (local in .blend file, users interacts with it). */ - build_object(object->proxy_group); - OperationKey proxy_group_eval_key( - &object->proxy_group->id, NodeType::TRANSFORM, OperationCode::TRANSFORM_EVAL); - OperationKey transform_eval_key(&object->id, NodeType::TRANSFORM, OperationCode::TRANSFORM_EVAL); - add_relation(proxy_group_eval_key, transform_eval_key, "Proxy Group Transform"); -} - void DepsgraphRelationBuilder::build_object_from_layer_relations(Object *object) { OperationKey object_from_layer_entry_key( @@ -877,7 +849,7 @@ void DepsgraphRelationBuilder::build_object_data(Object *object) case OB_MBALL: case OB_LATTICE: case OB_GPENCIL: - case OB_HAIR: + case OB_CURVES: case OB_POINTCLOUD: case OB_VOLUME: { build_object_data_geometry(object); @@ -895,12 +867,7 @@ void DepsgraphRelationBuilder::build_object_data(Object *object) break; } case OB_ARMATURE: - if (ID_IS_LINKED(object) && object->proxy_from != nullptr) { - build_proxy_rig(object); - } - else { - build_rig(object); - } + build_rig(object); break; case OB_LAMP: build_object_data_light(object); @@ -1663,18 +1630,9 @@ void DepsgraphRelationBuilder::build_driver_variables(ID *id, FCurve *fcu) } build_id(target_id); build_driver_id_property(target_id, dtar->rna_path); - /* Look up the proxy - matches dtar_id_ensure_proxy_from during evaluation. */ Object *object = nullptr; if (GS(target_id->name) == ID_OB) { object = (Object *)target_id; - if (object->proxy_from != nullptr) { - /* Redirect the target to the proxy, like in evaluation. */ - object = object->proxy_from; - target_id = &object->id; - /* Prepare the redirected target. */ - build_id(target_id); - build_driver_id_property(target_id, dtar->rna_path); - } } /* Special handling for directly-named bones. */ if ((dtar->flag & DTAR_FLAG_STRUCT_REF) && (object && object->type == OB_ARMATURE) && @@ -2034,7 +1992,7 @@ void DepsgraphRelationBuilder::build_particle_settings(ParticleSettings *part) "Particle Texture -> Particle Reset", RELATION_FLAG_FLUSH_USER_EDIT_ONLY); add_relation(texture_key, particle_settings_eval_key, "Particle Texture -> Particle Eval"); - /* TODO(sergey): Consider moving texture space handling to an own + /* TODO(sergey): Consider moving texture space handling to its own * function. */ if (mtex->texco == TEXCO_OBJECT && mtex->object != nullptr) { ComponentKey object_key(&mtex->object->id, NodeType::TRANSFORM); @@ -2343,7 +2301,7 @@ void DepsgraphRelationBuilder::build_object_data_geometry_datablock(ID *obdata) } break; } - case ID_HA: + case ID_CV: break; case ID_PT: break; @@ -2967,7 +2925,7 @@ void DepsgraphRelationBuilder::build_copy_on_write_relations(IDNode *id_node) continue; } int rel_flag = (RELATION_FLAG_NO_FLUSH | RELATION_FLAG_GODMODE); - if ((ELEM(id_type, ID_ME, ID_HA, ID_PT, ID_VO) && comp_node->type == NodeType::GEOMETRY) || + if ((ELEM(id_type, ID_ME, ID_CV, ID_PT, ID_VO) && comp_node->type == NodeType::GEOMETRY) || (id_type == ID_CF && comp_node->type == NodeType::CACHE)) { rel_flag &= ~RELATION_FLAG_NO_FLUSH; } |