[SALOME platform 0013410]: SubMesh not taken into account with Netgen 1D-2D et 1D-2D-3D

+  static SMESH_HypoPredicate* IsMoreLocalThan(const TopoDS_Shape& theShape);
This commit is contained in:
eap 2008-09-16 08:44:22 +00:00
parent e373b6970b
commit ee5c3ec1b3
2 changed files with 29 additions and 0 deletions

View File

@ -118,6 +118,17 @@ bool SMESH_HypoFilter::IsAssignedToPredicate::IsOk(const SMESH_Hypothesis* aHyp,
return ( !_mainShape.IsNull() && !aShape.IsNull() && _mainShape.IsSame( aShape ));
}
//=======================================================================
//function : IsMoreLocalThanPredicate::IsOk
//purpose :
//=======================================================================
bool SMESH_HypoFilter::IsMoreLocalThanPredicate::IsOk(const SMESH_Hypothesis* aHyp,
const TopoDS_Shape& aShape) const
{
return ( aShape.ShapeType() > _shapeType );
}
//=======================================================================
//function : SMESH_HypoFilter
//purpose :
@ -262,6 +273,16 @@ SMESH_HypoPredicate* SMESH_HypoFilter::IsApplicableTo(const TopoDS_Shape& theSha
return new ApplicablePredicate( theShape );
}
//=======================================================================
//function : IsMoreLocalThan
//purpose :
//=======================================================================
SMESH_HypoPredicate* SMESH_HypoFilter::IsMoreLocalThan(const TopoDS_Shape& theShape)
{
return new IsMoreLocalThanPredicate( theShape );
}
//=======================================================================
//function : HasType
//purpose :

View File

@ -74,6 +74,7 @@ class SMESH_EXPORT SMESH_HypoFilter: public SMESH_HypoPredicate
static SMESH_HypoPredicate* IsAssignedTo(const TopoDS_Shape& theShape);
static SMESH_HypoPredicate* Is(const SMESH_Hypothesis* theHypo);
static SMESH_HypoPredicate* IsGlobal(const TopoDS_Shape& theMainShape);
static SMESH_HypoPredicate* IsMoreLocalThan(const TopoDS_Shape& theShape);
static SMESH_HypoPredicate* HasName(const std::string & theName);
static SMESH_HypoPredicate* HasDim(const int theDim);
static SMESH_HypoPredicate* HasType(const int theHypType);
@ -167,6 +168,13 @@ class SMESH_EXPORT SMESH_HypoFilter: public SMESH_HypoPredicate
const TopoDS_Shape& aShape) const;
};
struct IsMoreLocalThanPredicate : public SMESH_HypoPredicate {
TopAbs_ShapeEnum _shapeType;
IsMoreLocalThanPredicate( const TopoDS_Shape& shape ):_shapeType(shape.ShapeType()){}
bool IsOk(const SMESH_Hypothesis* aHyp,
const TopoDS_Shape& aShape) const;
};
struct IsAuxiliaryPredicate : public SMESH_HypoPredicate {
bool IsOk(const SMESH_Hypothesis* aHyp,
const TopoDS_Shape& aShape) const;