Salome HOME
c7134745fbb4bcad25f5aec9779ea3c2c8792348
[modules/shaper.git] / src / GeomValidators / GeomValidators_BooleanArguments.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomValidators_BooleanArguments.h
4 // Created:     30 June 2015
5 // Author:      Dmitry Bobylev
6
7 #ifndef GeomValidators_BooleanArguments_H
8 #define GeomValidators_BooleanArguments_H
9
10 #include <GeomValidators.h>
11 #include <ModelAPI_Feature.h>
12 #include <ModelAPI_FeatureValidator.h>
13
14 /** \class GeomValidators_BooleanArguments
15  *  \ingroup Validators
16  *  \brief Validates that boolean operation have enough arguments.
17  */
18 class GeomValidators_BooleanArguments : public ModelAPI_FeatureValidator
19 {
20 public:
21   /** \brief Returns true if feature and/or attributes are valid.
22    *  \param[in] theFeature the validated feature.
23    *  \param[in] theArguments the arguments in the configuration file for this validator.
24    *  \returns true if feature is valid.
25    */
26   GEOMVALIDATORS_EXPORT virtual bool isValid(const std::shared_ptr<ModelAPI_Feature>& theFeature,
27                                              const std::list<std::string>& theArguments) const;
28
29   /// \return true if the attribute in feature is not obligatory for the feature execution.
30   GEOMVALIDATORS_EXPORT virtual bool isNotObligatory(std::string theFeature, std::string theAttribute);
31 };
32
33 #endif