mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-18 18:10:36 +05:00
0020943: EDF 1463 SMESH: additional fonctionnality to the feature 20749
Fix "bare faces" control problem
This commit is contained in:
parent
bdebea37d3
commit
20570dd75e
@ -1956,11 +1956,13 @@ bool BareBorderVolume::IsSatisfy(long theElementId )
|
|||||||
|
|
||||||
bool BareBorderFace::IsSatisfy(long theElementId )
|
bool BareBorderFace::IsSatisfy(long theElementId )
|
||||||
{
|
{
|
||||||
|
bool ok = false;
|
||||||
if ( const SMDS_MeshElement* face = myMesh->FindElement(theElementId))
|
if ( const SMDS_MeshElement* face = myMesh->FindElement(theElementId))
|
||||||
|
{
|
||||||
if ( face->GetType() == SMDSAbs_Face )
|
if ( face->GetType() == SMDSAbs_Face )
|
||||||
{
|
{
|
||||||
int nbN = face->NbCornerNodes();
|
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
|
// check if a link is shared by another face
|
||||||
const SMDS_MeshNode* n1 = face->GetNode( i );
|
const SMDS_MeshNode* n1 = face->GetNode( i );
|
||||||
@ -1979,11 +1981,12 @@ bool BareBorderFace::IsSatisfy(long theElementId )
|
|||||||
myLinkNodes[1] = n2;
|
myLinkNodes[1] = n2;
|
||||||
if ( face->IsQuadratic() )
|
if ( face->IsQuadratic() )
|
||||||
myLinkNodes[2] = face->GetNode( i+nbN );
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user