Salome HOME
Issue #1834: Fix length of lines
[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    *  \param[out] theError error message.
25    *  \returns true if feature is valid.
26    */
27   GEOMVALIDATORS_EXPORT virtual bool isValid(const std::shared_ptr<ModelAPI_Feature>& theFeature,
28                                              const std::list<std::string>& theArguments,
29                                              Events_InfoMessage& theError) const;
30
31   /// \return true if the attribute in feature is not obligatory for the feature execution.
32   GEOMVALIDATORS_EXPORT virtual 
33     bool isNotObligatory(std::string theFeature, std::string theAttribute);
34 };
35
36 #endif