diff options
Diffstat (limited to 'src/3rdparty/assimp/code/GenVertexNormalsProcess.cpp')
-rw-r--r-- | src/3rdparty/assimp/code/GenVertexNormalsProcess.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/3rdparty/assimp/code/GenVertexNormalsProcess.cpp b/src/3rdparty/assimp/code/GenVertexNormalsProcess.cpp index 165c3f8fb..93c0e1351 100644 --- a/src/3rdparty/assimp/code/GenVertexNormalsProcess.cpp +++ b/src/3rdparty/assimp/code/GenVertexNormalsProcess.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. @@ -78,8 +79,8 @@ bool GenVertexNormalsProcess::IsActive( unsigned int pFlags) const void GenVertexNormalsProcess::SetupProperties(const Importer* pImp) { // Get the current value of the AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE property - configMaxAngle = pImp->GetPropertyFloat(AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE,175.f); - configMaxAngle = AI_DEG_TO_RAD(std::max(std::min(configMaxAngle,175.0f),0.0f)); + configMaxAngle = pImp->GetPropertyFloat(AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE,(ai_real)175.0); + configMaxAngle = AI_DEG_TO_RAD(std::max(std::min(configMaxAngle,(ai_real)175.0),(ai_real)0.0)); } // ------------------------------------------------------------------------------------------------ @@ -123,7 +124,7 @@ bool GenVertexNormalsProcess::GenMeshVertexNormals (aiMesh* pMesh, unsigned int } // Allocate the array to hold the output normals - const float qnan = std::numeric_limits<float>::quiet_NaN(); + const float qnan = std::numeric_limits<ai_real>::quiet_NaN(); pMesh->mNormals = new aiVector3D[pMesh->mNumVertices]; // Compute per-face normals but store them per-vertex @@ -154,13 +155,13 @@ bool GenVertexNormalsProcess::GenMeshVertexNormals (aiMesh* pMesh, unsigned int // check whether we can reuse the SpatialSort of a previous step. SpatialSort* vertexFinder = NULL; SpatialSort _vertexFinder; - float posEpsilon = 1e-5f; + ai_real posEpsilon = ai_real( 1e-5 ); if (shared) { - std::vector<std::pair<SpatialSort,float> >* avf; + std::vector<std::pair<SpatialSort,ai_real> >* avf; shared->GetProperty(AI_SPP_SPATIAL_SORT,avf); if (avf) { - std::pair<SpatialSort,float>& blubb = avf->operator [] (meshIndex); + std::pair<SpatialSort,ai_real>& blubb = avf->operator [] (meshIndex); vertexFinder = &blubb.first; posEpsilon = blubb.second; } @@ -205,13 +206,13 @@ bool GenVertexNormalsProcess::GenMeshVertexNormals (aiMesh* pMesh, unsigned int // Slower code path if a smooth angle is set. There are many ways to achieve // the effect, this one is the most straightforward one. else { - const float fLimit = std::cos(configMaxAngle); + const ai_real fLimit = std::cos(configMaxAngle); for (unsigned int i = 0; i < pMesh->mNumVertices;++i) { // Get all vertices that share this one ... vertexFinder->FindPositions( pMesh->mVertices[i] , posEpsilon, verticesFound); aiVector3D vr = pMesh->mNormals[i]; - float vrlen = vr.Length(); + ai_real vrlen = vr.Length(); aiVector3D pcNor; for (unsigned int a = 0; a < verticesFound.size(); ++a) { |