#include <SMESH_HypoFilter.hxx>

Public Member Functions | |
| IsMoreLocalThanPredicate (const TopoDS_Shape &shape) | |
| bool | IsOk (const SMESH_Hypothesis *aHyp, const TopoDS_Shape &aShape) const |
Data Fields | |
| TopoDS_Shape | _shape |
Definition at line 171 of file SMESH_HypoFilter.hxx.
| SMESH_HypoFilter.IsMoreLocalThanPredicate.IsMoreLocalThanPredicate | ( | const TopoDS_Shape & | shape | ) |
Definition at line 173 of file SMESH_HypoFilter.hxx.
| bool SMESH_HypoFilter.IsMoreLocalThanPredicate::IsOk | ( | const SMESH_Hypothesis * | aHyp, |
| const TopoDS_Shape & | aShape | ||
| ) | const [virtual] |
Implements SMESH_HypoPredicate.
Definition at line 129 of file SMESH_HypoFilter.cxx.
References SMESH_Gen.GetShapeDim(), IsSubShape(), and SMESH_MesherHelper.IsSubShape().
{
if ( SMESH_MesherHelper::IsSubShape( aShape, /*mainShape=*/_shape ))
return true;
if ( aShape.ShapeType() == TopAbs_COMPOUND &&
!SMESH_MesherHelper::IsSubShape( _shape, /*mainShape=*/aShape)) // issue 0020963
{
for ( int type = TopAbs_SOLID; type < TopAbs_SHAPE; ++type )
if ( aHyp->GetDim() == SMESH_Gen::GetShapeDim( TopAbs_ShapeEnum( type )))
for ( TopExp_Explorer exp( aShape, TopAbs_ShapeEnum( type )); exp.More(); exp.Next())
if ( SMESH_MesherHelper::IsSubShape( exp.Current(), /*mainShape=*/_shape ))
return true;
}
return false;
}
| TopoDS_Shape SMESH_HypoFilter.IsMoreLocalThanPredicate._shape |
Definition at line 172 of file SMESH_HypoFilter.hxx.