1 // File: PartSet_Validators.h
2 // Created: 09 July 2014
3 // Author: Vitaly SMETANNIKOV
5 #ifndef PartSet_Validators_H
6 #define PartSet_Validators_H
10 #include <ModuleBase_SelectionValidator.h>
11 #include <ModuleBase_ISelection.h>
12 #include <ModelAPI_RefAttrValidator.h>
18 //! A class to validate a selection for Distance constraint operation
19 class PartSet_DistanceValidator : public ModuleBase_SelectionValidator
22 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection) const;
25 //! A class to validate a selection for Length constraint operation
26 class PartSet_LengthValidator : public ModuleBase_SelectionValidator
29 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection) const;
32 //! A class to validate a selection for Perpendicular constraint operation
33 class PartSet_PerpendicularValidator : public ModuleBase_SelectionValidator
36 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection) const;
39 //! A class to validate a selection for Perpendicular constraint operation
40 class PartSet_ParallelValidator : public ModuleBase_SelectionValidator
43 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection) const;
46 //! A class to validate a selection for Perpendicular constraint operation
47 class PartSet_RadiusValidator : public ModuleBase_SelectionValidator
50 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection) const;
53 class PartSet_DifferentObjectsValidator : public ModelAPI_RefAttrValidator
56 virtual bool isValid(const FeaturePtr& theFeature, const std::list<std::string>& theArguments,
57 const ObjectPtr& theObject) const;
58 //! Returns true if the attribute is good for the feature attribute
59 virtual bool isValid(const FeaturePtr& theFeature, const std::list<std::string>& theArguments,
60 const AttributePtr& theAttribute) const;
62 virtual bool isValid(const AttributePtr& theAttribute,
63 const std::list<std::string>& theArguments) const;