From a42441d1451e9b89120dff0039aa09f122369ebe Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 25 Jan 2019 17:37:19 +0100 Subject: ShapeKey: add utils to say whether given ID type supports shapekeys. Those kind of checks are handy to have for generic processing... --- source/blender/blenkernel/BKE_key.h | 2 ++ source/blender/blenkernel/intern/key.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) (limited to 'source/blender') diff --git a/source/blender/blenkernel/BKE_key.h b/source/blender/blenkernel/BKE_key.h index 73a6f5047b2..a175ea93240 100644 --- a/source/blender/blenkernel/BKE_key.h +++ b/source/blender/blenkernel/BKE_key.h @@ -66,6 +66,8 @@ float *BKE_key_evaluate_object_ex( float *BKE_key_evaluate_object( struct Object *ob, int *r_totelem); +bool BKE_key_idtype_support(const short id_type); + struct Key **BKE_key_from_id_p(struct ID *id); struct Key *BKE_key_from_id(struct ID *id); struct Key **BKE_key_from_object_p(struct Object *ob); diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c index 85903e1dfe6..599d0989250 100644 --- a/source/blender/blenkernel/intern/key.c +++ b/source/blender/blenkernel/intern/key.c @@ -1374,6 +1374,18 @@ float *BKE_key_evaluate_object(Object *ob, int *r_totelem) return BKE_key_evaluate_object_ex(ob, r_totelem, NULL, 0); } +bool BKE_key_idtype_support(const short id_type) +{ + switch (id_type) { + case ID_ME: + case ID_CU: + case ID_LT: + return true; + default: + return false; + } +} + Key **BKE_key_from_id_p(ID *id) { switch (GS(id->name)) { -- cgit v1.2.3