[Bf-blender-cvs] [57cef2fee31] temp-group-collections: Remove "Group Collection" functionality
Dalai Felinto
noreply at git.blender.org
Tue Nov 7 02:08:09 CET 2017
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. @@
More information about the Bf-blender-cvs
mailing list