X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_Filter.h;h=39e3f96b919f0c581040e32fe266c29481e013de;hp=ed048df679d6938f03eb2a3e9c1069eac5abdea6;hb=251f8c052dd12dd29922210dc901b295fe999a0e;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6 diff --git a/src/SMESHGUI/SMESHGUI_Filter.h b/src/SMESHGUI/SMESHGUI_Filter.h index ed048df67..39e3f96b9 100755 --- a/src/SMESHGUI/SMESHGUI_Filter.h +++ b/src/SMESHGUI/SMESHGUI_Filter.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 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 @@ -29,6 +29,7 @@ // SMESH includes #include "SMESH_SMESHGUI.hxx" +#include "SMDSAbs_ElementType.hxx" // SALOME GUI includes #include @@ -42,15 +43,17 @@ class SALOME_Actor; namespace SMESH { enum SMESHGUI_FilterType { - UnknownFilter = -1, - NodeFilter = 0, - EdgeFilter = 1, - FaceFilter = 2, - VolumeFilter = 3, - AllElementsFilter = 4, - QuadFilter = 5, - TriaFilter = 6, - LastFilter + UnknownFilter = -1, + NodeFilter = 0, + EdgeFilter = 1, + FaceFilter = 2, + VolumeFilter = 3, + AllElementsFilter = 4, + QuadFilter = 5, + TriaFilter = 6, + FirstGeometryTypeFilter, + FirstEntityTypeFilter = FirstGeometryTypeFilter + SMDSGeom_NONE, + LastFilter = FirstEntityTypeFilter + SMDSEntity_Last }; }; @@ -181,10 +184,34 @@ public: Standard_EXPORT virtual bool IsValid( const int ) const; Standard_EXPORT virtual bool IsObjValid( const int ) const; Standard_EXPORT virtual int GetId() const; - Standard_EXPORT virtual bool IsNodeFilter() const; + Standard_EXPORT virtual bool IsNodeFilter() const; public: DEFINE_STANDARD_RTTI(SMESHGUI_VolumesFilter) }; +/* + Class : SMESHGUI_VolumeShapeFilter + Description : Verify whether selected cell is a volume of a certain shape +*/ + +DEFINE_STANDARD_HANDLE(SMESHGUI_VolumeShapeFilter, SMESHGUI_Filter) + +class SMESHGUI_VolumeShapeFilter : public SMESHGUI_Filter +{ + SMDSAbs_GeometryType myGeometryType; +public: + Standard_EXPORT SMESHGUI_VolumeShapeFilter(const SMDSAbs_GeometryType shape); + + Standard_EXPORT virtual bool IsValid( const int ) const; + Standard_EXPORT virtual bool IsObjValid( const int ) const; + Standard_EXPORT virtual int GetId() const; + Standard_EXPORT virtual bool IsNodeFilter() const; + + Standard_EXPORT static int GetId( SMDSAbs_GeometryType geom ); + +public: + DEFINE_STANDARD_RTTI(SMESHGUI_VolumeShapeFilter) +}; + #endif // SMESHGUI_FILTER_H