Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_lib_id.h
| Show First 20 Lines • Show All 448 Lines • ▼ Show 20 Lines | |||||
| * \param copy_flags flags passed to #BKE_id_copy_ex. | * \param copy_flags flags passed to #BKE_id_copy_ex. | ||||
| */ | */ | ||||
| struct ID *BKE_id_copy_for_duplicate(struct Main *bmain, | struct ID *BKE_id_copy_for_duplicate(struct Main *bmain, | ||||
| struct ID *id, | struct ID *id, | ||||
| uint duplicate_flags, | uint duplicate_flags, | ||||
| int copy_flags); | int copy_flags); | ||||
| /** | /** | ||||
| * Does a mere memory swap over the whole IDs data (including type-specific memory). | * Does a mere memory swap over the whole IDs data (including type-specific memory). | ||||
mont29: appearing | |||||
| * \note Most internal ID data itself is not swapped (only IDProperties are). | * \note Most internal ID data itself is not swapped (only IDProperties are). | ||||
| * | * | ||||
| * \param bmain: May be NULL, in which case there will be no remapping of internal pointers to | * \param bmain: May be NULL, in which case there will be no remapping of internal pointers to | ||||
| * itself. | * itself. | ||||
| */ | */ | ||||
| void BKE_lib_id_swap(struct Main *bmain, struct ID *id_a, struct ID *id_b); | void BKE_lib_id_swap(struct Main *bmain, struct ID *id_a, struct ID *id_b); | ||||
| /** | /** | ||||
| * Does a mere memory swap over the whole IDs data (including type-specific memory). | * Does a mere memory swap over the whole IDs data (including type-specific memory). | ||||
| ▲ Show 20 Lines • Show All 167 Lines • ▼ Show 20 Lines | |||||
| * Reorder ID in the list, before or after the "relative" ID. | * Reorder ID in the list, before or after the "relative" ID. | ||||
| */ | */ | ||||
| void BKE_id_reorder(const struct ListBase *lb, struct ID *id, struct ID *relative, bool after); | void BKE_id_reorder(const struct ListBase *lb, struct ID *id, struct ID *relative, bool after); | ||||
| void BKE_id_blend_write(struct BlendWriter *writer, struct ID *id); | void BKE_id_blend_write(struct BlendWriter *writer, struct ID *id); | ||||
| #define IS_TAGGED(_id) ((_id) && (((ID *)_id)->tag & LIB_TAG_DOIT)) | #define IS_TAGGED(_id) ((_id) && (((ID *)_id)->tag & LIB_TAG_DOIT)) | ||||
| /* Assign ID references directly used by the given ID to their original complementary parts. | |||||
| * | |||||
| * For example, when is called on an evaluated object will assign object->data to its original | |||||
| * pointer, the evaluated object->data will be kept unchanged. */ | |||||
| void BKE_id_assign_directly_used_ids_to_original(struct ID *id); | |||||
| /* lib_id_eval.c */ | /* lib_id_eval.c */ | ||||
| /** | /** | ||||
| * Copy relatives parameters, from `id` to `id_cow`. | * Copy relatives parameters, from `id` to `id_cow`. | ||||
| * Use handle the #ID_RECALC_PARAMETERS tag. | * Use handle the #ID_RECALC_PARAMETERS tag. | ||||
| * \note Keep in sync with #ID_TYPE_SUPPORTS_PARAMS_WITHOUT_COW. | * \note Keep in sync with #ID_TYPE_SUPPORTS_PARAMS_WITHOUT_COW. | ||||
| */ | */ | ||||
| void BKE_id_eval_properties_copy(struct ID *id_cow, struct ID *id); | void BKE_id_eval_properties_copy(struct ID *id_cow, struct ID *id); | ||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } | ||||
| #endif | #endif | ||||
appearing