|
Blender V4.3
|
#include <atomic>#include <cstring>#include "CLG_log.h"#include "BLI_listbase.h"#include "BLI_mempool.h"#include "BLI_string.h"#include "BLI_string_utf8.h"#include "BLI_string_utils.hh"#include "BLI_threads.h"#include "BLT_translation.hh"#include "BKE_animsys.h"#include "BKE_collection.hh"#include "BKE_freestyle.h"#include "BKE_idprop.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "BKE_main.hh"#include "BKE_node.hh"#include "BKE_object.hh"#include "BKE_object_types.hh"#include "DNA_ID.h"#include "DNA_collection_types.h"#include "DNA_layer_types.h"#include "DNA_node_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "DNA_space_types.h"#include "DNA_view3d_types.h"#include "DNA_windowmanager_types.h"#include "DNA_workspace_types.h"#include "DNA_world_types.h"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_debug.hh"#include "DEG_depsgraph_query.hh"#include "DRW_engine.hh"#include "RE_engine.h"#include "MEM_guardedalloc.h"#include "BLO_read_write.hh"Go to the source code of this file.
Classes | |
| struct | LayerCollectionResync |
| struct | LayerObjectBaseIteratorData |
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
Variables | |
| static CLG_LogRef | LOG = {"bke.layercollection"} |
| static const short | g_base_collection_flags |
Syncing | |
The layer collection tree mirrors the scene collection tree. Whenever that changes we need to synchronize them so that there is a corresponding layer collection for each collection. Note that the scene collection tree can contain link or override collections, and so this is also called on .blend file load to ensure any new or removed collections are synced. The view layer also contains a list of bases for each object that exists in at least one layer collection. That list is also synchronized here, and stores state like selection. This API allows to temporarily forbid resync of LayerCollections. This can greatly improve performances in cases where those functions get called a lot (e.g. during massive remappings of IDs). Usage of these should be done very carefully though. In particular, calling code must ensures it resync LayerCollections before any UI/Event loop handling can happen.
| |
| static std::atomic< int32_t > | no_resync = 0 |
| static constexpr int | no_resync_recurse_max = 16 * 256 |
| void | BKE_layer_collection_resync_forbid () |
| void | BKE_layer_collection_resync_allow () |
| static LayerCollectionResync * | layer_collection_resync_create_recurse (LayerCollectionResync *parent_layer_resync, LayerCollection *layer, BLI_mempool *mempool) |
| static LayerCollectionResync * | layer_collection_resync_find (LayerCollectionResync *layer_resync, Collection *child_collection) |
| static void | layer_collection_resync_unused_layers_free (ViewLayer *view_layer, LayerCollectionResync *layer_resync) |
| void | BKE_view_layer_need_resync_tag (ViewLayer *view_layer) |
| void | BKE_view_layer_synced_ensure (const Scene *scene, ViewLayer *view_layer) |
| void | BKE_scene_view_layers_synced_ensure (const Scene *scene) |
| void | BKE_main_view_layers_synced_ensure (const Main *bmain) |
| static void | layer_collection_objects_sync (ViewLayer *view_layer, LayerCollection *layer, ListBase *r_lb_new_object_bases, const short collection_restrict, const short layer_restrict, const ushort local_collections_bits) |
| static void | layer_collection_sync (ViewLayer *view_layer, LayerCollectionResync *layer_resync, BLI_mempool *layer_resync_mempool, ListBase *r_lb_new_object_bases, const short parent_layer_flag, const short parent_collection_restrict, const short parent_layer_restrict, const ushort parent_local_collections_bits) |
| static bool | view_layer_objects_base_cache_validate (ViewLayer *view_layer, LayerCollection *layer) |
| void | BKE_layer_collection_doversion_2_80 (const Scene *scene, ViewLayer *view_layer) |
| void | BKE_layer_collection_sync (const Scene *scene, ViewLayer *view_layer) |
| void | BKE_scene_collection_sync (const Scene *scene) |
| void | BKE_main_collection_sync (const Main *bmain) |
| void | BKE_main_collection_sync_remap (const Main *bmain) |
| #define DNA_DEPRECATED_ALLOW |
Definition at line 10 of file blenkernel/intern/layer.cc.
|
static |
Definition at line 2252 of file blenkernel/intern/layer.cc.
References Object::mode, Base::object, and Object::type.
Referenced by BKE_view_layer_bases_in_mode_iterator_begin(), and BKE_view_layer_bases_in_mode_iterator_next().
| void BKE_base_eval_flags | ( | Base * | base | ) |
Applies object's restrict flags on top of flags coming from the collection and stores those in base->flag. BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT ignores viewport flags visibility (i.e., restriction and local collection).
Definition at line 2323 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_ENABLED_AND_VISIBLE_IN_DEFAULT_VIEWPORT, BASE_ENABLED_VIEWPORT, BASE_HIDDEN, BASE_SELECTABLE, Base::flag, Base::flag_from_collection, g_base_collection_flags, OB_HIDE_RENDER, OB_HIDE_SELECT, OB_HIDE_VIEWPORT, Base::object, and Object::visibility_flag.
Referenced by BKE_layer_collection_sync(), BKE_object_eval_eval_base_flags(), and blender::ed::object::object_add_named_exec().
Definition at line 1618 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_ENABLED_AND_VISIBLE_IN_DEFAULT_VIEWPORT, Base::flag, View3D::flag, Base::local_collections_bits, View3D::local_collections_uid, Base::local_view_bits, View3D::local_view_uid, View3D::localvd, Base::object, View3D::object_type_exclude_viewport, Object::type, and V3D_LOCAL_COLLECTIONS.
Referenced by BKE_view_layer_bases_in_mode_iterator_begin(), BKE_view_layer_bases_in_mode_iterator_next(), blender::ed::sculpt_paint::trim::can_invoke(), blender::ed::sculpt_paint::face_set::change_visibility_invoke(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::ed::sculpt_paint::face_set::edit_op_invoke(), blender::ed::sculpt_paint::face_set::gesture_box_invoke(), blender::ed::sculpt_paint::face_set::gesture_lasso_invoke(), blender::ed::sculpt_paint::face_set::gesture_line_invoke(), blender::ed::sculpt_paint::project::gesture_line_invoke(), blender::ed::sculpt_paint::face_set::gesture_polyline_invoke(), blender::ed::sculpt_paint::face_set::init_op_exec(), blender::ed::sculpt_paint::mask::mask_by_color_invoke(), blender::ed::sculpt_paint::mask::mask_from_boundary_exec(), blender::ed::sculpt_paint::mask::mask_from_cavity_exec(), blender::ed::sculpt_paint::face_set::randomize_colors_exec(), blender::ed::sculpt_paint::sample_color_invoke(), blender::ed::sculpt_paint::dyntopo::sample_detail(), blender::ed::sculpt_paint::sculpt_brush_stroke_invoke(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_invoke(), blender::ed::sculpt_paint::color::sculpt_color_filter_init(), SCULPT_cursor_geometry_info_update(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), blender::ed::sculpt_paint::expand::sculpt_expand_invoke(), blender::ed::sculpt_paint::mask::sculpt_mask_filter_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_start(), blender::ed::sculpt_paint::set_persistent_base_exec(), blender::ed::sculpt_paint::set_pivot_position_exec(), and blender::ed::sculpt_paint::symmetrize_exec().
Update after toggling visibility of an object base.
Definition at line 1599 of file blenkernel/intern/layer.cc.
References BASE_HIDDEN, BKE_view_layer_need_resync_tag(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), Base::flag, and LISTBASE_FOREACH.
| bool BKE_layer_collection_activate | ( | ViewLayer * | view_layer, |
| LayerCollection * | lc ) |
Activate collection
Definition at line 662 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection, LayerCollection::flag, and LAYER_COLLECTION_EXCLUDE.
Referenced by BKE_layer_collection_isolate_global(), blender::ed::outliner::tree_element_layer_collection_activate(), and blender::ed::outliner::tree_element_master_collection_activate().
| LayerCollection * BKE_layer_collection_activate_parent | ( | ViewLayer * | view_layer, |
| LayerCollection * | lc ) |
Activate first parent collection.
Definition at line 672 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection, BKE_layer_collection_activate_parent(), BKE_layer_collection_first_from_scene_collection(), CollectionParent::collection, LayerCollection::collection, ListBase::first, layer_collection_hidden(), ViewLayer::layer_collections, Collection_Runtime::parents, and Collection::runtime.
Referenced by BKE_layer_collection_activate_parent(), BKE_layer_collection_sync(), blender::ed::object::collection_add_info_get_from_op(), and blender::ed::outliner::collection_instance_exec().
Get the total number of collections (including all the nested collections)
Definition at line 710 of file blenkernel/intern/layer.cc.
References collection_count(), and ViewLayer::layer_collections.
Helper to fix older pre-2.80 blend-files.
Ensures the given view_layer as a valid first-level layer collection, i.e. a single one matching the scene's master collection. This is a requirement for BKE_layer_collection_sync.
Definition at line 1300 of file blenkernel/intern/layer.cc.
References BLI_listbase_clear(), BLI_listbase_count_at_most(), LayerCollection::collection, ListBase::first, layer_collection_add(), LayerCollection::layer_collections, and ViewLayer::layer_collections.
| int BKE_layer_collection_findindex | ( | ViewLayer * | view_layer, |
| const LayerCollection * | lc ) |
Definition at line 737 of file blenkernel/intern/layer.cc.
References index_from_collection(), and ViewLayer::layer_collections.
Referenced by blender::ed::object::collection_hide_menu_draw().
| LayerCollection * BKE_layer_collection_first_from_scene_collection | ( | const ViewLayer * | view_layer, |
| const Collection * | collection ) |
Return the first matching LayerCollection in the ViewLayer for the Collection.
Definition at line 1995 of file blenkernel/intern/layer.cc.
References find_layer_collection_by_scene_collection(), ViewLayer::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_collection_objects_select(), BKE_layer_collection_activate_parent(), BKE_view_layer_has_collection(), do_version_layers_to_collections(), blender::io::usd::import_startjob(), and layer_collection_hidden().
| LayerCollection * BKE_layer_collection_from_index | ( | ViewLayer * | view_layer, |
| int | index ) |
Get the collection for a given index.
Definition at line 651 of file blenkernel/intern/layer.cc.
References collection_from_index(), and ViewLayer::layer_collections.
Referenced by blender::ed::object::object_hide_collection_exec().
| LayerCollection * BKE_layer_collection_get_active | ( | ViewLayer * | view_layer | ) |
Get the active collection
Definition at line 657 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection.
Referenced by bc_add_object(), BKE_object_add(), BKE_object_add_for_data(), blender::ed::object::collection_add_info_get_from_op(), blender::ed::outliner::collection_instance_exec(), CTX_data_layer_collection(), blender::io::obj::geometry_to_blender_objects(), blender::io::usd::import_endjob(), import_endjob(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), loose_data_instantiate_ensure_active_collection(), and blender::ed::object::object_add_sync_base_collection().
| bool BKE_layer_collection_has_layer_collection | ( | LayerCollection * | lc_parent, |
| LayerCollection * | lc_child ) |
Definition at line 1578 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_has_layer_collection(), LayerCollection::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_has_layer_collection(), BKE_layer_collection_isolate_global(), BKE_layer_collection_isolate_local(), and blender::ed::outliner::outliner_collection_isolate_flag().
| bool BKE_layer_collection_has_selected_objects | ( | const Scene * | scene, |
| ViewLayer * | view_layer, | ||
| LayerCollection * | lc ) |
Definition at line 1548 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_SELECTED, BKE_layer_collection_has_selected_objects(), BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), LayerCollection::collection, COLLECTION_HIDE_SELECT, Base::flag, Collection::flag, LayerCollection::flag, Collection::gobject, LAYER_COLLECTION_EXCLUDE, LayerCollection::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_has_selected_objects(), and blender::ed::object::collection_hide_menu_draw().
| void BKE_layer_collection_isolate_global | ( | Scene * | scene, |
| ViewLayer * | view_layer, | ||
| LayerCollection * | lc, | ||
| bool | extend ) |
Isolate the collection - hide all other collections but this one. Make sure to show all the direct parents and all children of the layer collection as well. When extending we simply show the collections and its direct family.
If the collection or any of its parents is disabled, make it enabled. Don't change the children disable state though.
Definition at line 1695 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_activate(), BKE_layer_collection_has_layer_collection(), BKE_view_layer_need_resync_tag(), ListBase::first, LayerCollection::flag, layer_collection_flag_set_recursive(), layer_collection_flag_unset_recursive(), LAYER_COLLECTION_HIDE, LAYER_COLLECTION_VISIBLE_VIEW_LAYER, LayerCollection::layer_collections, ViewLayer::layer_collections, LISTBASE_FOREACH, and LayerCollection::runtime_flag.
Referenced by blender::ed::outliner::collection_isolate_exec(), and blender::ed::object::object_hide_collection_exec().
| void BKE_layer_collection_isolate_local | ( | const Scene * | scene, |
| ViewLayer * | view_layer, | ||
| const View3D * | v3d, | ||
| LayerCollection * | lc, | ||
| bool | extend ) |
Isolate the collection locally
Same as BKE_layer_collection_isolate_local but for a viewport
Definition at line 1832 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_has_layer_collection(), BKE_layer_collection_local_sync(), ListBase::first, layer_collection_local_visibility_set_recursive(), layer_collection_local_visibility_unset_recursive(), LayerCollection::layer_collections, ViewLayer::layer_collections, LISTBASE_FOREACH, LayerCollection::local_collections_bits, and View3D::local_collections_uid.
Referenced by blender::ed::object::object_hide_collection_exec().
| void BKE_layer_collection_local_sync | ( | const Scene * | scene, |
| ViewLayer * | view_layer, | ||
| const View3D * | v3d ) |
Definition at line 1790 of file blenkernel/intern/layer.cc.
References BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), layer_collection_local_sync(), ViewLayer::layer_collections, LISTBASE_FOREACH, View3D::local_collections_uid, and no_resync.
Referenced by BKE_layer_collection_isolate_local(), BKE_layer_collection_local_sync_all(), ED_view3d_local_collections_reset(), and blender::ed::object::object_hide_collection_exec().
| void BKE_layer_collection_local_sync_all | ( | const Main * | bmain | ) |
Sync the local collection for all the 3D Viewports.
Definition at line 1809 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_local_sync(), View3D::flag, LISTBASE_FOREACH, no_resync, Main::scenes, Main::screens, SPACE_VIEW3D, and V3D_LOCAL_COLLECTIONS.
Referenced by BKE_main_collection_sync(), and BKE_main_view_layers_synced_ensure().
| bool BKE_layer_collection_objects_select | ( | const Scene * | scene, |
| ViewLayer * | view_layer, | ||
| LayerCollection * | lc, | ||
| bool | deselect ) |
Select all the objects of this layer collection
It also select the objects that are in nested collections.
Definition at line 1508 of file blenkernel/intern/layer.cc.
References BASE_SELECTABLE, BASE_SELECTED, BKE_layer_collection_objects_select(), BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), LayerCollection::collection, COLLECTION_HIDE_SELECT, Base::flag, Collection::flag, LayerCollection::flag, Collection::gobject, LAYER_COLLECTION_EXCLUDE, LayerCollection::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_collection_objects_select(), BKE_layer_collection_objects_select(), and blender::ed::outliner::collection_objects_select_exec().
| void BKE_layer_collection_resync_allow | ( | ) |
Definition at line 794 of file blenkernel/intern/layer.cc.
References BLI_assert, no_resync, and no_resync_recurse_max.
Referenced by BKE_blendfile_library_relocate(), BKE_id_free_ex(), BKE_lib_override_library_main_resync(), blo_read_file_internal(), id_delete(), and lib_override_id_swap().
| void BKE_layer_collection_resync_forbid | ( | ) |
Definition at line 787 of file blenkernel/intern/layer.cc.
References BLI_assert, no_resync, and no_resync_recurse_max.
Referenced by BKE_blendfile_library_relocate(), BKE_id_free_ex(), BKE_lib_override_library_main_resync(), blo_read_file_internal(), id_delete(), and lib_override_id_swap().
| void BKE_layer_collection_set_flag | ( | LayerCollection * | lc, |
| const int | flag, | ||
| const bool | value ) |
Definition at line 1972 of file blenkernel/intern/layer.cc.
References flag, and layer_collection_flag_recursive_set().
Referenced by blender::ed::outliner::collection_view_layer_exec(), and blender::ed::outliner::outliner_unhide_all_exec().
| void BKE_layer_collection_set_visible | ( | const Scene * | scene, |
| ViewLayer * | view_layer, | ||
| LayerCollection * | lc, | ||
| bool | visible, | ||
| bool | hierarchy ) |
Hide/show all the elements of a collection. Don't change the collection children enable/disable state, but it may change it for the collection itself.
Definition at line 1908 of file blenkernel/intern/layer.cc.
References LayerCollection::flag, layer_collection_bases_hide_recursive(), layer_collection_bases_show_recursive(), layer_collection_flag_set_recursive(), layer_collection_flag_unset_recursive(), and LAYER_COLLECTION_HIDE.
Referenced by blender::ed::outliner::collection_visibility_exec(), and blender::ed::outliner::outliner_hide_exec().
Update view layer collection tree from collections used in the scene. This is used when collections are removed or added, both while editing and on file loaded in case linked data changed or went missing.
Definition at line 1319 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection, ViewLayer::basact, BKE_base_eval_flags(), BKE_layer_collection_activate_parent(), BLI_assert, BLI_assert_msg, BLI_findindex(), BLI_findptr(), BLI_freelistN(), BLI_ghash_remove(), BLI_listbase_is_empty(), BLI_listbase_is_single(), BLI_mempool_create(), BLI_mempool_destroy(), BLI_MEMPOOL_NOP, LayerCollection::collection, ListBase::first, ViewLayer::flag, layer_collection_add(), layer_collection_hidden(), layer_collection_resync_create_recurse(), layer_collection_resync_unused_layers_free(), layer_collection_sync(), ViewLayer::layer_collections, LISTBASE_FOREACH, MEM_SAFE_FREE, no_resync, ViewLayer::object_bases, ViewLayer::object_bases_array, ViewLayer::object_bases_hash, offsetof, view_layer_bases_hash_create(), and view_layer_objects_base_cache_validate().
Referenced by BKE_view_layer_add(), BKE_view_layer_synced_ensure(), and ED_preview_set_visibility().
| void BKE_layer_eval_view_layer_indexed | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| int | view_layer_index ) |
Definition at line 2371 of file blenkernel/intern/layer.cc.
References BLI_assert, BLI_findlink(), depsgraph, and layer_eval_view_layer().
| int BKE_lightgroup_membership_get | ( | const LightgroupMembership * | lgm, |
| char * | name ) |
Definition at line 2724 of file blenkernel/intern/layer.cc.
References BLI_strncpy_rlen(), and LightgroupMembership::name.
| int BKE_lightgroup_membership_length | ( | const LightgroupMembership * | lgm | ) |
Definition at line 2733 of file blenkernel/intern/layer.cc.
References LightgroupMembership::name.
| void BKE_lightgroup_membership_set | ( | LightgroupMembership ** | lgm, |
| const char * | name ) |
Definition at line 2741 of file blenkernel/intern/layer.cc.
References BLI_strncpy(), and MEM_freeN().
| void BKE_main_collection_sync | ( | const Main * | bmain | ) |
Definition at line 1441 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_local_sync_all(), BKE_scene_collection_sync(), ListBase::first, no_resync, scene, and Main::scenes.
Referenced by BKE_blendfile_library_relocate(), BKE_collection_add(), BKE_collection_add_from_collection(), BKE_collection_add_from_object(), BKE_collection_child_add(), BKE_collection_child_remove(), BKE_collection_delete(), BKE_collection_duplicate(), BKE_collection_move(), BKE_collection_object_add_from(), BKE_collection_object_add_notest(), BKE_collection_object_remove(), BKE_collection_object_replace(), BKE_collections_after_lib_link(), BKE_main_collection_sync_remap(), BKE_scene_duplicate(), lib_override_library_resync(), and scene_collections_object_remove().
| void BKE_main_collection_sync_remap | ( | const Main * | bmain | ) |
Definition at line 1461 of file blenkernel/intern/layer.cc.
References BKE_main_collection_sync(), BKE_main_collections_object_cache_free(), BLI_ghash_free(), Main::collections, DEG_id_tag_update_ex(), ListBase::first, ID_RECALC_SYNC_TO_EVAL, LISTBASE_FOREACH, MEM_SAFE_FREE, no_resync, scene, Main::scenes, and view_layer_bases_hash_create().
Referenced by BKE_blendfile_library_relocate(), BKE_id_free_ex(), id_delete(), lib_override_library_create_post_process(), libblock_remap_data_postprocess_collection_update(), libblock_remap_data_postprocess_object_update(), blender::ed::outliner::outliner_collection_set_flag_recursive_fn(), blender::ed::outliner::outliner_object_set_flag_recursive_fn(), and blender::ed::object::single_object_users().
| void BKE_main_view_layers_synced_ensure | ( | const Main * | bmain | ) |
Definition at line 1016 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_local_sync_all(), BKE_scene_view_layers_synced_ensure(), ListBase::first, scene, and Main::scenes.
Referenced by BKE_lib_override_library_create().
Definition at line 1643 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_VISIBLE_IN_DEFAULT_VIEWPORT, Object::base_flag, Object::base_local_view_bits, BLI_assert, View3D::flag, View3D::local_collections_uid, View3D::local_view_uid, View3D::localvd, OB_HIDE_VIEWPORT, View3D::object_type_exclude_viewport, Object::runtime, Object::type, V3D_LOCAL_COLLECTIONS, and Object::visibility_flag.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), blender::io::hydra::ObjectData::is_visible(), knife_find_closest_face(), paint_object_is_rendered_transparent(), stats_object(), and stats_update().
| void BKE_scene_collection_sync | ( | const Scene * | scene | ) |
Definition at line 1430 of file blenkernel/intern/layer.cc.
References BKE_view_layer_need_resync_tag(), LISTBASE_FOREACH, and no_resync.
Referenced by BKE_main_collection_sync().
See if the object is in any of the scene layers of the scene.
Definition at line 2013 of file blenkernel/intern/layer.cc.
References BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), and LISTBASE_FOREACH.
Referenced by ED_editors_init(), blender::ed::outliner::scene_drop_invoke(), and ui_template_id_liboverride_hierarchy_make().
| void BKE_scene_view_layers_synced_ensure | ( | const Scene * | scene | ) |
Definition at line 1009 of file blenkernel/intern/layer.cc.
References BKE_view_layer_synced_ensure(), and LISTBASE_FOREACH.
Referenced by BKE_main_view_layers_synced_ensure(), CryptomatteSession::CryptomatteSession(), lib_override_id_swap(), lib_override_library_create_post_process(), and lib_override_library_resync().
| ViewLayer * BKE_view_layer_add | ( | Scene * | scene, |
| const char * | name, | ||
| ViewLayer * | view_layer_source, | ||
| int | type ) |
Add a new view layer by default, a view layer has the master collection.
Definition at line 191 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_sync(), BKE_view_layer_copy_data(), BLI_addtail(), BLI_uniquename(), DATA_, ListBase::first, layer_collection_exclude_all(), ViewLayer::layer_collections, ViewLayer::name, offsetof, STRNCPY_UTF8, view_layer_add(), VIEWLAYER_ADD_COPY, VIEWLAYER_ADD_EMPTY, and VIEWLAYER_ADD_NEW.
Referenced by do_version_layers_to_collections(), blender::ed::space_node::preview_render(), scene_init_data(), and view_layer_add_exec().
| ViewLayerAOV * BKE_view_layer_add_aov | ( | ViewLayer * | view_layer | ) |
Definition at line 2524 of file blenkernel/intern/layer.cc.
References AOV_TYPE_COLOR, ViewLayer::aovs, BLI_addtail(), DATA_, ViewLayerAOV::name, STRNCPY_UTF8, ViewLayerAOV::type, viewlayer_aov_active_set(), and viewlayer_aov_make_name_unique().
Referenced by blender::ed::space_node::preview_render(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), and view_layer_add_aov_exec().
| ViewLayerLightgroup * BKE_view_layer_add_lightgroup | ( | ViewLayer * | view_layer, |
| const char * | name ) |
Definition at line 2649 of file blenkernel/intern/layer.cc.
References BLI_addtail(), DATA_, ViewLayer::lightgroups, ViewLayerLightgroup::name, STRNCPY_UTF8, viewlayer_lightgroup_active_set(), and viewlayer_lightgroup_make_name_unique().
Referenced by view_layer_add_lightgroup_exec(), and view_layer_add_used_lightgroups_exec().
Definition at line 405 of file blenkernel/intern/layer.cc.
References BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), BLI_assert, and LISTBASE_FOREACH.
Referenced by BKE_copybuffer_paste(), BKE_object_add_for_data(), blender::ed::outliner::do_outliner_item_mode_toggle_generic(), DocumentImporter::import(), blender::io::usd::import_endjob(), import_endjob(), blender::io::obj::importer_main(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), blender::ed::object::make_local_exec(), object_add_common(), blender::ed::object::object_transfer_mode_to_base(), select_marker_camera_switch(), blender::ed::outliner::tree_element_object_activate(), view3d_collection_drop_copy_external_asset(), view3d_ob_drop_copy_external_asset(), and wm_link_append_exec().
Definition at line 394 of file blenkernel/intern/layer.cc.
References BLI_assert_msg, BLI_ghash_lookup(), ViewLayer::flag, ViewLayer::object_bases_hash, view_layer_bases_hash_create(), and VIEW_LAYER_OUT_OF_SYNC.
Referenced by blender::ed::object::add_hook_object_new(), blender::ed::object::bake_object_check(), bc_add_object(), BKE_layer_collection_has_selected_objects(), BKE_layer_collection_objects_select(), BKE_light_linking_select_receivers_of_emitter(), BKE_object_add(), BKE_object_add_for_data(), BKE_object_add_from(), BKE_object_pose_armature_get_visible(), BKE_object_pose_base_array_get_ex(), BKE_scene_has_object(), blender::ed::object::clear_override_library_exec(), collection_objects_select(), createTransObject(), CTX_data_active_base(), ctx_data_base_collection_get(), blender::ed::outliner::do_outliner_item_mode_toggle_generic(), do_pose_tag_select_op_prepare(), do_version_layers_to_collections(), blender::ed::object::duplibase_for_convert(), blender::ed::object::duplicate_exec(), ED_armature_pose_select_in_wpaint_mode(), blender::ed::object::ed_object_posemode_set_for_weight_paint_ex(), ED_outliner_give_base_under_cursor(), ED_undo_object_set_active_or_warn(), EDBM_edge_find_nearest(), EDBM_face_find_nearest(), EDBM_vert_find_nearest(), editselect_buf_cache_init(), blender::ed::outliner::element_should_draw_faded(), blender::io::obj::geometry_to_blender_objects(), getTransformOrientation_ex(), blender::ed::outliner::id_override_library_clear_single_process(), blender::io::usd::import_endjob(), import_endjob(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), blender::ed::object::jump_to_object(), jump_to_target_ptr(), layer_collection_bases_hide_recursive(), layer_collection_bases_show_recursive(), layer_collection_local_sync(), lib_override_library_create_post_process(), loose_data_instantiate_collection_process(), loose_data_instantiate_object_base_instance_init(), blender::ed::object::make_local_all__instance_indirect_unused(), blender::ed::object::make_object_duplilist_real(), blender::ed::object::object_add_duplicate_internal(), blender::ed::outliner::object_batch_delete_hierarchy_tag_fn(), blender::ed::outliner::object_deselect_fn(), object_preview_scene_create(), blender::ed::outliner::object_select_fn(), blender::ed::object::object_select_mirror_exec(), blender::ed::object::object_transfer_mode_to_base(), blender::ed::outliner::outliner_base_or_object_pointer_create(), blender::ed::outliner::outliner_draw_restrictbuts(), blender::ed::outliner::outliner_draw_tree_element(), blender::ed::outliner::outliner_element_visible_get(), blender::ed::outliner::outliner_hide_collect_data_to_edit(), blender::ed::outliner::outliner_item_mode_toggle(), blender::ed::outliner::outliner_object_set_flag_recursive_fn(), blender::ed::outliner::outliner_select_sync_from_object(), blender::ed::outliner::outliner_select_sync_to_object(), override_idtemplate_clear_exec(), blender::ed::outliner::parent_drop_allowed(), blender::ed::outliner::scene_drop_invoke(), screen_set_3dview_camera(), blender::ed::object::select_grouped_object_hooks(), blender::ed::object::select_grouped_parent(), select_marker_camera_switch(), set_trans_object_base_flags(), transform_object_deform_pose_armature_get(), blender::ed::outliner::tree_element_object_activate(), blender::ed::outliner::tree_element_pose_state_get(), validate_object_select_id(), view3d_collection_drop_copy_external_asset(), and view3d_ob_drop_copy_external_asset().
Definition at line 416 of file blenkernel/intern/layer.cc.
References ViewLayer::basact, BASE_SELECTABLE, BASE_SELECTED, and Base::flag.
Referenced by bc_add_object(), BKE_object_add(), BKE_object_add_for_data(), BKE_object_add_from(), blender::ed::outliner::do_outliner_item_mode_toggle_generic(), blender::io::obj::geometry_to_blender_objects(), blender::io::usd::import_endjob(), import_endjob(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), blender::ed::object::object_transfer_mode_to_base(), view3d_collection_drop_copy_external_asset(), and view3d_ob_drop_copy_external_asset().
| void BKE_view_layer_bases_in_mode_iterator_begin | ( | BLI_Iterator * | iter, |
| void * | data_in ) |
Definition at line 2258 of file blenkernel/intern/layer.cc.
References base_is_in_mode(), BKE_base_is_visible(), BKE_view_layer_bases_in_mode_iterator_next(), BLI_assert, BLI_Iterator::current, BLI_Iterator::data, Base::object, Object::type, and BLI_Iterator::valid.
| void BKE_view_layer_bases_in_mode_iterator_end | ( | BLI_Iterator * | iter | ) |
Definition at line 2312 of file blenkernel/intern/layer.cc.
| void BKE_view_layer_bases_in_mode_iterator_next | ( | BLI_Iterator * | iter | ) |
Definition at line 2284 of file blenkernel/intern/layer.cc.
References base_is_in_mode(), BKE_base_is_visible(), BLI_Iterator::current, BLI_Iterator::data, Base::next, and BLI_Iterator::valid.
Referenced by BKE_view_layer_bases_in_mode_iterator_begin().
| void BKE_view_layer_blend_read_after_liblink | ( | BlendLibReader * | reader, |
| ID * | self_id, | ||
| ViewLayer * | view_layer ) |
Definition at line 2478 of file blenkernel/intern/layer.cc.
References ViewLayer::basact, BLI_freelinkN(), LISTBASE_FOREACH_MUTABLE, and ViewLayer::object_bases.
Referenced by scene_blend_read_after_liblink().
| void BKE_view_layer_blend_read_data | ( | BlendDataReader * | reader, |
| ViewLayer * | view_layer ) |
Definition at line 2443 of file blenkernel/intern/layer.cc.
References ViewLayer::active_aov, ViewLayer::active_collection, ViewLayer::active_lightgroup, ViewLayer::aovs, ViewLayer::basact, BLI_listbase_clear(), BLO_read_struct, BLO_read_struct_list, direct_link_layer_collections(), ViewLayer::drawdata, ListBase::first, ViewLayer::freestyle_config, ViewLayer::id_properties, IDP_BlendDataRead, ViewLayer::layer_collections, ViewLayer::lightgroups, FreestyleConfig::linesets, FreestyleConfig::modules, ViewLayer::object_bases, ViewLayer::object_bases_array, ViewLayer::object_bases_hash, and ViewLayer::stats.
Referenced by scene_blend_read_data().
| void BKE_view_layer_blend_write | ( | BlendWriter * | writer, |
| const Scene * | scene, | ||
| ViewLayer * | view_layer ) |
Definition at line 2395 of file blenkernel/intern/layer.cc.
References ViewLayer::aovs, BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), BLO_write_struct, BLO_write_struct_list, ViewLayer::freestyle_config, ViewLayer::id_properties, IDP_BlendWrite(), ViewLayer::layer_collections, ViewLayer::lightgroups, FreestyleConfig::linesets, LISTBASE_FOREACH, FreestyleConfig::modules, and write_layer_collections().
Referenced by scene_blend_write().
Fallback for when a Scene has no camera to use.
| view_layer | in general you want to use the same ViewLayer that is used for depsgraph. If rendering you pass the scene active layer, when viewing in the viewport you want to get ViewLayer from context. |
Definition at line 325 of file blenkernel/intern/layer.cc.
References BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), LISTBASE_FOREACH, and OB_CAMERA.
Referenced by check_valid_camera(), check_valid_compositing_camera(), screen_set_3dview_camera(), and view_camera_exec().
This is a placeholder to know which areas of the code need to be addressed for the Workspace changes. Never use this, you should typically get the active layer from the context or window.
Definition at line 153 of file blenkernel/intern/layer.cc.
References BLI_assert.
Referenced by BKE_scene_base_iter_next(), and render_init_from_main().
| void BKE_view_layer_copy_data | ( | Scene * | scene_dst, |
| const Scene * | scene_src, | ||
| ViewLayer * | view_layer_dst, | ||
| const ViewLayer * | view_layer_src, | ||
| int | flag ) |
Only copy internal data of ViewLayer from source to already allocated/initialized destination.
| flag | Copying options (see BKE_lib_id.hh's LIB_ID_COPY_... flags for more). |
Definition at line 502 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection, ViewLayer::aovs, ViewLayer::basact, BKE_freestyle_config_copy(), BLI_addtail(), BLI_assert_msg, BLI_listbase_clear(), LayerCollection::collection, ViewLayer::drawdata, ListBase::first, flag, ViewLayer::flag, ViewLayer::freestyle_config, ViewLayer::id_properties, id_us_plus(), IDP_CopyProperty_ex(), layer_aov_copy_data(), ViewLayer::layer_collections, layer_collections_copy_data(), layer_lightgroup_copy_data(), LIB_ID_CREATE_NO_USER_REFCOUNT, ViewLayer::lightgroups, LISTBASE_FOREACH, Scene::master_collection, ViewLayer::mat_override, MEM_dupallocN, ViewLayer::object_bases, ViewLayer::object_bases_array, ViewLayer::object_bases_hash, ViewLayer::stats, and VIEW_LAYER_OUT_OF_SYNC.
Referenced by BKE_view_layer_add(), and scene_copy_data().
Returns the default view layer to render if we need to render just one.
Definition at line 130 of file blenkernel/intern/layer.cc.
References BLI_assert, LISTBASE_FOREACH, and VIEW_LAYER_RENDER.
Referenced by _setlooper_base_step(), BKE_scene_base_iter_next(), blender::deg::DepsgraphNodeBuilder::build_view_layer(), blender::deg::DepsgraphRelationBuilder::build_view_layer(), check_valid_camera(), check_valid_compositing_camera(), render_init_depsgraph(), blender::deg::seq_build_prop_cb(), blender::deg::seq_node_build_cb(), seq_prefetch_init_depsgraph(), and seq_render_scene_strip().
Returns the default view layer to view in work-spaces if there is none linked to the workspace yet.
Definition at line 118 of file blenkernel/intern/layer.cc.
References BLI_assert, LISTBASE_FOREACH, and VIEW_LAYER_RENDER.
Referenced by buttons_context_path_view_layer(), buttons_texture_users_from_context(), CTX_data_view_layer(), do_version_workspaces_after_lib_link(), ED_scene_view_layer_delete(), setup_app_data(), WM_window_ensure_active_view_layer(), and WM_window_get_active_view_layer().
Returns view layer with matching name, or NULL if not found.
Definition at line 142 of file blenkernel/intern/layer.cc.
References LISTBASE_FOREACH, and STREQ.
Referenced by BKE_blendfile_library_relocate(), blo_read_file_internal(), CTX_data_view_layer(), current_screen_compat(), wm_data_consistency_ensure(), WM_window_ensure_active_view_layer(), WM_window_get_active_view_layer(), and WM_window_set_active_view_layer().
| ViewLayer * BKE_view_layer_find_from_collection | ( | const Scene * | scene, |
| LayerCollection * | lc ) |
Find the ViewLayer a LayerCollection belongs to.
Definition at line 337 of file blenkernel/intern/layer.cc.
References find_scene_collection_in_scene_collections(), and LISTBASE_FOREACH.
Referenced by blender::ed::outliner::tree_element_layer_collection_activate().
| ViewLayer * BKE_view_layer_find_with_aov | ( | Scene * | scene, |
| ViewLayerAOV * | aov ) |
Definition at line 2608 of file blenkernel/intern/layer.cc.
References BLI_findindex(), and LISTBASE_FOREACH.
| ViewLayer * BKE_view_layer_find_with_lightgroup | ( | Scene * | scene, |
| ViewLayerLightgroup * | lightgroup ) |
Definition at line 2680 of file blenkernel/intern/layer.cc.
References BLI_findindex(), and LISTBASE_FOREACH.
| void BKE_view_layer_free | ( | ViewLayer * | view_layer | ) |
Definition at line 246 of file blenkernel/intern/layer.cc.
References BKE_view_layer_free_ex().
Referenced by ED_scene_view_layer_delete(), and blender::ed::space_node::preview_render().
| void BKE_view_layer_free_ex | ( | ViewLayer * | view_layer, |
| bool | do_id_user ) |
Free (or release) any data used by this ViewLayer.
Definition at line 251 of file blenkernel/intern/layer.cc.
References ViewLayer::active_aov, ViewLayer::active_lightgroup, ViewLayer::aovs, BKE_freestyle_config_free(), BKE_view_layer_free_object_content(), BLI_freelistN(), ViewLayer::drawdata, ViewLayer::freestyle_config, ViewLayer::id_properties, IDP_FreeProperty_ex(), ViewLayer::lightgroups, LISTBASE_FOREACH, MEM_freeN(), MEM_SAFE_FREE, ViewLayer::object_bases_array, and ViewLayer::stats.
Referenced by BKE_view_layer_free(), and scene_free_data().
| void BKE_view_layer_free_object_content | ( | ViewLayer * | view_layer | ) |
Free the bases of this ViewLayer, and what they reference. This includes baseact, object_bases, object_bases_hash, and layer_collections.
Definition at line 282 of file blenkernel/intern/layer.cc.
References ViewLayer::basact, BLI_freelistN(), BLI_ghash_free(), BLI_listbase_clear(), layer_collection_free(), ViewLayer::layer_collections, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), ViewLayer::object_bases, and ViewLayer::object_bases_hash.
Referenced by BKE_view_layer_free_ex().
| bool BKE_view_layer_has_collection | ( | const ViewLayer * | view_layer, |
| const Collection * | collection ) |
See if view layer has the scene collection linked directly, or indirectly (nested).
Definition at line 2008 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_first_from_scene_collection().
Referenced by BKE_collection_parent_editable_find_recursive(), BKE_scene_find_from_collection(), CTX_data_layer_collection(), lib_override_library_create_post_process(), blender::ed::object::make_override_library_exec(), and blender::ed::object::make_override_library_invoke().
| bool BKE_view_layer_has_valid_aov | ( | ViewLayer * | view_layer | ) |
Check if the given view layer has at least one valid AOV.
Definition at line 2598 of file blenkernel/intern/layer.cc.
References AOV_CONFLICT, ViewLayer::aovs, and LISTBASE_FOREACH.
Referenced by blender::bke::tests::TEST(), blender::bke::tests::TEST(), and blender::bke::tests::test_render_pass_conflict().
| void BKE_view_layer_need_resync_tag | ( | ViewLayer * | view_layer | ) |
Definition at line 993 of file blenkernel/intern/layer.cc.
References ViewLayer::flag, and VIEW_LAYER_OUT_OF_SYNC.
Referenced by BKE_base_set_visible(), BKE_layer_collection_isolate_global(), BKE_scene_collection_sync(), blender::ed::object::collection_exporter_add_exec(), blender::ed::object::collection_exporter_remove_exec(), blender::ed::outliner::collection_flag_exec(), blender::ed::outliner::collection_isolate_exec(), blender::ed::outliner::collection_view_layer_exec(), blender::ed::outliner::collection_visibility_exec(), blender::ed::object::object_hide_view_clear_exec(), blender::ed::object::object_hide_view_set_exec(), blender::ed::outliner::outliner_hide_exec(), blender::ed::outliner::outliner_object_set_flag_recursive_fn(), and blender::ed::outliner::outliner_unhide_all_exec().
| void BKE_view_layer_remove_aov | ( | ViewLayer * | view_layer, |
| ViewLayerAOV * | aov ) |
Definition at line 2536 of file blenkernel/intern/layer.cc.
References ViewLayer::active_aov, ViewLayer::aovs, BLI_assert, BLI_findindex(), BLI_freelinkN(), ViewLayerAOV::next, ViewLayerAOV::prev, and viewlayer_aov_active_set().
Referenced by blender::bke::tests::TEST(), and view_layer_remove_aov_exec().
| void BKE_view_layer_remove_lightgroup | ( | ViewLayer * | view_layer, |
| ViewLayerLightgroup * | lightgroup ) |
Definition at line 2660 of file blenkernel/intern/layer.cc.
References ViewLayer::active_lightgroup, BLI_assert, BLI_findindex(), BLI_freelinkN(), ViewLayer::lightgroups, ViewLayerLightgroup::next, ViewLayerLightgroup::prev, and viewlayer_lightgroup_active_set().
Referenced by view_layer_remove_lightgroup_exec(), and view_layer_remove_unused_lightgroups_exec().
| void BKE_view_layer_rename | ( | Main * | bmain, |
| Scene * | scene, | ||
| ViewLayer * | view_layer, | ||
| const char * | newname ) |
Definition at line 557 of file blenkernel/intern/layer.cc.
References BKE_animdata_fix_paths_rename_all(), BLI_findindex(), BLI_uniquename(), DATA_, DEG_id_tag_update(), ListBase::first, ID_RECALC_BASE_FLAGS, LISTBASE_FOREACH, ViewLayer::name, offsetof, STREQ, STRNCPY, STRNCPY_UTF8, wmWindowManager::windows, and Main::wm.
Referenced by blo_update_defaults_scene(), and blender::ed::outliner::namebutton_fn().
| void BKE_view_layer_rename_lightgroup | ( | Scene * | scene, |
| ViewLayer * | view_layer, | ||
| ViewLayerLightgroup * | lightgroup, | ||
| const char * | name ) |
Definition at line 2690 of file blenkernel/intern/layer.cc.
References FOREACH_SCENE_OBJECT_BEGIN, FOREACH_SCENE_OBJECT_END, ID_IS_EDITABLE, LightgroupMembership::name, ViewLayerLightgroup::name, STREQ, STRNCPY_UTF8, and viewlayer_lightgroup_make_name_unique().
| void BKE_view_layer_selected_bases_iterator_begin | ( | BLI_Iterator * | iter, |
| void * | data_in ) |
Definition at line 2209 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_SELECTED, and objects_iterator_begin().
| void BKE_view_layer_selected_bases_iterator_end | ( | BLI_Iterator * | iter | ) |
Definition at line 2220 of file blenkernel/intern/layer.cc.
References object_bases_iterator_end().
| void BKE_view_layer_selected_bases_iterator_next | ( | BLI_Iterator * | iter | ) |
Definition at line 2215 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_SELECTED, and object_bases_iterator_next().
| void BKE_view_layer_selected_editable_objects_iterator_begin | ( | BLI_Iterator * | iter, |
| void * | data_in ) |
Definition at line 2174 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_SELECTED, BKE_object_is_libdata(), BKE_view_layer_selected_editable_objects_iterator_next(), BLI_Iterator::current, objects_iterator_begin(), and BLI_Iterator::valid.
| void BKE_view_layer_selected_editable_objects_iterator_end | ( | BLI_Iterator * | iter | ) |
Definition at line 2198 of file blenkernel/intern/layer.cc.
References objects_iterator_end().
| void BKE_view_layer_selected_editable_objects_iterator_next | ( | BLI_Iterator * | iter | ) |
Definition at line 2189 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_SELECTED, BKE_object_is_libdata(), BLI_Iterator::current, objects_iterator_next(), and BLI_Iterator::valid.
Referenced by BKE_view_layer_selected_editable_objects_iterator_begin().
| void BKE_view_layer_selected_objects_iterator_begin | ( | BLI_Iterator * | iter, |
| void * | data_in ) |
Definition at line 2131 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_SELECTED, and objects_iterator_begin().
| void BKE_view_layer_selected_objects_iterator_end | ( | BLI_Iterator * | iter | ) |
Definition at line 2142 of file blenkernel/intern/layer.cc.
References objects_iterator_end().
| void BKE_view_layer_selected_objects_iterator_next | ( | BLI_Iterator * | iter | ) |
Definition at line 2137 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_SELECTED, and objects_iterator_next().
Tag all the selected objects of a render-layer.
Definition at line 299 of file blenkernel/intern/layer.cc.
References BASE_SELECTED, BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), and LISTBASE_FOREACH.
Referenced by blender::ed::object::make_single_user_exec().
| void BKE_view_layer_set_active_aov | ( | ViewLayer * | view_layer, |
| ViewLayerAOV * | aov ) |
Definition at line 2551 of file blenkernel/intern/layer.cc.
References viewlayer_aov_active_set().
| void BKE_view_layer_set_active_lightgroup | ( | ViewLayer * | view_layer, |
| ViewLayerLightgroup * | lightgroup ) |
Definition at line 2675 of file blenkernel/intern/layer.cc.
References viewlayer_lightgroup_active_set().
Definition at line 998 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_sync(), BLI_assert, ViewLayer::flag, and VIEW_LAYER_OUT_OF_SYNC.
Referenced by _setlooper_base_step(), actedit_get_shapekeys(), blender::ed::object::add_hook_object_new(), blender::ed::object::add_type_with_obdata(), ANIM_animdata_get_context(), animdata_filter_dopesheet(), animdata_filter_ds_sorted_bases(), animdata_filter_grease_pencil(), blender::ed::object::bake_object_check(), blender::ed::object::base_activate_with_mode_exit_if_needed(), bc_add_object(), bc_get_children(), BKE_base_set_visible(), BKE_collection_or_layer_objects(), BKE_layer_collection_has_selected_objects(), BKE_layer_collection_local_sync(), BKE_layer_collection_objects_select(), BKE_lib_override_library_main_resync(), BKE_light_linking_select_receivers_of_emitter(), BKE_mball_basis_find(), BKE_object_add(), BKE_object_add_for_data(), BKE_object_add_from(), BKE_object_pose_armature_get_visible(), BKE_object_pose_array_get_ex(), BKE_object_pose_base_array_get_ex(), BKE_object_relational_superset(), BKE_paint_get_active(), BKE_paint_get_active_from_context(), BKE_paintmode_get_active_from_context(), BKE_scene_base_flag_to_objects(), BKE_scene_base_iter_next(), BKE_scene_has_object(), BKE_scene_object_find(), BKE_scene_object_find_by_name(), BKE_scene_set_background(), BKE_scene_view_layers_synced_ensure(), BKE_view_layer_base_deselect_all(), BKE_view_layer_blend_write(), BKE_view_layer_camera_find(), BKE_view_layer_non_active_selected_object(), BKE_view_layer_selected_objects_tag(), BlendfileLoadingBaseTest::blendfile_load(), bone_select_menu_exec(), blender::deg::DepsgraphNodeBuilder::build_scene_speakers(), blender::deg::DepsgraphRelationBuilder::build_scene_speakers(), blender::deg::DepsgraphNodeBuilder::build_view_layer(), blender::deg::DepsgraphRelationBuilder::build_view_layer(), buttons_context_path_collection(), buttons_shading_context(), buttons_shading_new_context(), buttons_texture_users_from_context(), calculateCenterActive(), clean_viewport_memory(), blender::ed::object::clear_override_library_exec(), clear_trans_object_base_flags(), click_select_channel_object(), blender::ed::outliner::collection_hierarchy_delete_exec(), collection_objects_select(), convert_type_get(), create_trans_data(), createTransGPencil(), createTransObject(), createTransParticleVerts(), createTransSculpt(), createTransTexspace(), CTX_data_active_base(), ctx_data_base_collection_get(), curvesurf_prim_add(), blender::io::SubdivModifierDisabler::disable_modifiers(), do_lasso_select_objects(), do_object_box_select(), blender::ed::outliner::do_outliner_item_mode_toggle_generic(), blender::ed::outliner::do_outliner_object_select_recursive(), do_version_layers_to_collections(), do_view3d_region_buttons(), do_view3d_vgroup_buttons(), draw_selected_name(), drawTransformPixel(), DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), DRW_notify_view_update(), drw_notify_view_update_offscreen(), DRW_object_wire_theme_get(), blender::ed::object::duplibase_for_convert(), blender::ed::object::duplicate_exec(), ED_armature_edit_select_pick_bone(), ED_armature_pose_select_in_wpaint_mode(), ED_armature_pose_select_pick_bone(), ED_curve_editnurb_select_pick(), ED_editors_init_for_undo(), ED_info_draw_stats(), ED_lattice_select_pick(), ED_localview_exit_if_empty(), ED_mball_select_pick(), blender::ed::object::ed_object_posemode_set_for_weight_paint_ex(), ed_object_select_pick(), ED_outliner_give_base_under_cursor(), ED_space_image_maskedit_poll(), ED_transform_calc_orientation_from_type(), ED_undo_editmode_bases_from_view_layer(), ED_undo_editmode_objects_from_view_layer(), ED_undo_is_legacy_compatible_for_property(), ED_undo_is_memfile_compatible(), ED_undo_object_set_active_or_warn(), ED_view3d_datamask(), EDBM_edge_find_nearest(), EDBM_face_find_nearest(), edbm_polybuild_delete_at_cursor_invoke(), edbm_polybuild_dissolve_at_cursor_invoke(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), edbm_polybuild_transform_at_cursor_invoke(), edbm_preselect_or_active(), EDBM_select_pick(), edbm_shortest_path_pick_invoke(), EDBM_vert_find_nearest(), edcu_shortest_path_pick_invoke(), editarm_object_from_context(), editcurve_object_from_context(), editfont_object_from_context(), editlatt_object_from_context(), editmball_object_from_context(), editmesh_object_from_context(), blender::ed::object::editmode_exit_multi_ex(), blender::ed::object::editmode_toggle_exec(), editselect_buf_cache_init(), blender::ed::outliner::element_should_draw_faded(), blender::ed::object::find_first_by_data_id(), flushTransParticles(), geometry_node_tree_get_from_context(), blender::io::obj::geometry_to_blender_objects(), get_affected_rna_paths_from_transform_mode(), blender::ed::object::get_new_constraint_target(), get_orientation_object(), get_stats_string(), blender::ed::outliner::get_sync_select_active_data(), getTransformOrientation_ex(), gizmo_3d_calc_pos(), gizmo_3d_foreach_selected(), gizmo_3d_transform_space_object_get(), gizmo_light_radius_prop_matrix_get(), gizmo_light_radius_prop_matrix_set(), gizmo_preselect_edgering_test_select(), gizmo_preselect_elem_test_select(), gizmo_spot_blend_prop_matrix_get(), gizmo_spot_blend_prop_matrix_set(), blender::ed::outliner::id_override_library_clear_single_process(), image_listener(), blender::io::usd::import_endjob(), import_endjob(), blender::io::usd::import_startjob(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), blender::draw::overlay::Instance::init(), initTransInfo(), iter_snap_objects(), blender::ed::object::jump_to_object(), jump_to_target_ptr(), layer_collection_bases_hide_recursive(), layer_collection_bases_show_recursive(), layer_collection_local_sync(), layer_eval_view_layer(), lib_override_library_create_post_process(), lib_override_library_resync(), localview_remove_from_exec(), loose_data_instantiate_collection_process(), loose_data_instantiate_object_base_instance_init(), blender::ed::object::make_local_all__instance_indirect_unused(), blender::ed::object::make_object_duplilist_real(), blender::ed::object::mode_set_ex(), blender::ed::object::modifier_remove_exec(), mouse_nla_tracks(), mouse_select_eval_buffer(), mouse_select_object_center(), blender::ed::object::object_add_duplicate_internal(), blender::ed::object::object_armature_add_exec(), blender::ed::outliner::object_batch_delete_hierarchy_tag_fn(), object_circle_select(), blender::ed::object::object_convert_exec(), object_deselect_all_except(), object_deselect_all_visible(), blender::ed::outliner::object_deselect_fn(), blender::bke::object_get_datamask(), blender::ed::object::object_hide_view_clear_exec(), blender::ed::object::object_hide_view_set_exec(), blender::ed::object::object_metaball_add_exec(), object_preview_scene_create(), blender::ed::sculpt_paint::object_sculpt_mode_enter(), blender::ed::sculpt_paint::object_sculpt_mode_exit(), blender::ed::outliner::object_select_fn(), blender::ed::object::object_select_grouped_exec(), blender::ed::object::object_select_linked_exec(), object_select_menu_exec(), blender::ed::object::object_select_mirror_exec(), blender::ed::object::object_select_more_less(), blender::draw::overlay::Origins::object_sync(), blender::ed::object::object_transfer_mode_to_base(), blender::ed::object::object_transform_to_mouse_exec(), blender::ed::object::objects_in_mode_or_selected(), blender::ed::object::objects_remove_active_exec(), blender::ed::outliner::outliner_base_or_object_pointer_create(), blender::ed::outliner::outliner_delete_exec(), blender::ed::outliner::outliner_draw_restrictbuts(), blender::ed::outliner::outliner_draw_tree_element(), blender::ed::outliner::outliner_element_visible_get(), blender::ed::outliner::outliner_hide_collect_data_to_edit(), blender::ed::outliner::outliner_is_co_within_active_mode_column(), blender::ed::outliner::outliner_item_mode_toggle(), blender::ed::outliner::outliner_object_set_flag_recursive_fn(), blender::ed::outliner::outliner_select_sync_from_object(), blender::ed::outliner::outliner_select_sync_to_edit_bone(), blender::ed::outliner::outliner_show_active_get_element(), blender::ed::outliner::outliner_unhide_all_exec(), blender::ed::outliner::outliner_viewcontext_init(), OVERLAY_object_center(), override_idtemplate_clear_exec(), paint_sample_color(), blender::ed::outliner::parent_drop_allowed(), particle_system_remove_exec(), particle_undosys_poll(), particle_undosys_step_encode(), PE_minmax(), blender::ed::object::posemode_exec(), prepare_mesh_for_viewport_render(), blender::ed::space_node::preview_prepare_scene(), preview_prepare_scene(), psys_in_edit_mode(), recalcData_actedit(), recalcData_graphedit(), recalcData_sculpt(), blender::ed::sculpt_paint::undo::restore_list(), blender::io::grease_pencil::GreasePencilExporter::retrieve_objects(), rigidbody_con_add_exec(), rigidbody_con_remove_exec(), saveTransform(), scene_copy_data(), blender::ed::outliner::scene_drop_invoke(), scene_foreach_id(), screen_ctx_active_bone(), screen_ctx_active_object(), screen_ctx_active_pose_bone(), screen_ctx_edit_object(), screen_ctx_editable_objects(), screen_ctx_grease_pencil_data(), screen_ctx_image_paint_object(), screen_ctx_object(), screen_ctx_objects_in_mode(), screen_ctx_objects_in_mode_unique_data(), screen_ctx_particle_edit_object(), screen_ctx_pose_object(), screen_ctx_sculpt_object(), screen_ctx_selectable_objects(), screen_ctx_selected_bones_(), screen_ctx_selected_editable_objects(), screen_ctx_selected_objects(), screen_ctx_selected_pose_bones_from_active_object(), screen_ctx_vertex_paint_object(), screen_ctx_visible_objects(), screen_ctx_visible_or_editable_bones_(), screen_ctx_visible_pose_bones(), screen_ctx_weight_paint_object(), screen_set_3dview_camera(), blender::ed::sculpt_paint::sculpt_mode_toggle_exec(), blender::ed::object::select_grouped_object_hooks(), blender::ed::object::select_grouped_parent(), select_marker_camera_switch(), set_orientation_poll(), set_trans_object_base_flags(), setSnappingCallback(), blender::ed::object::shade_poll(), blender::ed::object::shade_smooth_exec(), shader_get_from_context(), snap_target_select_from_spacetype(), special_aftertrans_update__sculpt(), stats_update(), blender::ed::sculpt_paint::undo::step_decode(), switch_preview_floor_visibility(), texture_get_from_context(), texture_paint_camera_project_exec(), blender::ed::sculpt_paint::image::ops::paint::texture_paint_init(), trans_object_base_deps_flag_finish(), trans_object_base_deps_flag_prepare(), transform_object_deform_pose_armature_get(), blender::ed::outliner::tree_element_active_material_get(), blender::ed::outliner::tree_element_bone_activate(), blender::ed::outliner::tree_element_bone_state_get(), blender::ed::outliner::tree_element_defgroup_state_get(), blender::ed::outliner::tree_element_material_activate(), blender::ed::outliner::tree_element_object_activate(), blender::ed::outliner::tree_element_pose_state_get(), txt_add_object(), uiTemplateHeader3D_mode(), uiTemplatePaintModeSelection(), v3d_cursor_snap_update(), validate_object_select_id(), blender::ed::object::vertex_parent_set_exec(), view3d_all_exec(), view3d_collection_drop_copy_external_asset(), view3d_context(), view3d_draw_region_info(), view3d_localview_exit(), view3d_localview_init(), view3d_main_region_cursor(), view3d_main_region_message_subscribe(), view3d_ob_drop_copy_external_asset(), view3d_opengl_select_ex(), view3d_orbit_calc_center(), view3d_panel_transform(), view3d_panel_transform_poll(), view3d_panel_vgroup(), view3d_panel_vgroup_poll(), view3d_ruler_item_mousemove(), view_camera_exec(), viewRedrawForce(), viewselected_exec(), WIDGETGROUP_armature_spline_poll(), WIDGETGROUP_armature_spline_refresh(), WIDGETGROUP_armature_spline_setup(), WIDGETGROUP_camera_message_subscribe(), WIDGETGROUP_camera_poll(), WIDGETGROUP_camera_refresh(), WIDGETGROUP_camera_setup(), WIDGETGROUP_camera_view_poll(), WIDGETGROUP_empty_image_poll(), WIDGETGROUP_empty_image_refresh(), WIDGETGROUP_forcefield_poll(), WIDGETGROUP_forcefield_refresh(), WIDGETGROUP_light_area_poll(), WIDGETGROUP_light_area_refresh(), WIDGETGROUP_light_point_draw_prepare(), WIDGETGROUP_light_point_poll(), WIDGETGROUP_light_spot_draw_prepare(), WIDGETGROUP_light_spot_poll(), WIDGETGROUP_light_spot_refresh(), WIDGETGROUP_light_target_draw_prepare(), WIDGETGROUP_light_target_poll(), WM_toolsystem_mode_from_spacetype(), WM_toolsystem_ref_sync_from_context(), and blender::ed::object::xform_skip_child_container_item_ensure_from_array().
| void BKE_view_layer_verify_aov | ( | RenderEngine * | engine, |
| Scene * | scene, | ||
| ViewLayer * | view_layer ) |
Update the naming and conflicts of the AOVs.
Name must be unique between all AOVs. Conflicts with render passes will show a conflict icon. Reason is that switching a render engine or activating a render pass could lead to other conflicts that wouldn't be that clear for the user.
Definition at line 2579 of file blenkernel/intern/layer.cc.
References AOV_CONFLICT, ViewLayer::aovs, bke_view_layer_verify_aov_cb(), BLI_ghash_free(), BLI_ghash_lookup(), BLI_ghash_str_new(), count, LISTBASE_FOREACH, MEM_freeN(), POINTER_AS_INT, RE_engine_update_render_passes(), SET_FLAG_FROM_TEST, and viewlayer_aov_make_name_unique().
Referenced by blender::bke::tests::TEST(), blender::bke::tests::TEST(), blender::bke::tests::test_render_pass_conflict(), view_layer_add_aov_exec(), and view_layer_remove_aov_exec().
|
static |
Definition at line 2556 of file blenkernel/intern/layer.cc.
References BLI_ghash_ensure_p(), BLI_strdup(), MEM_freeN(), POINTER_AS_INT, and POINTER_FROM_INT.
Referenced by BKE_view_layer_verify_aov().
| void BKE_view_layer_visible_bases_iterator_begin | ( | BLI_Iterator * | iter, |
| void * | data_in ) |
Definition at line 2231 of file blenkernel/intern/layer.cc.
References object_bases_iterator_begin().
| void BKE_view_layer_visible_bases_iterator_end | ( | BLI_Iterator * | iter | ) |
Definition at line 2241 of file blenkernel/intern/layer.cc.
References object_bases_iterator_end().
| void BKE_view_layer_visible_bases_iterator_next | ( | BLI_Iterator * | iter | ) |
Definition at line 2236 of file blenkernel/intern/layer.cc.
References object_bases_iterator_next().
| void BKE_view_layer_visible_objects_iterator_begin | ( | BLI_Iterator * | iter, |
| void * | data_in ) |
Definition at line 2153 of file blenkernel/intern/layer.cc.
References objects_iterator_begin().
| void BKE_view_layer_visible_objects_iterator_end | ( | BLI_Iterator * | iter | ) |
Definition at line 2163 of file blenkernel/intern/layer.cc.
References objects_iterator_end().
| void BKE_view_layer_visible_objects_iterator_next | ( | BLI_Iterator * | iter | ) |
Definition at line 2158 of file blenkernel/intern/layer.cc.
References objects_iterator_next().
Recursively get the count of collections
Definition at line 701 of file blenkernel/intern/layer.cc.
References collection_count(), and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_count(), collection_count(), and blender::ed::object::select_grouped_collection().
|
static |
Recursively get the collection for a given index
Definition at line 605 of file blenkernel/intern/layer.cc.
References collection_from_index(), and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_from_index(), and collection_from_index().
|
static |
Definition at line 2421 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection, BLO_read_struct, BLO_read_struct_list, direct_link_layer_collections(), ViewLayer::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_view_layer_blend_read_data(), and direct_link_layer_collections().
|
static |
Definition at line 1979 of file blenkernel/intern/layer.cc.
References LayerCollection::collection, find_layer_collection_by_scene_collection(), LayerCollection::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_first_from_scene_collection(), and find_layer_collection_by_scene_collection().
|
static |
Definition at line 312 of file blenkernel/intern/layer.cc.
References find_scene_collection_in_scene_collections(), and LISTBASE_FOREACH.
Referenced by BKE_view_layer_find_from_collection(), and find_scene_collection_in_scene_collections().
|
static |
Recursively get the index for a given collection
Definition at line 718 of file blenkernel/intern/layer.cc.
References index_from_collection(), and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_findindex(), and index_from_collection().
|
static |
Definition at line 430 of file blenkernel/intern/layer.cc.
References ViewLayer::active_aov, BLI_assert, BLI_duplicatelist(), ListBase::first, and ViewLayerAOV::next.
Referenced by BKE_view_layer_copy_data().
|
static |
Definition at line 76 of file blenkernel/intern/layer.cc.
References BLI_addtail(), LayerCollection::collection, and LayerCollection::local_collections_bits.
Referenced by BKE_layer_collection_doversion_2_80(), BKE_layer_collection_sync(), and layer_collection_sync().
|
static |
Definition at line 1892 of file blenkernel/intern/layer.cc.
References BASE_HIDDEN, BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), LayerCollection::collection, Base::flag, LayerCollection::flag, Collection::gobject, layer_collection_bases_hide_recursive(), LAYER_COLLECTION_EXCLUDE, LayerCollection::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_set_visible(), and layer_collection_bases_hide_recursive().
|
static |
Definition at line 1876 of file blenkernel/intern/layer.cc.
References BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), LayerCollection::collection, Base::flag, LayerCollection::flag, Collection::gobject, layer_collection_bases_show_recursive(), LAYER_COLLECTION_EXCLUDE, LayerCollection::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_set_visible(), and layer_collection_bases_show_recursive().
|
static |
Definition at line 181 of file blenkernel/intern/layer.cc.
References ListBase::first, LayerCollection::flag, LAYER_COLLECTION_EXCLUDE, layer_collection_exclude_all(), LayerCollection::layer_collections, and LayerCollection::next.
Referenced by BKE_view_layer_add(), and layer_collection_exclude_all().
|
static |
Set layer collection hide/exclude/indirect flag on a layer collection. recursively.
Definition at line 1938 of file blenkernel/intern/layer.cc.
References flag, LayerCollection::flag, LAYER_COLLECTION_EXCLUDE, layer_collection_flag_recursive_set(), LAYER_COLLECTION_PREVIOUSLY_EXCLUDED, LayerCollection::layer_collections, LISTBASE_FOREACH, and SET_FLAG_FROM_TEST.
Referenced by BKE_layer_collection_set_flag(), and layer_collection_flag_recursive_set().
|
static |
Definition at line 1679 of file blenkernel/intern/layer.cc.
References flag, LayerCollection::flag, layer_collection_flag_set_recursive(), LayerCollection::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_isolate_global(), BKE_layer_collection_set_visible(), and layer_collection_flag_set_recursive().
|
static |
Definition at line 1687 of file blenkernel/intern/layer.cc.
References flag, LayerCollection::flag, layer_collection_flag_unset_recursive(), LayerCollection::layer_collections, and LISTBASE_FOREACH.
Referenced by BKE_layer_collection_isolate_global(), BKE_layer_collection_set_visible(), and layer_collection_flag_unset_recursive().
|
static |
Definition at line 86 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection, BLI_listbase_clear(), layer_collection_free(), LayerCollection::layer_collections, LISTBASE_FOREACH_MUTABLE, and MEM_freeN().
Referenced by BKE_view_layer_free_object_content(), and layer_collection_free().
|
static |
Determine if a collection is hidden, viewport visibility restricted, or excluded
Definition at line 627 of file blenkernel/intern/layer.cc.
References BKE_layer_collection_first_from_scene_collection(), CollectionParent::collection, LayerCollection::collection, COLLECTION_HIDE_VIEWPORT, ListBase::first, Collection::flag, LayerCollection::flag, LAYER_COLLECTION_EXCLUDE, layer_collection_hidden(), LAYER_COLLECTION_HIDE, Collection_Runtime::parents, and Collection::runtime.
Referenced by BKE_layer_collection_activate_parent(), BKE_layer_collection_sync(), and layer_collection_hidden().
|
static |
Definition at line 1761 of file blenkernel/intern/layer.cc.
References BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), LayerCollection::collection, Collection::gobject, LAYER_COLLECTION_EXCLUDE, layer_collection_local_sync(), LayerCollection::layer_collections, LISTBASE_FOREACH, Base::local_collections_bits, and LayerCollection::local_collections_bits.
Referenced by BKE_layer_collection_local_sync(), and layer_collection_local_sync().
|
static |
Definition at line 1743 of file blenkernel/intern/layer.cc.
References layer_collection_local_visibility_set_recursive(), LayerCollection::layer_collections, LISTBASE_FOREACH, and LayerCollection::local_collections_bits.
Referenced by BKE_layer_collection_isolate_local(), and layer_collection_local_visibility_set_recursive().
|
static |
Definition at line 1752 of file blenkernel/intern/layer.cc.
References layer_collection_local_visibility_unset_recursive(), LayerCollection::layer_collections, LISTBASE_FOREACH, and LayerCollection::local_collections_bits.
Referenced by BKE_layer_collection_isolate_local(), and layer_collection_local_visibility_unset_recursive().
|
static |
Definition at line 1028 of file blenkernel/intern/layer.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_ENABLED_AND_VISIBLE_IN_DEFAULT_VIEWPORT, BASE_ENABLED_RENDER, BASE_ENABLED_VIEWPORT, BASE_HOLDOUT, BASE_INDIRECT_ONLY, BASE_SELECTABLE, BLI_addtail(), BLI_ghash_ensure_p(), BLI_remlink(), COLLECTION_HIDE_RENDER, COLLECTION_HIDE_SELECT, COLLECTION_HIDE_VIEWPORT, ELEM, ListBase::first, Base::flag_from_collection, id_lib_indirect_weak_link(), ListBase::last, LAYER_COLLECTION_EXCLUDE, LAYER_COLLECTION_HAS_OBJECTS, LAYER_COLLECTION_HIDE, LAYER_COLLECTION_HOLDOUT, LAYER_COLLECTION_INDIRECT_ONLY, LISTBASE_FOREACH, Base::local_collections_bits, object_base_new(), ViewLayer::object_bases, and ViewLayer::object_bases_hash.
Referenced by layer_collection_sync().
|
static |
Definition at line 832 of file blenkernel/intern/layer.cc.
References BLI_addtail(), BLI_findptr(), BLI_listbase_is_empty(), BLI_mempool_calloc(), Collection::children, LayerCollectionResync::children_layer_resync, CLOG_INFO, LayerCollection::collection, LayerCollectionResync::collection, Collection::id, LayerCollectionResync::is_usable, LayerCollectionResync::is_used, LayerCollectionResync::is_valid_as_child, LayerCollectionResync::is_valid_as_parent, LayerCollectionResync::layer, layer_collection_resync_create_recurse(), LayerCollection::layer_collections, LISTBASE_FOREACH, LOG, ID::name, offsetof, and LayerCollectionResync::parent_layer_resync.
Referenced by BKE_layer_collection_sync(), and layer_collection_resync_create_recurse().
|
static |
Definition at line 885 of file blenkernel/intern/layer.cc.
References BLI_assert, LayerCollectionResync::children_layer_resync, LayerCollectionResync::collection, LayerCollectionResync::is_used, LayerCollectionResync::is_valid_as_child, LISTBASE_FOREACH, LayerCollectionResync::parent_layer_resync, and LayerCollectionResync::queue_next.
Referenced by layer_collection_sync().
|
static |
Definition at line 964 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection, LayerCollectionResync::children_layer_resync, CLOG_INFO, LayerCollectionResync::collection, Collection::id, LayerCollectionResync::is_usable, LayerCollectionResync::is_used, LayerCollectionResync::layer, layer_collection_resync_unused_layers_free(), LISTBASE_FOREACH, LOG, MEM_freeN(), and ID::name.
Referenced by BKE_layer_collection_sync(), and layer_collection_resync_unused_layers_free().
|
static |
Definition at line 1096 of file blenkernel/intern/layer.cc.
References BLI_addtail(), BLI_assert, BLI_listbase_count(), BLI_listbase_is_empty(), BLI_mempool_calloc(), BLI_remlink(), Collection::children, LayerCollectionResync::children_layer_resync, CLOG_INFO, LayerCollectionResync::collection, COLLECTION_HIDE_VIEWPORT, COLLECTION_IS_MASTER, Collection::exporters, Collection::flag, LayerCollection::flag, ViewLayer::flag, Collection::id, ID_IS_LINKED, ID_IS_OVERRIDE_LIBRARY, id_lib_indirect_weak_link(), LayerCollectionResync::is_usable, LayerCollectionResync::is_used, LayerCollectionResync::is_valid_as_child, LayerCollectionResync::is_valid_as_parent, LayerCollectionResync::layer, layer_collection_add(), LAYER_COLLECTION_EXCLUDE, LAYER_COLLECTION_HIDE, LAYER_COLLECTION_HIDE_VIEWPORT, layer_collection_objects_sync(), layer_collection_resync_find(), layer_collection_sync(), LAYER_COLLECTION_VISIBLE_VIEW_LAYER, LayerCollection::layer_collections, LISTBASE_FOREACH, LayerCollection::local_collections_bits, LOG, ID::name, LayerCollectionResync::parent_layer_resync, LayerCollection::runtime_flag, UNUSED_VARS_NDEBUG, and VIEW_LAYER_HAS_EXPORT_COLLECTIONS.
Referenced by BKE_layer_collection_sync(), and layer_collection_sync().
|
static |
Definition at line 475 of file blenkernel/intern/layer.cc.
References ViewLayer::active_collection, BLI_duplicatelist(), ListBase::first, LayerCollection::layer_collections, layer_collections_copy_data(), and LayerCollection::next.
Referenced by BKE_view_layer_copy_data(), and layer_collections_copy_data().
|
static |
Definition at line 2355 of file blenkernel/intern/layer.cc.
References BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), BLI_listbase_count(), DEG_debug_print_eval(), depsgraph, LISTBASE_FOREACH, MEM_malloc_arrayN, MEM_SAFE_FREE, ViewLayer::name, and ViewLayer::object_bases_array.
Referenced by BKE_layer_eval_view_layer_indexed().
|
static |
Definition at line 451 of file blenkernel/intern/layer.cc.
References ViewLayer::active_lightgroup, BLI_assert, BLI_duplicatelist(), ListBase::first, and ViewLayerLightgroup::next.
Referenced by BKE_view_layer_copy_data().
Definition at line 99 of file blenkernel/intern/layer.cc.
References Object::base_flag, BASE_SELECTED, Base::flag, Base::local_view_bits, and Base::object.
Referenced by layer_collection_objects_sync().
|
static |
Definition at line 2051 of file blenkernel/intern/layer.cc.
References BKE_view_layer_object_bases_get(), BLI_Iterator::current, BLI_Iterator::data, data, ListBase::first, flag, object_bases_iterator_is_valid(), object_bases_iterator_next(), ObjectsVisibleIteratorData::v3d, BLI_Iterator::valid, and ObjectsVisibleIteratorData::view_layer.
Referenced by BKE_view_layer_visible_bases_iterator_begin(), and objects_iterator_begin().
|
static |
Definition at line 2096 of file blenkernel/intern/layer.cc.
References BLI_Iterator::data, and MEM_SAFE_FREE.
Referenced by BKE_view_layer_selected_bases_iterator_end(), BKE_view_layer_visible_bases_iterator_end(), and objects_iterator_end().
|
static |
Definition at line 2038 of file blenkernel/intern/layer.cc.
References BASE_VISIBLE, BLI_assert, Base::flag, flag, SPACE_VIEW3D, and View3D::spacetype.
Referenced by object_bases_iterator_begin(), and object_bases_iterator_next().
|
static |
Definition at line 2079 of file blenkernel/intern/layer.cc.
References BLI_Iterator::current, BLI_Iterator::data, flag, Base::next, object_bases_iterator_is_valid(), and BLI_Iterator::valid.
Referenced by BKE_view_layer_selected_bases_iterator_next(), BKE_view_layer_visible_bases_iterator_next(), object_bases_iterator_begin(), and objects_iterator_next().
|
static |
Definition at line 2101 of file blenkernel/intern/layer.cc.
References BLI_Iterator::current, flag, object_bases_iterator_begin(), and BLI_Iterator::valid.
Referenced by BKE_view_layer_selected_bases_iterator_begin(), BKE_view_layer_selected_editable_objects_iterator_begin(), BKE_view_layer_selected_objects_iterator_begin(), and BKE_view_layer_visible_objects_iterator_begin().
|
static |
Definition at line 2119 of file blenkernel/intern/layer.cc.
References object_bases_iterator_end().
Referenced by BKE_view_layer_selected_editable_objects_iterator_end(), BKE_view_layer_selected_objects_iterator_end(), and BKE_view_layer_visible_objects_iterator_end().
|
static |
Definition at line 2110 of file blenkernel/intern/layer.cc.
References BLI_Iterator::current, flag, object_bases_iterator_next(), and BLI_Iterator::valid.
Referenced by BKE_view_layer_selected_editable_objects_iterator_next(), BKE_view_layer_selected_objects_iterator_next(), and BKE_view_layer_visible_objects_iterator_next().
|
static |
Definition at line 159 of file blenkernel/intern/layer.cc.
References BKE_freestyle_config_init(), ViewLayer::cryptomatte_flag, ViewLayer::cryptomatte_levels, DATA_, ViewLayer::flag, ViewLayer::freestyle_config, ViewLayer::layflag, ViewLayer::name, ViewLayer::pass_alpha_threshold, ViewLayer::passflag, SCE_LAY_FLAG_DEFAULT, SCE_PASS_COMBINED, STRNCPY_UTF8, VIEW_LAYER_CRYPTOMATTE_ACCURATE, VIEW_LAYER_FREESTYLE, and VIEW_LAYER_RENDER.
Referenced by BKE_view_layer_add().
|
static |
Definition at line 350 of file blenkernel/intern/layer.cc.
References ViewLayer::basact, BLI_freelinkN(), BLI_ghash_ensure_p(), BLI_ghash_new(), BLI_ghashutil_ptrcmp(), BLI_ghashutil_ptrhash(), BLI_MUTEX_INITIALIZER, BLI_mutex_lock(), BLI_mutex_unlock(), CLOG_FATAL, hash, LISTBASE_FOREACH_MUTABLE, LOG, ViewLayer::object_bases, and ViewLayer::object_bases_hash.
Referenced by BKE_layer_collection_sync(), BKE_main_collection_sync_remap(), and BKE_view_layer_base_find().
|
static |
Definition at line 1255 of file blenkernel/intern/layer.cc.
References BLI_ghash_lookup(), CLOG_FATAL, ListBase::first, is_valid, LAYER_COLLECTION_EXCLUDE, LayerCollection::layer_collections, ViewLayer::layer_collections, LISTBASE_FOREACH, LOG, ViewLayer::object_bases_hash, and view_layer_objects_base_cache_validate().
Referenced by BKE_layer_collection_sync(), and view_layer_objects_base_cache_validate().
|
static |
Definition at line 2513 of file blenkernel/intern/layer.cc.
References ViewLayer::active_aov, ViewLayer::aovs, BLI_assert, and BLI_findindex().
Referenced by BKE_view_layer_add_aov(), BKE_view_layer_remove_aov(), and BKE_view_layer_set_active_aov().
|
static |
Definition at line 2499 of file blenkernel/intern/layer.cc.
References ViewLayer::active_aov, ViewLayer::aovs, BLI_string_replace_char(), BLI_uniquename(), DATA_, ViewLayerAOV::name, and offsetof.
Referenced by BKE_view_layer_add_aov(), and BKE_view_layer_verify_aov().
|
static |
Definition at line 2638 of file blenkernel/intern/layer.cc.
References ViewLayer::active_lightgroup, BLI_assert, BLI_findindex(), and ViewLayer::lightgroups.
Referenced by BKE_view_layer_add_lightgroup(), BKE_view_layer_remove_lightgroup(), and BKE_view_layer_set_active_lightgroup().
|
static |
Definition at line 2624 of file blenkernel/intern/layer.cc.
References BLI_string_replace_char(), BLI_uniquename(), DATA_, ViewLayer::lightgroups, ViewLayerLightgroup::name, and offsetof.
Referenced by BKE_view_layer_add_lightgroup(), and BKE_view_layer_rename_lightgroup().
|
static |
Definition at line 2386 of file blenkernel/intern/layer.cc.
References BLO_write_struct, LISTBASE_FOREACH, and write_layer_collections().
Referenced by BKE_view_layer_blend_write(), and write_layer_collections().
|
static |
Definition at line 63 of file blenkernel/intern/layer.cc.
Referenced by BKE_base_eval_flags().
|
static |
Definition at line 60 of file blenkernel/intern/layer.cc.
Referenced by layer_collection_resync_create_recurse(), layer_collection_resync_unused_layers_free(), layer_collection_sync(), view_layer_bases_hash_create(), and view_layer_objects_base_cache_validate().
|
static |
Definition at line 783 of file blenkernel/intern/layer.cc.
Referenced by BKE_layer_collection_local_sync(), BKE_layer_collection_local_sync_all(), BKE_layer_collection_resync_allow(), BKE_layer_collection_resync_forbid(), BKE_layer_collection_sync(), BKE_main_collection_sync(), BKE_main_collection_sync_remap(), and BKE_scene_collection_sync().
|
staticconstexpr |
Definition at line 785 of file blenkernel/intern/layer.cc.
Referenced by BKE_layer_collection_resync_allow(), and BKE_layer_collection_resync_forbid().