Blender  V3.3
DEG_depsgraph_build.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2013 Blender Foundation. All rights reserved. */
3 
10 #pragma once
11 
12 /* ************************************************* */
13 
14 /* Dependency Graph */
15 struct Depsgraph;
16 
17 /* ------------------------------------------------ */
18 
19 struct CacheFile;
20 struct Collection;
22 struct ID;
23 struct Main;
24 struct Object;
25 struct Scene;
26 struct Simulation;
27 struct bNodeTree;
28 
29 #include "BLI_sys_types.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 /* Graph Building -------------------------------- */
36 
39 
44 
50 
57 void DEG_graph_build_for_compositor_preview(struct Depsgraph *graph, struct bNodeTree *nodetree);
58 
59 void DEG_graph_build_from_ids(struct Depsgraph *graph, struct ID **ids, int num_ids);
60 
63 
66 
68 void DEG_relations_tag_update(struct Main *bmain);
69 
70 /* Add Dependencies ----------------------------- */
71 
78 struct DepsNodeHandle;
79 
81  /* Parameters Component - Default when nothing else fits
82  * (i.e. just SDNA property setting). */
84  /* Animation Component
85  * TODO(sergey): merge in with parameters? */
87  /* Sequencer Component (Scene Only). */
90 
92  /* Used in query API, to denote which component caller is interested in. */
94 
95  /* Parameters Component - Default when nothing else fits
96  * (i.e. just SDNA property setting). */
98  /* Animation Component.
99  *
100  * TODO(sergey): merge in with parameters? */
102  /* Transform Component (Parenting/Constraints) */
104  /* Geometry Component (#Mesh / #DispList). */
106 
107  /* Evaluation-Related Outer Types (with Sub-data) */
108 
109  /* Pose Component - Owner/Container of Bones Eval */
111  /* Bone Component - Child/Sub-component of Pose */
113 
114  /* Material Shading Component */
116  /* Cache Component */
119 
120 void DEG_add_scene_relation(struct DepsNodeHandle *node_handle,
121  struct Scene *scene,
123  const char *description);
124 void DEG_add_object_relation(struct DepsNodeHandle *node_handle,
125  struct Object *object,
127  const char *description);
128 void DEG_add_collection_geometry_relation(struct DepsNodeHandle *node_handle,
129  struct Collection *collection,
130  const char *description);
131 void DEG_add_collection_geometry_customdata_mask(struct DepsNodeHandle *node_handle,
132  struct Collection *collection,
133  const struct CustomData_MeshMasks *masks);
134 void DEG_add_simulation_relation(struct DepsNodeHandle *node_handle,
135  struct Simulation *simulation,
136  const char *description);
137 void DEG_add_node_tree_output_relation(struct DepsNodeHandle *node_handle,
138  struct bNodeTree *node_tree,
139  const char *description);
140 void DEG_add_bone_relation(struct DepsNodeHandle *handle,
141  struct Object *object,
142  const char *bone_name,
144  const char *description);
145 void DEG_add_object_cache_relation(struct DepsNodeHandle *handle,
146  struct CacheFile *cache_file,
148  const char *description);
153 void DEG_add_generic_id_relation(struct DepsNodeHandle *node_handle,
154  struct ID *id,
155  const char *description);
156 
164 void DEG_add_modifier_to_transform_relation(struct DepsNodeHandle *node_handle,
165  const char *description);
166 
171 void DEG_add_object_pointcache_relation(struct DepsNodeHandle *node_handle,
172  struct Object *object,
174  const char *description);
175 
176 void DEG_add_special_eval_flag(struct DepsNodeHandle *handle, struct ID *id, uint32_t flag);
177 void DEG_add_customdata_mask(struct DepsNodeHandle *handle,
178  struct Object *object,
179  const struct CustomData_MeshMasks *masks);
180 
181 struct ID *DEG_get_id_from_handle(struct DepsNodeHandle *node_handle);
182 struct Depsgraph *DEG_get_graph_from_handle(struct DepsNodeHandle *node_handle);
183 
184 bool DEG_object_has_geometry_component(struct Object *object);
185 
186 /* ************************************************ */
187 
188 #ifdef __cplusplus
189 } /* extern "C" */
190 #endif
static uint8 component(Color32 c, uint i)
Definition: ColorBlock.cpp:108
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:35
void DEG_graph_build_from_ids(struct Depsgraph *graph, struct ID **ids, int num_ids)
void DEG_graph_build_from_view_layer(struct Depsgraph *graph)
eDepsSceneComponentType
@ DEG_SCENE_COMP_ANIMATION
@ DEG_SCENE_COMP_PARAMETERS
@ DEG_SCENE_COMP_SEQUENCER
void DEG_graph_tag_relations_update(struct Depsgraph *graph)
void DEG_add_object_relation(struct DepsNodeHandle *node_handle, struct Object *object, eDepsObjectComponentType component, const char *description)
void DEG_add_modifier_to_transform_relation(struct DepsNodeHandle *node_handle, const char *description)
void DEG_add_collection_geometry_customdata_mask(struct DepsNodeHandle *node_handle, struct Collection *collection, const struct CustomData_MeshMasks *masks)
void DEG_add_generic_id_relation(struct DepsNodeHandle *node_handle, struct ID *id, const char *description)
void DEG_add_customdata_mask(struct DepsNodeHandle *handle, struct Object *object, const struct CustomData_MeshMasks *masks)
void DEG_add_collection_geometry_relation(struct DepsNodeHandle *node_handle, struct Collection *collection, const char *description)
void DEG_graph_build_for_compositor_preview(struct Depsgraph *graph, struct bNodeTree *nodetree)
struct ID * DEG_get_id_from_handle(struct DepsNodeHandle *node_handle)
void DEG_graph_build_for_render_pipeline(struct Depsgraph *graph)
void DEG_add_scene_relation(struct DepsNodeHandle *node_handle, struct Scene *scene, eDepsSceneComponentType component, const char *description)
eDepsObjectComponentType
@ DEG_OB_COMP_ANY
@ DEG_OB_COMP_EVAL_POSE
@ DEG_OB_COMP_GEOMETRY
@ DEG_OB_COMP_ANIMATION
@ DEG_OB_COMP_TRANSFORM
@ DEG_OB_COMP_SHADING
@ DEG_OB_COMP_PARAMETERS
@ DEG_OB_COMP_CACHE
@ DEG_OB_COMP_BONE
void DEG_add_node_tree_output_relation(struct DepsNodeHandle *node_handle, struct bNodeTree *node_tree, const char *description)
void DEG_relations_tag_update(struct Main *bmain)
void DEG_graph_build_for_all_objects(struct Depsgraph *graph)
void DEG_graph_relations_update(struct Depsgraph *graph)
bool DEG_object_has_geometry_component(struct Object *object)
void DEG_add_object_pointcache_relation(struct DepsNodeHandle *node_handle, struct Object *object, eDepsObjectComponentType component, const char *description)
void DEG_add_simulation_relation(struct DepsNodeHandle *node_handle, struct Simulation *simulation, const char *description)
void DEG_add_special_eval_flag(struct DepsNodeHandle *handle, struct ID *id, uint32_t flag)
void DEG_add_object_cache_relation(struct DepsNodeHandle *handle, struct CacheFile *cache_file, eDepsObjectComponentType component, const char *description)
void DEG_add_bone_relation(struct DepsNodeHandle *handle, struct Object *object, const char *bone_name, eDepsObjectComponentType component, const char *description)
struct Depsgraph * DEG_get_graph_from_handle(struct DepsNodeHandle *node_handle)
Depsgraph * graph
Scene scene
Simulation simulation
unsigned int uint32_t
Definition: stdint.h:80
Definition: DNA_ID.h:368
Definition: BKE_main.h:121