59 return deg::NodeType::PARAMETERS;
61 return deg::NodeType::ANIMATION;
63 return deg::NodeType::SEQUENCER;
65 return deg::NodeType::UNDEFINED;
76 const char *description)
86 const char *description)
96 const char *description)
113 node_handle,
reinterpret_cast<Camera *
>(marker->camera->data), description);
122 const char *description)
137 const char *description)
140 &collection->
id, deg::NodeType::GEOMETRY, deg::OperationCode::GEOMETRY_EVAL_DONE};
151 if (ob->type ==
OB_EMPTY && ob->instance_collection !=
nullptr) {
160 const char *description)
163 &node_tree->
id, deg::NodeType::NTREE_OUTPUT, deg::OperationCode::NTREE_OUTPUT);
165 deg::NodeType::NTREE_GEOMETRY_PREPROCESS,
166 deg::OperationCode::NTREE_GEOMETRY_PREPROCESS);
169 ntree_output_key, deg_node_handle, description);
177 const char *description)
187 const char *bone_name,
189 const char *description)
200 const char *description)
212 if (rel !=
nullptr) {
216 fprintf(stderr,
"Error in point cache relation from %s to ^%s.\n", object->
id.
name, id->
name);
223 id, deg::NodeType::GENERIC_DATABLOCK, deg::OperationCode::GENERIC_DATABLOCK_UPDATE);
258 return reinterpret_cast<Depsgraph *
>(relation_builder->
getGraph());
313 graph_id_tag_update(deg_graph->
bmain,
#define FOREACH_COLLECTION_OBJECT_RECURSIVE_END
#define FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN(_collection, _object)
#define LISTBASE_FOREACH(type, var, list)
@ DEG_SCENE_COMP_ANIMATION
@ DEG_SCENE_COMP_PARAMETERS
@ DEG_SCENE_COMP_SEQUENCER
Object groups, one object can be in many groups at once.
Object is a sort of wrapper for general info.
Relation * add_depends_on_transform_relation(ID *id, const KeyTo &key_to, const char *description, int flags=0)
void add_customdata_mask(Object *object, const DEGCustomDataMeshMasks &customdata_masks)
Relation * add_node_handle_relation(const KeyType &key_from, const DepsNodeHandle *handle, const char *description, int flags=0)
void add_special_eval_flag(ID *id, uint32_t flag)
Relation * add_relation(const KeyFrom &key_from, const KeyTo &key_to, const char *description, int flags=0)
#define DEG_GLOBAL_DEBUG_PRINTF(type,...)
#define DEG_DEBUG_PRINTF(depsgraph, type,...)
const Depsgraph * depsgraph
void DEG_add_scene_camera_relation(DepsNodeHandle *node_handle, Scene *scene, eDepsObjectComponentType component, const char *description)
void DEG_add_generic_id_relation(DepsNodeHandle *node_handle, ID *id, const char *description)
ID * DEG_get_id_from_handle(DepsNodeHandle *node_handle)
void DEG_relations_tag_update(Main *bmain)
void DEG_add_customdata_mask(DepsNodeHandle *node_handle, Object *object, const CustomData_MeshMasks *masks)
void DEG_graph_build_for_compositor_preview(Depsgraph *graph, bNodeTree *nodetree)
void DEG_add_special_eval_flag(DepsNodeHandle *node_handle, ID *id, uint32_t flag)
static deg::DepsNodeHandle * get_node_handle(DepsNodeHandle *node_handle)
void DEG_add_depends_on_transform_relation(DepsNodeHandle *node_handle, const char *description)
void DEG_graph_build_from_collection(Depsgraph *graph, Collection *collection)
void DEG_add_collection_geometry_relation(DepsNodeHandle *node_handle, Collection *collection, const char *description)
void DEG_add_object_cache_relation(DepsNodeHandle *node_handle, CacheFile *cache_file, eDepsObjectComponentType component, const char *description)
void DEG_graph_build_from_ids(Depsgraph *graph, blender::Span< ID * > ids)
void DEG_graph_tag_relations_update(Depsgraph *graph)
void DEG_add_scene_relation(DepsNodeHandle *node_handle, Scene *scene, eDepsSceneComponentType component, const char *description)
void DEG_add_object_pointcache_relation(DepsNodeHandle *node_handle, Object *object, eDepsObjectComponentType component, const char *description)
bool DEG_object_has_geometry_component(Object *object)
void DEG_add_object_relation(DepsNodeHandle *node_handle, Object *object, eDepsObjectComponentType component, const char *description)
void DEG_graph_build_for_all_objects(Depsgraph *graph)
void DEG_add_bone_relation(DepsNodeHandle *node_handle, Object *object, const char *bone_name, eDepsObjectComponentType component, const char *description)
void DEG_graph_build_for_render_pipeline(Depsgraph *graph)
Depsgraph * DEG_get_graph_from_handle(DepsNodeHandle *node_handle)
void DEG_graph_relations_update(Depsgraph *graph)
void DEG_add_collection_geometry_customdata_mask(DepsNodeHandle *node_handle, Collection *collection, const CustomData_MeshMasks *masks)
void DEG_graph_build_from_view_layer(Depsgraph *graph)
void DEG_add_node_tree_output_relation(DepsNodeHandle *node_handle, bNodeTree *node_tree, const char *description)
static void add_camera_parameters_relation(DepsNodeHandle *node_handle, Camera *camera, const char *description)
static deg::NodeType deg_build_scene_component_type(eDepsSceneComponentType component)
Span< Depsgraph * > get_all_registered_graphs(Main *bmain)
NodeType geometry_tag_to_component(const ID *id)
@ RELATION_FLAG_FLUSH_USER_EDIT_ONLY
NodeType nodeTypeFromObjectComponent(eDepsObjectComponentType component_type)
@ DEG_UPDATE_SOURCE_RELATIONS
DepsgraphRelationBuilder * builder
IDNode * find_id_node(const ID *id) const
bool need_update_relations