152 const bool do_replace);
154 #define BKE_LIB_FOREACHID_PROCESS_ID(_data, _id, _cb_flag) \
156 CHECK_TYPE_ANY((_id), ID *, void *); \
157 if (!BKE_lib_query_foreachid_process((_data), (ID **)&(_id), (_cb_flag))) { \
163 #define BKE_LIB_FOREACHID_PROCESS(_data, _id_super, _cb_flag) \
165 CHECK_TYPE(&((_id_super)->id), ID *); \
166 if (!BKE_lib_query_foreachid_process((_data), (ID **)&(_id_super), (_cb_flag))) { \
189 bool *is_used_linked);
193 const bool do_local_ids,
194 const bool do_linked_ids,
195 const bool do_tag_recursive,
int(* LibraryIDLinkCallback)(LibraryIDLinkCallbackData *cb_data)
@ IDWALK_NO_INDIRECT_PROXY_DATA_USAGE
@ IDWALK_DO_INTERNAL_RUNTIME_POINTERS
@ IDWALK_IGNORE_EMBEDDED_ID
int BKE_lib_query_foreachid_process_callback_flag_override(struct LibraryForeachIDData *data, const int cb_flag, const bool do_replace)
void BKE_library_foreach_ID_link(struct Main *bmain, struct ID *id, LibraryIDLinkCallback callback, void *user_data, int flag)
@ IDWALK_RET_STOP_RECURSION
bool BKE_library_ID_is_locally_used(struct Main *bmain, void *idv)
bool BKE_library_ID_is_indirectly_used(struct Main *bmain, void *idv)
void BKE_lib_query_idpropertiesForeachIDLink_callback(struct IDProperty *id_prop, void *user_data)
void BKE_library_ID_test_usages(struct Main *bmain, void *idv, bool *is_used_local, bool *is_used_linked)
int BKE_lib_query_foreachid_process_flags_get(struct LibraryForeachIDData *data)
void BKE_lib_query_unused_ids_tag(struct Main *bmain, const int tag, const bool do_local_ids, const bool do_linked_ids, const bool do_tag_recursive, int *r_num_tagged)
int BKE_library_ID_use_ID(struct ID *id_user, struct ID *id_used)
@ IDWALK_CB_OVERRIDE_LIBRARY_NOT_OVERRIDABLE
@ IDWALK_CB_OVERRIDE_LIBRARY_REFERENCE
@ IDWALK_CB_INDIRECT_USAGE
bool BKE_library_foreach_ID_embedded(struct LibraryForeachIDData *data, struct ID **id_pp)
struct LibraryIDLinkCallbackData LibraryIDLinkCallbackData
void BKE_library_unused_linked_data_set_tag(struct Main *bmain, const bool do_init_tag)
void BKE_library_indirectly_used_data_tag_clear(struct Main *bmain)
bool BKE_library_id_can_use_idtype(struct ID *id_owner, const short id_type_used)
void BKE_library_update_ID_link_user(struct ID *id_dst, struct ID *id_src, const int cb_flag)
bool BKE_lib_query_foreachid_process(struct LibraryForeachIDData *data, struct ID **id_pp, int cb_flag)
DEGForeachIDComponentCallback callback