Revision: 58810
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58810
Author:   campbellbarton
Date:     2013-08-01 18:33:35 +0000 (Thu, 01 Aug 2013)
Log Message:
-----------
use bmesh for loop macros for looping over mesh verts/edges/faces

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    trunk/blender/source/blender/bmesh/intern/bmesh_marking.c
    trunk/blender/source/blender/bmesh/operators/bmo_dupe.c
    trunk/blender/source/blender/bmesh/operators/bmo_edgenet.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c      
2013-08-01 17:18:22 UTC (rev 58809)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c      
2013-08-01 18:33:35 UTC (rev 58810)
@@ -1969,8 +1969,7 @@
 
        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 @@
 
                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 @@
                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 @@
                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 @@
                        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 @@
        
        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 @@
 
                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;
 

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_marking.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_marking.c   2013-08-01 
17:18:22 UTC (rev 58809)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_marking.c   2013-08-01 
18:33:35 UTC (rev 58810)
@@ -501,19 +501,19 @@
        BLI_assert((htype & ~BM_ALL_NOLOOP) == 0);
 
        if (htype & BM_VERT) {
-               for (ele = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL); ele; 
ele = BM_iter_step(&iter)) {
+               BM_ITER_MESH (ele, &iter, bm, BM_VERTS_OF_MESH) {
                        if (respecthide && BM_elem_flag_test(ele, 
BM_ELEM_HIDDEN)) continue;
                        if (BM_elem_flag_test_bool(ele, hflag) == 
test_for_enabled) tot++;
                }
        }
        if (htype & BM_EDGE) {
-               for (ele = BM_iter_new(&iter, bm, BM_EDGES_OF_MESH, NULL); ele; 
ele = BM_iter_step(&iter)) {
+               BM_ITER_MESH (ele, &iter, bm, BM_EDGES_OF_MESH) {
                        if (respecthide && BM_elem_flag_test(ele, 
BM_ELEM_HIDDEN)) continue;
                        if (BM_elem_flag_test_bool(ele, hflag) == 
test_for_enabled) tot++;
                }
        }
        if (htype & BM_FACE) {
-               for (ele = BM_iter_new(&iter, bm, BM_FACES_OF_MESH, NULL); ele; 
ele = BM_iter_step(&iter)) {
+               BM_ITER_MESH (ele, &iter, bm, BM_FACES_OF_MESH) {
                        if (respecthide && BM_elem_flag_test(ele, 
BM_ELEM_HIDDEN)) continue;
                        if (BM_elem_flag_test_bool(ele, hflag) == 
test_for_enabled) tot++;
                }

Modified: trunk/blender/source/blender/bmesh/operators/bmo_dupe.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_dupe.c     2013-08-01 
17:18:22 UTC (rev 58809)
+++ trunk/blender/source/blender/bmesh/operators/bmo_dupe.c     2013-08-01 
18:33:35 UTC (rev 58810)
@@ -385,33 +385,30 @@
                BMEdge *e;
                BMFace *f;
                BMIter iter, iter2;
-               int found;
 
                /* make sure to remove edges and verts we don't need */
-               for (e = BM_iter_new(&iter, bm, BM_EDGES_OF_MESH, NULL); e; e = 
BM_iter_step(&iter)) {
-                       found = 0;
-                       f = BM_iter_new(&iter2, bm, BM_FACES_OF_EDGE, e);
-                       for ( ; f; f = BM_iter_step(&iter2)) {
+               BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) {
+                       bool found = false;
+                       BM_ITER_ELEM (f, &iter2, e, BM_FACES_OF_EDGE) {
                                if (!BMO_elem_flag_test(bm, f, SPLIT_INPUT)) {
-                                       found = 1;
+                                       found = true;
                                        break;
                                }
                        }
-                       if (!found) {
+                       if (found == false) {
                                BMO_elem_flag_enable(bm, e, SPLIT_INPUT);
                        }
                }
 
-               for (v = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL); v; v = 
BM_iter_step(&iter)) {
-                       found = 0;
-                       e = BM_iter_new(&iter2, bm, BM_EDGES_OF_VERT, v);
-                       for ( ; e; e = BM_iter_step(&iter2)) {
+               BM_ITER_MESH (v, &iter, bm,  BM_VERTS_OF_MESH) {
+                       bool found = false;
+                       BM_ITER_ELEM (e, &iter2, v, BM_EDGES_OF_VERT) {
                                if (!BMO_elem_flag_test(bm, e, SPLIT_INPUT)) {
-                                       found = 1;
+                                       found = true;
                                        break;
                                }
                        }
-                       if (!found) {
+                       if (found == false) {
                                BMO_elem_flag_enable(bm, v, SPLIT_INPUT);
                        }
                }

Modified: trunk/blender/source/blender/bmesh/operators/bmo_edgenet.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_edgenet.c  2013-08-01 
17:18:22 UTC (rev 58809)
+++ trunk/blender/source/blender/bmesh/operators/bmo_edgenet.c  2013-08-01 
18:33:35 UTC (rev 58810)
@@ -302,8 +302,7 @@
                BMVert *startv = NULL;
                float dis;
 
-               v = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
-               for (i = 0; i < bm->totvert; i++, BM_iter_step(&iter)) {
+               BM_ITER_MESH (v, &iter, bm, BM_VERTS_OF_MESH) {
                        vd = vdata + BM_elem_index_get(v);
 
                        if (vd->tag)

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c   
2013-08-01 17:18:22 UTC (rev 58809)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c   
2013-08-01 18:33:35 UTC (rev 58810)
@@ -146,12 +146,13 @@
        BMIter iter;
        unsigned int index = bm_wireoffs;
 
-       for (eve = BM_iter_new(&iter, em->bm, BM_VERTS_OF_MESH, NULL); eve; eve 
= BM_iter_step(&iter), index++) {
+       BM_ITER_MESH (eve, &iter, em->bm, BM_VERTS_OF_MESH) {
                if (!BM_elem_flag_test(eve, BM_ELEM_HIDDEN)) {
                        if (EDBM_backbuf_check(index)) {
                                BM_vert_select_set(em->bm, eve, select);
                        }
                }
+               index++;
        }
 }
 
@@ -161,13 +162,13 @@
        BMIter iter;
        int index = bm_solidoffs;
 
-       eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
-       for (; eed; eed = BM_iter_step(&iter), index++) {
+       BM_ITER_MESH (eed, &iter, em->bm, BM_EDGES_OF_MESH) {
                if (!BM_elem_flag_test(eed, BM_ELEM_HIDDEN)) {
                        if (EDBM_backbuf_check(index)) {
                                BM_edge_select_set(em->bm, eed, select);
                        }
                }
+               index++;
        }
 }
 
@@ -177,13 +178,13 @@
        BMIter iter;
        unsigned int index = 1;
 
-       efa = BM_iter_new(&iter, em->bm, BM_FACES_OF_MESH, NULL);
-       for (; efa; efa = BM_iter_step(&iter), index++) {
+       BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
                if (!BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) {
                        if (EDBM_backbuf_check(index)) {
                                BM_face_select_set(em->bm, efa, select);
                        }
                }
+               index++;
        }
 }
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to