diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-08-17 12:00:22 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-08-17 12:00:22 +0400 |
commit | 85b0315b3bae9e699021977f9b40d504d9a9d108 (patch) | |
tree | 0777800d7d8cf2d3569493c2e4b937480fe1910b /source/blender/bmesh | |
parent | 1b11428101d390e482f6a67adba27f42cda7f4a8 (diff) |
avoid double ghash lookups
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r-- | source/blender/bmesh/operators/bmo_symmetrize.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/bmesh/operators/bmo_symmetrize.c b/source/blender/bmesh/operators/bmo_symmetrize.c index b684240dc76..620bbafc372 100644 --- a/source/blender/bmesh/operators/bmo_symmetrize.c +++ b/source/blender/bmesh/operators/bmo_symmetrize.c @@ -101,7 +101,7 @@ static void symm_verts_mirror(Symm *symm) BMOIter oiter; BMVert *src_v, *dst_v; - symm->vert_symm_map = BLI_ghash_ptr_new(AT); + symm->vert_symm_map = BLI_ghash_ptr_new(__func__); BMO_ITER (src_v, &oiter, symm->op->slots_in, "input", BM_VERT) { SymmSide side = symm_co_side(symm, src_v->co); @@ -214,9 +214,8 @@ static void symm_mirror_edges(Symm *symm) BMO_elem_flag_enable(symm->bm, e_new, SYMM_OUTPUT_GEOM); } else if (v1 || v2) { - if (BLI_ghash_haskey(symm->edge_split_map, e)) { - BMVert *v_split = BLI_ghash_lookup(symm->edge_split_map, e); - + BMVert *v_split = BLI_ghash_lookup(symm->edge_split_map, e); + if (v_split) { /* Output the keep side of the split edge */ if (!v1) { e_new = BM_edge_create(symm->bm, v_split, e->v2, e, BM_CREATE_NO_DOUBLE); @@ -330,8 +329,9 @@ static BMVert *symm_poly_mirror_dst(const Symm *symm, if (sp->edge_verts[v]) return sp->edge_verts[v]; else if (sp->src_verts[v]) { - if (BLI_ghash_haskey(symm->vert_symm_map, sp->src_verts[v])) - return BLI_ghash_lookup(symm->vert_symm_map, sp->src_verts[v]); + BMVert *v_src = BLI_ghash_lookup(symm->vert_symm_map, sp->src_verts[v]); + if (v_src) + return v_src; else return sp->src_verts[v]; } |