76 const char *description)
86 const char *description)
96 const char *description)
98 if (scene->
camera !=
nullptr) {
109 if (!
ELEM(marker->camera,
nullptr, scene->
camera)) {
113 node_handle,
reinterpret_cast<Camera *
>(marker->camera->data), description);
122 const char *description)
137 const char *description)
151 if (ob->type ==
OB_EMPTY && ob->instance_collection !=
nullptr) {
160 const char *description)
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);
258 return reinterpret_cast<Depsgraph *
>(relation_builder->
getGraph());
302 DEG_DEBUG_PRINTF(graph, TAG,
"%s: Tagging relations for update.\n", __func__);
312 if (id_node !=
nullptr) {
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.
BPy_StructRNA * depsgraph
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,...)
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
@ NTREE_GEOMETRY_PREPROCESS
@ GENERIC_DATABLOCK_UPDATE
@ NTREE_GEOMETRY_PREPROCESS
NodeType nodeTypeFromObjectComponent(eDepsObjectComponentType component_type)
@ DEG_UPDATE_SOURCE_RELATIONS
DepsgraphRelationBuilder * builder
IDNode * find_id_node(const ID *id) const
bool need_update_relations