[Bf-blender-cvs] [91d7c34] render-layers: Rename Collection > SceneCollection
Dalai Felinto
noreply at git.blender.org
Fri Dec 2 17:56:11 CET 2016
Commit: 91d7c345d48cecd3485882c8c4d006cc2eebb38b
Author: Dalai Felinto
Date: Fri Dec 2 12:21:48 2016 +0100
Branches: render-layers
https://developer.blender.org/rB91d7c345d48cecd3485882c8c4d006cc2eebb38b
Rename Collection > SceneCollection
We may want to re-use part of this struct (or concept) for groups and armatures. But filter is something specific to SceneCollections, so may as well keep it in a separate struct, and re-evaluate that once/if we get to it.
===================================================================
M source/blender/blenkernel/BKE_collection.h
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/versioning_280.c
M source/blender/makesdna/DNA_layer_types.h
===================================================================
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h
index af43270..cf11202 100644
--- a/source/blender/blenkernel/BKE_collection.h
+++ b/source/blender/blenkernel/BKE_collection.h
@@ -31,15 +31,15 @@
extern "C" {
#endif
-struct Collection;
+struct SceneCollection;
struct ListBase;
struct Object;
struct Scene;
-struct Collection *BKE_collection_add(struct Scene *scene, struct ListBase *lb, const char *name);
-void BKE_collection_remove(struct Scene *scene, struct Collection *collection);
-struct Collection *BKE_collection_master(struct Scene *scene);
-void BKE_collection_object_add(struct Scene *scene, struct Collection *collection, struct Object *object);
+struct SceneCollection *BKE_collection_add(struct Scene *scene, struct ListBase *lb, const char *name);
+void BKE_collection_remove(struct Scene *scene, struct SceneCollection *sc);
+struct SceneCollection *BKE_collection_master(struct Scene *scene);
+void BKE_collection_object_add(struct Scene *scene, struct SceneCollection *sc, struct Object *object);
#ifdef __cplusplus
}
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h
index ea8f930..81f3af6 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -34,7 +34,7 @@ extern "C" {
#define TODO_LAYER_SYNC
#define TODO_LAYER_OVERRIDE
-struct Collection;
+struct SceneCollection;
struct CollectionBase;
struct ID;
struct Main;
@@ -47,7 +47,7 @@ bool BKE_scene_layer_remove(struct Main *bmain, struct Scene *scene, struct Scen
void BKE_scene_layer_engine_set(struct SceneLayer *sl, const char *engine);
-struct CollectionBase *BKE_collection_link(struct SceneLayer *sl, struct Collection *cl);
+struct CollectionBase *BKE_collection_link(struct SceneLayer *sl, struct SceneCollection *sc);
void BKE_collection_unlink(struct SceneLayer *sl, struct CollectionBase *cb);
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index b45c7a8..726a8cc 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -42,53 +42,53 @@
* Add a collection to a collection ListBase and syncronize all render layers
* The ListBase is NULL when the collection is to be added to the master collection
*/
-Collection *BKE_collection_add(Scene *scene, ListBase *lb, const char *name)
+SceneCollection *BKE_collection_add(Scene *scene, ListBase *lb, const char *name)
{
- Collection *cl = MEM_callocN(sizeof(Collection), "New Collection");
- BLI_strncpy(cl->name, name, sizeof(cl->name));
- BLI_uniquename(&scene->collections, cl, DATA_("Collection"), '.', offsetof(Collection, name), sizeof(cl->name));
+ SceneCollection *sc = MEM_callocN(sizeof(SceneCollection), "New Collection");
+ BLI_strncpy(sc->name, name, sizeof(sc->name));
+ BLI_uniquename(&scene->collections, sc, DATA_("Collection"), '.', offsetof(SceneCollection, name), sizeof(sc->name));
if (lb) {
- BLI_addtail(lb, cl);
+ BLI_addtail(lb, sc);
}
else {
- Collection *cl_master = BKE_collection_master(scene);
- BLI_addtail(&cl_master->collections, cl);
+ SceneCollection *sc_master = BKE_collection_master(scene);
+ BLI_addtail(&sc_master->collections, sc);
}
TODO_LAYER_SYNC;
- return cl;
+ return sc;
}
/* free the collection items recursively */
-static void collection_free(Collection *cl)
+static void collection_free(SceneCollection *sc)
{
- for (LinkData *link = cl->objects.first; link; link = link->next) {
+ for (LinkData *link = sc->objects.first; link; link = link->next) {
id_us_min(link->data);
}
- for (LinkData *link = cl->filter_objects.first; link; link = link->next) {
+ for (LinkData *link = sc->filter_objects.first; link; link = link->next) {
id_us_min(link->data);
}
- for (Collection *ncl = cl->collections.first; ncl; ncl = ncl->next) {
- collection_free(ncl);
+ for (SceneCollection *nsc = sc->collections.first; nsc; nsc = nsc->next) {
+ collection_free(nsc);
}
- BLI_freelistN(&cl->collections);
+ BLI_freelistN(&sc->collections);
}
/* unlink the collection recursively
* return true if unlinked */
-static bool collection_remlink(Collection *cl, Collection *cl_gone)
+static bool collection_remlink(SceneCollection *sc, SceneCollection *sc_gone)
{
- for (Collection *ncl = cl->collections.first; ncl; ncl = ncl->next)
+ for (SceneCollection *nsc = sc->collections.first; nsc; nsc = nsc->next)
{
- if (ncl == cl_gone) {
- BLI_remlink(&cl->collections, cl_gone);
+ if (nsc == sc_gone) {
+ BLI_remlink(&sc->collections, sc_gone);
return true;
}
- if (collection_remlink(ncl, cl_gone)) {
+ if (collection_remlink(nsc, sc_gone)) {
return true;
}
}
@@ -98,26 +98,26 @@ static bool collection_remlink(Collection *cl, Collection *cl_gone)
/*
* Remove a collection from the scene, and syncronize all render layers
*/
-void BKE_collection_remove(Scene *scene, Collection *cl)
+void BKE_collection_remove(Scene *scene, SceneCollection *sc)
{
- Collection *cl_master = BKE_collection_master(scene);
+ SceneCollection *sc_master = BKE_collection_master(scene);
/* unlink from the main collection tree */
- collection_remlink(cl_master, cl);
+ collection_remlink(sc_master, sc);
/* clear the collection items */
- collection_free(cl);
+ collection_free(sc);
/* TODO: check all layers that use this collection and clear them */
TODO_LAYER_SYNC;
- MEM_freeN(cl);
+ MEM_freeN(sc);
}
/*
* Returns the master collection
*/
-Collection *BKE_collection_master(Scene *scene)
+SceneCollection *BKE_collection_master(Scene *scene)
{
return scene->collections.first;
}
@@ -125,9 +125,9 @@ Collection *BKE_collection_master(Scene *scene)
/*
* Add object to collection
*/
-void BKE_collection_object_add(struct Scene *UNUSED(scene), struct Collection *cl, struct Object *ob)
+void BKE_collection_object_add(struct Scene *UNUSED(scene), struct SceneCollection *sc, struct Object *ob)
{
- BLI_addtail(&cl->objects, BLI_genericNodeN(ob));
+ BLI_addtail(&sc->objects, BLI_genericNodeN(ob));
id_us_plus((ID *)ob);
TODO_LAYER_SYNC;
}
diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index fc17979..c2a810e 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -41,7 +41,7 @@
#include "MEM_guardedalloc.h"
/* prototype */
-CollectionBase *collection_base_add(SceneLayer *sl, ListBase *lb, Collection *collection);
+CollectionBase *collection_base_add(SceneLayer *sl, ListBase *lb, SceneCollection *sc);
/* RenderLayer */
@@ -54,8 +54,8 @@ SceneLayer *BKE_scene_layer_add(Scene *scene, const char *name)
SceneLayer *sl = MEM_callocN(sizeof(SceneLayer), "Scene Layer");
BLI_strncpy(sl->name, name, sizeof(sl->name));
- Collection *cl = BKE_collection_master(scene);
- collection_base_add(sl, &sl->collection_bases, cl);
+ SceneCollection *sc = BKE_collection_master(scene);
+ collection_base_add(sl, &sl->collection_bases, sc);
return sl;
}
@@ -139,9 +139,9 @@ static ObjectBase *object_base_add(SceneLayer *sl, Object *ob)
* Link a collection to a renderlayer
* The collection needs to be created separately
*/
-CollectionBase *BKE_collection_link(SceneLayer *sl, Collection *cl)
+CollectionBase *BKE_collection_link(SceneLayer *sl, SceneCollection *sc)
{
- CollectionBase *base = collection_base_add(sl, &sl->collection_bases, cl);
+ CollectionBase *base = collection_base_add(sl, &sl->collection_bases, sc);
return base;
}
@@ -189,25 +189,25 @@ static void object_base_populate(SceneLayer *sl, CollectionBase *cb, ListBase *o
}
}
-static void collection_base_populate(SceneLayer *sl, CollectionBase *cb, Collection *cl)
+static void collection_base_populate(SceneLayer *sl, CollectionBase *cb, SceneCollection *sc)
{
- object_base_populate(sl, cb, &cl->objects);
- object_base_populate(sl, cb, &cl->filter_objects);
+ object_base_populate(sl, cb, &sc->objects);
+ object_base_populate(sl, cb, &sc->filter_objects);
- for (Collection *ncl = cl->collections.first; ncl; ncl = ncl->next) {
- collection_base_add(sl, &cb->collection_bases, ncl);
+ for (SceneCollection *nsc = sc->collections.first; nsc; nsc = nsc->next) {
+ collection_base_add(sl, &cb->collection_bases, nsc);
}
}
-CollectionBase *collection_base_add(SceneLayer *sl, ListBase *lb, Collection *cl)
+CollectionBase *collection_base_add(SceneLayer *sl, ListBase *lb, SceneCollection *sc)
{
CollectionBase *cb = MEM_callocN(sizeof(CollectionBase), "Collection Base");
BLI_addtail(lb, cb);
- cb->collection = cl;
+ cb->collection = sc;
cb->flag = COLLECTION_VISIBLE + COLLECTION_SELECTABLE + COLLECTION_FOLDED;
- collection_base_populate(sl, cb, cl);
+ collection_base_populate(sl, cb, sc);
return cb;
}
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 16ed7e4..f9290f3 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -53,7 +53,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
BKE_collection_add(scene, &scene->collections, "Master Collection");
- Collection *collections[20] = {NULL};
+ SceneCollection *collections[20] = {NULL};
bool is_visible[20];
int lay_used = 0;
diff --git a/source/blender/makesdna/DNA_layer_types.h b/source/blender/makesdna/DNA_layer_types.h
index 602cea0..9573379 100644
--- a/source/blender/makesdna/DNA_layer_types.h
+++ b/source/blender/makesdna/DNA_layer_types.h
@@ -49,7 +49,7 @@ typedef struct CollectionOverride {
typedef struct CollectionBase {
struct CollectionBase *next, *prev;
- struct Collection *collection;
+ struct SceneCollection *collection;
short flag;
short pad[3];
ListBase collection_bases; /* synced with collection->collections */
@@ -57,14 +57,14 @@ typedef struct CollectionBase {
ListBase overrides;
} CollectionBase;
-typedef struct Collection {
- struct Collection *next, *prev;
+typedef struct SceneCollection {
+ struct SceneCollection *next, *prev;
char name[64]; /* MAX_NAME */
char filter
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list