Commit: 9c2bbfb6ce90007a11f0fc4b2a1afa7d2eab5039
Author: Campbell Barton
Date:   Fri Jun 30 11:30:15 2017 +1000
Branches: master
https://developer.blender.org/rB9c2bbfb6ce90007a11f0fc4b2a1afa7d2eab5039

Fix T50887: Holes in fluid mesh on Windows

D2556 by @chrisr

===================================================================

M       intern/elbeem/intern/isosurface.cpp

===================================================================

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];

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to