Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/builder/deg_builder_relations.cc
| Show First 20 Lines • Show All 651 Lines • ▼ Show 20 Lines | void DepsgraphRelationBuilder::build_object(Base *base, Object *object) | ||||
| build_animdata(&object->id); | build_animdata(&object->id); | ||||
| /* Object data. */ | /* Object data. */ | ||||
| build_object_data(object); | build_object_data(object); | ||||
| /* Particle systems. */ | /* Particle systems. */ | ||||
| if (object->particlesystem.first != NULL) { | if (object->particlesystem.first != NULL) { | ||||
| build_particle_systems(object); | build_particle_systems(object); | ||||
| } | } | ||||
| /* Proxy object to copy from. */ | /* Proxy object to copy from. */ | ||||
| if (object->proxy_from != NULL) { | build_object_proxy_from(object); | ||||
| /* Object is linked here (comes from the library). */ | build_object_proxy_group(object); | ||||
| build_object(NULL, 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"); | |||||
| } | |||||
| if (object->proxy_group != NULL && object->proxy_group != object->proxy) { | |||||
| /* Object is local here (local in .blend file, users interacts with it). */ | |||||
| build_object(NULL, object->proxy_group); | |||||
| OperationKey proxy_group_eval_key( | |||||
| &object->proxy_group->id, NodeType::TRANSFORM, OperationCode::TRANSFORM_EVAL); | |||||
| add_relation(proxy_group_eval_key, transform_eval_key, "Proxy Group Transform"); | |||||
| } | |||||
| /* Object dupligroup. */ | /* Object dupligroup. */ | ||||
| if (object->instance_collection != NULL) { | if (object->instance_collection != NULL) { | ||||
| build_collection(NULL, object, object->instance_collection); | build_collection(NULL, object, object->instance_collection); | ||||
| } | } | ||||
| /* Point caches. */ | /* Point caches. */ | ||||
| build_object_pointcache(object); | build_object_pointcache(object); | ||||
| /* Synchronization back to original object. */ | /* Synchronization back to original object. */ | ||||
| OperationKey synchronize_key( | OperationKey synchronize_key( | ||||
| &object->id, NodeType::SYNCHRONIZATION, OperationCode::SYNCHRONIZE_TO_ORIGINAL); | &object->id, NodeType::SYNCHRONIZATION, OperationCode::SYNCHRONIZE_TO_ORIGINAL); | ||||
| add_relation(final_transform_key, synchronize_key, "Synchronize to Original"); | add_relation(final_transform_key, synchronize_key, "Synchronize to Original"); | ||||
| /* Parameters. */ | /* Parameters. */ | ||||
| build_parameters(&object->id); | build_parameters(&object->id); | ||||
| } | } | ||||
| void DepsgraphRelationBuilder::build_object_proxy_from(Object *object) | |||||
| { | |||||
| if (object->proxy_from == NULL) { | |||||
| return; | |||||
| } | |||||
| /* Object is linked here (comes from the library). */ | |||||
| build_object(NULL, 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 (object->proxy_group == NULL || object->proxy_group == object->proxy) { | |||||
| return; | |||||
| } | |||||
| /* Object is local here (local in .blend file, users interacts with it). */ | |||||
| build_object(NULL, 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_flags(Base *base, Object *object) | void DepsgraphRelationBuilder::build_object_flags(Base *base, Object *object) | ||||
| { | { | ||||
| if (base == NULL) { | if (base == NULL) { | ||||
| return; | return; | ||||
| } | } | ||||
| OperationKey view_layer_done_key( | OperationKey view_layer_done_key( | ||||
| &scene_->id, NodeType::LAYER_COLLECTIONS, OperationCode::VIEW_LAYER_EVAL); | &scene_->id, NodeType::LAYER_COLLECTIONS, OperationCode::VIEW_LAYER_EVAL); | ||||
| OperationKey object_flags_key( | OperationKey object_flags_key( | ||||
| ▲ Show 20 Lines • Show All 1,953 Lines • Show Last 20 Lines | |||||