X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHDS%2FSMESH_Controls.hxx;h=2af3a049fc1ef6018a5ecd8a8c3a840ffa231291;hb=069b583dab475d377bc34e336ca7e618b8ef279c;hp=4feb3959ea4193152d07ac4c42f72c96d4606b41;hpb=5d68554076bbca0e1e95fb0db215a6c2b84b6c54;p=modules%2Fsmesh.git diff --git a/src/SMESHDS/SMESH_Controls.hxx b/src/SMESHDS/SMESH_Controls.hxx index 4feb3959e..2af3a049f 100644 --- a/src/SMESHDS/SMESH_Controls.hxx +++ b/src/SMESHDS/SMESH_Controls.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, 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;