From 99af04ec6477fefea7eae1af4f5c18d34407a1a3 Mon Sep 17 00:00:00 2001 From: marksibly Date: Mon, 8 Jun 2009 23:32:16 +0000 Subject: [PATCH] Fixed bug with multi mesh objects git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@436 67173fc5-114c-0410-ac8e-9d2fd5bffc1f --- code/B3DImporter.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/B3DImporter.cpp b/code/B3DImporter.cpp index 56acdeafd..7defc981f 100644 --- a/code/B3DImporter.cpp +++ b/code/B3DImporter.cpp @@ -297,11 +297,11 @@ void B3DImporter::ReadVRTS(){ int sz=12+(_vflags&1?12:0)+(_vflags&2?16:0)+(_tcsets*_tcsize*4); int n_verts=ChunkSize()/sz; - _vertices.clear(); - _vertices.resize( n_verts ); + int v0=_vertices.size(); + _vertices.resize( v0+n_verts ); for( int i=0;imMaterialIndex=matid; - mesh->mNumFaces=n_tris; + mesh->mNumFaces=0; mesh->mPrimitiveTypes=aiPrimitiveType_TRIANGLE; + int n_tris=ChunkSize()/12; aiFace *face=mesh->mFaces=new aiFace[n_tris]; for( int i=0;i=_vertices.size() || i1<0 || i1>=_vertices.size() || i2<0 || i2>=_vertices.size() ){ #ifdef DEBUG_B3D - cout<<"i0="<mNumIndices=3; face->mIndices=new unsigned[3]; face->mIndices[0]=i0; face->mIndices[1]=i1; face->mIndices[2]=i2; + ++mesh->mNumFaces; ++face; } }