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:
authorAntony Riakiotakis <kalast@gmail.com>2013-08-21 19:21:56 +0400
committerAntony Riakiotakis <kalast@gmail.com>2013-08-21 19:21:56 +0400
commitdcddd32c4553d5096f376434cd426f987ec3dd2e (patch)
tree4ce64a772e1bc8e0996317c8747284f8f14a1511 /source/blender/blenkernel/intern/pbvh_bmesh.c
parentfca659252f56d3487cf64fe702cb96c379cc89c6 (diff)
Scultping: Growing the pbvh node container should use malloc instead of
calloc. Since we copy the first 1/1.3 part of the new array from the existing nodes, only the rest 0.3/1.3 should be initialized to zero. This should in theory cut down the times of occasional hangs with dyntopo, since my guess is that it is caused by dynamic reallocations. Maybe a linked list structure would help here? This is a bigger change though, leaving as is for now. Also, minor cleanup, delete duplicate ghash deletion and remove unneeded commented code.
Diffstat (limited to 'source/blender/blenkernel/intern/pbvh_bmesh.c')
-rw-r--r--source/blender/blenkernel/intern/pbvh_bmesh.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c b/source/blender/blenkernel/intern/pbvh_bmesh.c
index c9b68931142..bc2a47a540b 100644
--- a/source/blender/blenkernel/intern/pbvh_bmesh.c
+++ b/source/blender/blenkernel/intern/pbvh_bmesh.c
@@ -365,7 +365,6 @@ static void pbvh_bmesh_vert_ownership_transfer(PBVH *bvh, PBVHNode *new_owner,
BLI_assert(current_owner != new_owner);
/* Remove current ownership */
- // BLI_ghash_remove(bvh->bm_vert_to_node, v, NULL, NULL); // assign handles below
BLI_ghash_remove(current_owner->bm_unique_verts, v, NULL, NULL);
/* Set new ownership */
@@ -384,7 +383,6 @@ static void pbvh_bmesh_vert_remove(PBVH *bvh, BMVert *v)
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(bvh->bm_vert_to_node, v, NULL, NULL);
BLI_ghash_remove(v_node->bm_unique_verts, v, NULL, NULL);
BLI_ghash_remove(bvh->bm_vert_to_node, v, NULL, NULL);
@@ -1036,7 +1034,7 @@ void pbvh_bmesh_normals_update(PBVHNode **nodes, int totnode)
}
/* This should be unneeded normally */
GHASH_ITER (gh_iter, node->bm_other_verts) {
- BM_vert_normal_update(BLI_ghashIterator_getKey(&gh_iter));
+ BM_vert_normal_update(BLI_ghashIterator_getKey(&gh_iter));
}
node->flag &= ~PBVH_UpdateNormals;
}