25 #define DNA_DEPRECATED_ALLOW
134 const char *colorspace_name;
148 &mblur_shutter_curve->
clipr,
167 &gp_primitive_curve->
clipr,
247 if (marker->prop !=
NULL) {
256 const Scene *scene_src = (
const Scene *)id_src;
271 flag_private_id_data);
279 view_layer_src = view_layer_src->next, view_layer_dst = view_layer_dst->next) {
294 (
void *)(&scene_src->
id),
370 if (marker->prop !=
NULL) {
382 const bool do_id_user =
false;
433 view_layer = view_layer_next) {
434 view_layer_next = view_layer->next;
497 ID *id_old = *id_old_p;
502 if (id_old_new !=
NULL) {
504 *id_old_p = id_old_new;
513 SWAP(
ID *, *id_p, *id_old_p);
518 SWAP(
ID *, *id_p, *id_old_p);
523 #define BKE_LIB_FOREACHID_UNDO_PRESERVE_PROCESS( \
524 __data, __id, __do_undo_restore, __action, __reader, __id_old, __cb_flag) \
526 if (__do_undo_restore) { \
527 scene_foreach_toolsettings_id_pointer_process( \
528 (ID **)&(__id), __action, __reader, (ID **)&(__id_old), __cb_flag); \
531 BKE_LIB_FOREACHID_PROCESS(__data, __id, __cb_flag); \
538 const bool do_undo_restore,
579 const bool do_undo_restore,
692 const int cb_flag = (lc->collection !=
NULL &&
765 if (fls->linestyle) {
795 .offset_in_ID = offsetof(
Scene, eevee.light_cache_data),
799 function_callback(
id,
988 if (marker->prop !=
NULL) {
1062 if ((seq->machine < 1) || (seq->machine >
MAXSEQ)) {
1065 else if (seq->seqbase.first) {
1235 if (ed->
seqbasep == old_seqbasep) {
1256 if (ms->oldbasep == old_seqbasep) {
1273 #ifdef DURIAN_CAMERA_SWITCH
1320 if (rbw->pointcache) {
1321 rbw->
ltime = (
float)rbw->pointcache->startframe;
1353 #ifdef USE_COLLECTION_COMPAT_28
1355 if (sce->collection) {
1457 if (base_legacy->object ==
NULL) {
1460 TIP_(
"LIB: object lost from scene: '%s'"),
1463 if (base_legacy == sce->basact) {
1476 reader, sce->
id.
lib, &seq->ipo);
1518 if (marker->camera) {
1554 #ifdef USE_COLLECTION_COMPAT_28
1555 if (sce->collection) {
1568 #ifdef USE_SETSCENE_CHECK
1599 if (lineset->group) {
1616 if (lineset->group) {
1665 if (marker->camera) {
1672 #ifdef USE_COLLECTION_COMPAT_28
1673 if (sce->collection) {
1716 .struct_size =
sizeof(
Scene),
1718 .name_plural =
"scenes",
1766 if (adt && adt->
action) {
1770 nextfcu = fcu->
next;
1783 if (toolsettings ==
NULL) {
1839 if (toolsettings ==
NULL) {
1842 if (toolsettings->
vpaint) {
1846 if (toolsettings->
wpaint) {
1850 if (toolsettings->
sculpt) {
1921 sce_copy->
r = sce->
r;
1992 const bool is_subprocess =
false;
1993 const bool is_root_id =
true;
1995 if (!is_subprocess) {
2025 if (!is_subprocess) {
2095 if (
BLI_findptr(&view_layer->object_bases, ob, offsetof(
Base,
object))) {
2106 if (
STREQ(base->object->id.name + 2, name)) {
2107 return base->object;
2163 bool run_again =
true;
2183 *ob = (*base)->object;
2188 while ((*scene)->set) {
2189 (*scene) = (*scene)->set;
2193 *ob = (*base)->object;
2202 *base = (*base)->
next;
2204 *ob = (*base)->object;
2209 while ((*scene)->set) {
2210 (*scene) = (*scene)->
set;
2214 *ob = (*base)->object;
2223 if (*base ==
NULL) {
2232 if ((*base)->object->instance_collection ==
NULL) {
2303 #ifdef DURIAN_CAMERA_SWITCH
2321 if ((m->frame <= cfra) && (m->frame > frame)) {
2325 if (frame == cfra) {
2330 if (m->frame < min_frame) {
2331 first_camera = m->camera;
2332 min_frame = m->frame;
2337 if (camera ==
NULL) {
2342 return first_camera;
2351 #ifdef DURIAN_CAMERA_SWITCH
2352 Object *camera = BKE_scene_camera_switch_find(
scene);
2371 if (m1->
frame == frame) {
2379 if (m2->
frame == frame) {
2394 if (marker->
frame == frame) {
2395 return marker->
name;
2398 if (marker->
frame > best_frame && marker->
frame < frame) {
2399 best_marker = marker;
2400 best_frame = marker->
frame;
2404 return best_marker ? best_marker->
name :
NULL;
2410 const int second_prev = cfra -
mod_i(cfra, fps);
2411 const int second_next = second_prev + fps;
2412 const int delta_prev = cfra - second_prev;
2413 const int delta_next = second_next - cfra;
2414 return (delta_prev < delta_next) ? second_prev : second_next;
2443 for (
a = 0, sce_iter = sce; sce_iter->
set; sce_iter = sce_iter->
set,
a++) {
2466 float ctime = frame;
2554 if (
type->draw_engine || !
type->render) {
2595 .calc_object_remap =
true,
2596 .update_shapekey_indices =
true,
2650 bool used_multiple_passes =
false;
2653 if (run_callbacks) {
2657 for (
int pass = 0; pass < 2; pass++) {
2670 if (run_callbacks) {
2696 const bool backup =
true;
2698 used_multiple_passes =
true;
2699 run_callbacks =
false;
2703 if (used_multiple_passes) {
2706 const bool is_time_update =
false;
2709 const bool backup =
false;
2728 bool used_multiple_passes =
false;
2733 for (
int pass = 0; pass < 2; pass++) {
2773 const bool backup =
true;
2775 used_multiple_passes =
true;
2779 if (used_multiple_passes) {
2783 const bool is_time_update =
true;
2789 const bool backup =
false;
2818 name =
DATA_(
"RenderView");
2825 DATA_(
"RenderView"),
2860 return min_ii(
r->simplify_subsurf_render, lvl);
2863 return min_ii(
r->simplify_subsurf, lvl);
2873 return (
int)(
r->simplify_particles_render * num);
2876 return (
int)(
r->simplify_particles * num);
2890 if (base && base->
next) {
2894 if ((base ==
NULL) && (view_layer !=
NULL)) {
2906 while ((*sce_iter = (*sce_iter)->
set)) {
2977 const char *none_display_name;
3032 if (
r->preview_pixel_size == 0) {
3033 return (
U.pixelsize > 1.5f) ? 2 : 1;
3035 return r->preview_pixel_size;
3049 switch (unit_type) {
3112 return (srv[0] && ((srv[0]->viewflag &
SCE_VIEW_DISABLE) == 0) && srv[1] &&
3152 if ((!viewname) || (!viewname[0])) {
3174 if ((!viewname) || (!viewname[0])) {
3198 if (nr++ == view_id) {
3226 if ((!viewname) || (!viewname[0])) {
3256 const char *filepath,
3257 const char *viewname,
3279 if ((viewname ==
NULL) || (viewname[0] ==
'\0')) {
3308 const char *suf_act;
3309 const char delims[] = {
'.',
'\0'};
3315 if (*r_ext ==
NULL) {
3324 const size_t ext_len = strlen(*r_ext);
3443 const bool allocate_ghash_entry)
3451 if (allocate_ghash_entry) {
3462 if (!allocate_ghash_entry) {
3464 return depsgraph_ptr;
3470 return depsgraph_ptr;
3477 *depsgraph_ptr =
NULL;
3478 return depsgraph_ptr;
3486 if (depsgraph_ptr ==
NULL) {
3490 if (*depsgraph_ptr !=
NULL) {
3492 return depsgraph_ptr;
3510 return depsgraph_ptr;
3529 return (depsgraph_ptr !=
NULL) ? *depsgraph_ptr :
NULL;
3534 if (key_full ==
NULL) {
3561 view_layer = view_layer->next) {
3576 return depsgraph_extract;
3583 view_layer = view_layer->next) {
3589 if (depsgraph_extract_ptr ==
NULL) {
3606 *depsgraph_extract_ptr =
NULL;
3628 else if (orient_slot->
index_custom > orientation_index) {
typedef float(TangentPoint)[2]
Blender kernel action and pose functionality.
void action_groups_remove_channel(struct bAction *act, struct FCurve *fcu)
struct AnimData * BKE_animdata_from_id(struct ID *id)
void BKE_animdata_blend_read_data(struct BlendDataReader *reader, struct AnimData *adt)
void BKE_animdata_duplicate_id_action(struct Main *bmain, struct ID *id, const uint duplicate_flags)
void BKE_animdata_blend_write(struct BlendWriter *writer, struct AnimData *adt)
void BKE_keyingsets_free(struct ListBase *list)
void BKE_keyingsets_copy(struct ListBase *newlist, const struct ListBase *list)
void BKE_keyingsets_blend_read_lib(struct BlendLibReader *reader, struct ID *id, struct ListBase *list)
void BKE_keyingsets_blend_read_data(struct BlendDataReader *reader, struct ListBase *list)
void BKE_keyingsets_blend_write(struct BlendWriter *writer, struct ListBase *list)
void BKE_keyingsets_foreach_id(struct LibraryForeachIDData *data, const struct ListBase *keyingsets)
void BKE_keyingsets_blend_read_expand(struct BlendExpander *expander, struct ListBase *list)
void BKE_callback_exec_id_depsgraph(struct Main *bmain, struct ID *id, struct Depsgraph *depsgraph, eCbEvent evt)
@ BKE_CB_EVT_DEPSGRAPH_UPDATE_PRE
@ BKE_CB_EVT_FRAME_CHANGE_PRE
@ BKE_CB_EVT_FRAME_CHANGE_POST
@ BKE_CB_EVT_DEPSGRAPH_UPDATE_POST
void BKE_callback_exec_id(struct Main *bmain, struct ID *id, eCbEvent evt)
void BKE_collection_compat_blend_read_lib(struct BlendLibReader *reader, struct Library *lib, struct SceneCollection *sc)
void BKE_collection_compat_blend_read_expand(struct BlendExpander *expander, struct SceneCollection *sc)
void BKE_collection_compat_blend_read_data(struct BlendDataReader *reader, struct SceneCollection *sc)
struct Collection * BKE_collection_master_add(void)
void BKE_collection_free(struct Collection *collection)
void BKE_collection_blend_write_nolib(struct BlendWriter *writer, struct Collection *collection)
struct Collection * BKE_collection_duplicate(struct Main *bmain, struct Collection *parent, struct Collection *collection, const uint duplicate_flags, const uint duplicate_options)
void BKE_curveprofile_blend_read(struct BlendDataReader *reader, struct CurveProfile *profile)
struct CurveProfile * BKE_curveprofile_copy(const struct CurveProfile *profile)
void BKE_curveprofile_blend_write(struct BlendWriter *writer, const struct CurveProfile *profile)
struct CurveProfile * BKE_curveprofile_add(eCurveProfilePresets preset)
void BKE_curveprofile_free(struct CurveProfile *profile)
struct ListBase * object_duplilist(struct Depsgraph *depsgraph, struct Scene *sce, struct Object *ob)
void free_object_duplilist(struct ListBase *lb)
struct EffectorWeights * BKE_effector_add_weights(struct Collection *collection)
void BKE_fcurve_free(struct FCurve *fcu)
void BKE_previewimg_free(struct PreviewImage **prv)
void BKE_previewimg_id_copy(struct ID *new_id, const struct ID *old_id)
void BKE_previewimg_blend_read(struct BlendDataReader *reader, struct PreviewImage *prv)
void BKE_previewimg_blend_write(struct BlendWriter *writer, const struct PreviewImage *prv)
void IDP_BlendReadExpand(struct BlendExpander *expander, struct IDProperty *prop)
void IDP_BlendWrite(struct BlendWriter *writer, const struct IDProperty *prop)
void IDP_BlendReadLib(struct BlendLibReader *reader, struct IDProperty *prop)
void IDP_FreePropertyContent_ex(struct IDProperty *prop, const bool do_id_user)
#define IDP_BlendDataRead(reader, prop)
void IDP_foreach_property(struct IDProperty *id_property_root, const int type_filter, IDPForeachPropertyCallback callback, void *user_data)
void IDP_FreeProperty(struct IDProperty *prop)
struct IDProperty * IDP_CopyProperty_ex(const struct IDProperty *prop, const int flag) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
struct IDProperty * IDP_CopyProperty(const struct IDProperty *prop) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
@ IDTYPE_CACHE_CB_FLAGS_PERSISTENT
void(* IDTypeForeachCacheFunctionCallback)(struct ID *id, const struct IDCacheKey *cache_key, void **cache_p, uint flags, void *user_data)
void BKE_image_editors_update_frame(const struct Main *bmain, int cfra)
bool BKE_imtype_is_movie(const char imtype)
struct ViewLayer * BKE_view_layer_add(struct Scene *scene, const char *name, struct ViewLayer *view_layer_source, const int type)
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, const int flag)
void BKE_main_collection_sync(const struct Main *bmain)
void BKE_view_layer_blend_read_data(struct BlendDataReader *reader, struct ViewLayer *view_layer)
struct ViewLayer * BKE_view_layer_context_active_PLACEHOLDER(const struct Scene *scene)
void BKE_view_layer_free_ex(struct ViewLayer *view_layer, const bool do_id_user)
struct ViewLayer * BKE_view_layer_default_render(const struct Scene *scene)
bool BKE_view_layer_has_collection(struct ViewLayer *view_layer, const struct Collection *collection)
void BKE_view_layer_blend_read_lib(struct BlendLibReader *reader, struct Library *lib, struct ViewLayer *view_layer)
void BKE_view_layer_blend_write(struct BlendWriter *writer, struct ViewLayer *view_layer)
struct ID * BKE_id_copy(struct Main *bmain, const struct ID *id)
void id_us_min(struct ID *id)
void BKE_libblock_free_data_py(struct ID *id)
void BKE_main_id_tag_all(struct Main *mainvar, const int tag, const bool value)
@ LIB_ID_CREATE_NO_ALLOCATE
@ LIB_ID_CREATE_NO_USER_REFCOUNT
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, const int flag)
void BKE_main_id_clear_newpoins(struct Main *bmain)
void id_us_ensure_real(struct ID *id)
struct ID * BKE_id_copy_for_duplicate(struct Main *bmain, struct ID *id, const uint duplicate_flags)
void BKE_id_blend_write(struct BlendWriter *writer, struct ID *id)
void id_us_plus_no_lib(struct ID *id)
struct ID * BKE_libblock_find_name(struct Main *bmain, const short type, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
@ LIB_ID_DUPLICATE_IS_SUBPROCESS
void * BKE_id_new(struct Main *bmain, const short type, const char *name)
#define BKE_LIB_FOREACHID_PROCESS(_data, _id_super, _cb_flag)
void BKE_lib_query_idpropertiesForeachIDLink_callback(struct IDProperty *id_prop, void *user_data)
@ IDWALK_CB_OVERRIDE_LIBRARY_NOT_OVERRIDABLE
bool BKE_library_foreach_ID_embedded(struct LibraryForeachIDData *data, struct ID **id_pp)
bool BKE_lib_query_foreachid_process(struct LibraryForeachIDData *data, struct ID **id_pp, int cb_flag)
void void BKE_libblock_relink_to_newid(struct ID *id) ATTR_NONNULL()
void BKE_libblock_relink_ex(struct Main *bmain, void *idv, void *old_idv, void *new_idv, const short remap_flags) ATTR_NONNULL(1
@ ID_REMAP_SKIP_NEVER_NULL_USAGE
Blender kernel freestyle line style functionality.
#define FOREACH_MAIN_ID_END
const char * BKE_main_blendfile_path(const struct Main *bmain) ATTR_NONNULL()
#define FOREACH_MAIN_ID_BEGIN(_bmain, _id)
void ntreeBlendWrite(struct BlendWriter *writer, struct bNodeTree *ntree)
void ntreeFreeEmbeddedTree(struct bNodeTree *ntree)
#define CMP_CRYPTOMATTE_SRC_RENDER
#define CMP_NODE_R_LAYERS
General operations, lookup, etc. for blender objects.
void BKE_paint_blend_write(struct BlendWriter *writer, struct Paint *paint)
void BKE_paint_copy(struct Paint *src, struct Paint *tar, const int flag)
void BKE_paint_free(struct Paint *p)
void BKE_paint_blend_read_lib(struct BlendLibReader *reader, struct Scene *scene, struct Paint *paint)
void BKE_paint_blend_read_data(struct BlendDataReader *reader, const struct Scene *scene, struct Paint *paint)
void BKE_ptcache_id_from_rigidbody(PTCacheID *pid, struct Object *ob, struct RigidBodyWorld *rbw)
void BKE_ptcache_blend_read_data(struct BlendDataReader *reader, struct ListBase *ptcaches, struct PointCache **ocache, int force_disk)
void BKE_ptcache_blend_write(struct BlendWriter *writer, struct ListBase *ptcaches)
API for Blender-side Rigid Body stuff.
void BKE_rigidbody_remove_constraint(struct Main *bmain, struct Scene *scene, struct Object *ob, const bool free_us)
void BKE_rigidbody_remove_object(struct Main *bmain, struct Scene *scene, struct Object *ob, const bool free_us)
void BKE_rigidbody_free_world(struct Scene *scene)
void BKE_rigidbody_world_id_loop(struct RigidBodyWorld *rbw, RigidbodyWorldIDFunc func, void *userdata)
struct RigidBodyWorld * BKE_rigidbody_world_copy(struct RigidBodyWorld *rbw, const int flag)
void BKE_rigidbody_world_groups_relink(struct RigidBodyWorld *rbw)
void BKE_screen_view3d_shading_blend_read_data(struct BlendDataReader *reader, struct View3DShading *shading)
void BKE_screen_view3d_shading_blend_write(struct BlendWriter *writer, struct View3DShading *shading)
void BKE_sound_set_scene_sound_pitch(void *handle, float pitch, char animated)
void BKE_sound_set_scene_sound_volume(void *handle, float volume, char animated)
void BKE_sound_seek_scene(struct Main *bmain, struct Scene *scene)
void BKE_sound_set_scene_volume(struct Scene *scene, float volume)
void BKE_sound_mute_scene(struct Scene *scene, int muted)
void BKE_sound_ensure_scene(struct Scene *scene)
void BKE_sound_reset_scene_runtime(struct Scene *scene)
void BKE_sound_set_cfra(int cfra)
void BKE_sound_update_scene_listener(struct Scene *scene)
void BKE_sound_update_scene_sound(void *handle, struct bSound *sound)
void * BKE_sound_add_scene_sound_defaults(struct Scene *scene, struct Sequence *sequence)
void BKE_sound_destroy_scene(struct Scene *scene)
void BKE_sound_set_scene_sound_pan(void *handle, float pan, char animated)
void BKE_sound_remove_scene_sound(struct Scene *scene, void *handle)
void * BKE_sound_scene_add_scene_sound_defaults(struct Scene *scene, struct Sequence *sequence)
void BKE_sound_update_scene(struct Depsgraph *depsgraph, struct Scene *scene)
void BKE_sound_update_fps(struct Main *bmain, struct Scene *scene)
int BKE_unit_base_of_type_get(int system, int type)
struct bScreen * BKE_workspace_active_screen_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
bool BLI_ghashutil_strcmp(const void *a, const void *b)
unsigned int BLI_ghashutil_ptrhash(const void *key)
unsigned int BLI_ghashutil_strhash_p(const void *ptr)
GHash * BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
bool BLI_ghash_remove(GHash *gh, const void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
void BLI_ghash_insert(GHash *gh, void *key, void *val)
void ** BLI_ghash_lookup_p(GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
bool BLI_ghash_ensure_p_ex(GHash *gh, const void *key, void ***r_key, void ***r_val) ATTR_WARN_UNUSED_RESULT
void * BLI_ghash_lookup(GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void void void void BLI_duplicatelist(struct ListBase *dst, const struct ListBase *src) ATTR_NONNULL(1
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void * BLI_findstring(const struct ListBase *listbase, const char *id, const int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findptr(const struct ListBase *listbase, const void *ptr, const int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int min_ii(int a, int b)
MINLINE int max_ii(int a, int b)
#define BLI_ASSERT_UNIT_M3(m)
MINLINE int mod_i(int i, int n)
#define BLI_ASSERT_UNIT_QUAT(q)
MINLINE int round_db_to_int(double a)
void copy_m3_m4(float m1[3][3], const float m2[4][4])
void copy_m4_m3(float m1[4][4], const float m2[3][3])
void copy_m4_m4(float m1[4][4], const float m2[4][4])
void quat_to_eulO(float eul[3], const short order, const float quat[4])
void eulO_to_quat(float quat[4], const float eul[3], const short order)
void axis_angle_to_quat(float r[4], const float axis[3], const float angle)
void mat3_to_eulO(float eul[3], const short order, const float mat[3][3])
void quat_to_compatible_eulO(float eul[3], const float old[3], const short order, const float quat[4])
float normalize_qt_qt(float r[4], const float q[4])
void mat3_to_axis_angle(float axis[3], float *angle, const float M[3][3])
void quat_to_axis_angle(float axis[3], float *angle, const float q[4])
void eulO_to_mat3(float mat[3][3], const float eul[3], const short order)
void axis_angle_to_mat3(float R[3][3], const float axis[3], const float angle)
void copy_qt_qt(float q[4], const float a[4])
void quat_to_compatible_quat(float q[4], const float a[4], const float old[4])
void quat_to_mat3(float mat[3][3], const float q[4])
void mat3_to_compatible_eulO(float eul[3], const float old[3], const short order, const float mat[3][3])
void mat3_normalized_to_quat(float q[4], const float mat[3][3])
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE void zero_v3(float r[3])
bool BLI_path_suffix(char *string, size_t maxlen, const char *suffix, const char *sep) ATTR_NONNULL()
size_t BLI_strncpy_rlen(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
size_t BLI_str_rpartition(const char *str, const char delim[], const char **sep, const char **suf) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
bool BLI_uniquename(struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t len)
int BLI_system_thread_count(void)
int BLI_system_num_threads_override_get(void)
#define STREQLEN(a, b, n)
#define UNUSED_VARS_NDEBUG(...)
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define POINTER_OFFSET(v, ofs)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
#define BLO_read_data_address(reader, ptr_p)
void BLO_reportf_wrap(struct ReportList *reports, ReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
ID * BLO_read_get_new_id_address(BlendLibReader *reader, struct Library *lib, struct ID *id)
bool BLO_read_data_is_undo(BlendDataReader *reader)
#define BLO_write_id_struct(writer, struct_name, id_address, id)
#define BLO_write_struct(writer, struct_name, data_ptr)
void BLO_read_list(BlendDataReader *reader, struct ListBase *list)
void BLO_read_glob_list(BlendDataReader *reader, struct ListBase *list)
void * BLO_read_get_new_data_address(BlendDataReader *reader, const void *old_address)
#define BLO_read_id_address(reader, lib, id_ptr_p)
#define BLO_write_struct_array(writer, struct_name, array_size, data_ptr)
#define BLO_expand(expander, id)
void BLO_write_raw(BlendWriter *writer, size_t size_in_bytes, const void *data_ptr)
bool BLO_write_is_undo(BlendWriter *writer)
struct ReportList * BLO_read_lib_reports(BlendLibReader *reader)
#define BLT_I18NCONTEXT_ID_SCENE
typedef double(DMatrix)[4][4]
void DEG_evaluate_on_refresh(Depsgraph *graph)
Depsgraph * DEG_graph_new(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, eEvaluationMode mode)
struct Depsgraph Depsgraph
void DEG_editors_update(struct Depsgraph *depsgraph, bool time)
void DEG_ids_clear_recalc(Depsgraph *depsgraph, const bool backup)
void DEG_enable_editors_update(struct Depsgraph *depsgraph)
void DEG_make_active(struct Depsgraph *depsgraph)
void DEG_debug_print_eval(struct Depsgraph *depsgraph, const char *function_name, const char *object_name, const void *object_address)
void DEG_evaluate_on_framechange(Depsgraph *graph, float ctime)
void DEG_graph_replace_owners(struct Depsgraph *depsgraph, struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer)
void DEG_graph_free(Depsgraph *graph)
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_ids_restore_recalc(Depsgraph *depsgraph)
void DEG_graph_tag_relations_update(struct Depsgraph *graph)
void DEG_graph_relations_update(struct Depsgraph *graph)
void DEG_debug_name_set(struct Depsgraph *depsgraph, const char *name)
struct Scene * DEG_get_input_scene(const Depsgraph *graph)
bool DEG_is_fully_evaluated(const struct Depsgraph *depsgraph)
bool DEG_id_type_any_updated(const struct Depsgraph *depsgraph)
struct ViewLayer * DEG_get_evaluated_view_layer(const struct Depsgraph *graph)
bool DEG_is_evaluated_id(const struct ID *id)
struct Main * DEG_get_bmain(const Depsgraph *graph)
struct ViewLayer * DEG_get_input_view_layer(const Depsgraph *graph)
struct Scene * DEG_get_evaluated_scene(const struct Depsgraph *graph)
@ ID_RECALC_AUDIO_LISTENER
@ ID_RECALC_COPY_ON_WRITE
#define ID_IS_LINKED(_id)
Object groups, one object can be in many groups at once.
#define DNA_struct_default_get(struct_name)
#define DNA_struct_default_alloc(struct_name)
Object is a sort of wrapper for general info.
#define PTCACHE_FLAG_INFO_DIRTY
Types and defines for representing Rigid Body entities.
#define OBEDIT_FROM_VIEW_LAYER(view_layer)
#define SCE_READFILE_LIBLINK_NEED_SETSCENE_CHECK
#define R_NO_CAMERA_SWITCH
@ SCE_VIEWS_FORMAT_STEREO_3D
@ SCE_VIEWS_FORMAT_MULTIVIEW
#define STEREO_LEFT_SUFFIX
#define STEREO_RIGHT_NAME
#define STEREO_RIGHT_SUFFIX
@ SEQ_AUDIO_PITCH_ANIMATED
@ SEQ_AUDIO_VOLUME_ANIMATED
#define SEQ_FONT_NOT_LOADED
@ V3D_GIZMO_SHOW_OBJECT_ROTATE
@ V3D_GIZMO_SHOW_OBJECT_SCALE
@ V3D_GIZMO_SHOW_OBJECT_TRANSLATE
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
const char * IMB_colormanagement_view_get_default_name(const char *display_name)
const char * IMB_colormanagement_display_get_none_name(void)
const char * IMB_colormanagement_role_colorspace_name_get(int role)
@ COLOR_ROLE_DEFAULT_SEQUENCER
void IMB_stereo3d_write_dimensions(const char mode, const bool is_squeezed, const size_t width, const size_t height, size_t *r_width, size_t *r_height)
Read Guarded memory(de)allocation.
static void init_data(ModifierData *md)
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID Combine Luminance Directional Alpha Distance Hue Movie Ellipse Bokeh View Corner CMP_NODE_CRYPTOMATTE
Platform independent time functions.
#define RE_USE_SPHERICAL_STEREO
#define RE_USE_SHADING_NODES_CUSTOM
#define SEQ_ALL_BEGIN(ed, _seq)
static struct PyModuleDef module
ATTR_WARN_UNUSED_RESULT BMesh * bm
void BM_mesh_bm_to_me(Main *bmain, BMesh *bm, Mesh *me, const struct BMeshToMeshParams *params)
const Depsgraph * depsgraph
void EEVEE_lightcache_blend_read_data(BlendDataReader *reader, LightCache *cache)
void EEVEE_lightcache_blend_write(BlendWriter *writer, LightCache *cache)
void EEVEE_lightcache_free(LightCache *lcache)
void EEVEE_lightcache_info_update(SceneEEVEE *eevee)
RenderEngineType * RE_engines_find(const char *idname)
const vector< Marker > & markers
void(* MEM_freeN)(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
size_t(* MEM_allocN_len)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
INLINE Rall1d< T, V, S > pow(const Rall1d< T, V, S > &arg, double m)
static void area(int d1, int d2, int e1, int e2, float weights[2])
ListBase threads
list of all thread for every CPUDevice in cpudevices a thread exists.
void SEQ_proxy_set(struct Sequence *seq, bool value)
void BKE_scene_base_flag_to_objects(ViewLayer *view_layer)
void free_avicodecdata(AviCodecData *acd)
int BKE_scene_transform_orientation_get_index(const Scene *scene, const TransformOrientation *orientation)
void BKE_scene_graph_evaluated_ensure(Depsgraph *depsgraph, Main *bmain)
void BKE_scene_disable_color_management(Scene *scene)
static void scene_blend_read_lib(BlendLibReader *reader, ID *id)
const char * BKE_scene_multiview_render_view_name_get(const RenderData *rd, const int view_id)
static void scene_sequencer_disable_sound_strips(Scene *scene)
static void scene_undo_preserve(BlendLibReader *reader, ID *id_new, ID *id_old)
void BKE_scene_frame_set(struct Scene *scene, double cfra)
bool BKE_scene_uses_cycles(const Scene *scene)
static void scene_lib_override_apply_post(ID *id_dst, ID *UNUSED(id_src))
void BKE_scene_copy_data_eevee(Scene *sce_dst, const Scene *sce_src)
int get_render_subsurf_level(const RenderData *r, int lvl, bool for_render)
static void scene_copy_data(Main *bmain, ID *id_dst, const ID *id_src, const int flag)
void BKE_scene_undo_depsgraphs_restore(Main *bmain, GHash *depsgraph_extract)
const char * BKE_scene_multiview_view_id_suffix_get(const RenderData *rd, const int view_id)
int BKE_scene_num_threads(const Scene *scene)
void BKE_scene_allocate_depsgraph_hash(Scene *scene)
static void scene_graph_update_tagged(Depsgraph *depsgraph, Main *bmain, bool only_if_tagged)
void BKE_scene_free_view_layer_depsgraph(Scene *scene, ViewLayer *view_layer)
void BKE_scene_multiview_view_filepath_get(const RenderData *rd, const char *filepath, const char *viewname, char *r_filepath)
static void depsgraph_key_free(void *key_v)
const char * RE_engine_id_CYCLES
static void scene_blend_read_data(BlendDataReader *reader, ID *id)
static void direct_link_paint_helper(BlendDataReader *reader, const Scene *scene, Paint **paint)
void BKE_toolsettings_free(ToolSettings *toolsettings)
void BKE_scene_free_depsgraph_hash(Scene *scene)
eSceneForeachUndoPreserveProcess
@ SCENE_FOREACH_UNDO_NO_RESTORE
@ SCENE_FOREACH_UNDO_RESTORE
struct DepsgraphKey DepsgraphKey
void BKE_scene_multiview_filepath_get(SceneRenderView *srv, const char *filepath, char *r_filepath)
static void link_recurs_seq(BlendDataReader *reader, ListBase *lb)
int BKE_scene_multiview_num_views_get(const RenderData *rd)
bool BKE_scene_multiview_is_render_view_active(const RenderData *rd, const SceneRenderView *srv)
void BKE_scene_transform_orientation_remove(Scene *scene, TransformOrientation *orientation)
void BKE_scene_cursor_from_mat4(View3DCursor *cursor, const float mat[4][4], bool use_compat)
bool BKE_scene_check_rigidbody_active(const Scene *scene)
Scene * BKE_scene_find_from_collection(const Main *bmain, const Collection *collection)
int BKE_render_preview_pixel_size(const RenderData *r)
static bool depsgraph_key_compare(const void *key_a_v, const void *key_b_v)
void BKE_scene_view_layer_graph_evaluated_ensure(Main *bmain, Scene *scene, ViewLayer *view_layer)
bool BKE_scene_has_view_layer(const Scene *scene, const ViewLayer *layer)
static void scene_free_markers(Scene *scene, bool do_id_user)
static void scene_copy_markers(Scene *scene_dst, const Scene *scene_src, const int flag)
static void scene_blend_read_expand(BlendExpander *expander, ID *id)
static void remove_sequencer_fcurves(Scene *sce)
static void composite_patch(bNodeTree *ntree, Scene *scene)
static Depsgraph ** scene_get_depsgraph_p(Scene *scene, ViewLayer *view_layer, const bool allocate_ghash_entry)
#define BKE_LIB_FOREACHID_UNDO_PRESERVE_PROCESS(__data, __id, __do_undo_restore, __action, __reader, __id_old, __cb_flag)
Depsgraph * BKE_scene_ensure_depsgraph(Main *bmain, Scene *scene, ViewLayer *view_layer)
int BKE_scene_base_iter_next(Depsgraph *depsgraph, SceneBaseIter *iter, Scene **scene, int val, Base **base, Object **ob)
bool BKE_scene_camera_switch_update(Scene *scene)
static void scene_blend_write(BlendWriter *writer, ID *id, const void *id_address)
static void scene_foreach_layer_collection(LibraryForeachIDData *data, ListBase *lb)
SceneRenderView * BKE_scene_multiview_render_view_findindex(const RenderData *rd, const int view_id)
bool BKE_scene_multiview_is_stereo3d(const RenderData *rd)
bool BKE_scene_multiview_is_render_view_first(const RenderData *rd, const char *viewname)
int get_render_child_particle_number(const RenderData *r, int num, bool for_render)
static void scene_foreach_rigidbodyworldSceneLooper(struct RigidBodyWorld *UNUSED(rbw), ID **id_pointer, void *user_data, int cb_flag)
int BKE_scene_orientation_slot_get_index(const TransformOrientationSlot *orient_slot)
void BKE_scene_cursor_rot_to_quat(const View3DCursor *cursor, float quat[4])
float BKE_scene_frame_get(const Scene *scene)
void BKE_scene_groups_relink(Scene *sce)
bool BKE_scene_can_be_removed(const Main *bmain, const Scene *scene)
void BKE_scene_set_background(Main *bmain, Scene *scene)
void BKE_scene_cursor_mat3_to_rot(View3DCursor *cursor, const float mat[3][3], bool use_compat)
Base * _setlooper_base_step(Scene **sce_iter, ViewLayer *view_layer, Base *base)
const char * RE_engine_id_BLENDER_WORKBENCH
bool BKE_scene_multiview_is_render_view_last(const RenderData *rd, const char *viewname)
int BKE_render_num_threads(const RenderData *rd)
bool BKE_scene_use_spherical_stereo(Scene *scene)
void BKE_scene_multiview_videos_dimensions_get(const RenderData *rd, const size_t width, const size_t height, size_t *r_width, size_t *r_height)
void BKE_scene_ensure_depsgraph_hash(Scene *scene)
TransformOrientation * BKE_scene_transform_orientation_find(const Scene *scene, const int index)
void BKE_scene_update_sound(Depsgraph *depsgraph, Main *bmain)
Scene * BKE_scene_duplicate(Main *bmain, Scene *sce, eSceneCopyMethod type)
SceneRenderView * BKE_scene_add_render_view(Scene *sce, const char *name)
int BKE_scene_frame_snap_by_seconds(Scene *scene, double interval_in_seconds, int cfra)
int BKE_scene_orientation_get_index_from_flag(Scene *scene, int flag)
bool BKE_scene_validate_setscene(Main *bmain, Scene *sce)
int BKE_scene_multiview_num_videos_get(const RenderData *rd)
Depsgraph * BKE_scene_get_depsgraph(const Scene *scene, const ViewLayer *view_layer)
static void scene_init_data(ID *id)
const char * BKE_scene_find_last_marker_name(const Scene *scene, int frame)
static void scene_foreach_toolsettings_id_pointer_process(ID **id_p, const eSceneForeachUndoPreserveProcess action, BlendLibReader *reader, ID **id_old_p, const uint cb_flag)
int BKE_scene_orientation_get_index(Scene *scene, int slot_index)
const char * BKE_scene_find_marker_name(const Scene *scene, int frame)
void BKE_scene_cursor_quat_to_rot(View3DCursor *cursor, const float quat[4], bool use_compat)
GHash * BKE_scene_undo_depsgraphs_extract(Main *bmain)
bool BKE_scene_object_find(Scene *scene, Object *ob)
void BKE_scene_orientation_slot_set_index(TransformOrientationSlot *orient_slot, int orientation)
void BKE_scene_cursor_rot_to_mat3(const View3DCursor *cursor, float mat[3][3])
const char * RE_engine_id_BLENDER_EEVEE
void BKE_scene_graph_update_tagged(Depsgraph *depsgraph, Main *bmain)
Scene * BKE_scene_add(Main *bmain, const char *name)
const char * BKE_scene_multiview_view_suffix_get(const RenderData *rd, const char *viewname)
static Depsgraph ** scene_ensure_depsgraph_p(Main *bmain, Scene *scene, ViewLayer *view_layer)
static void scene_foreach_id(ID *id, LibraryForeachIDData *data)
bool BKE_scene_use_shading_nodes_custom(Scene *scene)
int BKE_scene_multiview_view_id_get(const RenderData *rd, const char *viewname)
static void scene_free_data(ID *id)
static void prepare_mesh_for_viewport_render(Main *bmain, const ViewLayer *view_layer)
void BKE_scene_graph_update_for_newframe(Depsgraph *depsgraph)
TransformOrientationSlot * BKE_scene_orientation_slot_get_from_flag(Scene *scene, int flag)
double BKE_scene_unit_scale(const UnitSettings *unit, const int unit_type, double value)
static unsigned int depsgraph_key_hash(const void *key_v)
float BKE_scene_frame_to_ctime(const Scene *scene, const float frame)
static void scene_foreach_cache(ID *id, IDTypeForeachCacheFunctionCallback function_callback, void *user_data)
static void scene_foreach_toolsettings(LibraryForeachIDData *data, ToolSettings *toolsett, const bool do_undo_restore, BlendLibReader *reader, ToolSettings *toolsett_old)
Object * BKE_scene_object_find_by_name(const Scene *scene, const char *name)
ToolSettings * BKE_toolsettings_copy(ToolSettings *toolsettings, const int flag)
void BKE_scene_cursor_to_mat4(const View3DCursor *cursor, float mat[4][4])
static bool check_rendered_viewport_visible(Main *bmain)
void BKE_scene_graph_update_for_newframe_ex(Depsgraph *depsgraph, const bool clear_recalc)
static void depsgraph_key_value_free(void *value)
bool BKE_scene_remove_render_view(Scene *scene, SceneRenderView *srv)
void BKE_scene_update_tag_audio_volume(Depsgraph *UNUSED(depsgraph), Scene *scene)
bool BKE_scene_check_color_management_enabled(const Scene *scene)
static char * scene_undo_depsgraph_gen_key(Scene *scene, ViewLayer *view_layer, char *key_full)
void BKE_scene_remove_rigidbody_object(struct Main *bmain, Scene *scene, Object *ob, const bool free_us)
static void scene_foreach_paint(LibraryForeachIDData *data, Paint *paint, const bool do_undo_restore, BlendLibReader *reader, Paint *paint_old)
void BKE_scene_object_base_flag_sync_from_base(Base *base)
Scene * BKE_scene_set_name(Main *bmain, const char *name)
bool BKE_scene_uses_blender_workbench(const Scene *scene)
void BKE_scene_multiview_view_prefix_get(Scene *scene, const char *name, char *r_prefix, const char **r_ext)
bool BKE_scene_uses_blender_eevee(const Scene *scene)
TransformOrientationSlot * BKE_scene_orientation_slot_get(Scene *scene, int slot_index)
void BKE_scene_eval_sequencer_sequences(Depsgraph *depsgraph, Scene *scene)
void SEQ_modifier_blend_write(BlendWriter *writer, ListBase *modbase)
void SEQ_modifier_blend_read_lib(BlendLibReader *reader, Scene *scene, ListBase *lb)
void SEQ_modifier_blend_read_data(BlendDataReader *reader, ListBase *lb)
void SEQ_sound_update_bounds_all(Scene *scene)
void SEQ_tool_settings_free(SequencerToolSettings *tool_settings)
void SEQ_sequence_base_dupli_recursive(const Scene *scene_src, Scene *scene_dst, ListBase *nseqbase, const ListBase *seqbase, int dupe_flag, const int flag)
SequencerToolSettings * SEQ_tool_settings_init(void)
void SEQ_editing_free(Scene *scene, const bool do_id_user)
SequencerToolSettings * SEQ_tool_settings_copy(SequencerToolSettings *tool_settings)
void SEQ_edit_update_muting(Editing *ed)
void SEQ_relations_session_uuid_generate(struct Sequence *sequence)
struct Object * cage_object
struct ImageFormatData im_format
const ViewLayer * view_layer
struct DupliObject * next
struct PrefetchJob * prefetch_job
struct Collection * group
struct CurveMapping * custom_ipo
struct Object * reference_object
struct GP_Sculpt_Guide guide
struct CurveMapping * cur_primitive
struct CurveMapping * cur_falloff
unsigned int id_session_uuid
struct BMEditMesh * edit_mesh
void set(const SocketType &input, bool value)
struct RigidBodyOb * rigidbody_object
struct RigidBodyCon * rigidbody_constraint
struct ListBase * ptcaches
struct PaintToolSlot * tool_slots
ParticleBrushData brush[7]
struct Object * shape_object
struct CurveMapping mblur_shutter_curve
struct ImageFormatData im_format
struct AviCodecData * avicodecdata
struct FFMpegCodecData ffcodecdata
struct PointCache * pointcache
struct Collection * constraints
struct Collection * group
struct RigidBodyWorld_Shared * shared
struct EffectorWeights * effector_weights
struct DupliObject * dupob
struct Object * dupli_refob
struct ListBase * duplilist
struct LightCache * light_cache_data
char light_cache_info[64]
struct SceneRenderView * next
struct SceneRenderView * prev
struct bNodeTree * nodetree
struct Collection * master_collection
struct GHash * depsgraph_hash
struct PhysicsSettings physics_settings
struct RigidBodyWorld * rigidbody_world
IDProperty * layer_properties
struct SceneDisplay display
struct CustomData_MeshMasks customdata_mask
struct SceneGpencil grease_pencil_settings
struct ToolSettings * toolsettings
ColorManagedViewSettings view_settings
struct PreviewImage * preview
struct CustomData_MeshMasks customdata_mask_modal
TransformOrientationSlot orientation_slots[4]
ListBase transform_spaces
ColorManagedColorspaceSettings sequencer_colorspace_settings
ColorManagedDisplaySettings display_settings
struct Object * gravity_object
struct Object * scene_camera
struct Stereo3dFormat * stereo3d_format
StripTransform * transform
float rotation_quaternion[4]
struct WorkSpaceInstanceHook * workspace_hook
__forceinline const avxi srl(const avxi &a, const int32_t b)