diff options
Diffstat (limited to 'src/3rdparty/assimp/code/BlenderModifier.cpp')
-rw-r--r-- | src/3rdparty/assimp/code/BlenderModifier.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/3rdparty/assimp/code/BlenderModifier.cpp b/src/3rdparty/assimp/code/BlenderModifier.cpp index 24aed25d0..348df1f48 100644 --- a/src/3rdparty/assimp/code/BlenderModifier.cpp +++ b/src/3rdparty/assimp/code/BlenderModifier.cpp @@ -2,7 +2,8 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2017, assimp team + All rights reserved. Redistribution and use of this software in source and binary forms, @@ -42,10 +43,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * @brief Implementation of some blender modifiers (i.e subdivision, mirror). */ - #ifndef ASSIMP_BUILD_NO_BLEND_IMPORTER + #include "BlenderModifier.h" -#include "SceneCombiner.h" +#include <assimp/SceneCombiner.h> #include "Subdivision.h" #include <assimp/scene.h> #include <memory> @@ -265,7 +266,7 @@ void BlenderModifier_Mirror :: DoIt(aiNode& out, ConversionData& conv_data, co std::copy(out.mMeshes,out.mMeshes+out.mNumMeshes,nind); std::transform(out.mMeshes,out.mMeshes+out.mNumMeshes,nind+out.mNumMeshes, - std::bind1st(std::plus< unsigned int >(),out.mNumMeshes)); + [&out](unsigned int n) { return out.mNumMeshes + n; }); delete[] out.mMeshes; out.mMeshes = nind; @@ -275,9 +276,6 @@ void BlenderModifier_Mirror :: DoIt(aiNode& out, ConversionData& conv_data, co orig_object.id.name,"`"); } - - - // ------------------------------------------------------------------------------------------------ bool BlenderModifier_Subdivision :: IsActive (const ModifierData& modin) { @@ -312,7 +310,9 @@ void BlenderModifier_Subdivision :: DoIt(aiNode& out, ConversionData& conv_data std::unique_ptr<Subdivider> subd(Subdivider::Create(algo)); ai_assert(subd); - + if ( conv_data.meshes->empty() ) { + return; + } aiMesh** const meshes = &conv_data.meshes[conv_data.meshes->size() - out.mNumMeshes]; std::unique_ptr<aiMesh*[]> tempmeshes(new aiMesh*[out.mNumMeshes]()); @@ -323,4 +323,4 @@ void BlenderModifier_Subdivision :: DoIt(aiNode& out, ConversionData& conv_data orig_object.id.name,"`"); } -#endif +#endif // ASSIMP_BUILD_NO_BLEND_IMPORTER |