Salome HOME
Constriction type for all sketch entities
[modules/shaper.git] / src / ModelAPI / ModelAPI_ShapeValidator.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModelAPI_ShapeValidator.h
4 // Created:     2 Feb 2015
5 // Author:      Natalia ERMOLAEVA
6
7 #ifndef ModelAPI_ShapeValidator_H
8 #define ModelAPI_ShapeValidator_H
9
10 #include <ModelAPI.h>
11
12 #include <ModelAPI_Validator.h>
13 #include <ModelAPI_Feature.h>
14 #include <ModelAPI_Attribute.h>
15
16 #include <GeomAPI_Shape.h>
17
18 /**
19  * Generic validator for any attribute of a feature.
20  */
21 class ModelAPI_ShapeValidator : public ModelAPI_Validator
22 {
23 public:
24   /// returns True if the attribute is valid. It checks whether the feature of the attribute
25   /// does not contain a selection attribute filled with the same shape
26   /// \param theFeature a feature to check
27   /// \param theArguments a filter parameters
28   /// \param theObject an object
29   /// \param theAttribute an attribute to check
30   /// \param theShape a shape
31   MODELAPI_EXPORT virtual bool isValid(const FeaturePtr& theFeature,
32                                const std::list<std::string>& theArguments,
33                                const ObjectPtr& theObject, const AttributePtr& theAttribute,
34                                const GeomShapePtr& theShape) const;
35 };
36
37 #endif