X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHDS%2FSMESH_Controls.hxx;h=60839df038a825fbc89e7d11c5e91e1dbb20009f;hb=265fc676f541f36cc21363d41067bbccddfef684;hp=70dd6a6cb4c2ee19b02ba1bd1e928f901aa25b6b;hpb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce;p=modules%2Fsmesh.git diff --git a/src/SMESHDS/SMESH_Controls.hxx b/src/SMESHDS/SMESH_Controls.hxx index 70dd6a6cb..60839df03 100644 --- a/src/SMESHDS/SMESH_Controls.hxx +++ b/src/SMESHDS/SMESH_Controls.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2019 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 @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -24,13 +24,14 @@ #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" #include -#ifdef WNT +#ifdef WIN32 #if defined SMESHCONTROLS_EXPORTS || defined SMESHControls_EXPORTS #define SMESHCONTROLS_EXPORT __declspec( dllexport ) #else @@ -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;