Blender V4.3
BKE_layer.hh File Reference
#include "BLI_vector.hh"
#include "BKE_collection.hh"
#include "DNA_layer_types.h"
#include "DNA_listBase.h"
#include "DNA_object_enums.h"

Go to the source code of this file.

Classes

struct  ObjectsVisibleIteratorData
 
struct  ObjectsInModeIteratorData
 
struct  ObjectsInViewLayerParams
 
struct  ObjectsInModeParams
 

Macros

#define FOREACH_SELECTED_OBJECT_BEGIN(_view_layer, _v3d, _instance)
 
#define FOREACH_SELECTED_OBJECT_END
 
#define FOREACH_SELECTED_EDITABLE_OBJECT_BEGIN(_view_layer, _v3d, _instance)
 
#define FOREACH_SELECTED_EDITABLE_OBJECT_END
 
#define FOREACH_VISIBLE_OBJECT_BEGIN(_view_layer, _v3d, _instance)
 
#define FOREACH_VISIBLE_OBJECT_END
 
#define FOREACH_BASE_IN_MODE_BEGIN(_scene, _view_layer, _v3d, _object_type, _object_mode, _instance)
 
#define FOREACH_BASE_IN_MODE_END
 
#define FOREACH_BASE_IN_EDIT_MODE_BEGIN(_scene, _view_layer, _v3d, _instance)    FOREACH_BASE_IN_MODE_BEGIN (_scene, _view_layer, _v3d, -1, OB_MODE_EDIT, _instance)
 
#define FOREACH_BASE_IN_EDIT_MODE_END   FOREACH_BASE_IN_MODE_END
 
#define FOREACH_OBJECT_IN_MODE_BEGIN(_scene, _view_layer, _v3d, _object_type, _object_mode, _instance)
 
#define FOREACH_OBJECT_IN_MODE_END
 
#define FOREACH_OBJECT_IN_EDIT_MODE_BEGIN(_scene, _view_layer, _v3d, _instance)
 
#define FOREACH_OBJECT_IN_EDIT_MODE_END
 
#define FOREACH_SELECTED_BASE_BEGIN(view_layer, _instance)
 
#define FOREACH_SELECTED_BASE_END   ITER_END
 
#define FOREACH_VISIBLE_BASE_BEGIN(_scene, _view_layer, _v3d, _instance)
 
#define FOREACH_VISIBLE_BASE_END
 
#define FOREACH_OBJECT_BEGIN(scene, view_layer, _instance)
 
#define FOREACH_OBJECT_END
 
#define FOREACH_OBJECT_FLAG_BEGIN(_scene, _view_layer, _v3d, _flag, _instance)
 
#define FOREACH_OBJECT_FLAG_END
 

Enumerations

enum  eViewLayerCopyMethod { VIEWLAYER_ADD_NEW = 0 , VIEWLAYER_ADD_EMPTY = 1 , VIEWLAYER_ADD_COPY = 2 }
 

Functions

ViewLayerBKE_view_layer_default_view (const Scene *scene)
 
ViewLayerBKE_view_layer_default_render (const Scene *scene)
 
ViewLayerBKE_view_layer_find (const Scene *scene, const char *layer_name)
 
ViewLayerBKE_view_layer_add (Scene *scene, const char *name, ViewLayer *view_layer_source, int type)
 
ViewLayerBKE_view_layer_context_active_PLACEHOLDER (const Scene *scene)
 
void BKE_view_layer_free (ViewLayer *view_layer)
 
void BKE_view_layer_free_ex (ViewLayer *view_layer, bool do_id_user)
 
void BKE_view_layer_free_object_content (ViewLayer *view_layer)
 
void BKE_view_layer_selected_objects_tag (const Scene *scene, ViewLayer *view_layer, int tag)
 
ObjectBKE_view_layer_camera_find (const Scene *scene, ViewLayer *view_layer)
 
ViewLayerBKE_view_layer_find_from_collection (const Scene *scene, LayerCollection *lc)
 
BaseBKE_view_layer_base_find (ViewLayer *view_layer, Object *ob)
 
void BKE_view_layer_base_deselect_all (const Scene *scene, ViewLayer *view_layer)
 
void BKE_view_layer_base_select_and_set_active (ViewLayer *view_layer, Base *selbase)
 
void BKE_view_layer_copy_data (Scene *scene_dst, const Scene *scene_src, ViewLayer *view_layer_dst, const ViewLayer *view_layer_src, int flag)
 
void BKE_view_layer_rename (Main *bmain, Scene *scene, ViewLayer *view_layer, const char *newname)
 
LayerCollectionBKE_layer_collection_get_active (ViewLayer *view_layer)
 
bool BKE_layer_collection_activate (ViewLayer *view_layer, LayerCollection *lc)
 
LayerCollectionBKE_layer_collection_activate_parent (ViewLayer *view_layer, LayerCollection *lc)
 
int BKE_layer_collection_count (const ViewLayer *view_layer)
 
LayerCollectionBKE_layer_collection_from_index (ViewLayer *view_layer, int index)
 
int BKE_layer_collection_findindex (ViewLayer *view_layer, const LayerCollection *lc)
 
void BKE_layer_collection_resync_forbid ()
 
void BKE_layer_collection_resync_allow ()
 
void BKE_layer_collection_doversion_2_80 (const Scene *scene, ViewLayer *view_layer)
 
void BKE_main_collection_sync (const Main *bmain)
 
void BKE_scene_collection_sync (const Scene *scene)
 
void BKE_layer_collection_sync (const Scene *scene, ViewLayer *view_layer)
 
void BKE_layer_collection_local_sync (const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
 
void BKE_layer_collection_local_sync_all (const Main *bmain)
 
void BKE_main_collection_sync_remap (const Main *bmain)
 
LayerCollectionBKE_layer_collection_first_from_scene_collection (const ViewLayer *view_layer, const Collection *collection)
 
bool BKE_view_layer_has_collection (const ViewLayer *view_layer, const Collection *collection)
 
bool BKE_scene_has_object (Scene *scene, Object *ob)
 
bool BKE_layer_collection_objects_select (const Scene *scene, ViewLayer *view_layer, LayerCollection *lc, bool deselect)
 
bool BKE_layer_collection_has_selected_objects (const Scene *scene, ViewLayer *view_layer, LayerCollection *lc)
 
bool BKE_layer_collection_has_layer_collection (LayerCollection *lc_parent, LayerCollection *lc_child)
 
void BKE_base_set_visible (Scene *scene, ViewLayer *view_layer, Base *base, bool extend)
 
bool BKE_base_is_visible (const View3D *v3d, const Base *base)
 
bool BKE_object_is_visible_in_viewport (const View3D *v3d, const Object *ob)
 
void BKE_layer_collection_isolate_global (Scene *scene, ViewLayer *view_layer, LayerCollection *lc, bool extend)
 
void BKE_layer_collection_isolate_local (const Scene *scene, ViewLayer *view_layer, const View3D *v3d, LayerCollection *lc, bool extend)
 
void BKE_layer_collection_set_visible (const Scene *scene, ViewLayer *view_layer, LayerCollection *lc, bool visible, bool hierarchy)
 
void BKE_layer_collection_set_flag (LayerCollection *lc, int flag, bool value)
 
void BKE_base_eval_flags (Base *base)
 
void BKE_layer_eval_view_layer_indexed (Depsgraph *depsgraph, Scene *scene, int view_layer_index)
 
void BKE_view_layer_blend_write (BlendWriter *writer, const Scene *scene, ViewLayer *view_layer)
 
void BKE_view_layer_blend_read_data (BlendDataReader *reader, ViewLayer *view_layer)
 
void BKE_view_layer_blend_read_after_liblink (BlendLibReader *reader, ID *self_id, ViewLayer *view_layer)
 
void BKE_view_layer_selected_objects_iterator_begin (BLI_Iterator *iter, void *data_in)
 
void BKE_view_layer_selected_objects_iterator_next (BLI_Iterator *iter)
 
void BKE_view_layer_selected_objects_iterator_end (BLI_Iterator *iter)
 
void BKE_view_layer_visible_objects_iterator_begin (BLI_Iterator *iter, void *data_in)
 
void BKE_view_layer_visible_objects_iterator_next (BLI_Iterator *iter)
 
void BKE_view_layer_visible_objects_iterator_end (BLI_Iterator *iter)
 
void BKE_view_layer_selected_editable_objects_iterator_begin (BLI_Iterator *iter, void *data_in)
 
void BKE_view_layer_selected_editable_objects_iterator_next (BLI_Iterator *iter)
 
void BKE_view_layer_selected_editable_objects_iterator_end (BLI_Iterator *iter)
 
void BKE_view_layer_bases_in_mode_iterator_begin (BLI_Iterator *iter, void *data_in)
 
void BKE_view_layer_bases_in_mode_iterator_next (BLI_Iterator *iter)
 
void BKE_view_layer_bases_in_mode_iterator_end (BLI_Iterator *iter)
 
void BKE_view_layer_selected_bases_iterator_begin (BLI_Iterator *iter, void *data_in)
 
void BKE_view_layer_selected_bases_iterator_next (BLI_Iterator *iter)
 
void BKE_view_layer_selected_bases_iterator_end (BLI_Iterator *iter)
 
void BKE_view_layer_visible_bases_iterator_begin (BLI_Iterator *iter, void *data_in)
 
void BKE_view_layer_visible_bases_iterator_next (BLI_Iterator *iter)
 
void BKE_view_layer_visible_bases_iterator_end (BLI_Iterator *iter)
 
blender::Vector< Object * > BKE_view_layer_array_selected_objects_params (ViewLayer *view_layer, const View3D *v3d, const ObjectsInViewLayerParams *params)
 
ObjectBKE_view_layer_non_active_selected_object (const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
 
blender::Vector< Base * > BKE_view_layer_array_from_bases_in_mode_params (const Scene *scene, ViewLayer *view_layer, const View3D *v3d, const ObjectsInModeParams *params)
 
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_mode_params (const Scene *scene, ViewLayer *view_layer, const View3D *v3d, const ObjectsInModeParams *params)
 
bool BKE_view_layer_filter_edit_mesh_has_uvs (const Object *ob, void *user_data)
 
bool BKE_view_layer_filter_edit_mesh_has_edges (const Object *ob, void *user_data)
 
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode (const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
 
blender::Vector< Base * > BKE_view_layer_array_from_bases_in_edit_mode (const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
 
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode_unique_data (const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
 
blender::Vector< Base * > BKE_view_layer_array_from_bases_in_edit_mode_unique_data (const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
 
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs (const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
 
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_mode_unique_data (const Scene *scene, ViewLayer *view_layer, const View3D *v3d, eObjectMode mode)
 
ObjectBKE_view_layer_active_object_get (const ViewLayer *view_layer)
 
ObjectBKE_view_layer_edit_object_get (const ViewLayer *view_layer)
 
ListBaseBKE_view_layer_object_bases_get (ViewLayer *view_layer)
 
BaseBKE_view_layer_active_base_get (ViewLayer *view_layer)
 
LayerCollectionBKE_view_layer_active_collection_get (ViewLayer *view_layer)
 
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)
 
ViewLayerAOVBKE_view_layer_add_aov (ViewLayer *view_layer)
 
void BKE_view_layer_remove_aov (ViewLayer *view_layer, ViewLayerAOV *aov)
 
void BKE_view_layer_set_active_aov (ViewLayer *view_layer, ViewLayerAOV *aov)
 
void BKE_view_layer_verify_aov (RenderEngine *engine, Scene *scene, ViewLayer *view_layer)
 
bool BKE_view_layer_has_valid_aov (ViewLayer *view_layer)
 
ViewLayerBKE_view_layer_find_with_aov (Scene *scene, ViewLayerAOV *aov)
 
ViewLayerLightgroupBKE_view_layer_add_lightgroup (ViewLayer *view_layer, const char *name)
 
void BKE_view_layer_remove_lightgroup (ViewLayer *view_layer, ViewLayerLightgroup *lightgroup)
 
void BKE_view_layer_set_active_lightgroup (ViewLayer *view_layer, ViewLayerLightgroup *lightgroup)
 
ViewLayerBKE_view_layer_find_with_lightgroup (Scene *scene, ViewLayerLightgroup *lightgroup)
 
void BKE_view_layer_rename_lightgroup (Scene *scene, ViewLayer *view_layer, ViewLayerLightgroup *lightgroup, const char *name)
 
int BKE_lightgroup_membership_get (const LightgroupMembership *lgm, char *name)
 
int BKE_lightgroup_membership_length (const LightgroupMembership *lgm)
 
void BKE_lightgroup_membership_set (LightgroupMembership **lgm, const char *name)
 

Macro Definition Documentation

◆ FOREACH_BASE_IN_EDIT_MODE_BEGIN

#define FOREACH_BASE_IN_EDIT_MODE_BEGIN ( _scene,
_view_layer,
_v3d,
_instance )    FOREACH_BASE_IN_MODE_BEGIN (_scene, _view_layer, _v3d, -1, OB_MODE_EDIT, _instance)

Definition at line 372 of file BKE_layer.hh.

Referenced by view3d_localview_init().

◆ FOREACH_BASE_IN_EDIT_MODE_END

#define FOREACH_BASE_IN_EDIT_MODE_END   FOREACH_BASE_IN_MODE_END

Definition at line 375 of file BKE_layer.hh.

Referenced by view3d_localview_init().

◆ FOREACH_BASE_IN_MODE_BEGIN

#define FOREACH_BASE_IN_MODE_BEGIN ( _scene,
_view_layer,
_v3d,
_object_type,
_object_mode,
_instance )
Value:
{ \
memset(&data_, 0, sizeof(data_)); \
data_.object_mode = _object_mode; \
data_.object_type = _object_type; \
data_.view_layer = _view_layer; \
data_.v3d = _v3d; \
BKE_view_layer_synced_ensure(_scene, _view_layer); \
&data_, \
Base *, \
_instance)
void BKE_view_layer_bases_in_mode_iterator_begin(BLI_Iterator *iter, void *data_in)
void BKE_view_layer_bases_in_mode_iterator_next(BLI_Iterator *iter)
Base * BKE_view_layer_active_base_get(ViewLayer *view_layer)
void BKE_view_layer_bases_in_mode_iterator_end(BLI_Iterator *iter)

Definition at line 349 of file BKE_layer.hh.

Referenced by BKE_view_layer_array_from_bases_in_mode_params(), do_pose_tag_select_op_prepare(), blender::ed::object::object_in_mode_from_index(), and blender::ed::object::object_in_mode_to_index().

◆ FOREACH_BASE_IN_MODE_END

◆ FOREACH_OBJECT_BEGIN

#define FOREACH_OBJECT_BEGIN ( scene,
view_layer,
_instance )
Value:
{ \
Object *_instance; \
Base *_base; \
BKE_view_layer_synced_ensure(scene, view_layer); \
for (_base = (Base *)BKE_view_layer_object_bases_get(view_layer)->first; _base; \
_base = _base->next) \
{ \
_instance = _base->object;
ListBase * BKE_view_layer_object_bases_get(ViewLayer *view_layer)
struct Base * next

Definition at line 422 of file BKE_layer.hh.

Referenced by blender::ed::object::editmode_toggle_exec(), lightprobe_cache_irradiance_volume_subset_get(), blender::ed::object::posemode_exec(), and stats_update().

◆ FOREACH_OBJECT_END

◆ FOREACH_OBJECT_FLAG_BEGIN

◆ FOREACH_OBJECT_FLAG_END

◆ FOREACH_OBJECT_IN_EDIT_MODE_BEGIN

#define FOREACH_OBJECT_IN_EDIT_MODE_BEGIN ( _scene,
_view_layer,
_v3d,
_instance )
Value:
FOREACH_BASE_IN_EDIT_MODE_BEGIN (_scene, _view_layer, _v3d, _base) { \
Object *_instance = _base->object;
#define FOREACH_BASE_IN_EDIT_MODE_BEGIN(_scene, _view_layer, _v3d, _instance)
Definition BKE_layer.hh:372

Definition at line 386 of file BKE_layer.hh.

Referenced by armature_fill_bones_exec().

◆ FOREACH_OBJECT_IN_EDIT_MODE_END

#define FOREACH_OBJECT_IN_EDIT_MODE_END
Value:
} \
#define FOREACH_BASE_IN_EDIT_MODE_END
Definition BKE_layer.hh:375

Definition at line 390 of file BKE_layer.hh.

◆ FOREACH_OBJECT_IN_MODE_BEGIN

◆ FOREACH_OBJECT_IN_MODE_END

◆ FOREACH_SELECTED_BASE_BEGIN

#define FOREACH_SELECTED_BASE_BEGIN ( view_layer,
_instance )
Value:
view_layer, \
Base *, \
_instance)
void BKE_view_layer_selected_bases_iterator_next(BLI_Iterator *iter)
void BKE_view_layer_selected_bases_iterator_end(BLI_Iterator *iter)
void BKE_view_layer_selected_bases_iterator_begin(BLI_Iterator *iter, void *data_in)
#define ITER_BEGIN(callback_begin, callback_next, callback_end, _data_in, _type, _instance)

Definition at line 394 of file BKE_layer.hh.

◆ FOREACH_SELECTED_BASE_END

#define FOREACH_SELECTED_BASE_END   ITER_END

Definition at line 402 of file BKE_layer.hh.

◆ FOREACH_SELECTED_EDITABLE_OBJECT_BEGIN

#define FOREACH_SELECTED_EDITABLE_OBJECT_BEGIN ( _view_layer,
_v3d,
_instance )
Value:
{ \
data_.view_layer = _view_layer; \
data_.v3d = _v3d; \
&data_, \
Object *, \
_instance)
void BKE_view_layer_selected_editable_objects_iterator_begin(BLI_Iterator *iter, void *data_in)
void BKE_view_layer_selected_editable_objects_iterator_end(BLI_Iterator *iter)
void BKE_view_layer_selected_editable_objects_iterator_next(BLI_Iterator *iter)
#define NULL

Definition at line 315 of file BKE_layer.hh.

Referenced by blender::ed::object::object_clear_transform_generic_exec(), snap_sel_to_grid_exec(), and snap_selected_to_location().

◆ FOREACH_SELECTED_EDITABLE_OBJECT_END

#define FOREACH_SELECTED_EDITABLE_OBJECT_END

◆ FOREACH_SELECTED_OBJECT_BEGIN

◆ FOREACH_SELECTED_OBJECT_END

◆ FOREACH_VISIBLE_BASE_BEGIN

#define FOREACH_VISIBLE_BASE_BEGIN ( _scene,
_view_layer,
_v3d,
_instance )
Value:
{ \
data_.view_layer = _view_layer; \
data_.v3d = _v3d; \
BKE_view_layer_synced_ensure(_scene, _view_layer); \
&data_, \
Base *, \
_instance)
void BKE_view_layer_visible_bases_iterator_begin(BLI_Iterator *iter, void *data_in)
void BKE_view_layer_visible_bases_iterator_end(BLI_Iterator *iter)
void BKE_view_layer_visible_bases_iterator_next(BLI_Iterator *iter)

Definition at line 404 of file BKE_layer.hh.

Referenced by blender::ed::object::base_deselect_all_ex(), and ED_armature_pose_select_pick_bone().

◆ FOREACH_VISIBLE_BASE_END

#define FOREACH_VISIBLE_BASE_END
Value:
} \
((void)0)

Definition at line 417 of file BKE_layer.hh.

Referenced by blender::ed::object::base_deselect_all_ex(), and ED_armature_pose_select_pick_bone().

◆ FOREACH_VISIBLE_OBJECT_BEGIN

#define FOREACH_VISIBLE_OBJECT_BEGIN ( _view_layer,
_v3d,
_instance )
Value:
{ \
data_.view_layer = _view_layer; \
data_.v3d = _v3d; \
&data_, \
Object *, \
_instance)
void BKE_view_layer_visible_objects_iterator_end(BLI_Iterator *iter)
void BKE_view_layer_visible_objects_iterator_begin(BLI_Iterator *iter, void *data_in)
void BKE_view_layer_visible_objects_iterator_next(BLI_Iterator *iter)

Definition at line 332 of file BKE_layer.hh.

◆ FOREACH_VISIBLE_OBJECT_END

#define FOREACH_VISIBLE_OBJECT_END
Value:
} \
((void)0)

Definition at line 344 of file BKE_layer.hh.

Enumeration Type Documentation

◆ eViewLayerCopyMethod

Enumerator
VIEWLAYER_ADD_NEW 
VIEWLAYER_ADD_EMPTY 
VIEWLAYER_ADD_COPY 

Definition at line 33 of file BKE_layer.hh.

Function Documentation

◆ BKE_base_eval_flags()

void BKE_base_eval_flags ( Base * base)

◆ BKE_base_is_visible()

bool BKE_base_is_visible ( const View3D * v3d,
const Base * base )

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().

◆ BKE_base_set_visible()

void BKE_base_set_visible ( Scene * scene,
ViewLayer * view_layer,
Base * base,
bool extend )

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.

◆ BKE_layer_collection_activate()

◆ BKE_layer_collection_activate_parent()

◆ BKE_layer_collection_count()

int BKE_layer_collection_count ( const ViewLayer * view_layer)

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.

◆ BKE_layer_collection_doversion_2_80()

void BKE_layer_collection_doversion_2_80 ( const Scene * scene,
ViewLayer * view_layer )

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.

◆ BKE_layer_collection_findindex()

int BKE_layer_collection_findindex ( ViewLayer * view_layer,
const LayerCollection * lc )
Returns
-1 if not found.

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().

◆ BKE_layer_collection_first_from_scene_collection()

◆ BKE_layer_collection_from_index()

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().

◆ BKE_layer_collection_get_active()

◆ BKE_layer_collection_has_layer_collection()

◆ BKE_layer_collection_has_selected_objects()

◆ BKE_layer_collection_isolate_global()

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().

◆ BKE_layer_collection_isolate_local()

◆ BKE_layer_collection_local_sync()

◆ BKE_layer_collection_local_sync_all()

void BKE_layer_collection_local_sync_all ( const Main * bmain)

◆ BKE_layer_collection_objects_select()

◆ BKE_layer_collection_resync_allow()

◆ BKE_layer_collection_resync_forbid()

◆ BKE_layer_collection_set_flag()

void BKE_layer_collection_set_flag ( LayerCollection * lc,
int flag,
bool value )

◆ BKE_layer_collection_set_visible()

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().

◆ BKE_layer_collection_sync()

◆ BKE_layer_eval_view_layer_indexed()

void BKE_layer_eval_view_layer_indexed ( Depsgraph * depsgraph,
Scene * scene,
int view_layer_index )

◆ BKE_lightgroup_membership_get()

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.

◆ BKE_lightgroup_membership_length()

int BKE_lightgroup_membership_length ( const LightgroupMembership * lgm)

Definition at line 2733 of file blenkernel/intern/layer.cc.

References LightgroupMembership::name.

◆ BKE_lightgroup_membership_set()

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().

◆ BKE_main_collection_sync()

◆ BKE_main_collection_sync_remap()

◆ BKE_main_view_layers_synced_ensure()

void BKE_main_view_layers_synced_ensure ( const Main * bmain)

◆ BKE_object_is_visible_in_viewport()

◆ BKE_scene_collection_sync()

void BKE_scene_collection_sync ( const Scene * scene)

◆ BKE_scene_has_object()

bool BKE_scene_has_object ( Scene * scene,
Object * ob )

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().

◆ BKE_scene_view_layers_synced_ensure()

◆ BKE_view_layer_active_base_get()

Base * BKE_view_layer_active_base_get ( ViewLayer * view_layer)

Definition at line 198 of file layer_utils.cc.

References ViewLayer::basact, BLI_assert_msg, ViewLayer::flag, and VIEW_LAYER_OUT_OF_SYNC.

Referenced by blender::ed::object::add_hook_object_new(), blender::ed::object::add_type_with_obdata(), BKE_object_pose_base_array_get_ex(), BKE_view_layer_active_object_get(), bone_select_menu_exec(), calculateCenterActive(), blender::ed::outliner::collection_hierarchy_delete_exec(), DRW_object_wire_theme_get(), blender::ed::object::duplicate_exec(), ED_armature_edit_select_pick_bone(), ED_curve_editnurb_select_pick(), ED_lattice_select_pick(), ED_mball_select_pick(), ed_object_select_pick(), ED_undo_editmode_bases_from_view_layer(), ED_undo_editmode_objects_from_view_layer(), 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(), edcu_shortest_path_pick_invoke(), blender::ed::object::find_first_by_data_id(), blender::ed::object::get_new_constraint_target(), gizmo_3d_foreach_selected(), gizmo_preselect_edgering_test_select(), gizmo_preselect_elem_test_select(), blender::draw::overlay::Instance::init(), iter_snap_objects(), blender::ed::object::jump_to_object(), mouse_select_eval_buffer(), mouse_select_object_center(), object_select_menu_exec(), blender::ed::outliner::outliner_delete_exec(), blender::ed::outliner::outliner_element_visible_get(), snap_target_select_from_spacetype(), view3d_context(), view3d_panel_transform_poll(), WIDGETGROUP_armature_spline_poll(), WIDGETGROUP_camera_poll(), WIDGETGROUP_empty_image_poll(), WIDGETGROUP_forcefield_poll(), WIDGETGROUP_light_area_poll(), WIDGETGROUP_light_point_poll(), WIDGETGROUP_light_spot_poll(), and WIDGETGROUP_light_target_poll().

◆ BKE_view_layer_active_collection_get()

LayerCollection * BKE_view_layer_active_collection_get ( ViewLayer * view_layer)

◆ BKE_view_layer_active_object_get()

Object * BKE_view_layer_active_object_get ( const ViewLayer * view_layer)

Definition at line 274 of file layer_utils.cc.

References BKE_view_layer_active_base_get(), and Base::object.

Referenced by actedit_get_shapekeys(), ANIM_animdata_get_context(), animdata_filter_dopesheet(), BKE_lib_override_library_create(), BKE_lib_override_library_main_resync(), BKE_object_pose_array_get_ex(), BKE_paint_get_active(), BKE_paint_get_active_from_context(), BKE_paintmode_get_active_from_context(), BKE_view_layer_edit_object_get(), BKE_view_layer_non_active_selected_object(), buttons_context_path_object(), buttons_shading_context(), buttons_shading_new_context(), buttons_texture_users_from_context(), calculateCenterActive(), blender::ed::object::clear_override_library_exec(), convert_type_get(), create_trans_data(), createTransGPencil(), createTransParticleVerts(), createTransSculpt(), createTransTexspace(), do_view3d_region_buttons(), do_view3d_vgroup_buttons(), 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(), ED_armature_pose_select_in_wpaint_mode(), ED_armature_pose_select_pick_bone(), ED_editors_init_for_undo(), ED_info_draw_stats(), ED_screen_scene_change(), ED_transform_calc_orientation_from_type(), ED_undo_is_legacy_compatible_for_property(), ED_undo_is_memfile_compatible(), ED_undo_object_set_active_or_warn(), ED_view3d_datamask(), blender::ed::object::editmode_toggle_exec(), flushTransParticles(), geometry_node_tree_get_from_context(), get_affected_rna_paths_from_transform_mode(), get_orientation_object(), get_stats_string(), blender::ed::outliner::get_sync_select_active_data(), gizmo_3d_calc_pos(), gizmo_3d_transform_space_object_get(), gizmo_light_radius_prop_matrix_get(), gizmo_light_radius_prop_matrix_set(), gizmo_spot_blend_prop_matrix_get(), gizmo_spot_blend_prop_matrix_set(), blender::ed::outliner::id_override_library_clear_single_process(), image_listener(), initTransInfo(), lib_override_library_resync(), blender::ed::object::mode_set_ex(), blender::ed::object::modifier_remove_exec(), blender::ed::object::object_convert_exec(), blender::bke::object_get_datamask(), blender::ed::sculpt_paint::object_sculpt_mode_enter(), blender::ed::sculpt_paint::object_sculpt_mode_exit(), blender::ed::object::object_select_grouped_exec(), blender::ed::object::object_select_linked_exec(), blender::draw::overlay::Origins::object_sync(), 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_is_co_within_active_mode_column(), blender::ed::outliner::outliner_show_active_get_element(), blender::ed::outliner::outliner_viewcontext_init(), OVERLAY_object_center(), override_idtemplate_clear_exec(), paint_sample_color(), particle_system_remove_exec(), particle_undosys_poll(), particle_undosys_step_encode(), PE_minmax(), psys_in_edit_mode(), recalcData_actedit(), recalcData_graphedit(), recalcData_sculpt(), blender::ed::sculpt_paint::undo::restore_list(), rigidbody_con_add_exec(), rigidbody_con_remove_exec(), saveTransform(), screen_ctx_active_bone(), screen_ctx_active_object(), screen_ctx_active_pose_bone(), 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_selected_pose_bones(), screen_ctx_selected_pose_bones_from_active_object(), screen_ctx_vertex_paint_object(), screen_ctx_visible_pose_bones(), screen_ctx_weight_paint_object(), blender::ed::sculpt_paint::sculpt_mode_toggle_exec(), set_orientation_poll(), setSnappingCallback(), blender::ed::object::shade_poll(), blender::ed::object::shade_smooth_exec(), shader_get_from_context(), special_aftertrans_update__sculpt(), stats_update(), blender::ed::sculpt_paint::undo::step_decode(), texture_get_from_context(), texture_paint_camera_project_exec(), blender::ed::sculpt_paint::image::ops::paint::texture_paint_init(), 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(), txt_add_object(), uiTemplateHeader3D_mode(), uiTemplatePaintModeSelection(), update_active_vertex_weight(), v3d_cursor_snap_update(), blender::ed::object::vertex_parent_set_exec(), view3d_draw_region_info(), view3d_main_region_message_subscribe(), view3d_orbit_calc_center(), view3d_panel_transform(), view3d_panel_vgroup(), view3d_panel_vgroup_poll(), view3d_ruler_item_mousemove(), view_camera_exec(), viewselected_exec(), WIDGETGROUP_armature_spline_refresh(), WIDGETGROUP_armature_spline_setup(), WIDGETGROUP_camera_message_subscribe(), WIDGETGROUP_camera_refresh(), WIDGETGROUP_camera_setup(), WIDGETGROUP_camera_view_poll(), WIDGETGROUP_empty_image_refresh(), WIDGETGROUP_forcefield_refresh(), WIDGETGROUP_light_area_refresh(), WIDGETGROUP_light_point_draw_prepare(), WIDGETGROUP_light_spot_draw_prepare(), WIDGETGROUP_light_spot_refresh(), WIDGETGROUP_light_target_draw_prepare(), WM_toolsystem_mode_from_spacetype(), and WM_toolsystem_ref_sync_from_context().

◆ BKE_view_layer_add()

◆ BKE_view_layer_add_aov()

◆ BKE_view_layer_add_lightgroup()

◆ BKE_view_layer_array_from_bases_in_edit_mode()

◆ BKE_view_layer_array_from_bases_in_edit_mode_unique_data()

◆ BKE_view_layer_array_from_bases_in_mode_params()

◆ BKE_view_layer_array_from_objects_in_edit_mode()

blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode ( const Scene * scene,
ViewLayer * view_layer,
const View3D * v3d )

◆ BKE_view_layer_array_from_objects_in_edit_mode_unique_data()

blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode_unique_data ( const Scene * scene,
ViewLayer * view_layer,
const View3D * v3d )

Definition at line 150 of file layer_utils.cc.

References BKE_view_layer_array_from_objects_in_mode_params(), OB_MODE_EDIT, and params.

Referenced by armature_autoside_names_exec(), armature_calc_roll_exec(), armature_de_select_less_exec(), armature_de_select_more_exec(), armature_delete_selected_exec(), armature_dissolve_selected_exec(), armature_duplicate_selected_exec(), armature_extrude_exec(), armature_flip_names_exec(), armature_hide_exec(), armature_parent_clear_exec(), armature_reveal_exec(), armature_roll_clear_exec(), armature_select_linked_exec(), armature_select_mirror_exec(), armature_split_exec(), armature_switch_direction_exec(), armature_symmetrize_exec(), clear_tilt_exec(), cube_project_exec(), curve_decimate_exec(), curve_delete_exec(), curve_dissolve_exec(), curve_extrude_exec(), curve_normals_make_consistent_exec(), curve_select_less_exec(), curve_select_more_exec(), curve_select_random_exec(), curve_select_similar_exec(), curve_smooth_radius_exec(), curve_smooth_tilt_exec(), curve_smooth_weight_exec(), curve_split_exec(), cylinder_project_exec(), de_select_all_exec(), de_select_first_exec(), de_select_last_exec(), delete_metaelems_exec(), duplicate_exec(), duplicate_metaelems_exec(), ED_curve_editnurb_select_pick(), ED_lattice_select_pick(), edbm_add_edge_face_exec(), edbm_average_normals_exec(), edbm_beautify_fill_exec(), edbm_bevel_init(), edbm_blend_from_shape_exec(), edbm_bridge_edge_loops_exec(), edbm_collapse_edge_exec(), edbm_decimate_exec(), edbm_delete_edgeloop_exec(), edbm_delete_exec(), edbm_delete_loose_exec(), edbm_dissolve_degenerate_exec(), edbm_dissolve_edges_exec(), edbm_dissolve_faces_exec(), edbm_dissolve_limited_exec(), edbm_dissolve_verts_exec(), edbm_do_smooth_laplacian_vertex_exec(), edbm_do_smooth_vertex_exec(), edbm_dupli_extrude_cursor_invoke(), edbm_duplicate_exec(), edbm_edge_rotate_selected_exec(), edbm_edge_split_exec(), edbm_extrude_context_exec(), edbm_extrude_edges_exec(), edbm_extrude_faces_exec(), edbm_extrude_region_exec(), edbm_extrude_repeat_exec(), edbm_extrude_verts_exec(), edbm_face_make_planar_exec(), edbm_face_split_by_edges_exec(), edbm_faces_select_interior_exec(), edbm_faces_shade_flat_exec(), edbm_faces_shade_smooth_exec(), edbm_fill_exec(), edbm_fill_grid_exec(), edbm_fill_holes_exec(), edbm_flag_disable_all_multi(), edbm_flip_normals_exec(), edbm_flip_quad_tessellation_exec(), edbm_hide_exec(), edbm_inset_init(), edbm_intersect_boolean_exec(), edbm_intersect_exec(), edbm_loop_multiselect_exec(), edbm_loop_to_region_exec(), edbm_mark_seam_exec(), edbm_mark_sharp_exec(), edbm_merge_exec(), edbm_mod_weighted_strength_exec(), edbm_normals_make_consistent_exec(), edbm_normals_tools_exec(), edbm_poke_face_exec(), edbm_quads_convert_to_tris_exec(), edbm_region_to_loop_exec(), edbm_remove_doubles_exec(), edbm_reveal_exec(), edbm_reverse_colors_exec(), edbm_reverse_uvs_exec(), edbm_rip_edge_invoke(), edbm_rip_invoke(), edbm_rotate_colors_exec(), edbm_rotate_uvs_exec(), edbm_screw_exec(), edbm_select_all_exec(), edbm_select_by_attribute_exec(), edbm_select_face_by_sides_exec(), edbm_select_less_exec(), edbm_select_linked_exec(), edbm_select_linked_flat_faces_exec(), edbm_select_loose_exec(), edbm_select_mirror_exec(), edbm_select_more_exec(), edbm_select_non_manifold_exec(), edbm_select_nth_exec(), edbm_select_random_exec(), edbm_select_sharp_edges_exec(), edbm_select_ungrouped_exec(), EDBM_selectmode_set_multi(), EDBM_selectmode_toggle_multi(), edbm_set_normals_from_faces_exec(), edbm_shape_propagate_to_all_exec(), edbm_shortest_path_select_exec(), edbm_smooth_normals_exec(), edbm_solidify_exec(), edbm_sort_elements_exec(), edbm_spin_exec(), edbm_split_exec(), edbm_subdivide_edge_ring_exec(), edbm_subdivide_exec(), edbm_tris_convert_to_quads_exec(), edbm_vert_connect_concave_exec(), edbm_vert_connect_exec(), edbm_vert_connect_nonplaner_exec(), edbm_vert_connect_path_exec(), edbm_wireframe_exec(), hide_exec(), knifeproject_exec(), knifetool_invoke(), lattice_flip_exec(), lattice_select_all_exec(), lattice_select_mirror_exec(), lattice_select_more_less(), lattice_select_random_exec(), lattice_select_ungrouped_exec(), make_regular_exec(), make_segment_exec(), mesh_bisect_exec(), mesh_bisect_invoke(), blender::ed::mesh::set_attribute::mesh_set_attribute_exec(), mesh_symmetrize_exec(), mesh_symmetry_snap_exec(), normals_split_merge(), op_generic_value_invoke(), reset_exec(), reveal_exec(), screen_ctx_selected_bones_(), screen_ctx_visible_or_editable_bones_(), select_linked_exec(), select_next_exec(), select_nth_exec(), select_previous_exec(), select_random_metaelems_exec(), select_similar_bone_collection(), select_similar_bone_color(), select_similar_direction(), select_similar_length(), select_similar_prefix(), select_similar_suffix(), set_goal_weight_exec(), set_handle_type_exec(), set_radius_exec(), blender::ed::mesh::set_sharpness_by_angle_exec(), set_spline_type_exec(), shade_smooth_exec(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), smart_project_exec(), smooth_exec(), snap_curs_to_sel_ex(), snap_sel_to_grid_exec(), snap_selected_to_location(), sphere_project_exec(), spin_exec(), subdivide_exec(), switch_direction_exec(), toggle_cyclic_exec(), unwrap_exec(), and uv_from_view_exec().

◆ BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs()

◆ BKE_view_layer_array_from_objects_in_mode_params()

◆ BKE_view_layer_array_from_objects_in_mode_unique_data()

blender::Vector< Object * > BKE_view_layer_array_from_objects_in_mode_unique_data ( const Scene * scene,
ViewLayer * view_layer,
const View3D * v3d,
eObjectMode mode )

◆ BKE_view_layer_array_selected_objects_params()

◆ BKE_view_layer_base_deselect_all()

◆ BKE_view_layer_base_find()

Base * BKE_view_layer_base_find ( ViewLayer * view_layer,
Object * ob )

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().

◆ BKE_view_layer_base_select_and_set_active()

◆ BKE_view_layer_bases_in_mode_iterator_begin()

◆ BKE_view_layer_bases_in_mode_iterator_end()

void BKE_view_layer_bases_in_mode_iterator_end ( BLI_Iterator * iter)

Definition at line 2312 of file blenkernel/intern/layer.cc.

◆ BKE_view_layer_bases_in_mode_iterator_next()

void BKE_view_layer_bases_in_mode_iterator_next ( BLI_Iterator * iter)

◆ BKE_view_layer_blend_read_after_liblink()

void BKE_view_layer_blend_read_after_liblink ( BlendLibReader * reader,
ID * self_id,
ViewLayer * view_layer )

◆ BKE_view_layer_blend_read_data()

◆ BKE_view_layer_blend_write()

◆ BKE_view_layer_camera_find()

Object * BKE_view_layer_camera_find ( const Scene * scene,
ViewLayer * view_layer )

Fallback for when a Scene has no camera to use.

Parameters
view_layerin 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().

◆ BKE_view_layer_context_active_PLACEHOLDER()

ViewLayer * BKE_view_layer_context_active_PLACEHOLDER ( const Scene * scene)

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().

◆ BKE_view_layer_copy_data()

◆ BKE_view_layer_default_render()

◆ BKE_view_layer_default_view()

ViewLayer * BKE_view_layer_default_view ( const Scene * scene)

◆ BKE_view_layer_edit_object_get()

◆ BKE_view_layer_filter_edit_mesh_has_edges()

bool BKE_view_layer_filter_edit_mesh_has_edges ( const Object * ob,
void * user_data )

Definition at line 231 of file layer_utils.cc.

References Object::data, OB_MESH, and Object::type.

◆ BKE_view_layer_filter_edit_mesh_has_uvs()

bool BKE_view_layer_filter_edit_mesh_has_uvs ( const Object * ob,
void * user_data )

◆ BKE_view_layer_find()

ViewLayer * BKE_view_layer_find ( const Scene * scene,
const char * layer_name )

◆ BKE_view_layer_find_from_collection()

ViewLayer * BKE_view_layer_find_from_collection ( const Scene * scene,
LayerCollection * lc )

◆ BKE_view_layer_find_with_aov()

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.

◆ BKE_view_layer_find_with_lightgroup()

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.

◆ BKE_view_layer_free()

void BKE_view_layer_free ( ViewLayer * view_layer)

◆ BKE_view_layer_free_ex()

◆ BKE_view_layer_free_object_content()

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().

◆ BKE_view_layer_has_collection()

bool BKE_view_layer_has_collection ( const ViewLayer * view_layer,
const Collection * collection )

◆ BKE_view_layer_has_valid_aov()

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().

◆ BKE_view_layer_need_resync_tag()

◆ BKE_view_layer_non_active_selected_object()

Object * BKE_view_layer_non_active_selected_object ( const Scene * scene,
ViewLayer * view_layer,
const View3D * v3d )

Use this in rare cases we need to detect a pair of objects (active, selected). This returns the other non-active selected object.

Returns NULL with it finds multiple other selected objects as behavior in this case would be random from the user perspective.

Definition at line 244 of file layer_utils.cc.

References BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), FOREACH_SELECTED_OBJECT_BEGIN, and FOREACH_SELECTED_OBJECT_END.

◆ BKE_view_layer_object_bases_get()

ListBase * BKE_view_layer_object_bases_get ( ViewLayer * view_layer)

Definition at line 191 of file layer_utils.cc.

References BLI_assert_msg, ViewLayer::flag, ViewLayer::object_bases, and VIEW_LAYER_OUT_OF_SYNC.

Referenced by _setlooper_base_step(), animdata_filter_dopesheet(), animdata_filter_ds_sorted_bases(), animdata_filter_grease_pencil(), bc_get_children(), BKE_base_set_visible(), BKE_collection_or_layer_objects(), BKE_layer_collection_local_sync(), BKE_light_linking_select_receivers_of_emitter(), BKE_mball_basis_find(), BKE_object_relational_superset(), BKE_scene_base_flag_to_objects(), BKE_scene_base_iter_next(), BKE_scene_object_find(), BKE_scene_object_find_by_name(), BKE_scene_set_background(), BKE_view_layer_base_deselect_all(), BKE_view_layer_blend_write(), BKE_view_layer_camera_find(), BKE_view_layer_selected_objects_tag(), blender::deg::DepsgraphNodeBuilder::build_scene_speakers(), blender::deg::DepsgraphRelationBuilder::build_scene_speakers(), blender::deg::DepsgraphNodeBuilder::build_view_layer(), blender::deg::DepsgraphRelationBuilder::build_view_layer(), clean_viewport_memory(), clear_trans_object_base_flags(), click_select_channel_object(), count_proportional_objects(), createTransObject(), blender::io::SubdivModifierDisabler::disable_modifiers(), do_lasso_select_objects(), do_object_box_select(), blender::ed::outliner::do_outliner_object_select_recursive(), do_version_layers_to_collections(), ED_localview_exit_if_empty(), ed_object_select_pick(), ED_undo_editmode_bases_from_view_layer(), ED_undo_editmode_objects_from_view_layer(), blender::ed::object::editmode_exit_multi_ex(), blender::ed::object::find_first_by_data_id(), gizmo_3d_foreach_selected(), CryptomatteSession::init(), iter_snap_objects(), layer_eval_view_layer(), localview_remove_from_exec(), mouse_nla_tracks(), mouse_select_eval_buffer(), mouse_select_object_center(), object_bases_iterator_begin(), object_circle_select(), object_deselect_all_except(), object_deselect_all_visible(), blender::ed::object::object_hide_view_clear_exec(), blender::ed::object::object_hide_view_set_exec(), blender::ed::object::object_select_more_less(), blender::ed::outliner::outliner_batch_delete_object_hierarchy_tag(), blender::ed::outliner::outliner_unhide_all_exec(), blender::ed::space_node::preview_prepare_scene(), preview_prepare_scene(), blender::io::grease_pencil::GreasePencilExporter::retrieve_objects(), scene_foreach_id(), screen_ctx_editable_objects(), screen_ctx_selectable_objects(), screen_ctx_selected_editable_objects(), screen_ctx_selected_objects(), screen_ctx_visible_objects(), set_trans_object_base_flags(), switch_preview_floor_visibility(), trans_object_base_deps_flag_finish(), trans_object_base_deps_flag_prepare(), view3d_all_exec(), view3d_localview_exit(), view3d_localview_init(), view3d_orbit_calc_center(), viewselected_exec(), and blender::ed::object::xform_skip_child_container_item_ensure_from_array().

◆ BKE_view_layer_remove_aov()

◆ BKE_view_layer_remove_lightgroup()

◆ BKE_view_layer_rename()

◆ BKE_view_layer_rename_lightgroup()

void BKE_view_layer_rename_lightgroup ( Scene * scene,
ViewLayer * view_layer,
ViewLayerLightgroup * lightgroup,
const char * name )

◆ BKE_view_layer_selected_bases_iterator_begin()

void BKE_view_layer_selected_bases_iterator_begin ( BLI_Iterator * iter,
void * data_in )

◆ BKE_view_layer_selected_bases_iterator_end()

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().

◆ BKE_view_layer_selected_bases_iterator_next()

void BKE_view_layer_selected_bases_iterator_next ( BLI_Iterator * iter)

◆ BKE_view_layer_selected_editable_objects_iterator_begin()

◆ BKE_view_layer_selected_editable_objects_iterator_end()

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().

◆ BKE_view_layer_selected_editable_objects_iterator_next()

◆ BKE_view_layer_selected_objects_iterator_begin()

void BKE_view_layer_selected_objects_iterator_begin ( BLI_Iterator * iter,
void * data_in )

◆ BKE_view_layer_selected_objects_iterator_end()

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().

◆ BKE_view_layer_selected_objects_iterator_next()

void BKE_view_layer_selected_objects_iterator_next ( BLI_Iterator * iter)

◆ BKE_view_layer_selected_objects_tag()

void BKE_view_layer_selected_objects_tag ( const Scene * scene,
ViewLayer * view_layer,
int tag )

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().

◆ BKE_view_layer_set_active_aov()

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().

◆ BKE_view_layer_set_active_lightgroup()

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().

◆ BKE_view_layer_synced_ensure()

void BKE_view_layer_synced_ensure ( const Scene * scene,
ViewLayer * view_layer )

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().

◆ BKE_view_layer_verify_aov()

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().

◆ BKE_view_layer_visible_bases_iterator_begin()

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().

◆ BKE_view_layer_visible_bases_iterator_end()

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().

◆ BKE_view_layer_visible_bases_iterator_next()

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().

◆ BKE_view_layer_visible_objects_iterator_begin()

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().

◆ BKE_view_layer_visible_objects_iterator_end()

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().

◆ BKE_view_layer_visible_objects_iterator_next()

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().