diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-10-20 13:56:40 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-10-20 13:56:40 +0400 |
commit | 23d43396ffd667c6cab5f412bc13fa0b01bee4a3 (patch) | |
tree | 46b2a608db8c5aa84ef04ac66db8bf2bd96d530f /source | |
parent | a7a723283b9ec72888850999993287b598ceaecd (diff) |
code cleanup: quiet -Wshadow warning, var name changes for splice functions and add assert for BM_edge_splice() when edges don't use the same vertices.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_core.c | 29 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_solidify.c | 13 |
2 files changed, 25 insertions, 17 deletions
diff --git a/source/blender/bmesh/intern/bmesh_core.c b/source/blender/bmesh/intern/bmesh_core.c index cef2c1f7573..4e6decfa913 100644 --- a/source/blender/bmesh/intern/bmesh_core.c +++ b/source/blender/bmesh/intern/bmesh_core.c @@ -1805,7 +1805,7 @@ BMFace *bmesh_jfke(BMesh *bm, BMFace *f1, BMFace *f2, BMEdge *e) * where \a v and \a vtarget are connected by an edge * (assert checks for this case). */ -int BM_vert_splice(BMesh *bm, BMVert *v, BMVert *vtarget) +int BM_vert_splice(BMesh *bm, BMVert *v, BMVert *v_target) { BMEdge *e; @@ -1813,7 +1813,7 @@ int BM_vert_splice(BMesh *bm, BMVert *v, BMVert *vtarget) int i, loops_tot; /* verts already spliced */ - if (v == vtarget) { + if (v == v_target) { return FALSE; } @@ -1821,7 +1821,7 @@ int BM_vert_splice(BMesh *bm, BMVert *v, BMVert *vtarget) loops = BM_iter_as_arrayN(bm, BM_LOOPS_OF_VERT, v, &loops_tot); if (loops) { for (i = 0; i < loops_tot; i++) { - loops[i]->v = vtarget; + loops[i]->v = v_target; } MEM_freeN(loops); } @@ -1829,13 +1829,13 @@ int BM_vert_splice(BMesh *bm, BMVert *v, BMVert *vtarget) /* move all the edges from v's disk to vtarget's disk */ while ((e = v->e)) { bmesh_disk_edge_remove(e, v); - bmesh_edge_swapverts(e, v, vtarget); - bmesh_disk_edge_append(e, vtarget); + bmesh_edge_swapverts(e, v, v_target); + bmesh_disk_edge_append(e, v_target); BLI_assert(e->v1 != e->v2); } BM_CHECK_ELEMENT(v); - BM_CHECK_ELEMENT(vtarget); + BM_CHECK_ELEMENT(v_target); /* v is unused now, and can be killed */ BM_vert_kill(bm, v); @@ -2001,27 +2001,32 @@ int BM_vert_separate(BMesh *bm, BMVert *v, BMVert ***r_vout, int *r_vout_len, * * \note Edges must already have the same vertices. */ -int BM_edge_splice(BMesh *bm, BMEdge *e, BMEdge *etarget) +int BM_edge_splice(BMesh *bm, BMEdge *e, BMEdge *e_target) { BMLoop *l; - if (!BM_vert_in_edge(e, etarget->v1) || !BM_vert_in_edge(e, etarget->v2)) { + if (!BM_vert_in_edge(e, e_target->v1) || !BM_vert_in_edge(e, e_target->v2)) { /* not the same vertices can't splice */ + + /* the caller should really make sure this doesn't happen ever + * so assert on release builds */ + BLI_assert(0); + return FALSE; } while (e->l) { l = e->l; - BLI_assert(BM_vert_in_edge(etarget, l->v)); - BLI_assert(BM_vert_in_edge(etarget, l->next->v)); + BLI_assert(BM_vert_in_edge(e_target, l->v)); + BLI_assert(BM_vert_in_edge(e_target, l->next->v)); bmesh_radial_loop_remove(l, e); - bmesh_radial_append(etarget, l); + bmesh_radial_append(e_target, l); } BLI_assert(bmesh_radial_length(e->l) == 0); BM_CHECK_ELEMENT(e); - BM_CHECK_ELEMENT(etarget); + BM_CHECK_ELEMENT(e_target); /* removes from disks too */ BM_edge_kill(bm, e); diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 1df7d535c35..cc77d73a736 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -223,7 +223,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, const int numEdges = dm->getNumEdges(dm); const int numFaces = dm->getNumPolys(dm); int numLoops = 0, newLoops = 0, newFaces = 0, newEdges = 0; - int j; /* only use material offsets if we have 2 or more materials */ const short mat_nr_max = ob->totcol > 1 ? ob->totcol - 1 : 0; @@ -292,9 +291,11 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, } for (i = 0, mp = orig_mpoly; i < numFaces; i++, mp++) { - MLoop *ml = orig_mloop + mp->loopstart; unsigned int ml_v1; unsigned int ml_v2; + int j; + + ml = orig_mloop + mp->loopstart; for (j = 0, ml_v1 = ml->v, ml_v2 = ml[mp->totloop - 1].v; j < mp->totloop; @@ -376,6 +377,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, for (i = 0; i < dm->numPolyData; i++, mp++) { MLoop *ml2; int e; + int j; ml2 = mloop + mp->loopstart + dm->numLoopData; for (j = 0; j < mp->totloop; j++) { @@ -591,6 +593,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, int *origindex_edge; int *orig_ed; + int j; /* add faces & edges */ origindex_edge = result->getEdgeDataArray(result, CD_ORIGINDEX); @@ -715,13 +718,13 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, for (i = 0; i < newEdges; i++, ed++) { float nor_cpy[3]; short *nor_short; - int j; + int k; /* note, only the first vertex (lower half of the index) is calculated */ normalize_v3_v3(nor_cpy, edge_vert_nos[ed->v1]); - for (j = 0; j < 2; j++) { /* loop over both verts of the edge */ - nor_short = mvert[*(&ed->v1 + j)].no; + for (k = 0; k < 2; k++) { /* loop over both verts of the edge */ + nor_short = mvert[*(&ed->v1 + k)].no; normal_short_to_float_v3(nor, nor_short); add_v3_v3(nor, nor_cpy); normalize_v3(nor); |