diff options
author | Bastien Montagne <bastien@blender.org> | 2022-08-02 16:03:11 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2022-08-02 16:07:33 +0300 |
commit | 2a7e83ce18e838e12526529130ad31dd1b50cbbd (patch) | |
tree | 84a2e45133b45f59b0a3c9e9d13b2c2250529036 /source/blender/blenkernel/BKE_lib_override.h | |
parent | 78ad9ebed3a55138c0a576c4200ab0fd6d8e3712 (diff) |
LibOverride: Expose in public API the utils to get actual override data.
This is useful when input ID is a 'non-override' one (like embedded IDs
or shapekeys), to get override data and 'owner' ID pointer.
Diffstat (limited to 'source/blender/blenkernel/BKE_lib_override.h')
-rw-r--r-- | source/blender/blenkernel/BKE_lib_override.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_lib_override.h b/source/blender/blenkernel/BKE_lib_override.h index b2162e651fd..9ad5a32e6f0 100644 --- a/source/blender/blenkernel/BKE_lib_override.h +++ b/source/blender/blenkernel/BKE_lib_override.h @@ -60,6 +60,19 @@ void BKE_lib_override_library_clear(struct IDOverrideLibrary *override, bool do_ void BKE_lib_override_library_free(struct IDOverrideLibrary **override, bool do_id_user); /** + * Return the actual #IDOverrideLibrary data 'controlling' the given `id`, and the acutal ID owning + * it. + * + * \note This is especially useful when `id` is a non-real override (e.g. embedded ID like a master + * collection or root node tree, or a shape key). + * + * \param r_owner_id If given, will be set with the actual ID owning the return liboverride data. + */ +IDOverrideLibrary *BKE_lib_override_library_get(struct Main *bmain, + struct ID *id, + struct ID **r_owner_id); + +/** * Check if given ID has some override rules that actually indicate the user edited it. */ bool BKE_lib_override_library_is_user_edited(const struct ID *id); |