Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Functions
BKE_layer.h File Reference
#include "BKE_collection.h"
#include "DNA_layer_types.h"
#include "DNA_listBase.h"

Go to the source code of this file.

Classes

struct  ObjectsVisibleIteratorData
 
struct  ObjectsInModeIteratorData
 
struct  ObjectsInViewLayerParams
 
struct  ObjectsInModeParams
 

Macros

#define TODO_LAYER_OVERRIDE   /* CollectionOverride */
 
#define TODO_LAYER_OPERATORS   /* collection mamanger and property panel operators */
 
#define TODO_LAYER   /* generic todo */
 
#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(_view_layer, _v3d, _object_type, _object_mode, _instance)
 
#define FOREACH_BASE_IN_MODE_END
 
#define FOREACH_BASE_IN_EDIT_MODE_BEGIN(_view_layer, _v3d, _instance)    FOREACH_BASE_IN_MODE_BEGIN (_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(_view_layer, _v3d, _object_type, _object_mode, _instance)
 
#define FOREACH_OBJECT_IN_MODE_END
 
#define FOREACH_OBJECT_IN_EDIT_MODE_BEGIN(_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(_view_layer, _v3d, _instance)
 
#define FOREACH_VISIBLE_BASE_END
 
#define FOREACH_OBJECT_BEGIN(view_layer, _instance)
 
#define FOREACH_OBJECT_END
 
#define FOREACH_OBJECT_FLAG_BEGIN(scene, _view_layer, _v3d, flag, _instance)
 
#define FOREACH_OBJECT_FLAG_END
 
#define BKE_view_layer_array_selected_objects(view_layer, v3d, r_len, ...)
 
#define BKE_view_layer_array_from_objects_in_mode(view_layer, v3d, r_len, ...)
 
#define BKE_view_layer_array_from_bases_in_mode(view_layer, v3d, r_len, ...)
 
#define BKE_view_layer_array_from_objects_in_edit_mode(view_layer, v3d, r_len)    BKE_view_layer_array_from_objects_in_mode(view_layer, v3d, r_len, {.object_mode = OB_MODE_EDIT})
 
#define BKE_view_layer_array_from_bases_in_edit_mode(view_layer, v3d, r_len)    BKE_view_layer_array_from_bases_in_mode(view_layer, v3d, r_len, {.object_mode = OB_MODE_EDIT})
 
#define BKE_view_layer_array_from_objects_in_edit_mode_unique_data(view_layer, v3d, r_len)
 
#define BKE_view_layer_array_from_bases_in_edit_mode_unique_data(view_layer, v3d, r_len)
 
#define BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(view_layer, v3d, r_len)
 
#define BKE_view_layer_array_from_objects_in_mode_unique_data(view_layer, v3d, r_len, mode)
 

Typedefs

typedef enum eViewLayerCopyMethod eViewLayerCopyMethod
 
typedef struct ObjectsVisibleIteratorData ObjectsVisibleIteratorData
 

Enumerations

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

Functions

struct ViewLayerBKE_view_layer_default_view (const struct Scene *scene)
 
struct ViewLayerBKE_view_layer_default_render (const struct Scene *scene)
 
struct ViewLayerBKE_view_layer_find (const struct Scene *scene, const char *layer_name)
 
struct ViewLayerBKE_view_layer_add (struct Scene *scene, const char *name, struct ViewLayer *view_layer_source, int type)
 
struct ViewLayerBKE_view_layer_context_active_PLACEHOLDER (const struct Scene *scene)
 
void BKE_view_layer_free (struct ViewLayer *view_layer)
 
void BKE_view_layer_free_ex (struct ViewLayer *view_layer, bool do_id_user)
 
void BKE_view_layer_selected_objects_tag (struct ViewLayer *view_layer, int tag)
 
struct ObjectBKE_view_layer_camera_find (struct ViewLayer *view_layer)
 
struct ViewLayerBKE_view_layer_find_from_collection (const struct Scene *scene, struct LayerCollection *lc)
 
struct BaseBKE_view_layer_base_find (struct ViewLayer *view_layer, struct Object *ob)
 
void BKE_view_layer_base_deselect_all (struct ViewLayer *view_layer)
 
void BKE_view_layer_base_select_and_set_active (struct ViewLayer *view_layer, struct Base *selbase)
 
void BKE_view_layer_copy_data (struct Scene *scene_dst, const struct Scene *scene_src, struct ViewLayer *view_layer_dst, const struct ViewLayer *view_layer_src, int flag)
 
void BKE_view_layer_rename (struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, const char *name)
 
struct LayerCollectionBKE_layer_collection_get_active (struct ViewLayer *view_layer)
 
bool BKE_layer_collection_activate (struct ViewLayer *view_layer, struct LayerCollection *lc)
 
struct LayerCollectionBKE_layer_collection_activate_parent (struct ViewLayer *view_layer, struct LayerCollection *lc)
 
int BKE_layer_collection_count (const struct ViewLayer *view_layer)
 
struct LayerCollectionBKE_layer_collection_from_index (struct ViewLayer *view_layer, int index)
 
int BKE_layer_collection_findindex (struct ViewLayer *view_layer, const struct LayerCollection *lc)
 
void BKE_layer_collection_resync_forbid (void)
 
void BKE_layer_collection_resync_allow (void)
 
void BKE_layer_collection_doversion_2_80 (const struct Scene *scene, struct ViewLayer *view_layer)
 
void BKE_main_collection_sync (const struct Main *bmain)
 
void BKE_scene_collection_sync (const struct Scene *scene)
 
void BKE_layer_collection_sync (const struct Scene *scene, struct ViewLayer *view_layer)
 
void BKE_layer_collection_local_sync (struct ViewLayer *view_layer, const struct View3D *v3d)
 
void BKE_layer_collection_local_sync_all (const struct Main *bmain)
 
void BKE_main_collection_sync_remap (const struct Main *bmain)
 
struct LayerCollectionBKE_layer_collection_first_from_scene_collection (const struct ViewLayer *view_layer, const struct Collection *collection)
 
bool BKE_view_layer_has_collection (const struct ViewLayer *view_layer, const struct Collection *collection)
 
bool BKE_scene_has_object (struct Scene *scene, struct Object *ob)
 
bool BKE_layer_collection_objects_select (struct ViewLayer *view_layer, struct LayerCollection *lc, bool deselect)
 
bool BKE_layer_collection_has_selected_objects (struct ViewLayer *view_layer, struct LayerCollection *lc)
 
bool BKE_layer_collection_has_layer_collection (struct LayerCollection *lc_parent, struct LayerCollection *lc_child)
 
void BKE_base_set_visible (struct Scene *scene, struct ViewLayer *view_layer, struct Base *base, bool extend)
 
bool BKE_base_is_visible (const struct View3D *v3d, const struct Base *base)
 
bool BKE_object_is_visible_in_viewport (const struct View3D *v3d, const struct Object *ob)
 
void BKE_layer_collection_isolate_global (struct Scene *scene, struct ViewLayer *view_layer, struct LayerCollection *lc, bool extend)
 
void BKE_layer_collection_isolate_local (struct ViewLayer *view_layer, const struct View3D *v3d, struct LayerCollection *lc, bool extend)
 
void BKE_layer_collection_set_visible (struct ViewLayer *view_layer, struct LayerCollection *lc, bool visible, bool hierarchy)
 
void BKE_layer_collection_set_flag (struct LayerCollection *lc, int flag, bool value)
 
void BKE_base_eval_flags (struct Base *base)
 
void BKE_layer_eval_view_layer_indexed (struct Depsgraph *depsgraph, struct Scene *scene, int view_layer_index)
 
void BKE_view_layer_blend_write (struct BlendWriter *writer, struct ViewLayer *view_layer)
 
void BKE_view_layer_blend_read_data (struct BlendDataReader *reader, struct ViewLayer *view_layer)
 
void BKE_view_layer_blend_read_lib (struct BlendLibReader *reader, struct Library *lib, struct 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)
 
struct Object ** BKE_view_layer_array_selected_objects_params (struct ViewLayer *view_layer, const struct View3D *v3d, uint *r_len, const struct ObjectsInViewLayerParams *params)
 
struct ObjectBKE_view_layer_non_active_selected_object (struct ViewLayer *view_layer, const struct View3D *v3d)
 
struct Base ** BKE_view_layer_array_from_bases_in_mode_params (struct ViewLayer *view_layer, const struct View3D *v3d, uint *r_len, const struct ObjectsInModeParams *params)
 
struct Object ** BKE_view_layer_array_from_objects_in_mode_params (struct ViewLayer *view_layer, const struct View3D *v3d, uint *len, const struct ObjectsInModeParams *params)
 
bool BKE_view_layer_filter_edit_mesh_has_uvs (const struct Object *ob, void *user_data)
 
bool BKE_view_layer_filter_edit_mesh_has_edges (const struct Object *ob, void *user_data)
 
struct ViewLayerAOVBKE_view_layer_add_aov (struct ViewLayer *view_layer)
 
void BKE_view_layer_remove_aov (struct ViewLayer *view_layer, struct ViewLayerAOV *aov)
 
void BKE_view_layer_set_active_aov (struct ViewLayer *view_layer, struct ViewLayerAOV *aov)
 
void BKE_view_layer_verify_aov (struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer)
 
bool BKE_view_layer_has_valid_aov (struct ViewLayer *view_layer)
 
struct ViewLayerBKE_view_layer_find_with_aov (struct Scene *scene, struct ViewLayerAOV *view_layer_aov)
 
struct ViewLayerLightgroupBKE_view_layer_add_lightgroup (struct ViewLayer *view_layer, const char *name)
 
void BKE_view_layer_remove_lightgroup (struct ViewLayer *view_layer, struct ViewLayerLightgroup *lightgroup)
 
void BKE_view_layer_set_active_lightgroup (struct ViewLayer *view_layer, struct ViewLayerLightgroup *lightgroup)
 
struct ViewLayerBKE_view_layer_find_with_lightgroup (struct Scene *scene, struct ViewLayerLightgroup *view_layer_lightgroup)
 
void BKE_view_layer_rename_lightgroup (struct Scene *scene, ViewLayer *view_layer, ViewLayerLightgroup *lightgroup, const char *name)
 
void BKE_lightgroup_membership_get (struct LightgroupMembership *lgm, char *name)
 
int BKE_lightgroup_membership_length (struct LightgroupMembership *lgm)
 
void BKE_lightgroup_membership_set (struct LightgroupMembership **lgm, const char *name)
 

Macro Definition Documentation

◆ BKE_view_layer_array_from_bases_in_edit_mode

#define BKE_view_layer_array_from_bases_in_edit_mode (   view_layer,
  v3d,
  r_len 
)     BKE_view_layer_array_from_bases_in_mode(view_layer, v3d, r_len, {.object_mode = OB_MODE_EDIT})

Definition at line 539 of file BKE_layer.h.

◆ BKE_view_layer_array_from_bases_in_edit_mode_unique_data

#define BKE_view_layer_array_from_bases_in_edit_mode_unique_data (   view_layer,
  v3d,
  r_len 
)
Value:
view_layer, v3d, r_len, {.object_mode = OB_MODE_EDIT, .no_dup_data = true})
#define BKE_view_layer_array_from_bases_in_mode(view_layer, v3d, r_len,...)
Definition: BKE_layer.h:527
@ OB_MODE_EDIT

Definition at line 546 of file BKE_layer.h.

◆ BKE_view_layer_array_from_bases_in_mode

#define BKE_view_layer_array_from_bases_in_mode (   view_layer,
  v3d,
  r_len,
  ... 
)
Value:
view_layer, v3d, r_len, &(const struct ObjectsInModeParams)__VA_ARGS__)
struct Base ** BKE_view_layer_array_from_bases_in_mode_params(struct ViewLayer *view_layer, const struct View3D *v3d, uint *r_len, const struct ObjectsInModeParams *params)

Definition at line 527 of file BKE_layer.h.

◆ BKE_view_layer_array_from_objects_in_edit_mode

#define BKE_view_layer_array_from_objects_in_edit_mode (   view_layer,
  v3d,
  r_len 
)     BKE_view_layer_array_from_objects_in_mode(view_layer, v3d, r_len, {.object_mode = OB_MODE_EDIT})

Definition at line 536 of file BKE_layer.h.

◆ BKE_view_layer_array_from_objects_in_edit_mode_unique_data

#define BKE_view_layer_array_from_objects_in_edit_mode_unique_data (   view_layer,
  v3d,
  r_len 
)
Value:
view_layer, v3d, r_len, {.object_mode = OB_MODE_EDIT, .no_dup_data = true})
#define BKE_view_layer_array_from_objects_in_mode(view_layer, v3d, r_len,...)
Definition: BKE_layer.h:523

Definition at line 542 of file BKE_layer.h.

◆ BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs

#define BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs (   view_layer,
  v3d,
  r_len 
)
Value:
view_layer, \
v3d, \
r_len, \
{.object_mode = OB_MODE_EDIT, \
.no_dup_data = true, \
bool BKE_view_layer_filter_edit_mesh_has_uvs(const struct Object *ob, void *user_data)

Definition at line 550 of file BKE_layer.h.

◆ BKE_view_layer_array_from_objects_in_mode

#define BKE_view_layer_array_from_objects_in_mode (   view_layer,
  v3d,
  r_len,
  ... 
)
Value:
view_layer, v3d, r_len, &(const struct ObjectsInModeParams)__VA_ARGS__)
struct Object ** BKE_view_layer_array_from_objects_in_mode_params(struct ViewLayer *view_layer, const struct View3D *v3d, uint *len, const struct ObjectsInModeParams *params)

Definition at line 523 of file BKE_layer.h.

◆ BKE_view_layer_array_from_objects_in_mode_unique_data

#define BKE_view_layer_array_from_objects_in_mode_unique_data (   view_layer,
  v3d,
  r_len,
  mode 
)
Value:
view_layer, v3d, r_len, {.object_mode = mode, .no_dup_data = true})

Definition at line 560 of file BKE_layer.h.

◆ BKE_view_layer_array_selected_objects

#define BKE_view_layer_array_selected_objects (   view_layer,
  v3d,
  r_len,
  ... 
)
Value:
view_layer, v3d, r_len, &(const struct ObjectsInViewLayerParams)__VA_ARGS__)
struct Object ** BKE_view_layer_array_selected_objects_params(struct ViewLayer *view_layer, const struct View3D *v3d, uint *r_len, const struct ObjectsInViewLayerParams *params)
Definition: layer_utils.c:28

Definition at line 499 of file BKE_layer.h.

◆ FOREACH_BASE_IN_EDIT_MODE_BEGIN

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

Definition at line 375 of file BKE_layer.h.

◆ FOREACH_BASE_IN_EDIT_MODE_END

#define FOREACH_BASE_IN_EDIT_MODE_END   FOREACH_BASE_IN_MODE_END

Definition at line 378 of file BKE_layer.h.

◆ FOREACH_BASE_IN_MODE_BEGIN

#define FOREACH_BASE_IN_MODE_BEGIN (   _view_layer,
  _v3d,
  _object_type,
  _object_mode,
  _instance 
)
Value:
{ \
.object_mode = _object_mode, \
.object_type = _object_type, \
.view_layer = _view_layer, \
.v3d = _v3d, \
.base_active = _view_layer->basact, \
}; \
&data_, \
Base *, \
_instance)
void BKE_view_layer_bases_in_mode_iterator_begin(BLI_Iterator *iter, void *data_in)
Definition: layer.c:2136
void BKE_view_layer_bases_in_mode_iterator_next(BLI_Iterator *iter)
Definition: layer.c:2162
void BKE_view_layer_bases_in_mode_iterator_end(BLI_Iterator *iter)
T * data_
Definition: eval_output.h:163

Definition at line 354 of file BKE_layer.h.

◆ FOREACH_BASE_IN_MODE_END

#define FOREACH_BASE_IN_MODE_END
Value:
} \
((void)0)
#define ITER_END
Definition: BLI_iterator.h:43
SyclQueue void void size_t num_bytes void

Definition at line 370 of file BKE_layer.h.

◆ FOREACH_OBJECT_BEGIN

#define FOREACH_OBJECT_BEGIN (   view_layer,
  _instance 
)
Value:
{ \
Object *_instance; \
Base *_base; \
for (_base = (Base *)(view_layer)->object_bases.first; _base; _base = _base->next) { \
_instance = _base->object;

Definition at line 423 of file BKE_layer.h.

◆ FOREACH_OBJECT_END

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

Definition at line 430 of file BKE_layer.h.

◆ FOREACH_OBJECT_FLAG_BEGIN

#define FOREACH_OBJECT_FLAG_BEGIN (   scene,
  _view_layer,
  _v3d,
  flag,
  _instance 
)

Definition at line 435 of file BKE_layer.h.

◆ FOREACH_OBJECT_FLAG_END

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

Definition at line 469 of file BKE_layer.h.

◆ FOREACH_OBJECT_IN_EDIT_MODE_BEGIN

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

Definition at line 388 of file BKE_layer.h.

◆ FOREACH_OBJECT_IN_EDIT_MODE_END

#define FOREACH_OBJECT_IN_EDIT_MODE_END
Value:
} \
FOREACH_BASE_IN_EDIT_MODE_END

Definition at line 392 of file BKE_layer.h.

◆ FOREACH_OBJECT_IN_MODE_BEGIN

#define FOREACH_OBJECT_IN_MODE_BEGIN (   _view_layer,
  _v3d,
  _object_type,
  _object_mode,
  _instance 
)
Value:
FOREACH_BASE_IN_MODE_BEGIN (_view_layer, _v3d, _object_type, _object_mode, _base) { \
Object *_instance = _base->object;
#define FOREACH_BASE_IN_MODE_BEGIN(_view_layer, _v3d, _object_type, _object_mode, _instance)
Definition: BKE_layer.h:354

Definition at line 380 of file BKE_layer.h.

◆ FOREACH_OBJECT_IN_MODE_END

#define FOREACH_OBJECT_IN_MODE_END
Value:
} \
FOREACH_BASE_IN_MODE_END

Definition at line 384 of file BKE_layer.h.

◆ 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)
Definition: layer.c:2093
void BKE_view_layer_selected_bases_iterator_end(BLI_Iterator *iter)
Definition: layer.c:2098
void BKE_view_layer_selected_bases_iterator_begin(BLI_Iterator *iter, void *data_in)
Definition: layer.c:2088
#define ITER_BEGIN(callback_begin, callback_next, callback_end, _data_in, _type, _instance)
Definition: BLI_iterator.h:30

Definition at line 396 of file BKE_layer.h.

◆ FOREACH_SELECTED_BASE_END

#define FOREACH_SELECTED_BASE_END   ITER_END

Definition at line 404 of file BKE_layer.h.

◆ 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)
Definition: layer.c:2054
void BKE_view_layer_selected_editable_objects_iterator_end(BLI_Iterator *iter)
Definition: layer.c:2077
void BKE_view_layer_selected_editable_objects_iterator_next(BLI_Iterator *iter)
Definition: layer.c:2068

Definition at line 320 of file BKE_layer.h.

◆ FOREACH_SELECTED_EDITABLE_OBJECT_END

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

Definition at line 332 of file BKE_layer.h.

◆ FOREACH_SELECTED_OBJECT_BEGIN

#define FOREACH_SELECTED_OBJECT_BEGIN (   _view_layer,
  _v3d,
  _instance 
)
Value:
{ \
data_.view_layer = _view_layer; \
data_.v3d = _v3d; \
&data_, \
Object *, \
_instance)
void BKE_view_layer_selected_objects_iterator_begin(BLI_Iterator *iter, void *data_in)
Definition: layer.c:2012
void BKE_view_layer_selected_objects_iterator_end(BLI_Iterator *iter)
Definition: layer.c:2022
void BKE_view_layer_selected_objects_iterator_next(BLI_Iterator *iter)
Definition: layer.c:2017

Definition at line 303 of file BKE_layer.h.

◆ FOREACH_SELECTED_OBJECT_END

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

Definition at line 315 of file BKE_layer.h.

◆ FOREACH_VISIBLE_BASE_BEGIN

#define FOREACH_VISIBLE_BASE_BEGIN (   _view_layer,
  _v3d,
  _instance 
)
Value:
{ \
data_.view_layer = _view_layer; \
data_.v3d = _v3d; \
&data_, \
Base *, \
_instance)
void BKE_view_layer_visible_bases_iterator_begin(BLI_Iterator *iter, void *data_in)
Definition: layer.c:2109
void BKE_view_layer_visible_bases_iterator_end(BLI_Iterator *iter)
Definition: layer.c:2119
void BKE_view_layer_visible_bases_iterator_next(BLI_Iterator *iter)
Definition: layer.c:2114

Definition at line 406 of file BKE_layer.h.

◆ FOREACH_VISIBLE_BASE_END

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

Definition at line 418 of file BKE_layer.h.

◆ 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)
Definition: layer.c:2043
void BKE_view_layer_visible_objects_iterator_begin(BLI_Iterator *iter, void *data_in)
Definition: layer.c:2033
void BKE_view_layer_visible_objects_iterator_next(BLI_Iterator *iter)
Definition: layer.c:2038

Definition at line 337 of file BKE_layer.h.

◆ FOREACH_VISIBLE_OBJECT_END

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

Definition at line 349 of file BKE_layer.h.

◆ TODO_LAYER

#define TODO_LAYER   /* generic todo */

Definition at line 20 of file BKE_layer.h.

◆ TODO_LAYER_OPERATORS

#define TODO_LAYER_OPERATORS   /* collection mamanger and property panel operators */

Definition at line 19 of file BKE_layer.h.

◆ TODO_LAYER_OVERRIDE

#define TODO_LAYER_OVERRIDE   /* CollectionOverride */

Definition at line 18 of file BKE_layer.h.

Typedef Documentation

◆ eViewLayerCopyMethod

◆ ObjectsVisibleIteratorData

Enumeration Type Documentation

◆ eViewLayerCopyMethod

Enumerator
VIEWLAYER_ADD_NEW 
VIEWLAYER_ADD_EMPTY 
VIEWLAYER_ADD_COPY 

Definition at line 36 of file BKE_layer.h.

Function Documentation

◆ BKE_base_eval_flags()

void BKE_base_eval_flags ( struct Base base)

Applies object's restrict flags on top of flags coming from the collection and stores those in base->flag. BASE_VISIBLE_DEPSGRAPH ignores viewport flags visibility (i.e., restriction and local collection).

Definition at line 2200 of file layer.c.

References BASE_ENABLED_RENDER, BASE_ENABLED_VIEWPORT, BASE_HIDDEN, BASE_SELECTABLE, BASE_SELECTED, BASE_VISIBLE_DEPSGRAPH, BASE_VISIBLE_VIEWLAYER, 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 object_add_named_exec().

◆ BKE_base_is_visible()

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

◆ BKE_base_set_visible()

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

Update after toggling visibility of an object base.

Definition at line 1491 of file layer.c.

References BASE_HIDDEN, BKE_layer_collection_sync(), Base::flag, LISTBASE_FOREACH, ViewLayer::object_bases, and scene.

◆ BKE_layer_collection_activate()

bool BKE_layer_collection_activate ( struct ViewLayer view_layer,
struct LayerCollection lc 
)

◆ BKE_layer_collection_activate_parent()

struct LayerCollection* BKE_layer_collection_activate_parent ( struct ViewLayer view_layer,
struct LayerCollection lc 
)

◆ BKE_layer_collection_count()

int BKE_layer_collection_count ( const struct ViewLayer view_layer)

Get the total number of collections (including all the nested collections)

◆ BKE_layer_collection_doversion_2_80()

void BKE_layer_collection_doversion_2_80 ( const struct Scene scene,
struct 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.

◆ BKE_layer_collection_findindex()

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

Referenced by ED_collection_hide_menu_draw().

◆ BKE_layer_collection_first_from_scene_collection()

struct LayerCollection* BKE_layer_collection_first_from_scene_collection ( const struct ViewLayer view_layer,
const struct Collection collection 
)

◆ BKE_layer_collection_from_index()

struct LayerCollection* BKE_layer_collection_from_index ( struct ViewLayer view_layer,
int  index 
)

Get the collection for a given index.

Definition at line 630 of file layer.c.

References collection_from_index(), and ViewLayer::layer_collections.

Referenced by object_hide_collection_exec().

◆ BKE_layer_collection_get_active()

struct LayerCollection* BKE_layer_collection_get_active ( struct ViewLayer view_layer)

◆ BKE_layer_collection_has_layer_collection()

bool BKE_layer_collection_has_layer_collection ( struct LayerCollection lc_parent,
struct LayerCollection lc_child 
)

◆ BKE_layer_collection_has_selected_objects()

bool BKE_layer_collection_has_selected_objects ( struct ViewLayer view_layer,
struct LayerCollection lc 
)

◆ BKE_layer_collection_isolate_global()

void BKE_layer_collection_isolate_global ( struct Scene scene,
struct ViewLayer view_layer,
struct 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 1585 of file layer.c.

References BKE_layer_collection_activate(), BKE_layer_collection_has_layer_collection(), BKE_layer_collection_sync(), 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, LayerCollection::runtime_flag, and scene.

Referenced by collection_isolate_exec(), and object_hide_collection_exec().

◆ BKE_layer_collection_isolate_local()

void BKE_layer_collection_isolate_local ( struct ViewLayer view_layer,
const struct View3D v3d,
struct LayerCollection lc,
bool  extend 
)

Isolate the collection locally

Same as BKE_layer_collection_isolate_local but for a viewport

Referenced by object_hide_collection_exec().

◆ BKE_layer_collection_local_sync()

void BKE_layer_collection_local_sync ( struct ViewLayer view_layer,
const struct View3D v3d 
)

◆ BKE_layer_collection_local_sync_all()

void BKE_layer_collection_local_sync_all ( const struct Main bmain)

Sync the local collection for all the 3D Viewports.

◆ BKE_layer_collection_objects_select()

bool BKE_layer_collection_objects_select ( struct ViewLayer view_layer,
struct LayerCollection lc,
bool  deselect 
)

◆ BKE_layer_collection_resync_allow()

void BKE_layer_collection_resync_allow ( void  )

◆ BKE_layer_collection_resync_forbid()

void BKE_layer_collection_resync_forbid ( void  )

◆ BKE_layer_collection_set_flag()

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

◆ BKE_layer_collection_set_visible()

void BKE_layer_collection_set_visible ( struct ViewLayer view_layer,
struct 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 1791 of file layer.c.

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 collection_visibility_exec(), and outliner_hide_exec().

◆ BKE_layer_collection_sync()

void BKE_layer_collection_sync ( const struct Scene scene,
struct ViewLayer view_layer 
)

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.

Referenced by collection_flag_exec(), collection_isolate_exec(), collection_view_layer_exec(), collection_visibility_exec(), object_hide_view_clear_exec(), object_hide_view_set_exec(), outliner_hide_exec(), outliner_object_set_flag_recursive_fn(), outliner_unhide_all_exec(), and set_preview_visibility().

◆ BKE_layer_eval_view_layer_indexed()

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

◆ BKE_lightgroup_membership_get()

void BKE_lightgroup_membership_get ( struct LightgroupMembership lgm,
char *  name 
)

Definition at line 2624 of file layer.c.

References BLI_strncpy(), ViewLayerLightgroup::name, LightgroupMembership::name, and NULL.

◆ BKE_lightgroup_membership_length()

int BKE_lightgroup_membership_length ( struct LightgroupMembership lgm)

Definition at line 2634 of file layer.c.

References LightgroupMembership::name, and NULL.

◆ BKE_lightgroup_membership_set()

void BKE_lightgroup_membership_set ( struct LightgroupMembership **  lgm,
const char *  name 
)

Definition at line 2642 of file layer.c.

References BLI_strncpy(), MEM_callocN, MEM_freeN, ViewLayerLightgroup::name, and NULL.

◆ BKE_main_collection_sync()

void BKE_main_collection_sync ( const struct Main bmain)

◆ BKE_main_collection_sync_remap()

void BKE_main_collection_sync_remap ( const struct Main bmain)

◆ BKE_object_is_visible_in_viewport()

bool BKE_object_is_visible_in_viewport ( const struct View3D v3d,
const struct Object ob 
)

◆ BKE_scene_collection_sync()

void BKE_scene_collection_sync ( const struct Scene scene)

◆ BKE_scene_has_object()

bool BKE_scene_has_object ( struct Scene scene,
struct Object ob 
)

See if the object is in any of the scene layers of the scene.

Definition at line 1895 of file layer.c.

References BKE_view_layer_base_find(), LISTBASE_FOREACH, scene, and Scene::view_layers.

Referenced by ED_editors_init(), and scene_drop_invoke().

◆ BKE_view_layer_add()

struct ViewLayer* BKE_view_layer_add ( struct Scene scene,
const char *  name,
struct ViewLayer view_layer_source,
int  type 
)

◆ BKE_view_layer_add_aov()

struct ViewLayerAOV* BKE_view_layer_add_aov ( struct ViewLayer view_layer)

◆ BKE_view_layer_add_lightgroup()

struct ViewLayerLightgroup* BKE_view_layer_add_lightgroup ( struct ViewLayer view_layer,
const char *  name 
)

◆ BKE_view_layer_array_from_bases_in_mode_params()

struct Base** BKE_view_layer_array_from_bases_in_mode_params ( struct ViewLayer view_layer,
const struct View3D v3d,
uint r_len,
const struct ObjectsInModeParams params 
)

◆ BKE_view_layer_array_from_objects_in_mode_params()

struct Object** BKE_view_layer_array_from_objects_in_mode_params ( struct ViewLayer view_layer,
const struct View3D v3d,
uint len,
const struct ObjectsInModeParams params 
)

◆ BKE_view_layer_array_selected_objects_params()

struct Object** BKE_view_layer_array_selected_objects_params ( struct ViewLayer view_layer,
const struct View3D v3d,
uint r_len,
const struct ObjectsInViewLayerParams params 
)

◆ BKE_view_layer_base_deselect_all()

void BKE_view_layer_base_deselect_all ( struct ViewLayer view_layer)

◆ BKE_view_layer_base_find()

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

Definition at line 379 of file layer.c.

References BLI_ghash_lookup(), ViewLayer::object_bases_hash, and view_layer_bases_hash_create().

Referenced by add_hook_object_new(), bake_object_check(), bc_add_object(), BKE_layer_collection_has_selected_objects(), BKE_layer_collection_objects_select(), 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(), clear_override_library_exec(), collection_objects_select(), createTransObject(), CTX_data_active_base(), ctx_data_base_collection_get(), do_outliner_item_activate_tree_element(), do_outliner_item_mode_toggle_generic(), do_version_layers_to_collections(), duplibase_for_convert(), duplicate_exec(), ED_armature_pose_select_in_wpaint_mode(), ED_object_jump_to_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(), element_should_draw_faded(), blender::io::obj::geometry_to_blender_objects(), getTransformOrientation_ex(), gpencil_layer_to_curve(), id_override_library_clear_single_fn(), blender::io::usd::import_endjob(), import_endjob(), blender::io::stl::importer_main(), 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(), make_local_all__instance_indirect_unused(), make_object_duplilist_real(), object_add_duplicate_internal(), object_batch_delete_hierarchy_fn(), object_deselect_fn(), object_preview_scene_create(), object_select_fn(), object_select_mirror_exec(), object_transfer_mode_to_base(), outliner_base_or_object_pointer_create(), outliner_draw_restrictbuts(), outliner_draw_tree_element(), outliner_element_visible_get(), outliner_hide_find_data_to_edit(), outliner_item_mode_toggle(), outliner_object_set_flag_recursive_fn(), outliner_select_sync_from_object(), outliner_select_sync_to_object(), override_idtemplate_clear_exec(), parent_drop_allowed(), scene_drop_invoke(), screen_set_3dview_camera(), select_grouped_object_hooks(), select_grouped_parent(), select_marker_camera_switch(), set_trans_object_base_flags(), transform_object_deform_pose_armature_get(), tree_element_object_activate(), 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()

void BKE_view_layer_base_select_and_set_active ( struct ViewLayer view_layer,
struct Base selbase 
)

◆ BKE_view_layer_bases_in_mode_iterator_begin()

void BKE_view_layer_bases_in_mode_iterator_begin ( BLI_Iterator iter,
void data_in 
)

◆ BKE_view_layer_bases_in_mode_iterator_end()

void BKE_view_layer_bases_in_mode_iterator_end ( BLI_Iterator iter)

◆ 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_data()

void BKE_view_layer_blend_read_data ( struct BlendDataReader reader,
struct ViewLayer view_layer 
)

◆ BKE_view_layer_blend_read_lib()

void BKE_view_layer_blend_read_lib ( struct BlendLibReader reader,
struct Library lib,
struct ViewLayer view_layer 
)

◆ BKE_view_layer_blend_write()

void BKE_view_layer_blend_write ( struct BlendWriter writer,
struct ViewLayer view_layer 
)

◆ BKE_view_layer_camera_find()

struct Object* BKE_view_layer_camera_find ( struct 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 311 of file layer.c.

References LISTBASE_FOREACH, NULL, OB_CAMERA, and ViewLayer::object_bases.

Referenced by check_valid_camera(), check_valid_compositing_camera(), screen_set_3dview_camera(), and view_camera_exec().

◆ BKE_view_layer_context_active_PLACEHOLDER()

struct ViewLayer* BKE_view_layer_context_active_PLACEHOLDER ( const struct 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.

Referenced by BKE_scene_base_iter_next(), and render_init_from_main().

◆ BKE_view_layer_copy_data()

void BKE_view_layer_copy_data ( struct Scene scene_dst,
const struct Scene scene_src,
struct ViewLayer view_layer_dst,
const struct ViewLayer view_layer_src,
int  flag 
)

Only copy internal data of ViewLayer from source to already allocated/initialized destination.

Parameters
flagCopying options (see BKE_lib_id.h's LIB_ID_COPY_... flags for more).

Referenced by scene_copy_data().

◆ BKE_view_layer_default_render()

struct ViewLayer* BKE_view_layer_default_render ( const struct Scene scene)

◆ BKE_view_layer_default_view()

struct ViewLayer* BKE_view_layer_default_view ( const struct Scene scene)

◆ BKE_view_layer_filter_edit_mesh_has_edges()

bool BKE_view_layer_filter_edit_mesh_has_edges ( const struct Object ob,
void user_data 
)

◆ BKE_view_layer_filter_edit_mesh_has_uvs()

bool BKE_view_layer_filter_edit_mesh_has_uvs ( const struct Object ob,
void user_data 
)

◆ BKE_view_layer_find()

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

◆ BKE_view_layer_find_from_collection()

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

◆ BKE_view_layer_find_with_aov()

struct ViewLayer* BKE_view_layer_find_with_aov ( struct Scene scene,
struct ViewLayerAOV view_layer_aov 
)

Definition at line 2503 of file layer.c.

References BLI_findindex(), LISTBASE_FOREACH, NULL, scene, and Scene::view_layers.

◆ BKE_view_layer_find_with_lightgroup()

struct ViewLayer* BKE_view_layer_find_with_lightgroup ( struct Scene scene,
struct ViewLayerLightgroup view_layer_lightgroup 
)

Definition at line 2581 of file layer.c.

References BLI_findindex(), LISTBASE_FOREACH, NULL, scene, and Scene::view_layers.

◆ BKE_view_layer_free()

void BKE_view_layer_free ( struct ViewLayer view_layer)

Definition at line 239 of file layer.c.

References BKE_view_layer_free_ex().

Referenced by ED_scene_view_layer_delete().

◆ BKE_view_layer_free_ex()

void BKE_view_layer_free_ex ( struct ViewLayer view_layer,
bool  do_id_user 
)

◆ BKE_view_layer_has_collection()

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

◆ BKE_view_layer_has_valid_aov()

bool BKE_view_layer_has_valid_aov ( struct ViewLayer view_layer)

Check if the given view layer has at least one valid AOV.

Definition at line 2493 of file layer.c.

References AOV_CONFLICT, ViewLayer::aovs, and LISTBASE_FOREACH.

Referenced by blender::bke::tests::TEST(), and blender::bke::tests::test_render_pass_conflict().

◆ BKE_view_layer_non_active_selected_object()

struct Object* BKE_view_layer_non_active_selected_object ( struct ViewLayer view_layer,
const struct 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 186 of file layer_utils.c.

References FOREACH_SELECTED_OBJECT_BEGIN, FOREACH_SELECTED_OBJECT_END, NULL, and OBACT.

Referenced by gpencil_bake_mesh_animation_exec(), and gpencil_trace_image_exec().

◆ BKE_view_layer_remove_aov()

void BKE_view_layer_remove_aov ( struct ViewLayer view_layer,
struct ViewLayerAOV aov 
)

◆ BKE_view_layer_remove_lightgroup()

void BKE_view_layer_remove_lightgroup ( struct ViewLayer view_layer,
struct ViewLayerLightgroup lightgroup 
)

◆ BKE_view_layer_rename()

void BKE_view_layer_rename ( struct Main bmain,
struct Scene scene,
struct ViewLayer view_layer,
const char *  name 
)

◆ BKE_view_layer_rename_lightgroup()

void BKE_view_layer_rename_lightgroup ( struct 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 
)

Definition at line 2088 of file layer.c.

References BASE_SELECTED, BASE_VISIBLE_DEPSGRAPH, and objects_iterator_begin().

◆ BKE_view_layer_selected_bases_iterator_end()

void BKE_view_layer_selected_bases_iterator_end ( BLI_Iterator iter)

Definition at line 2098 of file layer.c.

References object_bases_iterator_end().

◆ BKE_view_layer_selected_bases_iterator_next()

void BKE_view_layer_selected_bases_iterator_next ( BLI_Iterator iter)

Definition at line 2093 of file layer.c.

References BASE_SELECTED, BASE_VISIBLE_DEPSGRAPH, and object_bases_iterator_next().

◆ BKE_view_layer_selected_editable_objects_iterator_begin()

void BKE_view_layer_selected_editable_objects_iterator_begin ( BLI_Iterator iter,
void data_in 
)

◆ BKE_view_layer_selected_editable_objects_iterator_end()

void BKE_view_layer_selected_editable_objects_iterator_end ( BLI_Iterator iter)

Definition at line 2077 of file layer.c.

References objects_iterator_end().

◆ BKE_view_layer_selected_editable_objects_iterator_next()

void BKE_view_layer_selected_editable_objects_iterator_next ( BLI_Iterator iter)

◆ BKE_view_layer_selected_objects_iterator_begin()

void BKE_view_layer_selected_objects_iterator_begin ( BLI_Iterator iter,
void data_in 
)

Definition at line 2012 of file layer.c.

References BASE_SELECTED, BASE_VISIBLE_DEPSGRAPH, and objects_iterator_begin().

◆ BKE_view_layer_selected_objects_iterator_end()

void BKE_view_layer_selected_objects_iterator_end ( BLI_Iterator iter)

Definition at line 2022 of file layer.c.

References objects_iterator_end().

◆ BKE_view_layer_selected_objects_iterator_next()

void BKE_view_layer_selected_objects_iterator_next ( BLI_Iterator iter)

Definition at line 2017 of file layer.c.

References BASE_SELECTED, BASE_VISIBLE_DEPSGRAPH, and objects_iterator_next().

◆ BKE_view_layer_selected_objects_tag()

void BKE_view_layer_selected_objects_tag ( struct ViewLayer view_layer,
int  tag 
)

Tag all the selected objects of a render-layer.

Definition at line 286 of file layer.c.

References BASE_SELECTED, LISTBASE_FOREACH, and ViewLayer::object_bases.

Referenced by make_single_user_exec().

◆ BKE_view_layer_set_active_aov()

void BKE_view_layer_set_active_aov ( struct ViewLayer view_layer,
struct ViewLayerAOV aov 
)

Definition at line 2448 of file layer.c.

References viewlayer_aov_active_set().

◆ BKE_view_layer_set_active_lightgroup()

void BKE_view_layer_set_active_lightgroup ( struct ViewLayer view_layer,
struct ViewLayerLightgroup lightgroup 
)

Definition at line 2576 of file layer.c.

References viewlayer_lightgroup_active_set().

◆ BKE_view_layer_verify_aov()

void BKE_view_layer_verify_aov ( struct RenderEngine engine,
struct Scene scene,
struct 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 2476 of file layer.c.

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, NULL, POINTER_AS_INT, RE_engine_update_render_passes(), scene, SET_FLAG_FROM_TEST, and viewlayer_aov_make_name_unique().

Referenced by 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 2109 of file layer.c.

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 2119 of file layer.c.

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 2114 of file layer.c.

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 2033 of file layer.c.

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 2043 of file layer.c.

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 2038 of file layer.c.

References objects_iterator_next().