Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
22516: [CEA 1075] Quadrangle mapping produces a bad mesh without raising error
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_Quadrangle_2D.cxx
diff --git
a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx
b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx
index 8bd1896fc50511d05bfd72f64ff3d81de72f8ac1..0a7e3301754ee315929c1e865e4f646dca1dfd59 100644
(file)
--- a/
src/StdMeshers/StdMeshers_Quadrangle_2D.cxx
+++ b/
src/StdMeshers/StdMeshers_Quadrangle_2D.cxx
@@
-3971,7
+3971,7
@@
bool StdMeshers_Quadrangle_2D::check()
// find a right angle VERTEX
int iVertex;
// find a right angle VERTEX
int iVertex;
- double maxAngle = 0;
+ double maxAngle =
-1e10
0;
for ( int i = 0; i < wire->NbEdges(); ++i )
{
int iPrev = myHelper->WrapIndex( i-1, wire->NbEdges() );
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;
}
}
iVertex = i;
}
}
- if ( maxAngle
== 0
) return isOK;
+ if ( maxAngle
< -2*M_PI
) return isOK;
// get a sign of 2D area of a corner face
// get a sign of 2D area of a corner face
@@
-4010,6
+4010,9
@@
bool StdMeshers_Quadrangle_2D::check()
}
okSign = v2 ^ v1;
}
okSign = v2 ^ v1;
+
+ if ( maxAngle < 0 )
+ okSign *= -1;
}
// Look for incorrectly oriented faces
}
// Look for incorrectly oriented faces