Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_Validators.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 // File:        SketchPlugin_Validators.h
4 // Created:     01 Aug 2014
5 // Author:      Vitaly SMETANNIKOV
6
7 #ifndef SketchPlugin_Validators_H
8 #define SketchPlugin_Validators_H
9
10 #include "SketchPlugin.h"
11 #include <ModelAPI_AttributeValidator.h>
12
13 /**\class SketchPlugin_DistanceAttrValidator
14  * \ingroup Validators
15  * \brief Validator for the distance input.
16  *
17  * It just checks that distance is greater than zero.
18  */
19 class SketchPlugin_DistanceAttrValidator : public ModelAPI_AttributeValidator
20 {
21  public:
22   //! returns true if attribute is valid
23   //! \param theAttribute the checked attribute
24   //! \param theArguments arguments of the attribute
25   virtual bool isValid(const AttributePtr& theAttribute,
26                        const std::list<std::string>& theArguments) const;
27 };
28
29
30 /**\class SketchPlugin_TangentAttrValidator
31  * \ingroup Validators
32  * \brief Validator for the tangent constraint input.
33  *
34  * It just checks that distance is greater than zero.
35  */
36 class SketchPlugin_TangentAttrValidator : public ModelAPI_AttributeValidator
37 {
38  public:
39   //! returns true if attribute is valid
40   //! \param theAttribute the checked attribute
41   //! \param theArguments arguments of the attribute
42   virtual bool isValid(const AttributePtr& theAttribute,
43                        const std::list<std::string>& theArguments) const;
44 };
45
46
47 /**\class SketchPlugin_NotFixed
48  * \ingroup Validators
49  * \brief Validator for the rigid constraint input.
50  *
51  * It just checks there is no rigid constraint for the current feature.
52  */
53 class SketchPlugin_NotFixedValidator : public ModelAPI_AttributeValidator
54 {
55  public:
56   //! returns true if attribute is not used in another rigid constraint
57   //! \param theAttribute the checked attribute
58   //! \param theArguments arguments of the attribute
59   virtual bool isValid(const AttributePtr& theAttribute,
60                        const std::list<std::string>& theArguments) const;
61 };
62
63
64 #endif