Salome HOME
Union of validator and filter functionalities.
[modules/shaper.git] / src / GeomValidators / GeomValidators_Edge.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomValidators_Edge.h
4 // Created:     19 Mar 2015
5 // Author:      Natalia ERMOLAEVA
6
7 #ifndef GeomValidators_Edge_H
8 #define GeomValidators_Edge_H
9
10 #include "GeomValidators.h"
11 #include "ModelAPI_AttributeValidator.h"
12
13 #include <string>
14
15 /**
16 * \ingroup Validators
17 * A validator of selection
18 */
19 class GeomValidators_Edge : public ModelAPI_AttributeValidator
20 {
21  public:
22   //  the edge type
23   enum TypeOfEdge
24   {
25     AnyEdge,
26     Line,
27     Circle
28   };
29
30  public:
31    GEOMVALIDATORS_EXPORT GeomValidators_Edge() {}
32   //! returns true if attribute is valid
33   //! \param theAttribute the checked attribute
34   //! \param theArguments arguments of the attribute
35   GEOMVALIDATORS_EXPORT virtual bool isValid(const AttributePtr& theAttribute,
36                                              const std::list<std::string>& theArguments) const;
37 protected:
38   /// Convert string to TypeOfEdge value
39   /// \param theType a string value
40   static TypeOfEdge edgeType(const std::string& theType);
41 };
42
43 #endif