diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2019-07-31 22:04:52 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2019-07-31 22:08:18 +0300 |
commit | a2f357edc2afb8f3ded60bc0e48c4015d6ad8f40 (patch) | |
tree | 4643a09b8fec9d4c40309ae9d279a2b47636633d /source/blender/blenkernel/intern/curve.c | |
parent | feed46c4ae480ccd3f1b1ee6bb61adaf308f85c3 (diff) |
Add operator for removing unused material slots
Reviewers: campbellbarton, brecht
Reviewed By: brecht
Subscribers: brecht
Differential Revision: https://developer.blender.org/D4991
Diffstat (limited to 'source/blender/blenkernel/intern/curve.c')
-rw-r--r-- | source/blender/blenkernel/intern/curve.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 931c0ed73d3..efdfa2c19bb 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -5313,6 +5313,32 @@ void BKE_curve_material_index_remove(Curve *cu, int index) } } +bool BKE_curve_material_index_used(Curve *cu, int index) +{ + const int curvetype = BKE_curve_type_get(cu); + + if (curvetype == OB_FONT) { + struct CharInfo *info = cu->strinfo; + int i; + for (i = cu->len_wchar - 1; i >= 0; i--, info++) { + if (info->mat_nr == index) { + return true; + } + } + } + else { + Nurb *nu; + + for (nu = cu->nurb.first; nu; nu = nu->next) { + if (nu->mat_nr == index) { + return true; + } + } + } + + return false; +} + void BKE_curve_material_index_clear(Curve *cu) { const int curvetype = BKE_curve_type_get(cu); |