class SMDS_Mesh;
-namespace SMESH{
- namespace Controls{
+namespace SMESH {
+ namespace Controls {
/*
Class : Functor
class SMESHCONTROLS_EXPORT Functor
{
public:
- ~Functor(){}
+ virtual ~Functor(){}
virtual void SetMesh( const SMDS_Mesh* theMesh ) = 0;
virtual SMDSAbs_ElementType GetType() const = 0;
};
Class : Predicate
Description : Base class for all predicates
*/
- class SMESHCONTROLS_EXPORT Predicate: public virtual Functor{
+ class SMESHCONTROLS_EXPORT Predicate: public virtual Functor {
public:
virtual bool IsSatisfy( long theElementId ) = 0;
virtual SMDSAbs_ElementType GetType() const = 0;
+ virtual Predicate* clone() const { return 0; } // return a thread-safe copy of this
};
typedef boost::shared_ptr<Predicate> PredicatePtr;