From c8ebfe1d12f87ae453fc9191fa7e3ae30aa800d4 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 13 May 2012 14:47:53 +0000 Subject: [PATCH] code cleanup: - use bmesh iterator macros in more places - rename scanfill variables (were using same names as mesh faces/verts which was confusing) --- source/blender/blenkernel/intern/displist.c | 42 ++--- .../blenkernel/intern/editderivedmesh.c | 158 +++++++++--------- source/blender/blenkernel/intern/key.c | 3 +- source/blender/blenkernel/intern/mesh.c | 32 ++-- source/blender/blenlib/intern/scanfill.c | 76 ++++----- .../blender/bmesh/operators/bmo_triangulate.c | 30 ++-- source/blender/editors/mesh/editmesh_knife.c | 56 +++---- .../editors/uvedit/uvedit_unwrap_ops.c | 32 ++-- .../blender/windowmanager/intern/wm_gesture.c | 26 +-- 9 files changed, 229 insertions(+), 226 deletions(-) diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 17c65856dd6..9b172b50bca 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -425,8 +425,8 @@ static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, i 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 @@ void BKE_displist_fill(ListBase *dispbase, ListBase *to, int flipnormal) /* 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 @@ void BKE_displist_fill(ListBase *dispbase, ListBase *to, int flipnormal) /* 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; } } diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c index 585e0e1c745..024a1ecb819 100644 --- a/source/blender/blenkernel/intern/editderivedmesh.c +++ b/source/blender/blenkernel/intern/editderivedmesh.c @@ -116,7 +116,7 @@ static void BMEdit_RecalcTessellation_intern(BMEditMesh *tm) 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 @@ static void BMEdit_RecalcTessellation_intern(BMEditMesh *tm) #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 @@ static void BMEdit_RecalcTessellation_intern(BMEditMesh *tm) /* 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 @@ static void BMEdit_RecalcTessellation_intern(BMEditMesh *tm) #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 @@ static void emDM_foreachMappedEdge(DerivedMesh *dm, 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 @@ static void emDM_drawMappedEdges(DerivedMesh *dm, 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 @@ static void emDM_drawMappedEdges(DerivedMesh *dm, } 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 @@ static void emDM_drawMappedEdgesInterp(DerivedMesh *dm, 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 @@ static void emDM_drawMappedEdgesInterp(DerivedMesh *dm, } 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 @@ static void emDM_drawUVEdges(DerivedMesh *dm) 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 @@ static void emDM__calcFaceCent(BMesh *bm, BMFace *efa, float cent[3], float (*ve /*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 @@ static void emDM_foreachMappedFaceCenter(DerivedMesh *dm, } 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 @@ static void emDM_copyVertArray(DerivedMesh *dm, MVert *vert_r) { 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) { + copy_v3_v3(vert_r->co, eve->co); + normal_float_to_short_v3(vert_r->no, eve->no); + vert_r->flag = BM_vert_flag_to_mflag(eve); - vert_r->flag = BM_vert_flag_to_mflag(ev); - - if (CustomData_has_layer(&bm->vdata, CD_BWEIGHT)) { - vert_r->bweight = (unsigned char) (BM_elem_float_data_get(&bm->vdata, ev, CD_BWEIGHT) * 255.0f); + if (has_bweight) { + vert_r->bweight = (unsigned char) (BM_elem_float_data_get(&bm->vdata, eve, CD_BWEIGHT) * 255.0f); + } + vert_r++; } } } @@ -1393,26 +1396,28 @@ static void emDM_copyVertArray(DerivedMesh *dm, MVert *vert_r) static void emDM_copyEdgeArray(DerivedMesh *dm, MEdge *edge_r) { BMesh *bm = ((EditDerivedBMesh *)dm)->tc->bm; - BMEdge *ee; + BMEdge *eed; BMIter iter; - int has_bweight = CustomData_has_layer(&bm->edata, CD_BWEIGHT); - int has_crease = CustomData_has_layer(&bm->edata, CD_CREASE); + const int has_bweight = CustomData_has_layer(&bm->edata, CD_BWEIGHT); + const int has_crease = CustomData_has_layer(&bm->edata, CD_CREASE); BM_mesh_elem_index_ensure(bm, BM_VERT); - for (ee = BM_iter_new(&iter, bm, BM_EDGES_OF_MESH, NULL); ee; ee = BM_iter_step(&iter), edge_r++) { + BM_ITER_MESH (eed, &iter, bm, BM_EDGES_OF_MESH) { if (has_bweight) { - edge_r->bweight = (unsigned char) (BM_elem_float_data_get(&bm->edata, ee, CD_BWEIGHT) * 255.0f); + edge_r->bweight = (unsigned char) (BM_elem_float_data_get(&bm->edata, eed, CD_BWEIGHT) * 255.0f); } if (has_crease) { - edge_r->crease = (unsigned char) (BM_elem_float_data_get(&bm->edata, ee, CD_CREASE) * 255.0f); + edge_r->crease = (unsigned char) (BM_elem_float_data_get(&bm->edata, eed, CD_CREASE) * 255.0f); } - edge_r->flag = BM_edge_flag_to_mflag(ee); + edge_r->flag = BM_edge_flag_to_mflag(eed); - edge_r->v1 = BM_elem_index_get(ee->v1); - edge_r->v2 = BM_elem_index_get(ee->v2); + edge_r->v1 = BM_elem_index_get(eed->v1); + edge_r->v2 = BM_elem_index_get(eed->v2); + + edge_r++; } } @@ -1443,19 +1448,18 @@ static void emDM_copyTessFaceArray(DerivedMesh *dm, MFace *face_r) } } - static void emDM_copyLoopArray(DerivedMesh *dm, MLoop *loop_r) { EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm; BMesh *bm = bmdm->tc->bm; BMIter iter, liter; - BMFace *f; + BMFace *efa; BMLoop *l; BM_mesh_elem_index_ensure(bm, BM_VERT | BM_EDGE); - BM_ITER_MESH (f, &iter, bm, BM_FACES_OF_MESH) { - BM_ITER_ELEM (l, &liter, f, BM_LOOPS_OF_FACE) { + BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) { + BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) { loop_r->v = BM_elem_index_get(l->v); loop_r->e = BM_elem_index_get(l->e); loop_r++; @@ -1468,18 +1472,18 @@ static void emDM_copyPolyArray(DerivedMesh *dm, MPoly *poly_r) EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm; BMesh *bm = bmdm->tc->bm; BMIter iter; - BMFace *f; + BMFace *efa; int i; i = 0; - BM_ITER_MESH (f, &iter, bm, BM_FACES_OF_MESH) { - poly_r->flag = BM_face_flag_to_mflag(f); + BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) { + poly_r->flag = BM_face_flag_to_mflag(efa); poly_r->loopstart = i; - poly_r->totloop = f->len; - poly_r->mat_nr = f->mat_nr; + poly_r->totloop = efa->len; + poly_r->mat_nr = efa->mat_nr; poly_r++; - i += f->len; + i += efa->len; } } diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c index e36e7bf6cf3..f4ec223a2fe 100644 --- a/source/blender/blenkernel/intern/key.c +++ b/source/blender/blenkernel/intern/key.c @@ -1055,8 +1055,7 @@ static float *get_weights_array(Object *ob, char *vgroup) weights = MEM_callocN(totvert * sizeof(float), "weights"); if (em) { - eve = BM_iter_new(&iter, em->bm, BM_VERTS_OF_MESH, NULL); - for (i = 0; eve; eve = BM_iter_step(&iter), i++) { + BM_ITER_MESH_INDEX (eve, &iter, em->bm, BM_VERTS_OF_MESH, i) { dvert = CustomData_bmesh_get(&em->bm->vdata, eve->head.data, CD_MDEFORMVERT); if (dvert) { diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index 537c64a4dbc..d478302931f 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -2391,8 +2391,8 @@ int BKE_mesh_recalc_tessellation(CustomData *fdata, MFace *mface = NULL, *mf; BLI_array_declare(mface); ScanFillContext sf_ctx; - ScanFillVert *v, *lastv, *firstv; - ScanFillFace *f; + ScanFillVert *sf_vert, *sf_vert_last, *sf_vert_first; + ScanFillFace *sf_tri; int *mface_orig_index = NULL; BLI_array_declare(mface_orig_index); int *mface_to_poly_map = NULL; @@ -2485,21 +2485,21 @@ int BKE_mesh_recalc_tessellation(CustomData *fdata, ml = mloop + mp->loopstart; BLI_scanfill_begin(&sf_ctx); - firstv = NULL; - lastv = NULL; + sf_vert_first = NULL; + sf_vert_last = NULL; for (j = 0; j < mp->totloop; j++, ml++) { - v = BLI_scanfill_vert_add(&sf_ctx, mvert[ml->v].co); + sf_vert = BLI_scanfill_vert_add(&sf_ctx, mvert[ml->v].co); - v->keyindex = mp->loopstart + j; + sf_vert->keyindex = mp->loopstart + j; - if (lastv) - BLI_scanfill_edge_add(&sf_ctx, lastv, v); + if (sf_vert_last) + BLI_scanfill_edge_add(&sf_ctx, sf_vert_last, sf_vert); - if (!firstv) - firstv = v; - lastv = v; + if (!sf_vert_first) + sf_vert_first = sf_vert; + sf_vert_last = sf_vert; } - BLI_scanfill_edge_add(&sf_ctx, lastv, firstv); + BLI_scanfill_edge_add(&sf_ctx, sf_vert_last, sf_vert_first); totfilltri = BLI_scanfill_calc(&sf_ctx, FALSE); if (totfilltri) { @@ -2509,14 +2509,14 @@ int BKE_mesh_recalc_tessellation(CustomData *fdata, BLI_array_grow_items(mface_orig_index, totfilltri); } - for (f = sf_ctx.fillfacebase.first; f; f = f->next, mf++) { + for (sf_tri = sf_ctx.fillfacebase.first; sf_tri; sf_tri = sf_tri->next, mf++) { mface_to_poly_map[mface_index] = poly_index; mf = &mface[mface_index]; /* set loop indices, transformed to vert indices later */ - mf->v1 = f->v1->keyindex; - mf->v2 = f->v2->keyindex; - mf->v3 = f->v3->keyindex; + mf->v1 = sf_tri->v1->keyindex; + mf->v2 = sf_tri->v2->keyindex; + mf->v3 = sf_tri->v3->keyindex; mf->v4 = 0; mf->mat_nr = mp->mat_nr; diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c index 71eb0ec2df7..94752965f3a 100644 --- a/source/blender/blenlib/intern/scanfill.c +++ b/source/blender/blenlib/intern/scanfill.c @@ -86,8 +86,8 @@ typedef struct PolyFill { } PolyFill; typedef struct ScanFillVertLink { - ScanFillVert *v1; - ScanFillEdge *first, *last; + ScanFillVert *vert; + ScanFillEdge *edge_first, *edge_last; } ScanFillVertLink; @@ -112,10 +112,10 @@ static int vergscdata(const void *a1, const void *a2) { const ScanFillVertLink *x1 = a1, *x2 = a2; - if (x1->v1->xy[1] < x2->v1->xy[1]) return 1; - else if (x1->v1->xy[1] > x2->v1->xy[1]) return -1; - else if (x1->v1->xy[0] > x2->v1->xy[0]) return 1; - else if (x1->v1->xy[0] < x2->v1->xy[0]) return -1; + if (x1->vert->xy[1] < x2->vert->xy[1]) return 1; + else if (x1->vert->xy[1] > x2->vert->xy[1]) return -1; + else if (x1->vert->xy[0] > x2->vert->xy[0]) return 1; + else if (x1->vert->xy[0] < x2->vert->xy[0]) return -1; return 0; } @@ -230,14 +230,14 @@ ScanFillEdge *BLI_scanfill_edge_add(ScanFillContext *sf_ctx, ScanFillVert *v1, S static void addfillface(ScanFillContext *sf_ctx, ScanFillVert *v1, ScanFillVert *v2, ScanFillVert *v3) { /* does not make edges */ - ScanFillFace *evl; + ScanFillFace *sf_tri; - evl = mem_element_new(sf_ctx, sizeof(ScanFillFace)); - BLI_addtail(&sf_ctx->fillfacebase, evl); + sf_tri = mem_element_new(sf_ctx, sizeof(ScanFillFace)); + BLI_addtail(&sf_ctx->fillfacebase, sf_tri); - evl->v1 = v1; - evl->v2 = v2; - evl->v3 = v3; + sf_tri->v1 = v1; + sf_tri->v2 = v2; + sf_tri->v3 = v3; } static int boundisect(PolyFill *pf2, PolyFill *pf1) @@ -311,8 +311,8 @@ static short addedgetoscanvert(ScanFillVertLink *sc, ScanFillEdge *eed) ScanFillEdge *ed; float fac, fac1, x, y; - if (sc->first == NULL) { - sc->first = sc->last = eed; + if (sc->edge_first == NULL) { + sc->edge_first = sc->edge_last = eed; eed->prev = eed->next = NULL; return 1; } @@ -327,7 +327,7 @@ static short addedgetoscanvert(ScanFillVertLink *sc, ScanFillEdge *eed) } else fac1 = (x - eed->v2->xy[0]) / fac1; - for (ed = sc->first; ed; ed = ed->next) { + for (ed = sc->edge_first; ed; ed = ed->next) { if (ed->v2 == eed->v2) { return 0; @@ -345,8 +345,8 @@ static short addedgetoscanvert(ScanFillVertLink *sc, ScanFillEdge *eed) break; } } - if (ed) BLI_insertlinkbefore((ListBase *)&(sc->first), ed, eed); - else BLI_addtail((ListBase *)&(sc->first), eed); + if (ed) BLI_insertlinkbefore((ListBase *)&(sc->edge_first), ed, eed); + else BLI_addtail((ListBase *)&(sc->edge_first), eed); return 1; } @@ -373,7 +373,7 @@ static ScanFillVertLink *addedgetoscanlist(ScanFillContext *sf_ctx, ScanFillEdge eed->v2 = eve; } /* find location in list */ - scsearch.v1 = eed->v1; + scsearch.vert = eed->v1; sc = (ScanFillVertLink *)bsearch(&scsearch, sf_ctx->_scdata, len, sizeof(ScanFillVertLink), vergscdata); @@ -559,7 +559,7 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) if (eve->f != SF_VERT_ZERO_LEN) { verts++; eve->f = 0; /* flag for connectedges later on */ - sc->v1 = eve; + sc->vert = eve; sc++; } } @@ -616,11 +616,11 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) sc = sf_ctx->_scdata; for (a = 0; a < verts; a++) { /* printf("VERTEX %d %x\n",a,sc->v1); */ - ed1 = sc->first; + ed1 = sc->edge_first; while (ed1) { /* set connectflags */ nexted = ed1->next; if (ed1->v1->h == 1 || ed1->v2->h == 1) { - BLI_remlink((ListBase *)&(sc->first), ed1); + BLI_remlink((ListBase *)&(sc->edge_first), ed1); BLI_addtail(&sf_ctx->filledgebase, ed1); if (ed1->v1->h > 1) ed1->v1->h--; if (ed1->v2->h > 1) ed1->v2->h--; @@ -629,8 +629,8 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) ed1 = nexted; } - while (sc->first) { /* for as long there are edges */ - ed1 = sc->first; + while (sc->edge_first) { /* for as long there are edges */ + ed1 = sc->edge_first; ed2 = ed1->next; /* commented out... the ESC here delivers corrupted memory (and doesnt work during grab) */ @@ -641,7 +641,7 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) break; } if (ed2 == 0) { - sc->first = sc->last = NULL; + sc->edge_first = sc->edge_last = NULL; /* printf("just 1 edge to vert\n"); */ BLI_addtail(&sf_ctx->filledgebase, ed1); ed1->v2->f = 0; @@ -663,12 +663,12 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) test = 0; for (b = a + 1; b < verts; b++) { - if (sc1->v1->f == 0) { - if (sc1->v1->xy[1] <= miny) break; + if (sc1->vert->f == 0) { + if (sc1->vert->xy[1] <= miny) break; - if (testedgeside(v1->xy, v2->xy, sc1->v1->xy)) - if (testedgeside(v2->xy, v3->xy, sc1->v1->xy)) - if (testedgeside(v3->xy, v1->xy, sc1->v1->xy)) { + if (testedgeside(v1->xy, v2->xy, sc1->vert->xy)) + if (testedgeside(v2->xy, v3->xy, sc1->vert->xy)) + if (testedgeside(v3->xy, v1->xy, sc1->vert->xy)) { /* point in triangle */ test = 1; @@ -679,11 +679,11 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) } if (test) { /* make new edge, and start over */ - /* printf("add new edge %x %x and start again\n",v2,sc1->v1); */ + /* printf("add new edge %x %x and start again\n",v2,sc1->vert); */ - ed3 = BLI_scanfill_edge_add(sf_ctx, v2, sc1->v1); + ed3 = BLI_scanfill_edge_add(sf_ctx, v2, sc1->vert); BLI_remlink(&sf_ctx->filledgebase, ed3); - BLI_insertlinkbefore((ListBase *)&(sc->first), ed2, ed3); + BLI_insertlinkbefore((ListBase *)&(sc->edge_first), ed2, ed3); ed3->v2->f = SF_VERT_UNKNOWN; ed3->f = SF_EDGE_UNKNOWN; ed3->v1->h++; @@ -694,14 +694,14 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) /* printf("add face %x %x %x\n",v1,v2,v3); */ addfillface(sf_ctx, v1, v2, v3); totface++; - BLI_remlink((ListBase *)&(sc->first), ed1); + BLI_remlink((ListBase *)&(sc->edge_first), ed1); BLI_addtail(&sf_ctx->filledgebase, ed1); ed1->v2->f = 0; ed1->v1->h--; ed1->v2->h--; /* ed2 can be removed when it's a boundary edge */ if ((ed2->f == 0 && twoconnected) || (ed2->f == SF_EDGE_BOUNDARY)) { - BLI_remlink((ListBase *)&(sc->first), ed2); + BLI_remlink((ListBase *)&(sc->edge_first), ed2); BLI_addtail(&sf_ctx->filledgebase, ed2); ed2->v2->f = 0; ed2->v1->h--; @@ -723,11 +723,11 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) ed3->v1->h--; ed3->v2->h--; - ed3 = sc1->first; + ed3 = sc1->edge_first; while (ed3) { if ( (ed3->v1 == v1 && ed3->v2 == v3) || (ed3->v1 == v3 && ed3->v2 == v1) ) { if (twoconnected || ed3->f == SF_EDGE_BOUNDARY) { - BLI_remlink((ListBase *)&(sc1->first), ed3); + BLI_remlink((ListBase *)&(sc1->edge_first), ed3); BLI_addtail(&sf_ctx->filledgebase, ed3); ed3->v1->h--; ed3->v2->h--; @@ -741,11 +741,11 @@ static int scanfill(ScanFillContext *sf_ctx, PolyFill *pf) } } /* test for loose edges */ - ed1 = sc->first; + ed1 = sc->edge_first; while (ed1) { nexted = ed1->next; if (ed1->v1->h < 2 || ed1->v2->h < 2) { - BLI_remlink((ListBase *)&(sc->first), ed1); + BLI_remlink((ListBase *)&(sc->edge_first), ed1); BLI_addtail(&sf_ctx->filledgebase, ed1); if (ed1->v1->h > 1) ed1->v1->h--; if (ed1->v2->h > 1) ed1->v2->h--; diff --git a/source/blender/bmesh/operators/bmo_triangulate.c b/source/blender/bmesh/operators/bmo_triangulate.c index afc60d844db..e53144bd597 100644 --- a/source/blender/bmesh/operators/bmo_triangulate.c +++ b/source/blender/bmesh/operators/bmo_triangulate.c @@ -161,9 +161,9 @@ void bmo_triangle_fill_exec(BMesh *bm, BMOperator *op) BMEdge *e; BMOperator bmop; ScanFillContext sf_ctx; - /* ScanFillEdge *eed; */ /* UNUSED */ - ScanFillVert *eve, *v1, *v2; - ScanFillFace *efa; + /* ScanFillEdge *sf_edge; */ /* UNUSED */ + ScanFillVert *sf_vert, *sf_vert_1, *sf_vert_2; + ScanFillFace *sf_tri; SmallHash hash; BLI_smallhash_init(&hash); @@ -174,28 +174,28 @@ void bmo_triangle_fill_exec(BMesh *bm, BMOperator *op) BMO_elem_flag_enable(bm, e, EDGE_MARK); if (!BLI_smallhash_haskey(&hash, (uintptr_t)e->v1)) { - eve = BLI_scanfill_vert_add(&sf_ctx, e->v1->co); - eve->tmp.p = e->v1; - BLI_smallhash_insert(&hash, (uintptr_t)e->v1, eve); + sf_vert = BLI_scanfill_vert_add(&sf_ctx, e->v1->co); + sf_vert->tmp.p = e->v1; + BLI_smallhash_insert(&hash, (uintptr_t)e->v1, sf_vert); } if (!BLI_smallhash_haskey(&hash, (uintptr_t)e->v2)) { - eve = BLI_scanfill_vert_add(&sf_ctx, e->v2->co); - eve->tmp.p = e->v2; - BLI_smallhash_insert(&hash, (uintptr_t)e->v2, eve); + sf_vert = BLI_scanfill_vert_add(&sf_ctx, e->v2->co); + sf_vert->tmp.p = e->v2; + BLI_smallhash_insert(&hash, (uintptr_t)e->v2, sf_vert); } - v1 = BLI_smallhash_lookup(&hash, (uintptr_t)e->v1); - v2 = BLI_smallhash_lookup(&hash, (uintptr_t)e->v2); - /* eed = */ BLI_scanfill_edge_add(&sf_ctx, v1, v2); - /* eed->tmp.p = e; */ /* UNUSED */ + sf_vert_1 = BLI_smallhash_lookup(&hash, (uintptr_t)e->v1); + sf_vert_2 = BLI_smallhash_lookup(&hash, (uintptr_t)e->v2); + /* sf_edge = */ BLI_scanfill_edge_add(&sf_ctx, sf_vert_1, sf_vert_2); + /* sf_edge->tmp.p = e; */ /* UNUSED */ } BLI_scanfill_calc(&sf_ctx, FALSE); - for (efa = sf_ctx.fillfacebase.first; efa; efa = efa->next) { + for (sf_tri = sf_ctx.fillfacebase.first; sf_tri; sf_tri = sf_tri->next) { BMFace *f = BM_face_create_quad_tri(bm, - efa->v1->tmp.p, efa->v2->tmp.p, efa->v3->tmp.p, NULL, + sf_tri->v1->tmp.p, sf_tri->v2->tmp.p, sf_tri->v3->tmp.p, NULL, NULL, TRUE); BMLoop *l; BMIter liter; diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index 5a99ddb9332..d49b77c7005 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -1866,8 +1866,8 @@ static void knifenet_fill_faces(KnifeTool_OpData *kcd) for (i = 0; i < totface; i++) { SmallHash *hash = &shash; - ScanFillFace *efa; - ScanFillVert *eve, *lasteve; + ScanFillFace *sf_tri; + ScanFillVert *sf_vert, *sf_vert_last; int j; float rndscale = FLT_EPSILON * 25; @@ -1881,55 +1881,55 @@ static void knifenet_fill_faces(KnifeTool_OpData *kcd) for (entry = face_nets[i].first; entry; entry = entry->next) { if (!BLI_smallhash_haskey(hash, (intptr_t)entry->kfe->v1)) { - eve = BLI_scanfill_vert_add(&sf_ctx, entry->kfe->v1->v->co); - eve->poly_nr = 0; - rnd_offset_co(eve->co, rndscale); - eve->tmp.p = entry->kfe->v1->v; - BLI_smallhash_insert(hash, (intptr_t)entry->kfe->v1, eve); + sf_vert = BLI_scanfill_vert_add(&sf_ctx, entry->kfe->v1->v->co); + sf_vert->poly_nr = 0; + rnd_offset_co(sf_vert->co, rndscale); + sf_vert->tmp.p = entry->kfe->v1->v; + BLI_smallhash_insert(hash, (intptr_t)entry->kfe->v1, sf_vert); } if (!BLI_smallhash_haskey(hash, (intptr_t)entry->kfe->v2)) { - eve = BLI_scanfill_vert_add(&sf_ctx, entry->kfe->v2->v->co); - eve->poly_nr = 0; - rnd_offset_co(eve->co, rndscale); - eve->tmp.p = entry->kfe->v2->v; - BLI_smallhash_insert(hash, (intptr_t)entry->kfe->v2, eve); + sf_vert = BLI_scanfill_vert_add(&sf_ctx, entry->kfe->v2->v->co); + sf_vert->poly_nr = 0; + rnd_offset_co(sf_vert->co, rndscale); + sf_vert->tmp.p = entry->kfe->v2->v; + BLI_smallhash_insert(hash, (intptr_t)entry->kfe->v2, sf_vert); } } for (j = 0, entry = face_nets[i].first; entry; entry = entry->next, j++) { - lasteve = BLI_smallhash_lookup(hash, (intptr_t)entry->kfe->v1); - eve = BLI_smallhash_lookup(hash, (intptr_t)entry->kfe->v2); + sf_vert_last = BLI_smallhash_lookup(hash, (intptr_t)entry->kfe->v1); + sf_vert = BLI_smallhash_lookup(hash, (intptr_t)entry->kfe->v2); - eve->poly_nr++; - lasteve->poly_nr++; + sf_vert->poly_nr++; + sf_vert_last->poly_nr++; } for (j = 0, entry = face_nets[i].first; entry; entry = entry->next, j++) { - lasteve = BLI_smallhash_lookup(hash, (intptr_t)entry->kfe->v1); - eve = BLI_smallhash_lookup(hash, (intptr_t)entry->kfe->v2); + sf_vert_last = BLI_smallhash_lookup(hash, (intptr_t)entry->kfe->v1); + sf_vert = BLI_smallhash_lookup(hash, (intptr_t)entry->kfe->v2); - if (eve->poly_nr > 1 && lasteve->poly_nr > 1) { - ScanFillEdge *eed; - eed = BLI_scanfill_edge_add(&sf_ctx, lasteve, eve); + if (sf_vert->poly_nr > 1 && sf_vert_last->poly_nr > 1) { + ScanFillEdge *sf_edge; + sf_edge = BLI_scanfill_edge_add(&sf_ctx, sf_vert_last, sf_vert); if (entry->kfe->oe) - eed->f = SF_EDGE_BOUNDARY; /* mark as original boundary edge */ + sf_edge->f = SF_EDGE_BOUNDARY; /* mark as original boundary edge */ BMO_elem_flag_disable(bm, entry->kfe->e->v1, DEL); BMO_elem_flag_disable(bm, entry->kfe->e->v2, DEL); } else { - if (lasteve->poly_nr < 2) - BLI_remlink(&sf_ctx.fillvertbase, lasteve); - if (eve->poly_nr < 2) - BLI_remlink(&sf_ctx.fillvertbase, eve); + if (sf_vert_last->poly_nr < 2) + BLI_remlink(&sf_ctx.fillvertbase, sf_vert_last); + if (sf_vert->poly_nr < 2) + BLI_remlink(&sf_ctx.fillvertbase, sf_vert); } } BLI_scanfill_calc(&sf_ctx, FALSE); - for (efa = sf_ctx.fillfacebase.first; efa; efa = efa->next) { - BMVert *v1 = efa->v3->tmp.p, *v2 = efa->v2->tmp.p, *v3 = efa->v1->tmp.p; + for (sf_tri = sf_ctx.fillfacebase.first; sf_tri; sf_tri = sf_tri->next) { + BMVert *v1 = sf_tri->v3->tmp.p, *v2 = sf_tri->v2->tmp.p, *v3 = sf_tri->v1->tmp.p; BMFace *f2; BMLoop *l_iter; BMVert *verts[3] = {v1, v2, v3}; diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c index e504e37cb20..c8dbee65f6a 100644 --- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c +++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c @@ -216,8 +216,8 @@ static ParamHandle *construct_param_handle(Scene *scene, BMEditMesh *em, BLI_srand(0); BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) { - ScanFillVert *v, *lastv, *firstv; - ScanFillFace *sefa; + ScanFillVert *sf_vert, *sf_vert_last, *sf_vert_first; + ScanFillFace *sf_tri; ParamKey key, vkeys[4]; ParamBool pin[4], select[4]; BMLoop *ls[3]; @@ -264,35 +264,35 @@ static ParamHandle *construct_param_handle(Scene *scene, BMEditMesh *em, /* ngon - scanfill time! */ BLI_scanfill_begin(&sf_ctx); - firstv = lastv = NULL; + sf_vert_first = sf_vert_last = NULL; BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) { int i; - v = BLI_scanfill_vert_add(&sf_ctx, l->v->co); + sf_vert = BLI_scanfill_vert_add(&sf_ctx, l->v->co); /* add small random offset */ for (i = 0; i < 3; i++) { - v->co[i] += (BLI_frand() - 0.5f) * FLT_EPSILON * 50; + sf_vert->co[i] += (BLI_frand() - 0.5f) * FLT_EPSILON * 50; } - v->tmp.p = l; + sf_vert->tmp.p = l; - if (lastv) { - BLI_scanfill_edge_add(&sf_ctx, lastv, v); + if (sf_vert_last) { + BLI_scanfill_edge_add(&sf_ctx, sf_vert_last, sf_vert); } - lastv = v; - if (!firstv) - firstv = v; + sf_vert_last = sf_vert; + if (!sf_vert_first) + sf_vert_first = sf_vert; } - BLI_scanfill_edge_add(&sf_ctx, firstv, v); + BLI_scanfill_edge_add(&sf_ctx, sf_vert_first, sf_vert); BLI_scanfill_calc_ex(&sf_ctx, TRUE, efa->no); - for (sefa = sf_ctx.fillfacebase.first; sefa; sefa = sefa->next) { - ls[0] = sefa->v1->tmp.p; - ls[1] = sefa->v2->tmp.p; - ls[2] = sefa->v3->tmp.p; + for (sf_tri = sf_ctx.fillfacebase.first; sf_tri; sf_tri = sf_tri->next) { + ls[0] = sf_tri->v1->tmp.p; + ls[1] = sf_tri->v2->tmp.p; + ls[2] = sf_tri->v3->tmp.p; for (i = 0; i < 3; i++) { MLoopUV *luv = CustomData_bmesh_get(&em->bm->ldata, ls[i]->head.data, CD_MLOOPUV); diff --git a/source/blender/windowmanager/intern/wm_gesture.c b/source/blender/windowmanager/intern/wm_gesture.c index 7f40d2980a6..97a431d296b 100644 --- a/source/blender/windowmanager/intern/wm_gesture.c +++ b/source/blender/windowmanager/intern/wm_gesture.c @@ -231,8 +231,8 @@ static void wm_gesture_draw_circle(wmGesture *gt) static void draw_filled_lasso(wmGesture *gt) { ScanFillContext sf_ctx; - ScanFillVert *v = NULL, *lastv = NULL, *firstv = NULL; - ScanFillFace *efa; + ScanFillVert *sf_vert = NULL, *sf_vert_last = NULL, *sf_vert_first = NULL; + ScanFillFace *sf_tri; short *lasso = (short *)gt->customdata; int i; @@ -244,26 +244,26 @@ static void draw_filled_lasso(wmGesture *gt) co[1] = (float)lasso[1]; co[2] = 0.0f; - v = BLI_scanfill_vert_add(&sf_ctx, co); - if (lastv) - /* e = */ /* UNUSED */ BLI_scanfill_edge_add(&sf_ctx, lastv, v); - lastv = v; - if (firstv == NULL) firstv = v; + sf_vert = BLI_scanfill_vert_add(&sf_ctx, co); + if (sf_vert_last) + /* e = */ /* UNUSED */ BLI_scanfill_edge_add(&sf_ctx, sf_vert_last, sf_vert); + sf_vert_last = sf_vert; + if (sf_vert_first == NULL) sf_vert_first = sf_vert; } /* highly unlikely this will fail, but could crash if (gt->points == 0) */ - if (firstv) { + if (sf_vert_first) { float zvec[3] = {0.0f, 0.0f, 1.0f}; - BLI_scanfill_edge_add(&sf_ctx, firstv, v); + BLI_scanfill_edge_add(&sf_ctx, sf_vert_first, sf_vert); BLI_scanfill_calc_ex(&sf_ctx, FALSE, zvec); glEnable(GL_BLEND); glColor4f(1.0, 1.0, 1.0, 0.05); glBegin(GL_TRIANGLES); - for (efa = sf_ctx.fillfacebase.first; efa; efa = efa->next) { - glVertex2fv(efa->v1->co); - glVertex2fv(efa->v2->co); - glVertex2fv(efa->v3->co); + for (sf_tri = sf_ctx.fillfacebase.first; sf_tri; sf_tri = sf_tri->next) { + glVertex2fv(sf_tri->v1->co); + glVertex2fv(sf_tri->v2->co); + glVertex2fv(sf_tri->v3->co); } glEnd(); glDisable(GL_BLEND);