diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-08-26 00:03:45 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-08-26 00:03:45 +0400 |
commit | bbce51d11691acc561f1684c20e60613941d4e9b (patch) | |
tree | ada2418ebb181015b561df9e9c92035ee2a84b43 /source/blender/blenkernel/intern/subsurf_ccg.c | |
parent | 1d5eff36f5bd7fc7986e59d4dbe7b885ccb50e61 (diff) |
replace hashes with sets where possible.
Diffstat (limited to 'source/blender/blenkernel/intern/subsurf_ccg.c')
-rw-r--r-- | source/blender/blenkernel/intern/subsurf_ccg.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 21bcf328317..9c305801ae8 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -298,7 +298,7 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm, CCGVertHDL *fverts = NULL; BLI_array_declare(fverts); #endif - EdgeHash *ehash; + EdgeSet *eset; float creaseFactor = (float)ccgSubSurf_getSubdivisionLevels(ss); float uv[3] = {0.0f, 0.0f, 0.0f}; /* only first 2 values are written into */ @@ -334,7 +334,7 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm, } /* create edges */ - ehash = BLI_edgehash_new_ex(__func__, BLI_EDGEHASH_SIZE_GUESS_FROM_POLYS(totface)); + eset = BLI_edgeset_new_ex(__func__, BLI_EDGEHASH_SIZE_GUESS_FROM_POLYS(totface)); for (i = 0; i < totface; i++) { MPoly *mp = &((MPoly *) mpoly)[i]; @@ -359,7 +359,7 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm, MVert *mv0 = mvert + (ml[j_next].v); MVert *mv1 = mvert + (ml[j].v); - if (!BLI_edgehash_haskey(ehash, v0, v1)) { + if (BLI_edgeset_reinsert(eset, v0, v1)) { CCGEdge *e, *orige = ccgSubSurf_getFaceEdge(origf, j_next); CCGEdgeHDL ehdl = SET_INT_IN_POINTER(mp->loopstart + j_next); float crease; @@ -370,12 +370,11 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm, crease = ccgSubSurf_getEdgeCrease(orige); ccgSubSurf_syncEdge(ss, ehdl, fverts[j_next], fverts[j], crease, &e); - BLI_edgehash_insert(ehash, v0, v1, NULL); } } } - BLI_edgehash_free(ehash, NULL); + BLI_edgeset_free(eset); /* create faces */ for (i = 0; i < totface; i++) { |