diff options
Diffstat (limited to 'source/blender/blenkernel/intern/idcode.c')
-rw-r--r-- | source/blender/blenkernel/intern/idcode.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/idcode.c b/source/blender/blenkernel/intern/idcode.c index 66f10e86a70..4e39025e48e 100644 --- a/source/blender/blenkernel/intern/idcode.c +++ b/source/blender/blenkernel/intern/idcode.c @@ -108,17 +108,36 @@ static IDType *idtype_from_code(int code) return NULL; } +/** + * Return if the ID code is a valid ID code. + * + * \param code The code to check. + * \return Boolean, 0 when invalid. + */ bool BKE_idcode_is_valid(int code) { return idtype_from_code(code) ? true : false; } +/** + * Return non-zero when an ID type is linkable. + * + * \param code The code to check. + * \return Boolean, 0 when non linkable. + */ bool BKE_idcode_is_linkable(int code) { IDType *idt = idtype_from_code(code); return idt ? ((idt->flags & IDTYPE_FLAGS_ISLINKABLE) != 0) : false; } +/** + * Convert an idcode into a name. + * + * \param code The code to convert. + * \return A static string representing the name of + * the code. + */ const char *BKE_idcode_to_name(int code) { IDType *idt = idtype_from_code(code); @@ -126,6 +145,12 @@ const char *BKE_idcode_to_name(int code) return idt ? idt->name : NULL; } +/** + * Convert a name into an idcode (ie. ID_SCE) + * + * \param name The name to convert. + * \return The code for the name, or 0 if invalid. + */ int BKE_idcode_from_name(const char *name) { IDType *idt = idtype_from_name(name); @@ -133,6 +158,13 @@ int BKE_idcode_from_name(const char *name) return idt ? idt->code : 0; } +/** + * Convert an idcode into a name (plural). + * + * \param code The code to convert. + * \return A static string representing the name of + * the code. + */ const char *BKE_idcode_to_name_plural(int code) { IDType *idt = idtype_from_code(code); @@ -140,6 +172,12 @@ const char *BKE_idcode_to_name_plural(int code) return idt ? idt->plural : NULL; } +/** + * Return an ID code and steps the index forward 1. + * + * \param index start as 0. + * \return the code, 0 when all codes have been returned. + */ int BKE_idcode_iter_step(int *index) { return (*index < nidtypes) ? idtypes[(*index)++].code : 0; |