diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-11-06 22:44:39 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-11-06 22:51:16 +0300 |
commit | 535adcdaa3cc83c62abe211b0f645cf0a8237eba (patch) | |
tree | 790dd333d70745c38a8b7cfdb42122d509d24383 /source/blender/depsgraph/DEG_depsgraph_query.h | |
parent | facdc15fdd32c36abcdd4166c539a3c1b98c3966 (diff) |
Depsgraph: Iterates over ID Nodes instead of Bases
Although this works by itself, it should actually happen after:
"Reshuffle collections base flags evaluation, make it so object is gathering
its base flags from collections."
Meanwhile we have one single hacky function (deg_flush_base_flags_and_settings)
to be removed once the task above is tackled.
Reviewers: sergey
Differential Revision: https://developer.blender.org/D2899
Diffstat (limited to 'source/blender/depsgraph/DEG_depsgraph_query.h')
-rw-r--r-- | source/blender/depsgraph/DEG_depsgraph_query.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/depsgraph/DEG_depsgraph_query.h b/source/blender/depsgraph/DEG_depsgraph_query.h index 1020d4e606e..59158ef0454 100644 --- a/source/blender/depsgraph/DEG_depsgraph_query.h +++ b/source/blender/depsgraph/DEG_depsgraph_query.h @@ -33,6 +33,8 @@ #ifndef __DEG_DEPSGRAPH_QUERY_H__ #define __DEG_DEPSGRAPH_QUERY_H__ +#include "BLI_ghash.h" + #include "DEG_depsgraph.h" struct ID; @@ -81,9 +83,6 @@ typedef struct DEGObjectsIteratorData { struct Scene *scene; struct EvaluationContext eval_ctx; - /* TODO(sergey): Base should never be a thing coming FROM depsgraph. */ - struct Base *base; - int base_flag; int flag; /* **** Iteration over dupli-list. *** */ @@ -102,13 +101,16 @@ typedef struct DEGObjectsIteratorData { * other users of the iterator. */ struct Object temp_dupli_object; + + /* **** ghash **** */ + struct GHashIterator gh_iter; + } DEGObjectsIteratorData; void DEG_objects_iterator_begin(struct BLI_Iterator *iter, DEGObjectsIteratorData *data); 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_, flag_) \ { \ DEGObjectsIteratorData data_ = { \ |