diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-09-20 15:15:35 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-09-20 15:15:35 +0300 |
commit | f2db6cefa0869fe474b4fbbb467d63bff8c0935b (patch) | |
tree | 27667ef838b293e01c337cf43d47771dbe9b9814 /source/blender/blenkernel/BKE_layer.h | |
parent | 42c174d1a5c6a45552210ca1d40018bc1a549c42 (diff) |
Layer collection enable flag
Right now this is exposed in the outliner, though all this
(visible/selectable/enable) should be moved to a new panel soon.
This removes objects from the depsgraph when the collection is disabled.
It allows you to "hide" lamps but still having them lighting the scene.
Same for light probes and other support objects.
Pending tasks:
* Have depsgraph to include invisible objects in the DEG_OBJECTS_ITER, and
then have Eevee and other engines to make a distinction between an
invisible and a visible object.
(for example, we probably want invisible objects to not show in the
viewport, but cast shadows and show up in light probes).
* Change how we evaluate collection settings so that an invisible
collection can force an object to be invisible.
Reviewers: campbellbarton
Subscribers: sergey
Differential Revision: https://developer.blender.org/D2848
Diffstat (limited to 'source/blender/blenkernel/BKE_layer.h')
-rw-r--r-- | source/blender/blenkernel/BKE_layer.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h index 5f95a69ed1e..52d5405ec0a 100644 --- a/source/blender/blenkernel/BKE_layer.h +++ b/source/blender/blenkernel/BKE_layer.h @@ -81,6 +81,7 @@ struct LayerCollection *BKE_layer_collection_get_active_ensure(struct Scene *sce int BKE_layer_collection_count(struct SceneLayer *sl); +struct LayerCollection *BKE_layer_collection_from_index(struct SceneLayer *sl, const int index); int BKE_layer_collection_findindex(struct SceneLayer *sl, const struct LayerCollection *lc); bool BKE_layer_collection_move_above(const struct Scene *scene, struct LayerCollection *lc_dst, struct LayerCollection *lc_src); @@ -93,6 +94,9 @@ struct LayerCollection *BKE_collection_link(struct SceneLayer *sl, struct SceneC void BKE_collection_unlink(struct SceneLayer *sl, struct LayerCollection *lc); +void BKE_collection_enable(struct SceneLayer *sl, struct LayerCollection *lc); +void BKE_collection_disable(struct SceneLayer *sl, struct LayerCollection *lc); + bool BKE_scene_layer_has_collection(struct SceneLayer *sl, const struct SceneCollection *sc); bool BKE_scene_has_object(struct Scene *scene, struct Object *ob); |