diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-08-14 15:29:58 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-08-14 15:29:58 +0400 |
commit | 503b7d5b9a385fdcd220df3142857300d912d80c (patch) | |
tree | d25f1c3c59edd0e8c30faf984cc681af9ada9fc8 /source/blender/blenkernel/intern/mesh.c | |
parent | 1979720d0324b84e4993557d30ff833f71e688fd (diff) |
add materials.clear() method, matching other python list method.
Diffstat (limited to 'source/blender/blenkernel/intern/mesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/mesh.c | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index 095957b40d5..0db1f92f70f 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -1852,20 +1852,37 @@ void BKE_mesh_to_curve(Scene *scene, Object *ob) } } -void BKE_mesh_delete_material_index(Mesh *me, short index) +void BKE_mesh_material_index_remove(Mesh *me, short index) { + MPoly *mp; + MFace *mf; int i; - for (i = 0; i < me->totpoly; i++) { - MPoly *mp = &((MPoly *) me->mpoly)[i]; - if (mp->mat_nr && mp->mat_nr >= index) + for (mp = me->mpoly, i = 0; i < me->totpoly; i++, mp++) { + if (mp->mat_nr && mp->mat_nr >= index) { mp->mat_nr--; + } } - - for (i = 0; i < me->totface; i++) { - MFace *mf = &((MFace *) me->mface)[i]; - if (mf->mat_nr && mf->mat_nr >= index) + + for (mf = me->mface, i = 0; i < me->totface; i++, mf++) { + if (mf->mat_nr && mf->mat_nr >= index) { mf->mat_nr--; + } + } +} + +void BKE_mesh_material_index_clear(Mesh *me) +{ + MPoly *mp; + MFace *mf; + int i; + + for (mp = me->mpoly, i = 0; i < me->totpoly; i++, mp++) { + mp->mat_nr = 0; + } + + for (mf = me->mface, i = 0; i < me->totface; i++, mf++) { + mf->mat_nr = 0; } } |