code cleanup: first step to replace BM_ITER BM_ITER_INDEX macros.
authorCampbell Barton <ideasman42@gmail.com>
Thu, 19 Apr 2012 12:45:56 +0000 (12:45 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 19 Apr 2012 12:45:56 +0000 (12:45 +0000)
source/blender/blenkernel/intern/customdata.c
source/blender/bmesh/intern/bmesh_iterators.c
source/blender/bmesh/intern/bmesh_iterators.h
source/blender/bmesh/intern/bmesh_mesh.c
source/blender/bmesh/intern/bmesh_operators.c
source/blender/editors/mesh/editmesh_select.c
source/blender/editors/mesh/editmesh_tools.c
source/blender/editors/mesh/editmesh_utils.c

index f2238a37ff997a8371f9ccbacd622474eaa5538b..b0c0294ca39fec58220a6d5a5f2da05daddb9b65 100644 (file)
@@ -2191,7 +2191,7 @@ void CustomData_bmesh_merge(CustomData *source, CustomData *dest,
 
        if (t != BM_LOOPS_OF_FACE) {
                /*ensure all current elements follow new customdata layout*/
-               BM_ITER (h, &iter, bm, t, NULL) {
+               BM_ITER_MESH (h, &iter, bm, t) {
                        tmp = NULL;
                        CustomData_bmesh_copy_data(&destold, dest, h->data, &tmp);
                        CustomData_bmesh_free_block(&destold, &h->data);
index b234d4514c07420e118b3a50c061b8135268b849..384715d74f7489c2a4473ebc8a52b747df674d6d 100644 (file)
@@ -83,18 +83,17 @@ void *BM_iter_at_index(BMesh *bm, const char itype, void *data, int index)
  * Sometimes its convenient to get the iterator as an array
  * to avoid multiple calls to #BM_iter_at_index.
  */
-int BM_iter_as_array(BMesh *bm, const char type, void *data, void **array, const int len)
+int BM_iter_as_array(BMesh *bm, const char itype, void *data, void **array, const int len)
 {
        int i = 0;
 
        /* sanity check */
        if (len > 0) {
-
                BMIter iter;
-               void *val;
+               void *ele;
 
-               BM_ITER (val, &iter, bm, type, data) {
-                       array[i] = val;
+               for (ele = BM_iter_new(&iter, bm, itype, data); ele; ele = BM_iter_step(&iter)) {
+                       array[i] = ele;
                        i++;
                        if (i == len) {
                                return len;
index d3566d8aead81519b3a4939646c3f87d2e9ede09..65da25015eec98eade35bcd6cfeb69092ade58c2 100644 (file)
@@ -83,13 +83,24 @@ typedef enum BMIterType {
 extern const char bm_iter_itype_htype_map[BM_ITYPE_MAX];
 
 
-#define BM_ITER(ele, iter, bm, itype, data)                                   \
-       ele = BM_iter_new(iter, bm, itype, data);                                 \
-       for ( ; ele; ele = BM_iter_step(iter))
+#define BM_ITER(ele, iter, bm, itype, data) \
+       for (ele = BM_iter_new(iter, bm, itype, data); ele; ele = BM_iter_step(iter))
+
+#define BM_ITER_MESH(ele, iter, bm, itype) \
+       for (ele = BM_iter_new(iter, bm, itype, NULL); ele; ele = BM_iter_step(iter))
+
+#define BM_ITER_MESH_INDEX(ele, iter, bm, itype, indexvar) \
+       for (ele = BM_iter_new(iter, bm, itype, NULL), indexvar = 0; ele; ele = BM_iter_step(iter), (indexvar)++)
+
+#define BM_ITER_ELEM(ele, iter, data, itype) \
+       for (ele = BM_iter_new(iter, NULL, itype, data); ele; ele = BM_iter_step(iter))
+
+#define BM_ITER_ELEM_INDEX(ele, iter, data, itype) \
+       for (ele = BM_iter_new(iter, NULL, itype, data), indexvar = 0; ele; ele = BM_iter_step(iter), (indexvar)++)
+
+#define BM_ITER_INDEX(ele, iter, bm, itype, data, indexvar) \
+       for (ele = BM_iter_new(iter, bm, itype, data), indexvar = 0; ele; ele = BM_iter_step(iter), (indexvar)++)
 
-#define BM_ITER_INDEX(ele, iter, bm, itype, data, indexvar)                   \
-       ele = BM_iter_new(iter, bm, itype, data);                                 \
-       for (indexvar = 0; ele; indexvar++, ele = BM_iter_step(iter))
 
 /* Iterator Structure */
 typedef struct BMIter {
index c70e694f9ea0f6520967fdab1e39bba6480de0e2..d3c0404e73e36431d31edc00e4b21434cda53369 100644 (file)
@@ -214,7 +214,7 @@ void BM_mesh_normals_update(BMesh *bm, const short skip_hidden)
        BM_ITER (f, &faces, bm, BM_FACES_OF_MESH, NULL) {
                if (skip_hidden && BM_elem_flag_test(f, BM_ELEM_HIDDEN))
                        continue;
-#if 0  /* UNUSED */
+#if 0   /* UNUSED */
                if (f->head.flag & BM_NONORMCALC)
                        continue;
 #endif
@@ -304,7 +304,7 @@ void BM_mesh_normals_update(BMesh *bm, const short skip_hidden)
  */
 
 //keep in sycn with utils.c!
-#define FACE_FLIP      8
+#define FACE_FLIP   8
 static void bm_rationalize_normals(BMesh *bm, int undo)
 {
        BMOperator bmop;
@@ -540,7 +540,7 @@ void BM_mesh_elem_index_validate(BMesh *bm, const char *location, const char *fu
                int err_val = 0;
                int err_idx = 0;
 
-               BM_ITER (ele, &iter, bm, iter_types[i], NULL) {
+               BM_ITER_MESH (ele, &iter, bm, iter_types[i]) {
                        if (!is_dirty) {
                                if (BM_elem_index_get(ele) != index) {
                                        err_val = BM_elem_index_get(ele);
@@ -561,7 +561,7 @@ void BM_mesh_elem_index_validate(BMesh *bm, const char *location, const char *fu
                }
                else if ((is_error == FALSE) && (is_dirty == TRUE)) {
 
-#if 0          /* mostly annoying */
+#if 0       /* mostly annoying */
 
                        /* dirty may have been incorrectly set */
                        fprintf(stderr,
@@ -619,8 +619,8 @@ void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
                vptr_map = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "BM_mesh_remap vert pointers mapping");
 
                /* Make a copy of all vertices. */
-               verts_pool = MEM_callocN(sizeof(BMVert*) * totvert, "BM_mesh_remap verts pool");
-               BM_iter_as_array(bm, BM_VERTS_OF_MESH, NULL, (void**)verts_pool, totvert);
+               verts_pool = MEM_callocN(sizeof(BMVert *) * totvert, "BM_mesh_remap verts pool");
+               BM_iter_as_array(bm, BM_VERTS_OF_MESH, NULL, (void **)verts_pool, totvert);
                verts_copy = MEM_mallocN(sizeof(BMVert) * totvert, "BM_mesh_remap verts copy");
                for (i = totvert, ve = verts_copy + totvert - 1, vep = verts_pool + totvert - 1; i--; ve--, vep--) {
                        *ve = **vep;
@@ -635,7 +635,7 @@ void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
                        BMVert *new_vep = verts_pool[*new_idx];
                        *new_vep = *ve;
 /*                     printf("mapping vert from %d to %d (%p/%p to %p)\n", i, *new_idx, *vep, verts_pool[i], new_vep);*/
-                       BLI_ghash_insert(vptr_map, (void*)*vep, (void*)new_vep);
+                       BLI_ghash_insert(vptr_map, (void *)*vep, (void *)new_vep);
                }
                bm->elem_index_dirty |= BM_VERT;
 
@@ -653,8 +653,8 @@ void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
                eptr_map = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "BM_mesh_remap edge pointers mapping");
 
                /* Make a copy of all vertices. */
-               edges_pool = MEM_callocN(sizeof(BMEdge*) * totedge, "BM_mesh_remap edges pool");
-               BM_iter_as_array(bm, BM_EDGES_OF_MESH, NULL, (void**)edges_pool, totedge);
+               edges_pool = MEM_callocN(sizeof(BMEdge *) * totedge, "BM_mesh_remap edges pool");
+               BM_iter_as_array(bm, BM_EDGES_OF_MESH, NULL, (void **)edges_pool, totedge);
                edges_copy = MEM_mallocN(sizeof(BMEdge) * totedge, "BM_mesh_remap edges copy");
                for (i = totedge, ed = edges_copy + totedge - 1, edp = edges_pool + totedge - 1; i--; ed--, edp--) {
                        *ed = **edp;
@@ -667,7 +667,7 @@ void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
                for (i = totedge; i--; new_idx--, ed--, edp--) {
                        BMEdge *new_edp = edges_pool[*new_idx];
                        *new_edp = *ed;
-                       BLI_ghash_insert(eptr_map, (void*)*edp, (void*)new_edp);
+                       BLI_ghash_insert(eptr_map, (void *)*edp, (void *)new_edp);
                }
 
                bm->elem_index_dirty |= BM_EDGE;
@@ -686,8 +686,8 @@ void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
                fptr_map = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "BM_mesh_remap face pointers mapping");
 
                /* Make a copy of all vertices. */
-               faces_pool = MEM_callocN(sizeof(BMFace*) * totface, "BM_mesh_remap faces pool");
-               BM_iter_as_array(bm, BM_FACES_OF_MESH, NULL, (void**)faces_pool, totface);
+               faces_pool = MEM_callocN(sizeof(BMFace *) * totface, "BM_mesh_remap faces pool");
+               BM_iter_as_array(bm, BM_FACES_OF_MESH, NULL, (void **)faces_pool, totface);
                faces_copy = MEM_mallocN(sizeof(BMFace) * totface, "BM_mesh_remap faces copy");
                for (i = totface, fa = faces_copy + totface - 1, fap = faces_pool + totface - 1; i--; fa--, fap--) {
                        *fa = **fap;
@@ -700,7 +700,7 @@ void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
                for (i = totface; i--; new_idx--, fa--, fap--) {
                        BMFace *new_fap = faces_pool[*new_idx];
                        *new_fap = *fa;
-                       BLI_ghash_insert(fptr_map, (void*)*fap, (void*)new_fap);
+                       BLI_ghash_insert(fptr_map, (void *)*fap, (void *)new_fap);
                }
 
                bm->elem_index_dirty |= BM_FACE;
@@ -712,36 +712,36 @@ void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
        /* And now, fix all vertices/edges/faces/loops pointers! */
        /* Verts' pointers, only edge pointers... */
        if (eptr_map) {
-               BM_ITER(ve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
+               BM_ITER (ve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
 /*                     printf("Vert e: %p -> %p\n", ve->e, BLI_ghash_lookup(eptr_map, (const void*)ve->e));*/
-                       ve->e = BLI_ghash_lookup(eptr_map, (const void*)ve->e);
+                       ve->e = BLI_ghash_lookup(eptr_map, (const void *)ve->e);
                }
        }
 
        /* Edges' pointers, only vert pointers (as we don’t mess with loops!)... */
        if (vptr_map) {
-               BM_ITER(ed, &iter, bm, BM_EDGES_OF_MESH, NULL) {
+               BM_ITER (ed, &iter, bm, BM_EDGES_OF_MESH, NULL) {
 /*                     printf("Edge v1: %p -> %p\n", ed->v1, BLI_ghash_lookup(vptr_map, (const void*)ed->v1));*/
 /*                     printf("Edge v2: %p -> %p\n", ed->v2, BLI_ghash_lookup(vptr_map, (const void*)ed->v2));*/
-                       ed->v1 = BLI_ghash_lookup(vptr_map, (const void*)ed->v1);
-                       ed->v2 = BLI_ghash_lookup(vptr_map, (const void*)ed->v2);
+                       ed->v1 = BLI_ghash_lookup(vptr_map, (const void *)ed->v1);
+                       ed->v2 = BLI_ghash_lookup(vptr_map, (const void *)ed->v2);
                }
        }
 
        /* Faces' pointers (loops, in fact), always needed... */
-       BM_ITER(fa, &iter, bm, BM_FACES_OF_MESH, NULL) {
-               BM_ITER(lo, &iterl, bm, BM_LOOPS_OF_FACE, fa) {
+       BM_ITER (fa, &iter, bm, BM_FACES_OF_MESH, NULL) {
+               BM_ITER (lo, &iterl, bm, BM_LOOPS_OF_FACE, fa) {
                        if (vptr_map) {
 /*                             printf("Loop v: %p -> %p\n", lo->v, BLI_ghash_lookup(vptr_map, (const void*)lo->v));*/
-                               lo->v = BLI_ghash_lookup(vptr_map, (const void*)lo->v);
+                               lo->v = BLI_ghash_lookup(vptr_map, (const void *)lo->v);
                        }
                        if (eptr_map) {
 /*                             printf("Loop e: %p -> %p\n", lo->e, BLI_ghash_lookup(eptr_map, (const void*)lo->e));*/
-                               lo->e = BLI_ghash_lookup(eptr_map, (const void*)lo->e);
+                               lo->e = BLI_ghash_lookup(eptr_map, (const void *)lo->e);
                        }
                        if (fptr_map) {
 /*                             printf("Loop f: %p -> %p\n", lo->f, BLI_ghash_lookup(fptr_map, (const void*)lo->f));*/
-                               lo->f = BLI_ghash_lookup(fptr_map, (const void*)lo->f);
+                               lo->f = BLI_ghash_lookup(fptr_map, (const void *)lo->f);
                        }
                }
        }
index 32abaf10f6488eeb0bb5aa159164bc0389357080..e16554eb637aad1b32880f4c4134611f167b69c4 100644 (file)
@@ -473,7 +473,7 @@ static int bmo_mesh_flag_count(BMesh *bm, const char htype, const short oflag,
 
        for (i = 0; i < 3; i++) {
                if (htype & flag_types[i]) {
-                       BM_ITER (ele_f, &iter, bm, iter_types[i], NULL) {
+                       BM_ITER_MESH (ele_f, &iter, bm, iter_types[i]) {
                                if (BMO_elem_flag_test_bool(bm, ele_f, oflag) == test_for_enabled)
                                        count++;
                        }
@@ -508,7 +508,7 @@ void BMO_mesh_flag_disable_all(BMesh *bm, BMOperator *UNUSED(op), const char hty
 
        for (i = 0; i < 3; i++) {
                if (htype & flag_types[i]) {
-                       BM_ITER (ele, &iter, bm, iter_types[i], NULL) {
+                       BM_ITER_MESH (ele, &iter, bm, iter_types[i]) {
                                BMO_elem_flag_disable(bm, ele, oflag);
                        }
                }
index df1775c3f0743747849cc01982df3c093ddb0132..831813c566f8da2ae774a76bcaa718ed8b0851b3 100644 (file)
@@ -2044,7 +2044,7 @@ static void walker_deselect_nth(BMEditMesh *em, int nth, int offset, BMHeader *h
        /* Walker restrictions uses BMO flags, not header flags,
         * so transfer BM_ELEM_SELECT from HFlags onto a BMO flag layer. */
        BMO_push(bm, NULL);
-       BM_ITER (ele, &iter, bm, itertype, NULL) {
+       BM_ITER_MESH (ele, &iter, bm, itertype) {
                if (BM_elem_flag_test(ele, BM_ELEM_SELECT)) {
                        /* BMESH_TODO, don't use 'BM_ELEM_SELECT' here, its a HFLAG only! */
                        BMO_elem_flag_enable(bm, (BMElemF *)ele, BM_ELEM_SELECT);
index fe9571b1978bbdc2725bfd93e34879f28e35ebda..ba280878b2ac2f2ed3f9a6d32f3d75df6dc4acd7 100644 (file)
@@ -159,7 +159,7 @@ void EMBM_project_snap_verts(bContext *C, ARegion *ar, Object *obedit, BMEditMes
        BMIter iter;
        BMVert *eve;
 
-       BM_ITER (eve, &iter, em->bm, BM_VERTS_OF_MESH, NULL)    {
+       BM_ITER (eve, &iter, em->bm, BM_VERTS_OF_MESH, NULL) {
                if (BM_elem_flag_test(eve, BM_ELEM_SELECT)) {
                        float mval[2], vec[3], no_dummy[3];
                        int dist_dummy;
@@ -350,8 +350,7 @@ static short edbm_extrude_vert(Object *obedit, BMEditMesh *em, const char hflag,
        BMEdge *eed;
                
        /* ensure vert flags are consistent for edge selections */
-       eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
-       for ( ; eed; eed = BM_iter_step(&iter)) {
+       BM_ITER_MESH(eed, &iter, em->bm, BM_EDGES_OF_MESH) {
                if (BM_elem_flag_test(eed, hflag)) {
                        if (hflag & BM_ELEM_SELECT) {
                                BM_elem_select_set(em->bm, eed->v1, TRUE);
@@ -2033,7 +2032,7 @@ void MESH_OT_remove_doubles(wmOperatorType *ot)
 {
        /* identifiers */
        ot->name = "Remove Doubles";
-       ot->description= "Remove duplicate vertices";
+       ot->description = "Remove duplicate vertices";
        ot->idname = "MESH_OT_remove_doubles";
 
        /* api callbacks */
@@ -3662,7 +3661,7 @@ static void xsortvert_flag(bContext *C, int flag)
        sortblock = MEM_callocN(sizeof(xvertsort) * totvert, "xsort sorted");
        /* Stores unchanged verts, will be reused as final old2new vert mapping... */
        unchangedblock = MEM_callocN(sizeof(int) * totvert, "xsort unchanged");
-       BM_ITER_INDEX(ve, &iter, em->bm, BM_VERTS_OF_MESH, NULL, i) {
+       BM_ITER_INDEX (ve, &iter, em->bm, BM_VERTS_OF_MESH, NULL, i) {
                if (BM_elem_flag_test(ve, flag)) {
                        sortblock[i].org_idx = i;
                        sorted++;
@@ -3754,8 +3753,8 @@ static int float_sort(const void *v1, const void *v2)
        x1 = face_sort_floats[((int *) v1)[0]];
        x2 = face_sort_floats[((int *) v2)[0]];
        
-       if (x1 > x2)       return  1;
-       else if (x1 < x2)  return -1;
+       if      (x1 > x2) return  1;
+       else if (x1 < x2) return -1;
        return 0;
 }
 
index d48f1776c596e0baf7a81e57571b1a64b35958a8..13e059bb5d8ad16772b58dfcdf0c39fc3fd97852 100644 (file)
@@ -1189,7 +1189,7 @@ void EDBM_mesh_hide(BMEditMesh *em, int swap)
        else
                itermode = BM_FACES_OF_MESH;
 
-       BM_ITER (ele, &iter, em->bm, itermode, NULL) {
+       BM_ITER_MESH (ele, &iter, em->bm, itermode) {
                if (BM_elem_flag_test(ele, BM_ELEM_SELECT) ^ swap)
                        BM_elem_hide_set(em->bm, ele, TRUE);
        }
@@ -1223,7 +1223,7 @@ void EDBM_mesh_reveal(BMEditMesh *em)
        /* Use tag flag to remember what was hidden before all is revealed.
         * BM_ELEM_HIDDEN --> BM_ELEM_TAG */
        for (i = 0; i < 3; i++) {
-               BM_ITER (ele, &iter, em->bm, iter_types[i], NULL) {
+               BM_ITER_MESH (ele, &iter, em->bm, iter_types[i]) {
                        BM_elem_flag_set(ele, BM_ELEM_TAG, BM_elem_flag_test(ele, BM_ELEM_HIDDEN));
                }
        }
@@ -1237,7 +1237,7 @@ void EDBM_mesh_reveal(BMEditMesh *em)
                        continue;
                }
 
-               BM_ITER (ele, &iter, em->bm, iter_types[i], NULL) {
+               BM_ITER_MESH (ele, &iter, em->bm, iter_types[i]) {
                        if (BM_elem_flag_test(ele, BM_ELEM_TAG)) {
                                BM_elem_select_set(em->bm, ele, TRUE);
                        }