From: eap Date: Tue, 15 Apr 2014 09:11:33 +0000 (+0400) Subject: 22539: [CEA 1126] Quadrangle mapping produces a non conform mesh X-Git-Tag: V7_4_0rc1~52 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=479bf562b6aeea10f3f9a80323ebaa63a522b5be 22539: [CEA 1126] Quadrangle mapping produces a non conform mesh Add warning on a bad quality quad --- diff --git a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx index a0e1d0610..1bb30e342 100644 --- a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx +++ b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx @@ -648,7 +648,16 @@ bool StdMeshers_Quadrangle_2D::computeQuadDominant(SMESH_Mesh& aMesh, else { if ( SMDS_MeshFace* face = myHelper->AddFace(a, b, d, c)) + { meshDS->SetMeshElementOnShape(face, geomFaceID); + SMESH_ComputeErrorPtr& err = aMesh.GetSubMesh( aFace )->GetComputeError(); + if ( !err || err->IsOK() || err->myName < COMPERR_WARNING ) + { + err.reset( new SMESH_ComputeError( COMPERR_WARNING, + "Bad quality quad created")); + err->myBadElements.push_back( face ); + } + } --i; } } @@ -820,7 +829,16 @@ bool StdMeshers_Quadrangle_2D::computeQuadDominant(SMESH_Mesh& aMesh, else { if ( SMDS_MeshFace* face = myHelper->AddFace(a, b, d, c)) + { meshDS->SetMeshElementOnShape(face, geomFaceID); + SMESH_ComputeErrorPtr& err = aMesh.GetSubMesh( aFace )->GetComputeError(); + if ( !err || err->IsOK() || err->myName < COMPERR_WARNING ) + { + err.reset( new SMESH_ComputeError( COMPERR_WARNING, + "Bad quality quad created")); + err->myBadElements.push_back( face ); + } + } --i; } }