Salome HOME
Feature #524: 4.01. Revolution feature (not complete!)
[modules/shaper.git] / src / GeomValidators / GeomValidators_ZeroOffset.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomValidators_ZeroOffset.h
4 // Created:     13 May 2015
5 // Author:      Dmitry Bobylev
6
7 #ifndef GeomValidators_ZeroOffset_H
8 #define GeomValidators_ZeroOffset_H
9
10 #include <GeomValidators.h>
11 #include <ModelAPI_Feature.h>
12 #include <ModelAPI_FeatureValidator.h>
13
14 /** \class GeomValidators_ZeroOffset
15  *  \ingroup Validators
16  *  \brief Validates that bounding planes not the same or both offsets are not 0
17  */
18 class GeomValidators_ZeroOffset : 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    *  \n First pair of arguments should be bounding planes id.
25    *  \n Second pair of arguments should be offsets id.
26    *  \returns true if feature is valid.
27    */
28   GEOMVALIDATORS_EXPORT virtual bool isValid(const std::shared_ptr<ModelAPI_Feature>& theFeature,
29                                              const std::list<std::string>& theArguments) const;
30
31   /// \return true if the attribute in feature is not obligatory for the feature execution.
32   GEOMVALIDATORS_EXPORT virtual bool isNotObligatory(std::string theFeature, std::string theAttribute);
33 };
34
35 #endif