diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-08-01 22:33:35 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-08-01 22:33:35 +0400 |
commit | 78820edafcad730493e95d0dfdeccba02445c1f3 (patch) | |
tree | 69c99dc8102f03a90f719fa760e51f149a55b99e /source/blender/blenkernel/intern/cdderivedmesh.c | |
parent | e03b1668e0106019eed6097678cdaf7df3885638 (diff) |
use bmesh for loop macros for looping over mesh verts/edges/faces
Diffstat (limited to 'source/blender/blenkernel/intern/cdderivedmesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/cdderivedmesh.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index 60f6bb0a736..6205c8016b6 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -1969,8 +1969,7 @@ static DerivedMesh *cddm_from_bmesh_ex(struct BMesh *bm, int use_mdisps, index = dm->getVertDataArray(dm, CD_ORIGINDEX); - eve = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL); - for (i = 0; eve; eve = BM_iter_step(&iter), i++, index++) { + BM_ITER_MESH_INDEX (eve, &iter, bm, BM_VERTS_OF_MESH, i) { MVert *mv = &mvert[i]; copy_v3_v3(mv->co, eve->co); @@ -1983,15 +1982,14 @@ static DerivedMesh *cddm_from_bmesh_ex(struct BMesh *bm, int use_mdisps, if (cd_vert_bweight_offset != -1) mv->bweight = BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eve, cd_vert_bweight_offset); - if (add_orig) *index = i; + if (add_orig) *index++ = i; CustomData_from_bmesh_block(&bm->vdata, &dm->vertData, eve->head.data, i); } bm->elem_index_dirty &= ~BM_VERT; index = dm->getEdgeDataArray(dm, CD_ORIGINDEX); - eed = BM_iter_new(&iter, bm, BM_EDGES_OF_MESH, NULL); - for (i = 0; eed; eed = BM_iter_step(&iter), i++, index++) { + BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) { MEdge *med = &medge[i]; BM_elem_index_set(eed, i); /* set_inline */ @@ -2013,7 +2011,7 @@ static DerivedMesh *cddm_from_bmesh_ex(struct BMesh *bm, int use_mdisps, if (cd_edge_bweight_offset != -1) med->bweight = BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eed, cd_edge_bweight_offset); CustomData_from_bmesh_block(&bm->edata, &dm->edgeData, eed->head.data, i); - if (add_orig) *index = i; + if (add_orig) *index++ = i; } bm->elem_index_dirty &= ~BM_EDGE; @@ -2023,7 +2021,7 @@ static DerivedMesh *cddm_from_bmesh_ex(struct BMesh *bm, int use_mdisps, BM_mesh_elem_index_ensure(bm, BM_FACE); index = dm->getTessFaceDataArray(dm, CD_ORIGINDEX); - for (i = 0; i < dm->numTessFaceData; i++, index++) { + for (i = 0; i < dm->numTessFaceData; i++) { MFace *mf = &mface[i]; const BMLoop **l = em_looptris[i]; efa = l[0]->f; @@ -2036,7 +2034,7 @@ static DerivedMesh *cddm_from_bmesh_ex(struct BMesh *bm, int use_mdisps, mf->flag = BM_face_flag_to_mflag(efa); /* map mfaces to polygons in the same cddm intentionally */ - *index = BM_elem_index_get(efa); + *index++ = BM_elem_index_get(efa); loops_to_customdata_corners(bm, &dm->faceData, i, l, numCol, numTex); test_index_face(mf, &dm->faceData, i, 3); @@ -2045,8 +2043,7 @@ static DerivedMesh *cddm_from_bmesh_ex(struct BMesh *bm, int use_mdisps, index = CustomData_get_layer(&dm->polyData, CD_ORIGINDEX); j = 0; - efa = BM_iter_new(&iter, bm, BM_FACES_OF_MESH, NULL); - for (i = 0; efa; i++, efa = BM_iter_step(&iter), index++) { + BM_ITER_MESH_INDEX (efa, &iter, bm, BM_FACES_OF_MESH, i) { BMLoop *l_iter; BMLoop *l_first; MPoly *mp = &mpoly[i]; @@ -2070,7 +2067,7 @@ static DerivedMesh *cddm_from_bmesh_ex(struct BMesh *bm, int use_mdisps, CustomData_from_bmesh_block(&bm->pdata, &dm->polyData, efa->head.data, i); - if (add_orig) *index = i; + if (add_orig) *index++ = i; } bm->elem_index_dirty &= ~BM_FACE; |