[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