Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/depsgraph_build.cc
| Show First 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | |||||
| #include "intern/node/deg_node.h" | #include "intern/node/deg_node.h" | ||||
| #include "intern/node/deg_node_component.h" | #include "intern/node/deg_node_component.h" | ||||
| #include "intern/node/deg_node_id.h" | #include "intern/node/deg_node_id.h" | ||||
| #include "intern/node/deg_node_operation.h" | #include "intern/node/deg_node_operation.h" | ||||
| #include "intern/depsgraph_registry.h" | #include "intern/depsgraph_registry.h" | ||||
| #include "intern/depsgraph_relation.h" | #include "intern/depsgraph_relation.h" | ||||
| #include "intern/depsgraph_tag.h" | |||||
| #include "intern/depsgraph_type.h" | #include "intern/depsgraph_type.h" | ||||
| /* ****************** */ | /* ****************** */ | ||||
| /* External Build API */ | /* External Build API */ | ||||
| namespace deg = blender::deg; | namespace deg = blender::deg; | ||||
| static deg::NodeType deg_build_scene_component_type(eDepsSceneComponentType component) | static deg::NodeType deg_build_scene_component_type(eDepsSceneComponentType component) | ||||
| Show All 31 Lines | void DEG_add_object_relation(DepsNodeHandle *node_handle, | ||||
| const char *description) | const char *description) | ||||
| { | { | ||||
| deg::NodeType type = deg::nodeTypeFromObjectComponent(component); | deg::NodeType type = deg::nodeTypeFromObjectComponent(component); | ||||
| deg::ComponentKey comp_key(&object->id, type); | deg::ComponentKey comp_key(&object->id, type); | ||||
| deg::DepsNodeHandle *deg_node_handle = get_node_handle(node_handle); | deg::DepsNodeHandle *deg_node_handle = get_node_handle(node_handle); | ||||
| deg_node_handle->builder->add_node_handle_relation(comp_key, deg_node_handle, description); | deg_node_handle->builder->add_node_handle_relation(comp_key, deg_node_handle, description); | ||||
| } | } | ||||
| bool DEG_object_has_geometry_component(Object *object) | |||||
| { | |||||
| return deg::geometry_tag_to_component(&object->id) != deg::NodeType::UNDEFINED; | |||||
| } | |||||
| void DEG_add_collection_geometry_relation(DepsNodeHandle *node_handle, | void DEG_add_collection_geometry_relation(DepsNodeHandle *node_handle, | ||||
| Collection *collection, | Collection *collection, | ||||
| const char *description) | const char *description) | ||||
| { | { | ||||
| deg::OperationKey operation_key{ | deg::OperationKey operation_key{ | ||||
| &collection->id, deg::NodeType::GEOMETRY, deg::OperationCode::GEOMETRY_EVAL_DONE}; | &collection->id, deg::NodeType::GEOMETRY, deg::OperationCode::GEOMETRY_EVAL_DONE}; | ||||
| deg::DepsNodeHandle *deg_node_handle = get_node_handle(node_handle); | deg::DepsNodeHandle *deg_node_handle = get_node_handle(node_handle); | ||||
| deg_node_handle->builder->add_node_handle_relation(operation_key, deg_node_handle, description); | deg_node_handle->builder->add_node_handle_relation(operation_key, deg_node_handle, description); | ||||
| ▲ Show 20 Lines • Show All 197 Lines • Show Last 20 Lines | |||||