X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_HypoFilter.cxx;h=ff14016d8dae8ae62af359d12b7862aaf5b3db77;hp=783547bb103973f060c842abbec89e45f68a0c11;hb=3291e2c4e1f98a5f37c397c06c254b7ba0f75e9d;hpb=287d1c47201de439b4f52eae1f79a03ad110cd97;ds=sidebyside diff --git a/src/SMESH/SMESH_HypoFilter.cxx b/src/SMESH/SMESH_HypoFilter.cxx index 783547bb1..ff14016d8 100644 --- a/src/SMESH/SMESH_HypoFilter.cxx +++ b/src/SMESH/SMESH_HypoFilter.cxx @@ -97,11 +97,11 @@ bool SMESH_HypoFilter::InstancePredicate::IsOk(const SMESH_Hypothesis* aHyp, } //======================================================================= -//function : IsGlobalPredicate::IsOk +//function : IsAssignedToPredicate::IsOk //purpose : //======================================================================= -bool SMESH_HypoFilter::IsGlobalPredicate::IsOk(const SMESH_Hypothesis* aHyp, +bool SMESH_HypoFilter::IsAssignedToPredicate::IsOk(const SMESH_Hypothesis* aHyp, const TopoDS_Shape& aShape) const { return ( !_mainShape.IsNull() && !aShape.IsNull() && _mainShape.IsSame( aShape )); @@ -131,9 +131,10 @@ SMESH_HypoFilter::SMESH_HypoFilter( SMESH_HypoPredicate* aPredicate, bool notNag //purpose : //======================================================================= -void SMESH_HypoFilter::And( SMESH_HypoPredicate* aPredicate ) +SMESH_HypoFilter & SMESH_HypoFilter::And( SMESH_HypoPredicate* aPredicate ) { add( AND, aPredicate ); + return *this; } //======================================================================= @@ -141,9 +142,10 @@ void SMESH_HypoFilter::And( SMESH_HypoPredicate* aPredicate ) //purpose : //======================================================================= -void SMESH_HypoFilter::AndNot( SMESH_HypoPredicate* aPredicate ) +SMESH_HypoFilter & SMESH_HypoFilter::AndNot( SMESH_HypoPredicate* aPredicate ) { add( AND_NOT, aPredicate ); + return *this; } //======================================================================= @@ -151,9 +153,10 @@ void SMESH_HypoFilter::AndNot( SMESH_HypoPredicate* aPredicate ) //purpose : //======================================================================= -void SMESH_HypoFilter::Or( SMESH_HypoPredicate* aPredicate ) +SMESH_HypoFilter & SMESH_HypoFilter::Or( SMESH_HypoPredicate* aPredicate ) { add( OR, aPredicate ); + return *this; } //======================================================================= @@ -161,9 +164,10 @@ void SMESH_HypoFilter::Or( SMESH_HypoPredicate* aPredicate ) //purpose : Return predicates //======================================================================= -void SMESH_HypoFilter::OrNot( SMESH_HypoPredicate* aPredicate ) +SMESH_HypoFilter & SMESH_HypoFilter::OrNot( SMESH_HypoPredicate* aPredicate ) { add( OR_NOT, aPredicate ); + return *this; } //======================================================================= @@ -193,7 +197,17 @@ SMESH_HypoPredicate* SMESH_HypoFilter::IsAlgo() SMESH_HypoPredicate* SMESH_HypoFilter::IsGlobal(const TopoDS_Shape& theMainShape) { - return new IsGlobalPredicate( theMainShape ); + return new IsAssignedToPredicate( theMainShape ); +} + +//======================================================================= +//function : IsAssignedTo +//purpose : +//======================================================================= + + SMESH_HypoPredicate* SMESH_HypoFilter::IsAssignedTo(const TopoDS_Shape& theShape) +{ + return new IsAssignedToPredicate( theShape ); } //======================================================================= @@ -268,13 +282,14 @@ bool SMESH_HypoFilter::IsOk (const SMESH_Hypothesis* aHyp, //purpose : //======================================================================= -void SMESH_HypoFilter::Init ( SMESH_HypoPredicate* aPredicate, bool notNagate ) +SMESH_HypoFilter & SMESH_HypoFilter::Init ( SMESH_HypoPredicate* aPredicate, bool notNagate ) { list::const_iterator pred = myPredicates.begin(); for ( ; pred != myPredicates.end(); ++pred ) delete *pred; add( notNagate ? AND : AND_NOT, aPredicate ); + return *this; }