X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Validators.h;h=966f33be1bd1533f746c112f85bcec4abd1c5054;hb=c7a5ff20294ae8270bfb9120b8887f0c9959d658;hp=cd7a7d5336dba141f1df7bb9b44f8302130aad57;hpb=e7c4184a3752e98c384b35e812120fcadc92c194;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Validators.h b/src/SketchPlugin/SketchPlugin_Validators.h index cd7a7d533..966f33be1 100644 --- a/src/SketchPlugin/SketchPlugin_Validators.h +++ b/src/SketchPlugin/SketchPlugin_Validators.h @@ -9,6 +9,7 @@ #include "SketchPlugin.h" #include +#include /**\class SketchPlugin_DistanceAttrValidator * \ingroup Validators @@ -22,11 +23,12 @@ class SketchPlugin_DistanceAttrValidator : public ModelAPI_AttributeValidator //! returns true if attribute is valid //! \param theAttribute the checked attribute //! \param theArguments arguments of the attribute + //! \param theError error message virtual bool isValid(const AttributePtr& theAttribute, - const std::list& theArguments) const; + const std::list& theArguments, + std::string& theError) const; }; - /**\class SketchPlugin_TangentAttrValidator * \ingroup Validators * \brief Validator for the tangent constraint input. @@ -39,12 +41,14 @@ class SketchPlugin_TangentAttrValidator : public ModelAPI_AttributeValidator //! returns true if attribute is valid //! \param theAttribute the checked attribute //! \param theArguments arguments of the attribute + //! \param theError error message virtual bool isValid(const AttributePtr& theAttribute, - const std::list& theArguments) const; + const std::list& theArguments, + std::string& theError) const; }; -/**\class SketchPlugin_NotFixed +/**\class SketchPlugin_NotFixedValidator * \ingroup Validators * \brief Validator for the rigid constraint input. * @@ -56,8 +60,10 @@ class SketchPlugin_NotFixedValidator : public ModelAPI_AttributeValidator //! returns true if attribute is not used in another rigid constraint //! \param theAttribute the checked attribute //! \param theArguments arguments of the attribute + //! \param theError error message virtual bool isValid(const AttributePtr& theAttribute, - const std::list& theArguments) const; + const std::list& theArguments, + std::string& theError) const; }; /**\class SketchPlugin_EqualAttrValidator @@ -72,8 +78,10 @@ class SketchPlugin_EqualAttrValidator : public ModelAPI_AttributeValidator //! returns true if attribute is valid //! \param theAttribute the checked attribute //! \param theArguments arguments of the attribute + //! \param theError error message virtual bool isValid(const AttributePtr& theAttribute, - const std::list& theArguments) const; + const std::list& theArguments, + std::string& theError) const; }; /**\class SketchPlugin_MirrorAttrValidator @@ -88,8 +96,10 @@ class SketchPlugin_MirrorAttrValidator : public ModelAPI_AttributeValidator //! returns true if attribute is valid //! \param theAttribute the checked attribute //! \param theArguments arguments of the attribute (not used) + //! \param theError error message virtual bool isValid(const AttributePtr& theAttribute, - const std::list& theArguments) const; + const std::list& theArguments, + std::string& theError) const; }; @@ -105,8 +115,10 @@ class SketchPlugin_CoincidenceAttrValidator : public ModelAPI_AttributeValidator //! returns true if attribute is valid //! \param theAttribute the checked attribute //! \param theArguments arguments of the attribute (not used) + //! \param theError error message virtual bool isValid(const AttributePtr& theAttribute, - const std::list& theArguments) const; + const std::list& theArguments, + std::string& theError) const; }; @@ -123,8 +135,49 @@ class SketchPlugin_CopyValidator : public ModelAPI_AttributeValidator //! returns true if attribute is valid //! \param theAttribute the checked attribute //! \param theArguments arguments of the attribute (not used) + //! \param theError error message + virtual bool isValid(const AttributePtr& theAttribute, + const std::list& theArguments, + std::string& theError) const; +}; + +/**\class SketchPlugin_SolverErrorValidator + * \ingroup Validators + * \brief Validator for the solver error. + * + * Simply checks that solver error attribute is empty. Returns the attribute value as an error. + */ +class SketchPlugin_SolverErrorValidator : public ModelAPI_FeatureValidator +{ + public: + //! returns true if there are no solver errors + //! \param theFeature the checked feature + //! \param theArguments arguments of the feature (not used) + //! \param theError error message + virtual bool isValid(const std::shared_ptr& theFeature, + const std::list& theArguments, + std::string& theError) const; + + /// Returns true if the attribute in feature is not obligatory for the feature execution + virtual bool isNotObligatory(std::string theFeature, std::string theAttribute); +}; + +/**\class SketchPlugin_FilletVertexValidator + * \ingroup Validators + * \brief Validator for the point for fillet creation. + * + * Checks that selected point have exactly two coincident lines. + */ +class SketchPlugin_FilletVertexValidator : public ModelAPI_AttributeValidator +{ + public: + //! returns true if attribute is valid + //! \param theAttribute the checked attribute + //! \param theArguments arguments of the attribute (not used) + //! \param theError error message virtual bool isValid(const AttributePtr& theAttribute, - const std::list& theArguments) const; + const std::list& theArguments, + std::string& theError) const; }; #endif