X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHDS%2FSMESH_Controls.hxx;h=6f5fae9a5230e0b99ebfbdb38804c7ab5900c755;hb=HEAD;hp=28dda6dcba9ecd7f5ed8971ef2bea0b8796e47df;hpb=251f8c052dd12dd29922210dc901b295fe999a0e;p=modules%2Fsmesh.git diff --git a/src/SMESHDS/SMESH_Controls.hxx b/src/SMESHDS/SMESH_Controls.hxx index 28dda6dcb..6f5fae9a5 100644 --- a/src/SMESHDS/SMESH_Controls.hxx +++ b/src/SMESHDS/SMESH_Controls.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -24,7 +24,8 @@ #define _SMESH_CONTROLS_HXX_ // This file is named incosistently with others, i.e. not SMESHDS_Controls.hxx, -// because it was moved from ../Controls/SMESH_Controls.hxx +// because it was moved from ../Controls/SMESH_Controls.hxx. +// It was moved here for the sake of SMESHDS_GroupOnFilter #include "SMDSAbs_ElementType.hxx" @@ -42,17 +43,17 @@ class SMDS_Mesh; -namespace SMESH{ - namespace Controls{ +namespace SMESH { + namespace Controls { /* Class : Functor - Description : Root of all Functors + Description : Root of all Functors defined in ../Controls/SMESH_ControlsDef.hxx */ class SMESHCONTROLS_EXPORT Functor { public: - ~Functor(){} + virtual ~Functor(){} virtual void SetMesh( const SMDS_Mesh* theMesh ) = 0; virtual SMDSAbs_ElementType GetType() const = 0; }; @@ -66,10 +67,11 @@ namespace SMESH{ 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 PredicatePtr;