Procházet zdrojové kódy

Bugfix : Refactored ImproveCacheLocalityProcess::ProcessMesh. ( merged from GitHub, thanks to Riku Palomäki ).

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1218 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
kimmi před 13 roky
rodič
revize
23381d9710
1 změnil soubory, kde provedl 3 přidání a 5 odebrání
  1. 3 5
      code/ImproveCacheLocality.cpp

+ 3 - 5
code/ImproveCacheLocality.cpp

@@ -206,10 +206,8 @@ float ImproveCacheLocalityProcess::ProcessMesh( aiMesh* pMesh, unsigned int mesh
 
 	// create a copy of the piNumTriPtr buffer
 	unsigned int* const piNumTriPtr = adj.mLiveTriangles;
-	const unsigned int* const piNumTriPtrNoModify = new unsigned int[pMesh->mNumVertices];
-	memcpy(const_cast<unsigned int* const> (piNumTriPtrNoModify),piNumTriPtr,
-		pMesh->mNumVertices * sizeof(unsigned int));
-
+	const std::vector<unsigned int> piNumTriPtrNoModify(piNumTriPtr, piNumTriPtr + pMesh->mNumVertices);
+	
 	// get the largest number of referenced triangles and allocate the "candidate buffer"
 	unsigned int iMaxRefTris = 0; {
 		const unsigned int* piCur = adj.mLiveTriangles;
@@ -377,6 +375,6 @@ float ImproveCacheLocalityProcess::ProcessMesh( aiMesh* pMesh, unsigned int mesh
 	delete[] piCachingStamps;
 	delete[] piIBOutput;
 	delete[] piCandidates;
-	delete[] piNumTriPtrNoModify;
+
 	return fACMR2;
 }