22516: [CEA 1075] Quadrangle mapping produces a bad mesh without raising error

For a case of a FACE with only concave corners.
This commit is contained in:
eap 2014-03-20 14:43:30 +04:00
parent b56d0083b9
commit f90e1ea49e

View File

@ -3971,7 +3971,7 @@ bool StdMeshers_Quadrangle_2D::check()
// find a right angle VERTEX
int iVertex;
double maxAngle = 0;
double maxAngle = -1e100;
for ( int i = 0; i < wire->NbEdges(); ++i )
{
int iPrev = myHelper->WrapIndex( i-1, wire->NbEdges() );
@ -3984,7 +3984,7 @@ bool StdMeshers_Quadrangle_2D::check()
iVertex = i;
}
}
if ( maxAngle == 0 ) return isOK;
if ( maxAngle < -2*M_PI ) return isOK;
// get a sign of 2D area of a corner face
@ -4010,6 +4010,9 @@ bool StdMeshers_Quadrangle_2D::check()
}
okSign = v2 ^ v1;
if ( maxAngle < 0 )
okSign *= -1;
}
// Look for incorrectly oriented faces