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:
authorDalai Felinto <dfelinto@gmail.com>2018-03-30 02:00:34 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-03-30 02:03:47 +0300
commit41a81fece4ff031b512d2303ca8956824d76e6ff (patch)
tree088c76e02fbf5ff3b554fc97cc58696e4e6df720 /source/blender/blenkernel/intern/layer.c
parent534916258d619554106f5e8fd6bb62558e8980bc (diff)
Collections: API to select all scene collection objects
Diffstat (limited to 'source/blender/blenkernel/intern/layer.c')
-rw-r--r--source/blender/blenkernel/intern/layer.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index 78af18fa362..65e76e619f2 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -1282,16 +1282,29 @@ static LayerCollection *layer_collection_add(ViewLayer *view_layer, LayerCollect
/* ---------------------------------------------------------------------- */
/**
- * See if render layer has the scene collection linked directly, or indirectly (nested)
+ * Return the first matching LayerCollection in the ViewLayer for the SceneCollection.
*/
-bool BKE_view_layer_has_collection(ViewLayer *view_layer, const SceneCollection *sc)
+LayerCollection *BKE_layer_collection_first_from_scene_collection(ViewLayer *view_layer, const SceneCollection *scene_collection)
{
- for (LayerCollection *lc = view_layer->layer_collections.first; lc; lc = lc->next) {
- if (find_layer_collection_by_scene_collection(lc, sc) != NULL) {
- return true;
+ for (LayerCollection *layer_collection = view_layer->layer_collections.first;
+ layer_collection != NULL;
+ layer_collection = layer_collection->next)
+ {
+ LayerCollection *found = find_layer_collection_by_scene_collection(layer_collection, scene_collection);
+
+ if (found != NULL) {
+ return found;
}
}
- return false;
+ return NULL;
+}
+
+/**
+ * See if view layer has the scene collection linked directly, or indirectly (nested)
+ */
+bool BKE_view_layer_has_collection(ViewLayer *view_layer, const SceneCollection *scene_collection)
+{
+ return BKE_layer_collection_first_from_scene_collection(view_layer, scene_collection) != NULL;
}
/**