Fix T50887: Holes in fluid mesh on Windows

D2556 by @chrisr
This commit is contained in:
Campbell Barton 2017-06-30 11:30:15 +10:00
parent 9210a4faf3
commit 9c2bbfb6ce
Notes: blender-bot 2023-05-29 09:17:12 +02:00
Referenced by commit 1938a81e42, Fix compile error after recent 9c2bbfb6 commit.
Referenced by issue #52544, Blender crash. Problem with ShrinkWrap or Subsurf Lvl 2
Referenced by issue #50887, fluid simulation: generate mesh bug
1 changed files with 8 additions and 22 deletions

View File

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