diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-06-30 04:30:15 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-06-30 04:48:12 +0300 |
commit | 9c2bbfb6ce90007a11f0fc4b2a1afa7d2eab5039 (patch) | |
tree | 2e60d8e769f1923e29be826d7efd50d0bc38feab /intern/elbeem | |
parent | 9210a4faf38f675582ea7a080d5fbaea0e90d493 (diff) |
Fix T50887: Holes in fluid mesh on Windows
D2556 by @chrisr
Diffstat (limited to 'intern/elbeem')
-rw-r--r-- | intern/elbeem/intern/isosurface.cpp | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/intern/elbeem/intern/isosurface.cpp b/intern/elbeem/intern/isosurface.cpp index fb61fb416b4..b29c9e20358 100644 --- a/intern/elbeem/intern/isosurface.cpp +++ b/intern/elbeem/intern/isosurface.cpp @@ -937,17 +937,10 @@ void IsoSurface::smoothSurface(float sigma, bool normSmooth) ew[(j+2)%3]); } - // NT important, check this... -#ifndef WIN32 - if(! finite(cornerareas[i][0]) ) cornerareas[i][0]=1e-6; - if(! finite(cornerareas[i][1]) ) cornerareas[i][1]=1e-6; - if(! finite(cornerareas[i][2]) ) cornerareas[i][2]=1e-6; -#else // WIN32 - // FIXME check as well... - if(! (cornerareas[i][0]>=0.0) ) cornerareas[i][0]=1e-6; - if(! (cornerareas[i][1]>=0.0) ) cornerareas[i][1]=1e-6; - if(! (cornerareas[i][2]>=0.0) ) cornerareas[i][2]=1e-6; -#endif // WIN32 + // FIX T50887: ensure pointareas are finite + if (!isfinite(cornerareas[i][0])) cornerareas[i][0] = 1e-6; + if (!isfinite(cornerareas[i][1])) cornerareas[i][1] = 1e-6; + if (!isfinite(cornerareas[i][2])) cornerareas[i][2] = 1e-6; pointareas[mIndices[i*3+0]] += cornerareas[i][0]; pointareas[mIndices[i*3+1]] += cornerareas[i][1]; @@ -1096,17 +1089,10 @@ void IsoSurface::smoothNormals(float sigma) { ew[(j+2)%3]); } - // NT important, check this... -#ifndef WIN32 - if(! finite(cornerareas[i][0]) ) cornerareas[i][0]=1e-6; - if(! finite(cornerareas[i][1]) ) cornerareas[i][1]=1e-6; - if(! finite(cornerareas[i][2]) ) cornerareas[i][2]=1e-6; -#else // WIN32 - // FIXME check as well... - if(! (cornerareas[i][0]>=0.0) ) cornerareas[i][0]=1e-6; - if(! (cornerareas[i][1]>=0.0) ) cornerareas[i][1]=1e-6; - if(! (cornerareas[i][2]>=0.0) ) cornerareas[i][2]=1e-6; -#endif // WIN32 + // FIX T50887: ensure pointareas are finite + if (!isfinite(cornerareas[i][0])) cornerareas[i][0] = 1e-6; + if (!isfinite(cornerareas[i][1])) cornerareas[i][1] = 1e-6; + if (!isfinite(cornerareas[i][2])) cornerareas[i][2] = 1e-6; pointareas[mIndices[i*3+0]] += cornerareas[i][0]; pointareas[mIndices[i*3+1]] += cornerareas[i][1]; |