Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-08-17 12:00:22 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-08-17 12:00:22 +0400
commit85b0315b3bae9e699021977f9b40d504d9a9d108 (patch)
tree0777800d7d8cf2d3569493c2e4b937480fe1910b /source/blender/bmesh/operators/bmo_symmetrize.c
parent1b11428101d390e482f6a67adba27f42cda7f4a8 (diff)
avoid double ghash lookups
Diffstat (limited to 'source/blender/bmesh/operators/bmo_symmetrize.c')
-rw-r--r--source/blender/bmesh/operators/bmo_symmetrize.c12
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];
}