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:
authorMonique Dewanchand <mdewanchand>2022-09-01 11:00:53 +0300
committerMonique <mdewanchand@atmind.nl>2022-09-01 11:22:43 +0300
commit17501c146edc4af8a5e04565dc4d0b30ed5c5323 (patch)
tree73fe3334ff45b67d45fa1b5a5ae7ff06ec990a5a /source/blender/blenkernel/intern
parentf9c249917dbf9c450abf52df1f60b3d587bc106a (diff)
Cleanup: Remove/replace View Layer macros.
This patch is a cleanup required before refactoring the view layer syncing process {T73411}. * Remove FIRSTBASE. * Remove LASTBASE. * Remove BASACT. * Remove OBEDIT_FROM_WORKSPACE. * Replace OBACT with BKE_view_layer_active_object. * Replace OBEDIT_FROM_VIEW_LAYER with BKE_view_layer_edit_object. Reviewed By: mont29 Maniphest Tasks: T73411 Differential Revision: https://developer.blender.org/D15799
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r--source/blender/blenkernel/intern/collection.c2
-rw-r--r--source/blender/blenkernel/intern/fluid.c3
-rw-r--r--source/blender/blenkernel/intern/layer_utils.c25
-rw-r--r--source/blender/blenkernel/intern/lib_override.cc6
-rw-r--r--source/blender/blenkernel/intern/object.cc4
-rw-r--r--source/blender/blenkernel/intern/scene.cc2
6 files changed, 32 insertions, 10 deletions
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 4967e3482c6..caf59a9b363 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -840,7 +840,7 @@ Base *BKE_collection_or_layer_objects(const ViewLayer *view_layer, Collection *c
return BKE_collection_object_cache_get(collection).first;
}
- return FIRSTBASE(view_layer);
+ return view_layer->object_bases.first;
}
/** \} */
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index 57b84575c84..74ff10cc32c 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -554,11 +554,10 @@ static void update_distances(int index,
static int get_light(ViewLayer *view_layer, float *light)
{
- Base *base_tmp = NULL;
int found_light = 0;
/* Try to find a lamp, preferably local. */
- for (base_tmp = FIRSTBASE(view_layer); base_tmp; base_tmp = base_tmp->next) {
+ LISTBASE_FOREACH (Base *, base_tmp, &view_layer->object_bases) {
if (base_tmp->object->type == OB_LAMP) {
Light *la = base_tmp->object->data;
diff --git a/source/blender/blenkernel/intern/layer_utils.c b/source/blender/blenkernel/intern/layer_utils.c
index 13e0a0bcf84..3e41479c22c 100644
--- a/source/blender/blenkernel/intern/layer_utils.c
+++ b/source/blender/blenkernel/intern/layer_utils.c
@@ -245,7 +245,7 @@ bool BKE_view_layer_filter_edit_mesh_has_edges(const Object *ob, void *UNUSED(us
Object *BKE_view_layer_non_active_selected_object(struct ViewLayer *view_layer,
const struct View3D *v3d)
{
- Object *ob_active = OBACT(view_layer);
+ Object *ob_active = BKE_view_layer_active_object_get(view_layer);
Object *ob_result = NULL;
FOREACH_SELECTED_OBJECT_BEGIN (view_layer, v3d, ob_iter) {
if (ob_iter == ob_active) {
@@ -265,3 +265,26 @@ Object *BKE_view_layer_non_active_selected_object(struct ViewLayer *view_layer,
}
/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Active object accessors.
+ * \{ */
+
+Object *BKE_view_layer_active_object_get(const ViewLayer *view_layer)
+{
+ return view_layer->basact ? view_layer->basact->object : NULL;
+}
+
+Object *BKE_view_layer_edit_object_get(const ViewLayer *view_layer)
+{
+ Object *ob = BKE_view_layer_active_object_get(view_layer);
+ if (ob == NULL) {
+ return NULL;
+ }
+ if (!(ob->mode & OB_MODE_EDIT)) {
+ return NULL;
+ }
+ return ob;
+}
+
+/** \} */
diff --git a/source/blender/blenkernel/intern/lib_override.cc b/source/blender/blenkernel/intern/lib_override.cc
index 29f8b26c296..3c77573dc41 100644
--- a/source/blender/blenkernel/intern/lib_override.cc
+++ b/source/blender/blenkernel/intern/lib_override.cc
@@ -1383,7 +1383,7 @@ bool BKE_lib_override_library_create(Main *bmain,
id_hierarchy_root_reference = id_root_reference;
}
- const Object *old_active_object = OBACT(view_layer);
+ const Object *old_active_object = BKE_view_layer_active_object_get(view_layer);
const bool success = lib_override_library_create_do(bmain,
scene,
@@ -1721,7 +1721,7 @@ static bool lib_override_library_resync(Main *bmain,
ID *id_root_reference = id_root->override_library->reference;
ID *id;
- const Object *old_active_object = OBACT(view_layer);
+ const Object *old_active_object = BKE_view_layer_active_object_get(view_layer);
if (id_root_reference->tag & LIB_TAG_MISSING) {
BKE_reportf(reports != nullptr ? reports->reports : nullptr,
@@ -2702,7 +2702,7 @@ void BKE_lib_override_library_main_resync(Main *bmain,
override_resync_residual_storage->flag |= COLLECTION_HIDE_VIEWPORT | COLLECTION_HIDE_RENDER;
}
- const Object *old_active_object = OBACT(view_layer);
+ const Object *old_active_object = BKE_view_layer_active_object_get(view_layer);
/* Necessary to improve performances, and prevent layers matching override sub-collections to be
* lost when re-syncing the parent override collection.
diff --git a/source/blender/blenkernel/intern/object.cc b/source/blender/blenkernel/intern/object.cc
index c90c83074bd..0389fa2f1c6 100644
--- a/source/blender/blenkernel/intern/object.cc
+++ b/source/blender/blenkernel/intern/object.cc
@@ -2547,7 +2547,7 @@ Object **BKE_object_pose_array_get_ex(ViewLayer *view_layer,
uint *r_objects_len,
bool unique)
{
- Object *ob_active = OBACT(view_layer);
+ Object *ob_active = BKE_view_layer_active_object_get(view_layer);
Object *ob_pose = BKE_object_pose_armature_get(ob_active);
Object **objects = nullptr;
if (ob_pose == ob_active) {
@@ -2583,7 +2583,7 @@ Base **BKE_object_pose_base_array_get_ex(ViewLayer *view_layer,
uint *r_bases_len,
bool unique)
{
- Base *base_active = BASACT(view_layer);
+ Base *base_active = view_layer->basact;
Object *ob_pose = base_active ? BKE_object_pose_armature_get(base_active->object) : nullptr;
Base *base_pose = nullptr;
Base **bases = nullptr;
diff --git a/source/blender/blenkernel/intern/scene.cc b/source/blender/blenkernel/intern/scene.cc
index 0445db5aed0..02f47a5ee35 100644
--- a/source/blender/blenkernel/intern/scene.cc
+++ b/source/blender/blenkernel/intern/scene.cc
@@ -2514,7 +2514,7 @@ static void prepare_mesh_for_viewport_render(Main *bmain, const ViewLayer *view_
* call loading of the edit data for the mesh objects.
*/
- Object *obedit = OBEDIT_FROM_VIEW_LAYER(view_layer);
+ Object *obedit = BKE_view_layer_edit_object_get(view_layer);
if (obedit) {
Mesh *mesh = static_cast<Mesh *>(obedit->data);
if ((obedit->type == OB_MESH) &&