82 #define MAIN_ID_SESSION_UUID_UNSET 0
381 struct Main *bmain,
struct ID *
id,
int flags,
bool *r_force_local,
bool *r_force_copy);
453 uint duplicate_flags,
550 #define MAX_ID_FULL_NAME (64 + 64 + 3 + 1)
551 #define MAX_ID_FULL_NAME_UI (MAX_ID_FULL_NAME + 3)
601 struct GHash *old_to_new_ids,
639 #define IS_TAGGED(_id) ((_id) && (((ID *)_id)->tag & LIB_TAG_DOIT))
void BKE_id_reorder(const struct ListBase *lb, struct ID *id, struct ID *relative, bool after)
void BKE_libblock_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, int orig_flag)
struct ID * BKE_id_copy(struct Main *bmain, const struct ID *id)
void BKE_libblock_management_usercounts_set(struct Main *bmain, void *idv)
struct ID * BKE_libblock_find_session_uuid(struct Main *bmain, short type, uint32_t session_uuid)
void * BKE_libblock_copy(struct Main *bmain, const struct ID *id) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_lib_libblock_session_uuid_ensure(struct ID *id)
void BKE_lib_libblock_session_uuid_renew(struct ID *id)
@ LIB_ID_CREATE_NO_ALLOCATE
@ LIB_ID_COPY_NODETREE_LOCALIZE
@ LIB_ID_COPY_CD_REFERENCE
@ LIB_ID_COPY_NO_LIB_OVERRIDE
@ LIB_ID_COPY_SET_COPIED_ON_WRITE
@ LIB_ID_COPY_NO_LIB_OVERRIDE_LOCAL_DATA_FLAG
@ LIB_ID_CREATE_NO_USER_REFCOUNT
@ LIB_ID_COPY_NO_ANIMDATA
@ LIB_ID_CREATE_NO_DEG_TAG
@ LIB_ID_COPY_RIGID_BODY_NO_COLLECTION_HANDLING
void BKE_libblock_management_main_add(struct Main *bmain, void *idv)
void BKE_id_newptr_and_tag_clear(struct ID *id)
bool BKE_id_copy_is_allowed(const struct ID *id)
void BKE_libblock_runtime_reset_remapping_status(struct ID *id) ATTR_NONNULL(1)
void BKE_main_id_newptr_and_tag_clear(struct Main *bmain)
void BKE_id_full_name_ui_prefix_get(char name[MAX_ID_FULL_NAME_UI], const struct ID *id, bool add_lib_hint, char separator_char, int *r_prefix_len)
void BKE_libblock_free_data(struct ID *id, bool do_id_user) ATTR_NONNULL()
void BKE_library_make_local(struct Main *bmain, const struct Library *lib, struct GHash *old_to_new_ids, bool untagged_only, bool set_fake)
void BKE_main_id_tag_idcode(struct Main *mainvar, short type, int tag, bool value)
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, int flag)
void BKE_libblock_rename(struct Main *bmain, struct ID *id, const char *name) ATTR_NONNULL()
void BKE_main_id_tag_all(struct Main *mainvar, int tag, bool value)
void BKE_id_tag_clear_atomic(struct ID *id, int tag)
bool BKE_id_is_editable(const struct Main *bmain, const struct ID *id)
void id_us_min(struct ID *id)
void BKE_libblock_free_data_py(struct ID *id)
bool BKE_id_new_name_validate(struct Main *bmain, struct ListBase *lb, struct ID *id, const char *name, bool do_linked_data) ATTR_NONNULL(1
bool void BKE_lib_id_clear_library_data(struct Main *bmain, struct ID *id, int flags)
void * BKE_libblock_alloc(struct Main *bmain, short type, const char *name, int flag) ATTR_WARN_UNUSED_RESULT
void id_lib_extern(struct ID *id)
void id_fake_user_set(struct ID *id)
@ LIB_ID_FREE_NOT_ALLOCATED
@ LIB_ID_FREE_NO_USER_REFCOUNT
@ LIB_ID_FREE_NO_NAMEMAP_REMOVE
void BKE_main_id_refcount_recompute(struct Main *bmain, bool do_linked_only)
char * BKE_id_to_unique_string_key(const struct ID *id)
void * BKE_id_new_nomain(short type, const char *name)
size_t BKE_libblock_get_alloc_info(short type, const char **name)
@ LIB_ID_MAKELOCAL_FORCE_LOCAL
@ LIB_ID_MAKELOCAL_ASSET_DATA_CLEAR
@ LIB_ID_MAKELOCAL_FULL_LIBRARY
@ LIB_ID_MAKELOCAL_FORCE_COPY
#define MAX_ID_FULL_NAME_UI
void BKE_id_eval_properties_copy(struct ID *id_cow, struct ID *id)
void BKE_lib_id_expand_local(struct Main *bmain, struct ID *id, int flags)
void * BKE_libblock_alloc_notest(short type) ATTR_WARN_UNUSED_RESULT
void BKE_lib_id_swap_full(struct Main *bmain, struct ID *id_a, struct ID *id_b)
void BKE_lib_id_make_local_generic(struct Main *bmain, struct ID *id, int flags)
void BKE_main_id_flag_all(struct Main *bmain, int flag, bool value)
void BKE_main_lib_objects_recalc_all(struct Main *bmain)
void BKE_main_id_flag_listbase(struct ListBase *lb, int flag, bool value)
bool id_single_user(struct bContext *C, struct ID *id, struct PointerRNA *ptr, struct PropertyRNA *prop)
void BKE_id_free(struct Main *bmain, void *idv)
void BKE_libblock_init_empty(struct ID *id) ATTR_NONNULL(1)
void id_us_ensure_real(struct ID *id)
void BKE_libblock_free_datablock(struct ID *id, int flag) ATTR_NONNULL()
void id_us_plus(struct ID *id)
void BKE_id_blend_write(struct BlendWriter *writer, struct ID *id)
void id_us_clear_real(struct ID *id)
void id_us_plus_no_lib(struct ID *id)
void BKE_id_free_ex(struct Main *bmain, void *idv, int flag, bool use_flag_from_idtag)
void * BKE_id_new(struct Main *bmain, short type, const char *name)
bool BKE_id_is_in_global_main(struct ID *id)
void BKE_id_full_name_get(char name[MAX_ID_FULL_NAME], const struct ID *id, char separator_char)
bool BKE_lib_id_make_local(struct Main *bmain, struct ID *id, int flags)
void BKE_libblock_management_usercounts_clear(struct Main *bmain, void *idv)
struct ID * BKE_id_copy_for_duplicate(struct Main *bmain, struct ID *id, uint duplicate_flags, int copy_flags)
void BKE_id_tag_set_atomic(struct ID *id, int tag)
void BKE_id_ordered_list(struct ListBase *ordered_lb, const struct ListBase *lb)
bool BKE_id_can_be_asset(const struct ID *id)
void BKE_id_delete(struct Main *bmain, void *idv) ATTR_NONNULL()
void BKE_main_id_tag_listbase(struct ListBase *lb, int tag, bool value)
void BLI_libblock_ensure_unique_name(struct Main *bmain, const char *name) ATTR_NONNULL()
void id_fake_user_clear(struct ID *id)
size_t BKE_id_multi_tagged_delete(struct Main *bmain) ATTR_NONNULL()
@ LIB_ID_DUPLICATE_IS_ROOT_ID
@ LIB_ID_DUPLICATE_IS_SUBPROCESS
void id_lib_indirect_weak_link(struct ID *id)
void id_sort_by_name(struct ListBase *lb, struct ID *id, struct ID *id_sorting_hint)
struct ID * BKE_libblock_find_name(struct Main *bmain, short type, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_lib_id_swap(struct Main *bmain, struct ID *id_a, struct ID *id_b)
void BKE_main_id_repair_duplicate_names_listbase(struct Main *bmain, struct ListBase *lb)
void BKE_libblock_management_main_remove(struct Main *bmain, void *idv)
void BKE_lib_id_make_local_generic_action_define(struct Main *bmain, struct ID *id, int flags, bool *r_force_local, bool *r_force_copy)
void BKE_id_free_us(struct Main *bmain, void *idv) ATTR_NONNULL()
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_NONNULL(...)
#define ENUM_OPERATORS(_type, _max)
_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
unsigned int session_uuid