Salome HOME
22313: EDF 2538 SMESH: Face with layers with ViscousLayer3D Hypothesis
authoreap <eap@opencascade.com>
Wed, 16 Apr 2014 11:26:37 +0000 (15:26 +0400)
committereap <eap@opencascade.com>
Wed, 16 Apr 2014 11:26:37 +0000 (15:26 +0400)
  Avoid diagonal inversion of trias of different FACEs

src/StdMeshers/StdMeshers_ViscousLayers.cxx

index a012d02..d4f0f67 100644 (file)
@@ -4205,7 +4205,9 @@ void _ViscousBuilder::fixBadFaces(const TopoDS_Face&          F,
       trias [iSide].first  = badTrias[iTia];
       trias [iSide].second = SMESH_MeshAlgos::FindFaceInSet( n1, n2, emptySet, involvedFaces,
                                                              & i1, & i2 );
-      if ( ! trias[iSide].second || trias[iSide].second->NbCornerNodes() != 3 )
+      if (( ! trias[iSide].second ) ||
+          ( trias[iSide].second->NbCornerNodes() != 3 ) ||
+          ( ! sm->Contains( trias[iSide].second )))
         continue;
 
       // aspect ratio of an adjacent tria