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/material.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/material.c')
-rw-r--r-- | source/blender/blenkernel/intern/material.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 391af8b96ab..1382b863637 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -366,6 +366,26 @@ static void material_data_index_remove_id(ID *id, short index) } } +bool BKE_object_material_slot_used(ID *id, short actcol) +{ + /* ensure we don't try get materials from non-obdata */ + BLI_assert(OB_DATA_SUPPORT_ID(GS(id->name))); + + switch (GS(id->name)) { + case ID_ME: + return BKE_mesh_material_index_used((Mesh *)id, actcol - 1); + case ID_CU: + return BKE_curve_material_index_used((Curve *)id, actcol - 1); + case ID_MB: + /* meta-elems don't have materials atm */ + return false; + case ID_GD: + return BKE_gpencil_material_index_used((bGPdata *)id, actcol - 1); + default: + return false; + } +} + static void material_data_index_clear_id(ID *id) { /* ensure we don't try get materials from non-obdata */ |