X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_Filter.h;h=ab68a6b1b7421c3d0e80e994431e192a787dae7b;hb=e3e19dc2facbac0fd8e309ad4b43e1f679f17259;hp=26c5feffd1fed0a0b64b2b7a3b7016e7bc3c9fb6;hpb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_Filter.h b/src/SMESHGUI/SMESHGUI_Filter.h index 26c5feffd..ab68a6b1b 100755 --- a/src/SMESHGUI/SMESHGUI_Filter.h +++ b/src/SMESHGUI/SMESHGUI_Filter.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2014 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