diff options
Diffstat (limited to 'source/blender/blenkernel/intern/modifier.c')
-rw-r--r-- | source/blender/blenkernel/intern/modifier.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index c9bdaecfa2a..7865d44c446 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -574,6 +574,19 @@ bool BKE_modifier_is_enabled(const struct Scene *scene, ModifierData *md, int re return true; } +/** + * Check whether given modifier is local when the object is a library override. + * + * \param md May be NULL, in which case we consider it as a non-local modifier case. + * + * \note This check is only valid for a liboverride data-block, it always return \a true otherwise. + */ +bool BKE_modifier_is_local_in_liboverride(const Object *ob, const ModifierData *md) +{ + return (!ID_IS_OVERRIDE_LIBRARY(ob) || + (md != NULL && (md->flag & eModifierFlag_OverrideLibrary_Local) != 0)); +} + CDMaskLink *BKE_modifier_calc_data_masks(struct Scene *scene, Object *ob, ModifierData *md, |