Revision: 59503
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59503
Author:   campbellbarton
Date:     2013-08-25 20:03:45 +0000 (Sun, 25 Aug 2013)
Log Message:
-----------
replace hashes with sets where possible.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_pbvh.h
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/mesh.c
    trunk/blender/source/blender/blenkernel/intern/pbvh.c
    trunk/blender/source/blender/blenkernel/intern/pbvh_bmesh.c
    trunk/blender/source/blender/blenkernel/intern/pbvh_intern.h
    trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
    trunk/blender/source/blender/blenlib/intern/edgehash.c
    trunk/blender/source/blender/blenloader/intern/readblenentry.c
    trunk/blender/source/blender/bmesh/intern/bmesh_walkers.c
    trunk/blender/source/blender/bmesh/intern/bmesh_walkers.h
    trunk/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
    trunk/blender/source/blender/bmesh/operators/bmo_beautify.c
    trunk/blender/source/blender/bmesh/operators/bmo_hull.c
    trunk/blender/source/blender/bmesh/operators/bmo_subdivide_edgering.c
    trunk/blender/source/blender/editors/animation/anim_filter.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_hide.c
    trunk/blender/source/blender/gpu/GPU_buffers.h
    trunk/blender/source/blender/gpu/intern/gpu_buffers.c

Modified: trunk/blender/source/blender/blenkernel/BKE_pbvh.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_pbvh.h  2013-08-25 20:00:19 UTC 
(rev 59502)
+++ trunk/blender/source/blender/blenkernel/BKE_pbvh.h  2013-08-25 20:03:45 UTC 
(rev 59503)
@@ -172,8 +172,8 @@
 /* test if AABB is at least partially outside the planes' volume */
 int BKE_pbvh_node_planes_exclude_AABB(PBVHNode *node, void *data);
 
-struct GHash *BKE_pbvh_bmesh_node_unique_verts(PBVHNode *node);
-struct GHash *BKE_pbvh_bmesh_node_other_verts(PBVHNode *node); 
+struct GSet *BKE_pbvh_bmesh_node_unique_verts(PBVHNode *node);
+struct GSet *BKE_pbvh_bmesh_node_other_verts(PBVHNode *node);
 void BKE_pbvh_bmesh_node_save_orig(PBVHNode *node);
 void BKE_pbvh_bmesh_after_stroke(PBVH *bvh);
 
@@ -235,8 +235,8 @@
        float *vmask;
 
        /* bmesh */
-       struct GHashIterator bm_unique_verts;
-       struct GHashIterator bm_other_verts;
+       struct GSetIterator bm_unique_verts;
+       struct GSetIterator bm_other_verts;
        struct CustomData *bm_vdata;
 
        /* result: these are all computed in the macro, but we assume
@@ -294,13 +294,13 @@
                                                vi.mask = 
&vi.vmask[vi.vert_indices[vi.gx]]; \
                                } \
                                else { \
-                                       if 
(!BLI_ghashIterator_done(&vi.bm_unique_verts)) {\
-                                               vi.bm_vert = 
BLI_ghashIterator_getKey(&vi.bm_unique_verts); \
-                                               
BLI_ghashIterator_step(&vi.bm_unique_verts); \
+                                       if 
(!BLI_gsetIterator_done(&vi.bm_unique_verts)) {\
+                                               vi.bm_vert = 
BLI_gsetIterator_getKey(&vi.bm_unique_verts); \
+                                               
BLI_gsetIterator_step(&vi.bm_unique_verts); \
                                        } \
                                        else { \
-                                               vi.bm_vert = 
BLI_ghashIterator_getKey(&vi.bm_other_verts); \
-                                               
BLI_ghashIterator_step(&vi.bm_other_verts); \
+                                               vi.bm_vert = 
BLI_gsetIterator_getKey(&vi.bm_other_verts); \
+                                               
BLI_gsetIterator_step(&vi.bm_other_verts); \
                                        } \
                                        if (mode == PBVH_ITER_UNIQUE && \
                                                BM_elem_flag_test(vi.bm_vert, 
BM_ELEM_HIDDEN)) \

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c      
2013-08-25 20:00:19 UTC (rev 59502)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c      
2013-08-25 20:03:45 UTC (rev 59503)
@@ -2642,7 +2642,7 @@
 
        for (ehi = BLI_edgehashIterator_new(eh), i = 0;
             BLI_edgehashIterator_isDone(ehi) == FALSE;
-            BLI_edgehashIterator_step(ehi), ++i, ++med, ++index)
+            BLI_edgehashIterator_step(ehi), i++, med++, index++)
        {
                BLI_edgehashIterator_getKey(ehi, &med->v1, &med->v2);
 

Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c       2013-08-25 
20:00:19 UTC (rev 59502)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c       2013-08-25 
20:03:45 UTC (rev 59503)
@@ -3852,9 +3852,7 @@
        ml = &ml_next[i - 1];  /* last loop */
 
        while (i-- != 0) {
-               if (!BLI_edgehash_haskey(ehash, ml->v, ml_next->v)) {
-                       BLI_edgehash_insert(ehash, ml->v, ml_next->v, NULL);
-               }
+               BLI_edgehash_reinsert(ehash, ml->v, ml_next->v, NULL);
 
                ml = ml_next;
                ml_next++;

Modified: trunk/blender/source/blender/blenkernel/intern/pbvh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pbvh.c       2013-08-25 
20:00:19 UTC (rev 59502)
+++ trunk/blender/source/blender/blenkernel/intern/pbvh.c       2013-08-25 
20:03:45 UTC (rev 59503)
@@ -614,9 +614,9 @@
                        if (node->bm_faces)
                                BLI_ghash_free(node->bm_faces, NULL, NULL);
                        if (node->bm_unique_verts)
-                               BLI_ghash_free(node->bm_unique_verts, NULL, 
NULL);
+                               BLI_gset_free(node->bm_unique_verts, NULL);
                        if (node->bm_other_verts)
-                               BLI_ghash_free(node->bm_other_verts, NULL, 
NULL);
+                               BLI_gset_free(node->bm_other_verts, NULL);
                }
        }
 
@@ -1314,8 +1314,8 @@
                        if (uniquevert) *uniquevert = node->uniq_verts;
                        break;
                case PBVH_BMESH:
-                       tot = BLI_ghash_size(node->bm_unique_verts);
-                       if (totvert) *totvert = tot + 
BLI_ghash_size(node->bm_other_verts);
+                       tot = BLI_gset_size(node->bm_unique_verts);
+                       if (totvert) *totvert = tot + 
BLI_gset_size(node->bm_other_verts);
                        if (uniquevert) *uniquevert = tot;
                        break;
        }
@@ -1866,8 +1866,8 @@
        vi->mverts = verts;
 
        if (bvh->type == PBVH_BMESH) {
-               BLI_ghashIterator_init(&vi->bm_unique_verts, 
node->bm_unique_verts);
-               BLI_ghashIterator_init(&vi->bm_other_verts, 
node->bm_other_verts);
+               BLI_gsetIterator_init(&vi->bm_unique_verts, 
node->bm_unique_verts);
+               BLI_gsetIterator_init(&vi->bm_other_verts, 
node->bm_other_verts);
                vi->bm_vdata = &bvh->bm->vdata;
        }
 

Modified: trunk/blender/source/blender/blenkernel/intern/pbvh_bmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pbvh_bmesh.c 2013-08-25 
20:00:19 UTC (rev 59502)
+++ trunk/blender/source/blender/blenkernel/intern/pbvh_bmesh.c 2013-08-25 
20:03:45 UTC (rev 59503)
@@ -48,8 +48,8 @@
        PBVHNode *n = &bvh->nodes[node_index];
 
        /* Create vert hash sets */
-       n->bm_unique_verts = BLI_ghash_ptr_new("bm_unique_verts");
-       n->bm_other_verts = BLI_ghash_ptr_new("bm_other_verts");
+       n->bm_unique_verts = BLI_gset_ptr_new("bm_unique_verts");
+       n->bm_other_verts = BLI_gset_ptr_new("bm_other_verts");
 
        BB_reset(&n->vb);
 
@@ -67,13 +67,12 @@
                l_iter = l_first = BM_FACE_FIRST_LOOP(f);
                do {
                        v = l_iter->v;
-                       if (!BLI_ghash_haskey(n->bm_unique_verts, v)) {
+                       if (!BLI_gset_haskey(n->bm_unique_verts, v)) {
                                if (BLI_ghash_haskey(bvh->bm_vert_to_node, v)) {
-                                       if 
(!BLI_ghash_haskey(n->bm_other_verts, v))
-                                               
BLI_ghash_insert(n->bm_other_verts, v, NULL);
+                                       BLI_gset_reinsert(n->bm_other_verts, v, 
NULL);
                                }
                                else {
-                                       BLI_ghash_insert(n->bm_unique_verts, v, 
NULL);
+                                       BLI_gset_insert(n->bm_unique_verts, v);
                                        BLI_ghash_insert(bvh->bm_vert_to_node, 
v, node_val);
                                }
                        }
@@ -101,6 +100,7 @@
 {
        GHash *empty, *other;
        GHashIterator gh_iter;
+       GSetIterator gs_iter;
        PBVHNode *n, *c1, *c2;
        BB cb;
        float mid;
@@ -177,11 +177,11 @@
 
        /* Mark this node's unique verts as unclaimed */
        if (n->bm_unique_verts) {
-               GHASH_ITER (gh_iter, n->bm_unique_verts) {
-                       BMVert *v = BLI_ghashIterator_getKey(&gh_iter);
+               GSET_ITER (gs_iter, n->bm_unique_verts) {
+                       BMVert *v = BLI_gsetIterator_getKey(&gs_iter);
                        BLI_ghash_remove(bvh->bm_vert_to_node, v, NULL, NULL);
                }
-               BLI_ghash_free(n->bm_unique_verts, NULL, NULL);
+               BLI_gset_free(n->bm_unique_verts, NULL);
        }
 
        /* Unclaim faces */
@@ -192,7 +192,7 @@
        BLI_ghash_free(n->bm_faces, NULL, NULL);
 
        if (n->bm_other_verts)
-               BLI_ghash_free(n->bm_other_verts, NULL, NULL);
+               BLI_gset_free(n->bm_other_verts, NULL);
 
        if (n->layer_disp)
                MEM_freeN(n->layer_disp);
@@ -291,7 +291,7 @@
 
        BLI_assert((bvh->totnode == 1 || node_index) && node_index <= 
bvh->totnode);
 
-       BLI_ghash_insert(bvh->nodes[node_index].bm_unique_verts, v, NULL);
+       BLI_gset_insert(bvh->nodes[node_index].bm_unique_verts, v);
        BLI_ghash_insert(bvh->bm_vert_to_node, v, val);
 
        /* Log the new vertex */
@@ -373,14 +373,14 @@
        BLI_assert(current_owner != new_owner);
 
        /* Remove current ownership */
-       BLI_ghash_remove(current_owner->bm_unique_verts, v, NULL, NULL);
+       BLI_gset_remove(current_owner->bm_unique_verts, v, NULL);
 
        /* Set new ownership */
        BLI_ghash_reinsert(bvh->bm_vert_to_node, v,
-                        SET_INT_IN_POINTER(new_owner - bvh->nodes), NULL, 
NULL);
-       BLI_ghash_insert(new_owner->bm_unique_verts, v, NULL);
-       BLI_ghash_remove(new_owner->bm_other_verts, v, NULL, NULL);
-       BLI_assert(!BLI_ghash_haskey(new_owner->bm_other_verts, v));
+                          SET_INT_IN_POINTER(new_owner - bvh->nodes), NULL, 
NULL);
+       BLI_gset_insert(new_owner->bm_unique_verts, v);
+       BLI_gset_remove(new_owner->bm_other_verts, v, NULL);
+       BLI_assert(!BLI_gset_haskey(new_owner->bm_other_verts, v));
 }
 
 static void pbvh_bmesh_vert_remove(PBVH *bvh, BMVert *v)
@@ -391,7 +391,7 @@
 
        BLI_assert(BLI_ghash_haskey(bvh->bm_vert_to_node, v));
        v_node = pbvh_bmesh_node_lookup(bvh, bvh->bm_vert_to_node, v);
-       BLI_ghash_remove(v_node->bm_unique_verts, v, NULL, NULL);
+       BLI_gset_remove(v_node->bm_unique_verts, v, NULL);
        BLI_ghash_remove(bvh->bm_vert_to_node, v, NULL, NULL);
 
        /* Have to check each neighboring face's node */
@@ -401,10 +401,10 @@
                /* Remove current ownership */
                /* Should be handled above by vert_to_node removal, leaving 
just in case - psy-fi */
                //BLI_ghash_remove(f_node->bm_unique_verts, v, NULL, NULL);
-               BLI_ghash_remove(f_node->bm_other_verts, v, NULL, NULL);
+               BLI_gset_remove(f_node->bm_other_verts, v, NULL);
 
-               BLI_assert(!BLI_ghash_haskey(f_node->bm_unique_verts, v));
-               BLI_assert(!BLI_ghash_haskey(f_node->bm_other_verts, v));
+               BLI_assert(!BLI_gset_haskey(f_node->bm_unique_verts, v));
+               BLI_assert(!BLI_gset_haskey(f_node->bm_other_verts, v));
        }
 }
 
@@ -424,7 +424,7 @@
        do {
                v = l_iter->v;
                if (pbvh_bmesh_node_vert_use_count(bvh, f_node, v) == 1) {
-                       if (BLI_ghash_haskey(f_node->bm_unique_verts, v)) {
+                       if (BLI_gset_haskey(f_node->bm_unique_verts, v)) {
                                /* Find a different node that uses 'v' */
                                PBVHNode *new_node;
 
@@ -435,13 +435,13 @@
                                        pbvh_bmesh_vert_ownership_transfer(bvh, 
new_node, v);
                                }
                                else {
-                                       
BLI_ghash_remove(f_node->bm_unique_verts, v, NULL, NULL);
+                                       
BLI_gset_remove(f_node->bm_unique_verts, v, NULL);
                                        BLI_ghash_remove(bvh->bm_vert_to_node, 
v, NULL, NULL);
                                }
                        }
                        else {
                                /* Remove from other verts */
-                               BLI_ghash_remove(f_node->bm_other_verts, v, 
NULL, NULL);
+                               BLI_gset_remove(f_node->bm_other_verts, v, 
NULL);
                        }
                }
        } while ((l_iter = l_iter->next) != l_first);
@@ -733,10 +733,10 @@
                BM_face_kill(bvh->bm, f_adj);
 
                /* Ensure new vertex is in the node */
-               if (!BLI_ghash_haskey(bvh->nodes[ni].bm_unique_verts, v_new) &&
-                       !BLI_ghash_haskey(bvh->nodes[ni].bm_other_verts, v_new))
+               if (!BLI_gset_haskey(bvh->nodes[ni].bm_unique_verts, v_new) &&
+                       !BLI_gset_haskey(bvh->nodes[ni].bm_other_verts, v_new))
                {
-                       BLI_ghash_insert(bvh->nodes[ni].bm_other_verts, v_new, 
NULL);
+                       BLI_gset_insert(bvh->nodes[ni].bm_other_verts, v_new);
                }
 
                if (BM_vert_edge_count(v_opp) >= 9) {
@@ -857,10 +857,10 @@
                        pbvh_bmesh_face_create(bvh, ni, v_tri, e_tri, f);
 
                        /* Ensure that v1 is in the new face's node */

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to