From c7c070c2ece0f41772cbcfe3445f3e0be684dd1d Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Thu, 1 Feb 2018 21:11:59 -0200 Subject: Collections: Operator to duplicate a collection When duplicating a layer collection directly linked to the view layer we copy the collection and link it. For all the not directly linked layer collectionns, we try to sync the layer collection flags, overrides, ... Also we make sure the new collection is right after the original collection. We also expose this in RNA, via collection.duplicate(). --- source/blender/blenkernel/BKE_layer.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'source/blender/blenkernel/BKE_layer.h') diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h index f098a7e7468..633cb2c6044 100644 --- a/source/blender/blenkernel/BKE_layer.h +++ b/source/blender/blenkernel/BKE_layer.h @@ -78,11 +78,18 @@ struct Base *BKE_view_layer_base_find(struct ViewLayer *view_layer, struct Objec void BKE_view_layer_base_deselect_all(struct ViewLayer *view_layer); void BKE_view_layer_base_select(struct ViewLayer *view_layer, struct Base *selbase); +void BKE_layer_collection_sync_flags( + struct ID *owner_id, + struct SceneCollection *scene_collection_dst, + struct SceneCollection *scene_collection_src); + void BKE_view_layer_copy_data( struct ViewLayer *view_layer_dst, struct ViewLayer *view_layer_src, struct SceneCollection *mc_dst, struct SceneCollection *mc_src, const int flag); +struct LayerCollection *BKE_layer_collection_duplicate(struct ID *owner_id, struct LayerCollection *layer_collection); + void BKE_layer_collection_free(struct ViewLayer *view_layer, struct LayerCollection *lc); struct LayerCollection *BKE_layer_collection_get_active(struct ViewLayer *view_layer); -- cgit v1.2.3