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