NDOLoader: improve reusability of some temporary vectors.

ColladaLoader: fix http://sourceforge.net/tracker/?func=detail&aid=3054873&group_id=226462&atid=1067632, thanks to Adario for the report.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@814 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
This commit is contained in:
aramis_acg
2010-09-11 19:44:06 +00:00
parent 960f7defd7
commit e440fb2769
2 changed files with 12 additions and 6 deletions

View File

@@ -220,6 +220,9 @@ void NDOImporter::InternReadFile( const std::string& pFile,
aiNode** cc = root->mChildren = new aiNode* [ root->mNumChildren = static_cast<unsigned int>( objects.size()) ] ();
pScene->mMeshes = new aiMesh* [ root->mNumChildren] ();
std::vector<aiVector3D> vertices;
std::vector<unsigned int> indices;
for_each(const Object& obj,objects) {
aiNode* nd = *cc++ = new aiNode(obj.name);
nd->mParent = root;
@@ -240,9 +243,7 @@ void NDOImporter::InternReadFile( const std::string& pFile,
aiMesh* mesh = new aiMesh();
aiFace* faces = mesh->mFaces = new aiFace[mesh->mNumFaces=face_table.size()];
std::vector<aiVector3D> vertices;
std::vector<unsigned int> indices;
vertices.clear();
vertices.reserve(4 * face_table.size()); // arbitrarily choosen
for_each(FaceTable::value_type& v, face_table) {
indices.clear();