#include <SMESH_ControlsDef.hxx>

Public Member Functions | |
| OverConstrainedVolume () | |
| virtual void | SetMesh (const SMDS_Mesh *theMesh) |
| virtual SMDSAbs_ElementType | GetType () const |
| virtual bool | IsSatisfy (long theElementId) |
Protected Attributes | |
| const SMDS_Mesh * | myMesh |
Definition at line 420 of file SMESH_ControlsDef.hxx.
| SMESH.Controls.OverConstrainedVolume.OverConstrainedVolume | ( | ) |
Definition at line 423 of file SMESH_ControlsDef.hxx.
:myMesh(0) {}
| virtual SMDSAbs_ElementType SMESH.Controls.OverConstrainedVolume.GetType | ( | ) | const [virtual] |
Implements SMESH.Controls.Predicate.
Definition at line 425 of file SMESH_ControlsDef.hxx.
References SMDSAbs_Volume.
{ return SMDSAbs_Volume; }
| bool OverConstrainedVolume::IsSatisfy | ( | long | theElementId | ) | [virtual] |
Implements SMESH.Controls.Predicate.
Definition at line 2021 of file SMESH_Controls.cxx.
References SMDS_Mesh.FindElement(), SMDS_VolumeTool.IsFreeFace(), SMESH.Controls.NumericalFunctor.myMesh, SMDS_VolumeTool.NbFaces(), and SMDS_VolumeTool.Set().
{
// An element is over-constrained if it has N-1 free borders where
// N is the number of edges/faces for a 2D/3D element.
SMDS_VolumeTool myTool;
if ( myTool.Set( myMesh->FindElement(theElementId)))
{
int nbSharedFaces = 0;
for ( int iF = 0; iF < myTool.NbFaces(); ++iF )
if ( !myTool.IsFreeFace( iF ) && ++nbSharedFaces > 1 )
break;
return ( nbSharedFaces == 1 );
}
return false;
}
| virtual void SMESH.Controls.OverConstrainedVolume.SetMesh | ( | const SMDS_Mesh * | theMesh | ) | [virtual] |
Implements SMESH.Controls.Functor.
Definition at line 424 of file SMESH_ControlsDef.hxx.
{ myMesh = theMesh; }
const SMDS_Mesh* SMESH.Controls.OverConstrainedVolume.myMesh [protected] |
Definition at line 428 of file SMESH_ControlsDef.hxx.