Commit: 57cef2fee3104f38320c97adcabb08cf0ed7bdfb
Author: Dalai Felinto
Date:   Mon Nov 6 20:48:17 2017 -0200
Branches: temp-group-collections
https://developer.blender.org/rB57cef2fee3104f38320c97adcabb08cf0ed7bdfb

Remove "Group Collection" functionality

This may get "double-reverted" in the future. But we want to separate this
from the main patch before merging it. And then eventually merging them
separately.

===================================================================

M       release/scripts/startup/bl_ui/properties_collection.py
M       source/blender/blenkernel/BKE_layer.h
M       source/blender/blenkernel/intern/collection.c
M       source/blender/blenkernel/intern/layer.c
M       source/blender/blenloader/intern/readfile.c
M       source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc
M       source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc
M       source/blender/depsgraph/intern/depsgraph_query.cc
M       source/blender/editors/space_outliner/outliner_collections.c
M       source/blender/editors/space_outliner/outliner_tools.c
M       source/blender/makesdna/DNA_layer_types.h
M       source/blender/makesrna/intern/rna_layer.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_collection.py 
b/release/scripts/startup/bl_ui/properties_collection.py
index d810e02984c..dab9def37f4 100644
--- a/release/scripts/startup/bl_ui/properties_collection.py
+++ b/release/scripts/startup/bl_ui/properties_collection.py
@@ -43,24 +43,6 @@ class 
COLLECTION_PT_context_collection(CollectionButtonsPanel, Panel):
             layout.prop(collection, "name", text="", icon='COLLAPSEMENU')
 
 
-class COLLECTION_PT_collection(CollectionButtonsPanel, Panel):
-    bl_label = "Collection"
-
-    @classmethod
-    def poll(cls, context):
-        collection = context.layer_collection
-        return collection and collection.collection.type == 'GROUP'
-
-    def draw(self, context):
-        layout = self.layout
-
-        layer_collection = context.layer_collection
-        scene_collection = layer_collection.collection
-
-        if scene_collection.type == 'GROUP':
-            layout.prop(scene_collection, "group")
-
-
 class COLLECTION_PT_clay_settings(CollectionButtonsPanel, Panel):
     bl_label = "Render Settings"
     COMPAT_ENGINES = {'BLENDER_CLAY'}
@@ -171,7 +153,6 @@ class 
COLLECTION_PT_paint_vertex_mode_settings(CollectionButtonsPanel, Panel):
 
 classes = (
     COLLECTION_PT_context_collection,
-    COLLECTION_PT_collection,
     COLLECTION_PT_clay_settings,
     COLLECTION_PT_object_mode_settings,
     COLLECTION_PT_edit_mode_settings,
diff --git a/source/blender/blenkernel/BKE_layer.h 
b/source/blender/blenkernel/BKE_layer.h
index 0ce8c4a4a2e..78d5d40687e 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -80,7 +80,6 @@ void BKE_scene_layer_copy_data(struct SceneLayer *sl_dst, 
struct SceneLayer *sl_
                                const int flag);
 
 void BKE_layer_collection_free(struct SceneLayer *sl, struct LayerCollection 
*lc);
-void BKE_layer_collection_convert(struct SceneLayer *sl, struct 
LayerCollection *lc, const int type);
 
 struct LayerCollection *BKE_layer_collection_get_active(struct SceneLayer *sl);
 struct LayerCollection *BKE_layer_collection_get_active_ensure(struct Scene 
*scene, struct SceneLayer *sl);
diff --git a/source/blender/blenkernel/intern/collection.c 
b/source/blender/blenkernel/intern/collection.c
index b2e52060a26..7b34d377226 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -420,48 +420,6 @@ bool BKE_collections_object_remove(Main *bmain, ID *id, 
Object *ob, const bool f
        return removed;
 }
 
-#if 0
-static void collection_group_set_linking(ListBase *lb, const SceneCollection 
*sc)
-{
-       for (LayerCollection *lc = sl->layer_collections.first; lc; lc = 
lc->next) {
-               if (lc->scene_collection == sc) {
-                       //XXX link
-               }
-               else {
-                       collection_group_set_linking(&lc->layer_collections, 
sc);
-               }
-       }
-}
-#endif
-
-/**
- * Define a group for a group collection, and populate the collections 
accordingly
- *
- * \param group can be NULL
- */
-void BKE_collection_group_set(Scene *UNUSED(scene), SceneCollection *sc, Group 
*group)
-{
-       BLI_assert(sc->type == COLLECTION_TYPE_GROUP);
-       /* Add */
-       sc->group = group;
-}
-
-/**
- * \param lb: ListBase of LayerCollection elements.
- */
-static void collection_group_convert_layer_collections(const Group *group, 
SceneLayer *sl,
-                                                       const SceneCollection 
*sc, ListBase *lb)
-{
-       for (LayerCollection *lc = lb->first; lc; lc = lc->next) {
-               if (lc->scene_collection == sc) {
-                       BKE_layer_collection_convert(sl, lc, 
COLLECTION_TYPE_GROUP);
-               }
-               else {
-                       collection_group_convert_layer_collections(group, sl, 
sc, &lc->layer_collections);
-               }
-       }
-}
-
 static void layer_collection_sync(LayerCollection *lc_dst, LayerCollection 
*lc_src)
 {
        lc_dst->flag = lc_src->flag;
@@ -496,7 +454,7 @@ static void collection_group_cleanup(Group *group)
 }
 
 /**
- * Convert a collection into a group
+ * Create a group from a collection
  *
  * Any SceneLayer that may have this the related SceneCollection linked is 
converted
  * to a Group Collection.
@@ -506,11 +464,6 @@ Group *BKE_collection_group_create(Main *bmain, Scene 
*scene, LayerCollection *l
        SceneCollection *sc_dst, *sc_src = lc_src->scene_collection;
        LayerCollection *lc_dst;
 
-       /* We can't convert group collections into groups. */
-       if (sc_src->type == COLLECTION_TYPE_GROUP) {
-               return NULL;
-       }
-
        /* The master collection can't be converted. */
        if (sc_src == BKE_collection_master(scene)) {
                return NULL;
@@ -540,16 +493,6 @@ Group *BKE_collection_group_create(Main *bmain, Scene 
*scene, LayerCollection *l
        lc_dst = BKE_collection_link(group->scene_layer, sc_dst);
        layer_collection_sync(lc_dst, lc_src);
 
-       /* Convert existing collections into group collections. */
-       for (SceneLayer *sl = scene->render_layers.first; sl; sl = sl->next) {
-               collection_group_convert_layer_collections(group, sl, sc_src, 
&sl->layer_collections);
-       }
-
-       /* Convert original SceneCollection into a group collection. */
-       sc_src->type = COLLECTION_TYPE_GROUP;
-       BKE_collection_group_set(scene, sc_src, group);
-       collection_free(sc_src, true);
-
        return group;
 }
 
diff --git a/source/blender/blenkernel/intern/layer.c 
b/source/blender/blenkernel/intern/layer.c
index 492a58b089f..3930ae34040 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -471,24 +471,6 @@ void BKE_layer_collection_free(SceneLayer *sl, 
LayerCollection *lc)
        layer_collection_free(sl, lc);
 }
 
-/**
- * Convert a layer collection to a new type
- *
- * \param lc: LayerCollection to be converted.
- * \param type: New type for the LayerCollection->scene_collection.
- */
-void BKE_layer_collection_convert(SceneLayer *sl, LayerCollection *lc, const 
int type)
-{
-       /* Support group convertion only at the moment. */
-       BLI_assert(type == COLLECTION_TYPE_GROUP);
-       layer_collection_free(sl, lc);
-
-       /* Keep the properties around for collection evaluation. */
-       IDPropertyTemplate val = {0};
-       lc->properties = IDP_New(IDP_GROUP, &val, ROOT_PROP);
-       lc->properties_evaluated = NULL;
-}
-
 /* LayerCollection */
 
 /**
diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 3f909f7d675..473942811d0 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5780,8 +5780,6 @@ static void lib_link_scene_collection(FileData *fd, 
Library *lib, SceneCollectio
                BLI_assert(link->data);
        }
 
-       sc->group = newlibadr(fd, lib, sc->group);
-
        for (SceneCollection *nsc = sc->scene_collections.first; nsc; nsc = 
nsc->next) {
                lib_link_scene_collection(fd, lib, nsc);
        }
@@ -9818,8 +9816,6 @@ static void expand_scene_collection(FileData *fd, Main 
*mainvar, SceneCollection
                expand_doit(fd, mainvar, link->data);
        }
 
-       expand_doit(fd, mainvar, sc->group);
-
        for (SceneCollection *nsc= sc->scene_collections.first; nsc; nsc = 
nsc->next) {
                expand_scene_collection(fd, mainvar, nsc);
        }
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc 
b/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc
index 2555144f525..25d5f5db01b 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc
@@ -82,20 +82,6 @@ void DepsgraphNodeBuilder::build_layer_collection(Scene 
*scene,
 
        SceneCollection *scene_collection = layer_collection->scene_collection;
        switch (scene_collection->type) {
-               case COLLECTION_TYPE_GROUP:
-               {
-                       Group *group = scene_collection->group;
-                       if ((group != NULL) && 
!BLI_listbase_is_empty(&group->scene_layer->layer_collections)) {
-                               build_group(scene, scene_collection->group, 
state);
-                               /* Recurs into internal group layer 
collections. */
-                               state->parent = layer_collection;
-                               build_layer_collection(scene,
-                                                      (LayerCollection 
*)group->scene_layer->layer_collections.first,
-                                                      state);
-                               state->parent = parent;
-                       }
-                       break;
-               }
                case COLLECTION_TYPE_GROUP_INTERNAL:
                case COLLECTION_TYPE_NONE:
                        /* Recurs into nested layer collections. */
diff --git 
a/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc 
b/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc
index 687694f2da6..1118f818b9f 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc
@@ -86,19 +86,6 @@ void DepsgraphRelationBuilder::build_layer_collection(Main 
*bmain,
 
        SceneCollection *scene_collection = layer_collection->scene_collection;
        switch (scene_collection->type) {
-               case COLLECTION_TYPE_GROUP:
-               {
-                       Group *group = scene_collection->group;
-                       if ((group != NULL) && 
!BLI_listbase_is_empty(&group->scene_layer->layer_collections)) {
-                               build_group(bmain, scene, group, state);
-                               /* Recurs into internal group layer 
collections. */
-                               build_layer_collection(bmain,
-                                                      scene,
-                                                      (LayerCollection 
*)group->scene_layer->layer_collections.first,
-                                                      state);
-                       }
-                       break;
-               }
                case COLLECTION_TYPE_GROUP_INTERNAL:
                case COLLECTION_TYPE_NONE:
                        break;
diff --git a/source/blender/depsgraph/intern/depsgraph_query.cc 
b/source/blender/depsgraph/intern/depsgraph_query.cc
index 9e330efcff9..af0c60f220b 100644
--- a/source/blender/depsgraph/intern/depsgraph_query.cc
+++ b/source/blender/depsgraph/intern/depsgraph_query.cc
@@ -171,50 +171,6 @@ static bool deg_flush_base_flags_and_settings(
        return true;
 }
 
-
-/**
- * \param groups: GSet of looped over groups.
- * \param lb: ListBase of LayerCollection elements.
- */
-static void populate_scene_layer_groups_doit(GSet *groups, ListBase *lb)
-{
-       LayerCollection *layer_collection;
-       for (layer_collection = (LayerCollection *) lb->first;
-            layer_collection;
-            layer_collection = layer_collection->next)
-       {
-               /* TODO: Disabled collections shouldn't even be evaluated by 
the Depsgraph (dfelinto/sergey). */
-               if (layer_collection->flag & COLLECTION_DISABLED) {
-                       continue;
-               }
-


@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to