[geos-commits] r3284 - trunk/src/operation/overlay

svn_geos at osgeo.org svn_geos at osgeo.org
Mon Apr 18 17:01:22 EDT 2011


Author: strk
Date: 2011-04-18 14:01:22 -0700 (Mon, 18 Apr 2011)
New Revision: 3284

Modified:
   trunk/src/operation/overlay/PolygonBuilder.cpp
Log:
Avoid more heap allocations in PolygonBuilder

Modified: trunk/src/operation/overlay/PolygonBuilder.cpp
===================================================================
--- trunk/src/operation/overlay/PolygonBuilder.cpp	2011-04-18 15:08:55 UTC (rev 3283)
+++ trunk/src/operation/overlay/PolygonBuilder.cpp	2011-04-18 21:01:22 UTC (rev 3284)
@@ -195,23 +195,23 @@
 		if (er->getMaxNodeDegree()>2)
 		{
 			er->linkDirectedEdgesForMinimalEdgeRings();
-			vector<MinimalEdgeRing*> *minEdgeRings=er->buildMinimalRings();
+			vector<MinimalEdgeRing*> minEdgeRings;
+			er->buildMinimalRings(minEdgeRings);
 			// at this point we can go ahead and attempt to place
 			// holes, if this EdgeRing is a polygon
-			EdgeRing *shell=findShell(minEdgeRings);
+			EdgeRing *shell=findShell(&minEdgeRings);
 			if(shell != NULL)
 			{
-				placePolygonHoles(shell, minEdgeRings);
+				placePolygonHoles(shell, &minEdgeRings);
 				newShellList.push_back(shell);
 			}
 			else
 			{
 				freeHoleList.insert(freeHoleList.end(),
-						minEdgeRings->begin(),
-						minEdgeRings->end() );
+						minEdgeRings.begin(),
+						minEdgeRings.end() );
 			}
 			delete er;
-			delete minEdgeRings;
 		}
 		else
 		{



More information about the geos-commits mailing list