summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/assimp/code/OptimizeMeshes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/assimp/code/OptimizeMeshes.cpp')
-rw-r--r--src/3rdparty/assimp/code/OptimizeMeshes.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/3rdparty/assimp/code/OptimizeMeshes.cpp b/src/3rdparty/assimp/code/OptimizeMeshes.cpp
index 8d830bb9b..f8183fc75 100644
--- a/src/3rdparty/assimp/code/OptimizeMeshes.cpp
+++ b/src/3rdparty/assimp/code/OptimizeMeshes.cpp
@@ -3,7 +3,8 @@
Open Asset Import Library (assimp)
---------------------------------------------------------------------------
-Copyright (c) 2006-2016, assimp team
+Copyright (c) 2006-2017, assimp team
+
All rights reserved.
@@ -49,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "OptimizeMeshes.h"
#include "ProcessHelper.h"
-#include "SceneCombiner.h"
+#include <assimp/SceneCombiner.h>
#include "Exceptional.h"
using namespace Assimp;
@@ -145,7 +146,7 @@ void OptimizeMeshesProcess::Execute( aiScene* pScene)
meshes.resize( 0 );
ai_assert(output.size() <= num_old);
- mScene->mNumMeshes = output.size();
+ mScene->mNumMeshes = static_cast<unsigned int>(output.size());
std::copy(output.begin(),output.end(),mScene->mMeshes);
if (output.size() != num_old) {
@@ -180,11 +181,8 @@ void OptimizeMeshesProcess::ProcessNode( aiNode* pNode)
verts += mScene->mMeshes[am]->mNumVertices;
faces += mScene->mMeshes[am]->mNumFaces;
+ pNode->mMeshes[a] = pNode->mMeshes[pNode->mNumMeshes - 1];
--pNode->mNumMeshes;
- for( unsigned int n = a; n < pNode->mNumMeshes; ++n ) {
- pNode->mMeshes[ n ] = pNode->mMeshes[ n + 1 ];
- }
-
--a;
}
}
@@ -199,7 +197,7 @@ void OptimizeMeshesProcess::ProcessNode( aiNode* pNode)
} else {
output.push_back(mScene->mMeshes[im]);
}
- im = output.size()-1;
+ im = static_cast<unsigned int>(output.size()-1);
}
}