Salome HOME
Merge branch 'Dev_0.7.1' of newgeom:newgeom.git into Dev_0.7.1
[modules/shaper.git] / src / ModuleBase / ModuleBase_FilterShapeType.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModuleBase_FilterShapeType.h
4 // Created:     12 Jan 2015
5 // Author:      Natalia ERMOLAEVA
6
7 #ifndef ModuleBase_FilterShapeType_H
8 #define ModuleBase_FilterShapeType_H
9
10 #include "ModuleBase.h"
11
12 #include "ModuleBase_Filter.h"
13
14 #include <StdSelect_TypeOfFace.hxx>
15
16 /**
17 * \ingroup GUI
18 * A class of a viewer filter by shape type
19 */
20 class ModuleBase_FilterShapeType: public ModuleBase_Filter
21 {
22 public:
23   /// Constructor 
24   /// \param theType type of shape
25   static MODULEBASE_EXPORT TopAbs_ShapeEnum shapeType(const std::string& theType);
26
27   MODULEBASE_EXPORT ModuleBase_FilterShapeType();
28
29   /**
30    * Sets the arguments to the filter.
31    * \param theArguments a list of arguments
32    */
33   MODULEBASE_EXPORT virtual void setArguments(const std::list<std::string>& theArguments);
34
35 protected:
36   /**
37    * It creates an OCC face filter
38    */
39   virtual void createFilter();
40
41 private:
42   /// the shape type of the filter
43   TopAbs_ShapeEnum myShapeType; 
44 };
45
46 #endif //ModuleBase_FilterShapeType