diff options
author | Monique Dewanchand <mdewanchand> | 2022-09-01 11:00:53 +0300 |
---|---|---|
committer | Monique <mdewanchand@atmind.nl> | 2022-09-01 11:22:43 +0300 |
commit | 17501c146edc4af8a5e04565dc4d0b30ed5c5323 (patch) | |
tree | 73fe3334ff45b67d45fa1b5a5ae7ff06ec990a5a /source/blender/blenkernel/intern | |
parent | f9c249917dbf9c450abf52df1f60b3d587bc106a (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.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/fluid.c | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/layer_utils.c | 25 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/lib_override.cc | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.cc | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/scene.cc | 2 |
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) && |