diff options
author | Dalai Felinto <dalai@blender.org> | 2022-03-30 12:06:01 +0300 |
---|---|---|
committer | Dalai Felinto <dalai@blender.org> | 2022-03-30 12:06:01 +0300 |
commit | 218bcff32db55874ccc35300ddd21baa585350dd (patch) | |
tree | eb5a17aaf83f00693f7ec6300fd39485a299befd /source/blender/blenkernel/BKE_collection.h | |
parent | 0f94c99ee70edbd306747bdad18c02d867ecd053 (diff) |
Iterator to loop over objects based on a flag
Diffstat (limited to 'source/blender/blenkernel/BKE_collection.h')
-rw-r--r-- | source/blender/blenkernel/BKE_collection.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h index 7f4360d2e9c..a3bbcc8687a 100644 --- a/source/blender/blenkernel/BKE_collection.h +++ b/source/blender/blenkernel/BKE_collection.h @@ -346,6 +346,20 @@ void BKE_scene_objects_iterator_begin(struct BLI_Iterator *iter, void *data_in); void BKE_scene_objects_iterator_next(struct BLI_Iterator *iter); void BKE_scene_objects_iterator_end(struct BLI_Iterator *iter); +/** Iterate over objects in the scene based on a flag. + * + * \note The object->flag is tested against flag. + * */ +typedef struct SceneObjectsIteratorExData { + struct Scene *scene; + int flag; + void *iter_data; +} SceneObjectsIteratorExData; + +void BKE_scene_objects_iterator_begin_ex(struct BLI_Iterator *iter, void *data_in); +void BKE_scene_objects_iterator_next_ex(struct BLI_Iterator *iter); +void BKE_scene_objects_iterator_end_ex(struct BLI_Iterator *iter); + /** * Generate a new #GSet (or extend given `objects_gset` if not NULL) with all objects referenced by * all collections of given `scene`. |