Revision: 46606
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46606
Author:   campbellbarton
Date:     2012-05-13 14:47:53 +0000 (Sun, 13 May 2012)
Log Message:
-----------
code cleanup:
- use bmesh iterator macros in more places
- rename scanfill variables (were using same names as mesh faces/verts which 
was confusing)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/displist.c
    trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/key.c
    trunk/blender/source/blender/blenkernel/intern/mesh.c
    trunk/blender/source/blender/blenlib/intern/scanfill.c
    trunk/blender/source/blender/bmesh/operators/bmo_triangulate.c
    trunk/blender/source/blender/editors/mesh/editmesh_knife.c
    trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
    trunk/blender/source/blender/windowmanager/intern/wm_gesture.c

Modified: trunk/blender/source/blender/blenkernel/intern/displist.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/displist.c   2012-05-13 
13:32:48 UTC (rev 46605)
+++ trunk/blender/source/blender/blenkernel/intern/displist.c   2012-05-13 
14:47:53 UTC (rev 46606)
@@ -425,8 +425,8 @@
 void BKE_displist_fill(ListBase *dispbase, ListBase *to, int flipnormal)
 {
        ScanFillContext sf_ctx;
-       ScanFillVert *eve, *v1, *vlast;
-       ScanFillFace *efa;
+       ScanFillVert *sf_vert, *sf_vert_new, *sf_vert_last;
+       ScanFillFace *sf_tri;
        DispList *dlnew = NULL, *dl;
        float *f1;
        int colnr = 0, charidx = 0, cont = 1, tot, a, *index, nextcol = 0;
@@ -454,24 +454,24 @@
                                                /* make editverts and edges */
                                                f1 = dl->verts;
                                                a = dl->nr;
-                                               eve = v1 = NULL;
+                                               sf_vert = sf_vert_new = NULL;
 
                                                while (a--) {
-                                                       vlast = eve;
+                                                       sf_vert_last = sf_vert;
 
-                                                       eve = 
BLI_scanfill_vert_add(&sf_ctx, f1);
+                                                       sf_vert = 
BLI_scanfill_vert_add(&sf_ctx, f1);
                                                        totvert++;
 
-                                                       if (vlast == NULL)
-                                                               v1 = eve;
+                                                       if (sf_vert_last == 
NULL)
+                                                               sf_vert_new = 
sf_vert;
                                                        else {
-                                                               
BLI_scanfill_edge_add(&sf_ctx, vlast, eve);
+                                                               
BLI_scanfill_edge_add(&sf_ctx, sf_vert_last, sf_vert);
                                                        }
                                                        f1 += 3;
                                                }
 
-                                               if (eve != NULL && v1 != NULL) {
-                                                       
BLI_scanfill_edge_add(&sf_ctx, eve, v1);
+                                               if (sf_vert != NULL && 
sf_vert_new != NULL) {
+                                                       
BLI_scanfill_edge_add(&sf_ctx, sf_vert, sf_vert_new);
                                                }
                                        }
                                        else if (colnr < dl->col) {
@@ -499,31 +499,31 @@
                                /* vert data */
                                f1 = dlnew->verts;
                                totvert = 0;
-                               eve = sf_ctx.fillvertbase.first;
-                               while (eve) {
-                                       copy_v3_v3(f1, eve->co);
+                               sf_vert = sf_ctx.fillvertbase.first;
+                               while (sf_vert) {
+                                       copy_v3_v3(f1, sf_vert->co);
                                        f1 += 3;
 
                                        /* index number */
-                                       eve->tmp.l = totvert;
+                                       sf_vert->tmp.l = totvert;
                                        totvert++;
 
-                                       eve = eve->next;
+                                       sf_vert = sf_vert->next;
                                }
 
                                /* index data */
-                               efa = sf_ctx.fillfacebase.first;
+                               sf_tri = sf_ctx.fillfacebase.first;
                                index = dlnew->index;
-                               while (efa) {
-                                       index[0] = (intptr_t)efa->v1->tmp.l;
-                                       index[1] = (intptr_t)efa->v2->tmp.l;
-                                       index[2] = (intptr_t)efa->v3->tmp.l;
+                               while (sf_tri) {
+                                       index[0] = (intptr_t)sf_tri->v1->tmp.l;
+                                       index[1] = (intptr_t)sf_tri->v2->tmp.l;
+                                       index[2] = (intptr_t)sf_tri->v3->tmp.l;
 
                                        if (flipnormal)
                                                SWAP(int, index[0], index[2]);
 
                                        index += 3;
-                                       efa = efa->next;
+                                       sf_tri = sf_tri->next;
                                }
                        }
 

Modified: trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c    
2012-05-13 13:32:48 UTC (rev 46605)
+++ trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c    
2012-05-13 14:47:53 UTC (rev 46606)
@@ -116,7 +116,7 @@
        BMLoop *(*looptris)[3] = NULL;
        BLI_array_declare(looptris);
        BMIter iter, liter;
-       BMFace *f;
+       BMFace *efa;
        BMLoop *l;
        int i = 0, j;
 
@@ -150,9 +150,9 @@
 
 #endif
 
-       BM_ITER_MESH (f, &iter, bm, BM_FACES_OF_MESH) {
+       BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
                /*don't consider two-edged faces*/
-               if (f->len < 3) {
+               if (efa->len < 3) {
                        /* do nothing */
                }
 
@@ -160,20 +160,18 @@
 
                /* no need to ensure the loop order, we know its ok */
 
-               else if (f->len == 3) {
+               else if (efa->len == 3) {
                        BLI_array_grow_one(looptris);
-                       l = BM_iter_new(&liter, bm, BM_LOOPS_OF_FACE, f);
-                       for (j = 0; l; l = BM_iter_step(&liter), j++) {
+                       BM_ITER_ELEM_INDEX (l, &liter, efa, BM_LOOPS_OF_FACE, 
j) {
                                looptris[i][j] = l;
                        }
                        i += 1;
                }
-               else if (f->len == 4) {
+               else if (efa->len == 4) {
                        BMLoop *ltmp[4];
                        BLI_array_grow_items(looptris, 2);
 
-                       l = BM_iter_new(&liter, bm, BM_LOOPS_OF_FACE, f);
-                       for (j = 0; l; l = BM_iter_step(&liter), j++) {
+                       BM_ITER_ELEM_INDEX (l, &liter, efa, BM_LOOPS_OF_FACE, 
j) {
                                ltmp[j] = l;
                        }
 
@@ -191,39 +189,39 @@
 #endif /* USE_TESSFACE_SPEEDUP */
 
                else {
-                       ScanFillVert *v, *lastv = NULL, *firstv = NULL;
+                       ScanFillVert *sf_vert, *sf_vert_last = NULL, 
*sf_vert_first = NULL;
                        /* ScanFillEdge *e; */ /* UNUSED */
-                       ScanFillFace *efa;
+                       ScanFillFace *sf_tri;
                        int totfilltri;
 
                        BLI_scanfill_begin(&sf_ctx);
-                       /*scanfill time*/
-                       l = BM_iter_new(&liter, bm, BM_LOOPS_OF_FACE, f);
-                       for (j = 0; l; l = BM_iter_step(&liter), j++) {
+
+                       /* scanfill time */
+                       BM_ITER_ELEM_INDEX (l, &liter, efa, BM_LOOPS_OF_FACE, 
j) {
                                /*mark order*/
                                BM_elem_index_set(l, j); /* set_loop */
 
-                               v = BLI_scanfill_vert_add(&sf_ctx, l->v->co);
-                               v->tmp.p = l;
+                               sf_vert = BLI_scanfill_vert_add(&sf_ctx, 
l->v->co);
+                               sf_vert->tmp.p = l;
 
-                               if (lastv) {
-                                       /* e = */ 
BLI_scanfill_edge_add(&sf_ctx, lastv, v);
+                               if (sf_vert_last) {
+                                       /* e = */ 
BLI_scanfill_edge_add(&sf_ctx, sf_vert_last, sf_vert);
                                }
 
-                               lastv = v;
-                               if (firstv == NULL) firstv = v;
+                               sf_vert_last = sf_vert;
+                               if (sf_vert_first == NULL) sf_vert_first = 
sf_vert;
                        }
 
-                       /*complete the loop*/
-                       BLI_scanfill_edge_add(&sf_ctx, firstv, v);
+                       /* complete the loop */
+                       BLI_scanfill_edge_add(&sf_ctx, sf_vert_first, sf_vert);
 
-                       totfilltri = BLI_scanfill_calc_ex(&sf_ctx, FALSE, 
f->no);
+                       totfilltri = BLI_scanfill_calc_ex(&sf_ctx, FALSE, 
efa->no);
                        BLI_array_grow_items(looptris, totfilltri);
 
-                       for (efa = sf_ctx.fillfacebase.first; efa; efa = 
efa->next) {
-                               BMLoop *l1 = efa->v1->tmp.p;
-                               BMLoop *l2 = efa->v2->tmp.p;
-                               BMLoop *l3 = efa->v3->tmp.p;
+                       for (sf_tri = sf_ctx.fillfacebase.first; sf_tri; sf_tri 
= sf_tri->next) {
+                               BMLoop *l1 = sf_tri->v1->tmp.p;
+                               BMLoop *l2 = sf_tri->v2->tmp.p;
+                               BMLoop *l3 = sf_tri->v3->tmp.p;
 
                                if (BM_elem_index_get(l1) > 
BM_elem_index_get(l2)) { SWAP(BMLoop *, l1, l2); }
                                if (BM_elem_index_get(l2) > 
BM_elem_index_get(l3)) { SWAP(BMLoop *, l2, l3); }
@@ -384,16 +382,16 @@
 
                BM_mesh_elem_index_ensure(bmdm->tc->bm, BM_VERT);
 
-               eed = BM_iter_new(&iter, bmdm->tc->bm, BM_EDGES_OF_MESH, NULL);
-               for (i = 0; eed; i++, eed = BM_iter_step(&iter))
+               BM_ITER_MESH_INDEX (eed, &iter, bmdm->tc->bm, BM_EDGES_OF_MESH, 
i) {
                        func(userData, i,
                             bmdm->vertexCos[BM_elem_index_get(eed->v1)],
                             bmdm->vertexCos[BM_elem_index_get(eed->v2)]);
+               }
        }
        else {
-               eed = BM_iter_new(&iter, bmdm->tc->bm, BM_EDGES_OF_MESH, NULL);
-               for (i = 0; eed; i++, eed = BM_iter_step(&iter))
+               BM_ITER_MESH_INDEX (eed, &iter, bmdm->tc->bm, BM_EDGES_OF_MESH, 
i) {
                        func(userData, i, eed->v1->co, eed->v2->co);
+               }
        }
 }
 
@@ -411,8 +409,7 @@
                BM_mesh_elem_index_ensure(bmdm->tc->bm, BM_VERT);
 
                glBegin(GL_LINES);
-               eed = BM_iter_new(&iter, bmdm->tc->bm, BM_EDGES_OF_MESH, NULL);
-               for (i = 0; eed; i++, eed = BM_iter_step(&iter)) {
+               BM_ITER_MESH_INDEX (eed, &iter, bmdm->tc->bm, BM_EDGES_OF_MESH, 
i) {
                        if (!setDrawOptions || (setDrawOptions(userData, i) != 
DM_DRAW_OPTION_SKIP)) {
                                
glVertex3fv(bmdm->vertexCos[BM_elem_index_get(eed->v1)]);
                                
glVertex3fv(bmdm->vertexCos[BM_elem_index_get(eed->v2)]);
@@ -422,8 +419,7 @@
        }
        else {
                glBegin(GL_LINES);
-               eed = BM_iter_new(&iter, bmdm->tc->bm, BM_EDGES_OF_MESH, NULL);
-               for (i = 0; eed; i++, eed = BM_iter_step(&iter)) {
+               BM_ITER_MESH_INDEX (eed, &iter, bmdm->tc->bm, BM_EDGES_OF_MESH, 
i) {
                        if (!setDrawOptions || (setDrawOptions(userData, i) != 
DM_DRAW_OPTION_SKIP)) {
                                glVertex3fv(eed->v1->co);
                                glVertex3fv(eed->v2->co);
@@ -454,8 +450,7 @@
                BM_mesh_elem_index_ensure(bmdm->tc->bm, BM_VERT);
 
                glBegin(GL_LINES);
-               eed = BM_iter_new(&iter, bmdm->tc->bm, BM_EDGES_OF_MESH, NULL);
-               for (i = 0; eed; i++, eed = BM_iter_step(&iter)) {
+               BM_ITER_MESH_INDEX (eed, &iter, bmdm->tc->bm, BM_EDGES_OF_MESH, 
i) {
                        if (!setDrawOptions || (setDrawOptions(userData, i) != 
DM_DRAW_OPTION_SKIP)) {
                                setDrawInterpOptions(userData, i, 0.0);
                                
glVertex3fv(bmdm->vertexCos[BM_elem_index_get(eed->v1)]);
@@ -467,8 +462,7 @@
        }
        else {
                glBegin(GL_LINES);
-               eed = BM_iter_new(&iter, bmdm->tc->bm, BM_EDGES_OF_MESH, NULL);
-               for (i = 0; eed; i++, eed = BM_iter_step(&iter)) {
+               BM_ITER_MESH_INDEX (eed, &iter, bmdm->tc->bm, BM_EDGES_OF_MESH, 
i) {
                        if (!setDrawOptions || (setDrawOptions(userData, i) != 
DM_DRAW_OPTION_SKIP)) {
                                setDrawInterpOptions(userData, i, 0.0);
                                glVertex3fv(eed->v1->co);
@@ -518,9 +512,9 @@
        glEnd();
 }
 
-static void emDM__calcFaceCent(BMesh *bm, BMFace *efa, float cent[3], float 
(*vertexCos)[3])
+static void emDM__calcFaceCent(BMFace *efa, float cent[3], float 
(*vertexCos)[3])
 {
-       BMIter iter;
+       BMIter liter;
        BMLoop *l;
        int tot = 0;
 
@@ -529,15 +523,13 @@
        /*simple (and stupid) median (average) based method :/ */
 
        if (vertexCos) {
-               l = BM_iter_new(&iter, bm, BM_LOOPS_OF_FACE, efa);
-               for (; l; l = BM_iter_step(&iter)) {
+               BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
                        add_v3_v3(cent, vertexCos[BM_elem_index_get(l->v)]);
                        tot++;
                }
        }
        else {
-               l = BM_iter_new(&iter, bm, BM_LOOPS_OF_FACE, efa);
-               for (; l; l = BM_iter_step(&iter)) {
+               BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
                        add_v3_v3(cent, l->v->co);
                        tot++;
                }
@@ -567,7 +559,7 @@
        }
 
        BM_ITER_MESH_INDEX (efa, &iter, bmdm->tc->bm, BM_FACES_OF_MESH, i) {
-               emDM__calcFaceCent(bmdm->tc->bm, efa, cent, bmdm->vertexCos);
+               emDM__calcFaceCent(efa, cent, bmdm->vertexCos);
                func(userData, i, cent, polyNos ? polyNos[i] : efa->no);
        }
 }
@@ -1369,23 +1361,34 @@
 {
        EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm;
        BMesh *bm = bmdm->tc->bm;
-       BMVert *ev;
+       BMVert *eve;
        BMIter iter;
-       int i;
+       const int has_bweight = CustomData_has_layer(&bm->vdata, CD_BWEIGHT);
 
-       ev = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
-       for (i = 0; ev; ev = BM_iter_step(&iter), ++vert_r, ++i) {
-               if (bmdm->vertexCos)
+       if (bmdm->vertexCos) {
+               int i;
+
+               BM_ITER_MESH_INDEX (eve, &iter, bm, BM_VERTS_OF_MESH, i) {
                        copy_v3_v3(vert_r->co, bmdm->vertexCos[i]);
-               else
-                       copy_v3_v3(vert_r->co, ev->co);
+                       normal_float_to_short_v3(vert_r->no, eve->no);
+                       vert_r->flag = BM_vert_flag_to_mflag(eve);
 
-               normal_float_to_short_v3(vert_r->no, ev->no);
+                       if (has_bweight) {
+                               vert_r->bweight = (unsigned char) 
(BM_elem_float_data_get(&bm->vdata, eve, CD_BWEIGHT) * 255.0f);
+                       }
+                       vert_r++;
+               }
+       }
+       else {
+               BM_ITER_MESH (eve, &iter, bm, BM_VERTS_OF_MESH) {

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to