154 #define BKE_LIB_FOREACHID_PROCESS_ID(_data, _id, _cb_flag) \
156 CHECK_TYPE_ANY((_id), ID *, void *); \
157 BKE_lib_query_foreachid_process((_data), (ID **)&(_id), (_cb_flag)); \
158 if (BKE_lib_query_foreachid_iter_stop((_data))) { \
164 #define BKE_LIB_FOREACHID_PROCESS_IDSUPER(_data, _id_super, _cb_flag) \
166 CHECK_TYPE(&((_id_super)->id), ID *); \
167 BKE_lib_query_foreachid_process((_data), (ID **)&(_id_super), (_cb_flag)); \
168 if (BKE_lib_query_foreachid_iter_stop((_data))) { \
174 #define BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL(_data, _func_call) \
177 if (BKE_lib_query_foreachid_iter_stop((_data))) { \
242 bool *is_used_linked);
263 bool do_tag_recursive,
bool BKE_lib_query_foreachid_iter_stop(struct LibraryForeachIDData *data)
void BKE_lib_query_foreachid_process(struct LibraryForeachIDData *data, struct ID **id_pp, int cb_flag)
void BKE_library_unused_linked_data_set_tag(struct Main *bmain, bool do_init_tag)
int(* LibraryIDLinkCallback)(LibraryIDLinkCallbackData *cb_data)
bool BKE_library_id_can_use_idtype(struct ID *id_owner, short id_type_used)
void BKE_library_foreach_ID_link(struct Main *bmain, struct ID *id, LibraryIDLinkCallback callback, void *user_data, int flag)
void BKE_library_update_ID_link_user(struct ID *id_dst, struct ID *id_src, int cb_flag)
@ IDWALK_DO_INTERNAL_RUNTIME_POINTERS
@ IDWALK_IGNORE_EMBEDDED_ID
bool BKE_library_ID_is_locally_used(struct Main *bmain, void *idv)
void BKE_library_foreach_ID_embedded(struct LibraryForeachIDData *data, struct ID **id_pp)
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, int tag, bool do_local_ids, bool do_linked_ids, bool do_tag_recursive, int *r_num_tagged)
@ IDWALK_CB_OVERRIDE_LIBRARY_NOT_OVERRIDABLE
@ IDWALK_CB_OVERRIDE_LIBRARY_REFERENCE
@ IDWALK_CB_INDIRECT_USAGE
int BKE_library_ID_use_ID(struct ID *id_user, struct ID *id_used)
@ IDWALK_RET_STOP_RECURSION
struct LibraryIDLinkCallbackData LibraryIDLinkCallbackData
void BKE_library_indirectly_used_data_tag_clear(struct Main *bmain)
int BKE_lib_query_foreachid_process_callback_flag_override(struct LibraryForeachIDData *data, int cb_flag, bool do_replace)
uint64_t BKE_library_id_can_use_filter_id(const struct ID *id_owner)
DEGForeachIDComponentCallback callback
unsigned __int64 uint64_t