|
@@ -78,8 +78,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 +123,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 +154,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 = 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 +205,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) {
|