[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59470] trunk/blender/source/blender/ blenkernel/intern: use reserve argument for more edgehashs
Campbell Barton
ideasman42 at gmail.com
Sat Aug 24 16:40:15 CEST 2013
Revision: 59470
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59470
Author: campbellbarton
Date: 2013-08-24 14:40:15 +0000 (Sat, 24 Aug 2013)
Log Message:
-----------
use reserve argument for more edgehashs
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/mesh.c
trunk/blender/source/blender/blenkernel/intern/mesh_validate.c
trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c 2013-08-24 14:32:43 UTC (rev 59469)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c 2013-08-24 14:40:15 UTC (rev 59470)
@@ -1241,10 +1241,12 @@
int totedge = *r_totedge;
int totedge_new;
EdgeHash *eh;
+ unsigned int eh_reserve;
const MPoly *mp;
int i;
- eh = BLI_edgehash_new(__func__);
+ eh_reserve = max_ii(totedge, BLI_EDGEHASH_SIZE_GUESS_FROM_POLYS(totpoly));
+ eh = BLI_edgehash_new_ex(__func__, eh_reserve);
for (i = 0, mp = mpoly; i < totpoly; i++, mp++) {
BKE_mesh_poly_edgehash_insert(eh, mp, mloop + mp->loopstart);
@@ -2308,7 +2310,7 @@
CustomData_external_read(fdata, id, CD_MASK_MDISPS, totface_i);
}
- eh = BLI_edgehash_new(__func__);
+ eh = BLI_edgehash_new_ex(__func__, totedge_i);
/* build edge hash */
me = medge;
Modified: trunk/blender/source/blender/blenkernel/intern/mesh_validate.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh_validate.c 2013-08-24 14:32:43 UTC (rev 59469)
+++ trunk/blender/source/blender/blenkernel/intern/mesh_validate.c 2013-08-24 14:40:15 UTC (rev 59470)
@@ -216,7 +216,7 @@
bool do_edge_recalc = false;
- EdgeHash *edge_hash = BLI_edgehash_new(__func__);
+ EdgeHash *edge_hash = BLI_edgehash_new_ex(__func__, totedge);
BLI_assert(!(do_fixes && mesh == NULL));
Modified: trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2013-08-24 14:32:43 UTC (rev 59469)
+++ trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2013-08-24 14:40:15 UTC (rev 59470)
@@ -1332,7 +1332,7 @@
if (!ccgdm->ehash) {
MEdge *medge;
- ccgdm->ehash = BLI_edgehash_new(__func__);
+ ccgdm->ehash = BLI_edgehash_new_ex(__func__, ccgdm->dm.numEdgeData);
medge = ccgdm->dm.getEdgeArray((DerivedMesh *)ccgdm);
for (i = 0; i < ccgdm->dm.numEdgeData; i++) {
More information about the Bf-blender-cvs
mailing list