Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/depsgraph/DEG_depsgraph_query.h')
-rw-r--r--source/blender/depsgraph/DEG_depsgraph_query.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/source/blender/depsgraph/DEG_depsgraph_query.h b/source/blender/depsgraph/DEG_depsgraph_query.h
index ccd204a2083..6f7f98861dd 100644
--- a/source/blender/depsgraph/DEG_depsgraph_query.h
+++ b/source/blender/depsgraph/DEG_depsgraph_query.h
@@ -36,6 +36,8 @@
struct ID;
struct Depsgraph;
+struct BLI_Iterator;
+struct SceneLayer;
#ifdef __cplusplus
extern "C" {
@@ -47,6 +49,31 @@ bool DEG_id_type_tagged(struct Main *bmain, short idtype);
/* Get additional evaluation flags for the given ID. */
short DEG_get_eval_flags_for_id(struct Depsgraph *graph, struct ID *id);
+/* Get scene the despgraph is created for. */
+struct Scene *DEG_get_scene(struct Depsgraph *graph);
+
+/* Get scene layer the despgraph is created for. */
+struct SceneLayer *DEG_get_scene_layer(struct Depsgraph *graph);
+
+/* Get the object as properly evaluated by depsgraph. */
+struct Object *DEG_get_object(struct Depsgraph *depsgraph, struct Object *ob);
+
+/* ************************ DAG iterators ********************* */
+
+void DEG_objects_iterator_begin(struct BLI_Iterator *iter, void *data_in);
+void DEG_objects_iterator_next(struct BLI_Iterator *iter);
+void DEG_objects_iterator_end(struct BLI_Iterator *iter);
+
+/* Temporary hacky solution waiting for cow depsgraph implementation. */
+#define DEG_OBJECT_ITER(graph_, instance_) \
+ ITER_BEGIN(DEG_objects_iterator_begin, \
+ DEG_objects_iterator_next, \
+ DEG_objects_iterator_end, \
+ graph_, Object *, instance_)
+
+#define DEG_OBJECT_ITER_END \
+ ITER_END
+
#ifdef __cplusplus
} /* extern "C" */
#endif