Salome HOME
0efb1a545af9e97ce9c8b6a2c46cbf5c9005f0fe
[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 * \ingroup GUI
18 * A class of a viewer filter by linear edges
19 */
20 class ModuleBase_FilterLinearEdge: public ModuleBase_Filter
21 {
22 public:
23   /// Convert string to StdSelect_TypeOfFace value
24   /// \param theType a string value
25   static MODULEBASE_EXPORT StdSelect_TypeOfEdge edgeType(const std::string& theType);
26
27   /// Constructor
28   MODULEBASE_EXPORT ModuleBase_FilterLinearEdge(): 
29       ModuleBase_Filter() {}
30
31   /**
32    * Sets the arguments to the filter.
33    * \param theArguments a list of arguments
34    */
35   MODULEBASE_EXPORT virtual void setArguments(const std::list<std::string>& theArguments);
36
37 protected:
38   /**
39    * It creates an OCC edge filter
40    */
41   virtual void createFilter();
42
43 };
44
45 #endif //ModuleBase_FilterLinearEdge