77 return deg::NodeType::PARAMETERS;
79 return deg::NodeType::ANIMATION;
81 return deg::NodeType::SEQUENCER;
94 const char *description)
105 const char *description)
120 const char *description)
123 &collection->
id, deg::NodeType::GEOMETRY, deg::OperationCode::GEOMETRY_EVAL_DONE};
134 if (ob->type ==
OB_EMPTY && ob->instance_collection !=
nullptr) {
143 const char *description)
146 &
simulation->
id, deg::NodeType::SIMULATION, deg::OperationCode::SIMULATION_EVAL);
153 const char *description)
165 const char *description)
175 const char *bone_name,
177 const char *description)
188 const char *description)
200 if (rel !=
nullptr) {
204 fprintf(stderr,
"Error in point cache relation from %s to ^%s.\n", object->
id.
name,
id->
name);
210 const char *description)
213 id, deg::NodeType::GENERIC_DATABLOCK, deg::OperationCode::GENERIC_DATABLOCK_UPDATE);
219 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)
void DEG_add_node_tree_relation(DepsNodeHandle *node_handle, bNodeTree *node_tree, const char *description)
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)
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