From: vsr Date: Thu, 27 Jan 2011 10:14:07 +0000 (+0000) Subject: 0020943: EDF 1463 SMESH: additional fonctionnality to the feature 20749 X-Git-Tag: StartingPortingMED3~111 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=20570dd75efb05d14d74c9c845bbd680bab852f0;p=modules%2Fsmesh.git 0020943: EDF 1463 SMESH: additional fonctionnality to the feature 20749 Fix "bare faces" control problem --- diff --git a/src/Controls/SMESH_Controls.cxx b/src/Controls/SMESH_Controls.cxx index 42b5b6a1a..b3f467436 100644 --- a/src/Controls/SMESH_Controls.cxx +++ b/src/Controls/SMESH_Controls.cxx @@ -1956,11 +1956,13 @@ bool BareBorderVolume::IsSatisfy(long theElementId ) bool BareBorderFace::IsSatisfy(long theElementId ) { + bool ok = false; if ( const SMDS_MeshElement* face = myMesh->FindElement(theElementId)) + { if ( face->GetType() == SMDSAbs_Face ) { int nbN = face->NbCornerNodes(); - for ( int i = 0; i < nbN; ++i ) + for ( int i = 0; i < nbN && !ok; ++i ) { // check if a link is shared by another face const SMDS_MeshNode* n1 = face->GetNode( i ); @@ -1979,11 +1981,12 @@ bool BareBorderFace::IsSatisfy(long theElementId ) myLinkNodes[1] = n2; if ( face->IsQuadratic() ) myLinkNodes[2] = face->GetNode( i+nbN ); - return !myMesh->FindElement( myLinkNodes, SMDSAbs_Edge, /*noMedium=*/false); + ok = !myMesh->FindElement( myLinkNodes, SMDSAbs_Edge, /*noMedium=*/false); } } } - return false; + } + return ok; } /*