61 return deg::NodeType::PARAMETERS;
63 return deg::NodeType::ANIMATION;
65 return deg::NodeType::SEQUENCER;
78 const char *description)
89 const char *description)
104 const char *description)
107 &collection->
id, deg::NodeType::GEOMETRY, deg::OperationCode::GEOMETRY_EVAL_DONE};
118 if (ob->type ==
OB_EMPTY && ob->instance_collection !=
nullptr) {
127 const char *description)
130 &
simulation->
id, deg::NodeType::SIMULATION, deg::OperationCode::SIMULATION_EVAL);
137 const char *description)
140 &
node_tree->id, deg::NodeType::NTREE_OUTPUT, deg::OperationCode::NTREE_OUTPUT);
143 ntree_output_key, deg_node_handle, description);
149 const char *description)
159 const char *bone_name,
161 const char *description)
172 const char *description)
184 if (rel !=
nullptr) {
188 fprintf(stderr,
"Error in point cache relation from %s to ^%s.\n", object->
id.
name,
id->
name);
194 const char *description)
197 id, deg::NodeType::GENERIC_DATABLOCK, deg::OperationCode::GENERIC_DATABLOCK_UPDATE);
203 const char *description)
#define FOREACH_COLLECTION_OBJECT_RECURSIVE_END
#define FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN(_collection, _object)
static uint8 component(Color32 c, uint i)
struct Depsgraph Depsgraph
@ 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.
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
Platform independent time functions.
Utility defines for timing/benchmarks.
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)
void add_modifier_to_transform_relation(const DepsNodeHandle *handle, const char *description)
#define DEG_GLOBAL_DEBUG_PRINTF(type,...)
#define DEG_DEBUG_PRINTF(depsgraph, type,...)
const Depsgraph * depsgraph
static deg::DepsNodeHandle * get_node_handle(DepsNodeHandle *node_handle)
void DEG_relations_tag_update(Main *bmain)
void DEG_graph_build_for_compositor_preview(Depsgraph *graph, bNodeTree *nodetree)
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_tag_relations_update(Depsgraph *graph)
void DEG_add_modifier_to_transform_relation(struct DepsNodeHandle *node_handle, const char *description)
void DEG_add_generic_id_relation(struct DepsNodeHandle *node_handle, struct ID *id, const char *description)
void DEG_add_scene_relation(DepsNodeHandle *node_handle, Scene *scene, eDepsSceneComponentType component, const char *description)
void DEG_add_customdata_mask(struct DepsNodeHandle *node_handle, struct Object *object, const CustomData_MeshMasks *masks)
void DEG_add_special_eval_flag(struct DepsNodeHandle *node_handle, ID *id, uint32_t flag)
bool DEG_object_has_geometry_component(Object *object)
void DEG_graph_build_from_ids(Depsgraph *graph, ID **ids, const int num_ids)
void DEG_add_object_relation(DepsNodeHandle *node_handle, Object *object, eDepsObjectComponentType component, const char *description)
struct ID * DEG_get_id_from_handle(struct DepsNodeHandle *node_handle)
void DEG_add_bone_relation(DepsNodeHandle *node_handle, Object *object, const char *bone_name, eDepsObjectComponentType component, const char *description)
void DEG_graph_build_for_all_objects(struct Depsgraph *graph)
void DEG_graph_build_for_render_pipeline(Depsgraph *graph)
void DEG_add_object_pointcache_relation(struct DepsNodeHandle *node_handle, struct Object *object, eDepsObjectComponentType component, const char *description)
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)
struct Depsgraph * DEG_get_graph_from_handle(struct DepsNodeHandle *node_handle)
static deg::NodeType deg_build_scene_component_type(eDepsSceneComponentType component)
void DEG_add_simulation_relation(DepsNodeHandle *node_handle, Simulation *simulation, const char *description)
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