73 #define MAIN_ID_SESSION_UUID_UNSET 0
152 const int orig_flag);
261 const uint duplicate_flags);
293 #define MAX_ID_FULL_NAME (64 + 64 + 3 + 1)
294 #define MAX_ID_FULL_NAME_UI (MAX_ID_FULL_NAME + 3)
298 const bool add_lib_hint,
306 struct GHash *old_to_new_ids,
307 const bool untagged_only,
308 const bool set_fake);
322 #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)
struct ID * BKE_id_copy(struct Main *bmain, const struct ID *id)
void BKE_libblock_management_usercounts_set(struct Main *bmain, void *idv)
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)
void BKE_lib_id_expand_local(struct Main *bmain, struct ID *id)
void BKE_libblock_management_main_add(struct Main *bmain, void *idv)
bool BKE_id_copy_is_allowed(const struct ID *id)
void BKE_libblock_rename(struct Main *bmain, struct ID *id, const char *name) ATTR_NONNULL()
void BKE_id_tag_clear_atomic(struct ID *id, int tag)
void id_us_min(struct ID *id)
void BKE_libblock_free_data_py(struct ID *id)
void * BKE_id_new_nomain(const short type, const char *name)
void * BKE_libblock_copy_for_localize(const struct ID *id)
void BKE_main_id_repair_duplicate_names_listbase(struct ListBase *lb)
void BKE_libblock_free_data(struct ID *id, const bool do_id_user) ATTR_NONNULL()
void BKE_main_id_flag_all(struct Main *bmain, const int flag, const bool value)
void BKE_main_id_tag_all(struct Main *mainvar, const int tag, const bool value)
void id_lib_extern(struct ID *id)
void id_fake_user_set(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_CREATE_NO_USER_REFCOUNT
@ LIB_ID_COPY_NO_ANIMDATA
@ LIB_ID_CREATE_NO_DEG_TAG
char * BKE_id_to_unique_string_key(const struct ID *id)
size_t BKE_libblock_get_alloc_info(short type, const char **name)
@ LIB_ID_FREE_NOT_ALLOCATED
@ LIB_ID_FREE_NO_USER_REFCOUNT
void * BKE_libblock_alloc(struct Main *bmain, short type, const char *name, const int flag) ATTR_WARN_UNUSED_RESULT
#define MAX_ID_FULL_NAME_UI
void * BKE_libblock_alloc_notest(short type) ATTR_WARN_UNUSED_RESULT
void BKE_id_full_name_ui_prefix_get(char name[MAX_ID_FULL_NAME_UI], const struct ID *id, const bool add_lib_hint, char separator_char, int *r_prefix_len)
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, const int flag)
void BKE_lib_id_swap_full(struct Main *bmain, struct ID *id_a, struct ID *id_b)
void BKE_main_id_clear_newpoins(struct Main *bmain)
bool BKE_lib_id_make_local(struct Main *bmain, struct ID *id, const bool test, const int flags)
void BKE_lib_id_make_local_generic(struct Main *bmain, struct ID *id, const int flags)
void BKE_main_lib_objects_recalc_all(struct Main *bmain)
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 BKE_libblock_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, const int orig_flag)
void id_us_ensure_real(struct ID *id)
void BKE_library_make_local(struct Main *bmain, const struct Library *lib, struct GHash *old_to_new_ids, const bool untagged_only, const bool set_fake)
void id_us_plus(struct ID *id)
@ LIB_ID_MAKELOCAL_OBJECT_NO_PROXY_CLEARING
@ LIB_ID_MAKELOCAL_FULL_LIBRARY
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_clear_real(struct ID *id)
void id_us_plus_no_lib(struct ID *id)
bool void BKE_lib_id_clear_library_data(struct Main *bmain, struct ID *id)
bool BKE_id_is_in_global_main(struct ID *id)
void BKE_main_id_tag_idcode(struct Main *mainvar, const short type, const int tag, const bool value)
void BKE_id_full_name_get(char name[MAX_ID_FULL_NAME], const struct ID *id, char separator_char)
void BKE_main_id_tag_listbase(struct ListBase *lb, const int tag, const bool value)
struct ID * BKE_libblock_find_name(struct Main *bmain, const short type, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_libblock_management_usercounts_clear(struct Main *bmain, void *idv)
void BKE_id_tag_set_atomic(struct ID *id, int tag)
void BKE_id_clear_newpoin(struct ID *id)
void BKE_id_ordered_list(struct ListBase *ordered_lb, const struct ListBase *lb)
bool BKE_id_can_be_asset(const struct ID *id)
bool BKE_id_new_name_validate(struct ListBase *lb, struct ID *id, const char *name) ATTR_NONNULL(1
void BKE_id_delete(struct Main *bmain, void *idv) ATTR_NONNULL()
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 BKE_main_id_refcount_recompute(struct Main *bmain, const bool do_linked_only)
void id_sort_by_name(struct ListBase *lb, struct ID *id, struct ID *id_sorting_hint)
void BKE_id_free_ex(struct Main *bmain, void *idv, int flag, const bool use_flag_from_idtag)
void * BKE_id_new(struct Main *bmain, const short type, const char *name)
void BKE_lib_id_swap(struct Main *bmain, struct ID *id_a, struct ID *id_b)
void BKE_libblock_free_datablock(struct ID *id, const int flag) ATTR_NONNULL()
void BKE_libblock_management_main_remove(struct Main *bmain, void *idv)
void BKE_id_free_us(struct Main *bmain, void *idv) ATTR_NONNULL()
void BKE_main_id_flag_listbase(struct ListBase *lb, const int flag, const bool value)
#define ATTR_NONNULL(...)
void BLI_kdtree_nd_() int BLI_kdtree_nd_() int BLI_kdtree_nd_() int BLI_kdtree_nd_() ATTR_WARN_UNUSED_RESULT
_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