X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FConstructionPlugin%2FConstructionPlugin_Validators.h;h=aa013c5dbc2b39eef91e5d4a763d5b20489cc682;hb=5afcc18216ad228eafcaf632c5008d1aebd3122e;hp=85dc4a431187f4c776033e8780b8b8d828975ace;hpb=14b2f19dcba31d259343982c208daea43b407dc5;p=modules%2Fshaper.git diff --git a/src/ConstructionPlugin/ConstructionPlugin_Validators.h b/src/ConstructionPlugin/ConstructionPlugin_Validators.h index 85dc4a431..aa013c5db 100644 --- a/src/ConstructionPlugin/ConstructionPlugin_Validators.h +++ b/src/ConstructionPlugin/ConstructionPlugin_Validators.h @@ -1,8 +1,21 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> - -// File: ConstructionPlugin_Validators.h -// Created: 04 July 2016 -// Author: Dmitry Bobylev +// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #ifndef ConstructionPlugin_Validators_H_ #define ConstructionPlugin_Validators_H_ @@ -11,7 +24,7 @@ /// \class ConstructionPlugin_ValidatorPointLines /// \ingroup Validators -/// \brief A validator for selection lines for point by intersection.. +/// \brief A validator for selection lines for point by intersection. class ConstructionPlugin_ValidatorPointLines: public ModelAPI_AttributeValidator { public: @@ -24,4 +37,94 @@ public: Events_InfoMessage& theError) const; }; +/// \class ConstructionPlugin_ValidatorPointEdgeAndPlaneNotParallel +/// \ingroup Validators +/// \brief A validator for selection edge and plane for point by intersection. +class ConstructionPlugin_ValidatorPointEdgeAndPlaneNotParallel: public ModelAPI_AttributeValidator +{ +public: + //! \return True if the attribute is valid. + //! \param[in] theAttribute the checked attribute. + //! \param[in] theArguments arguments of the attribute. + //! \param[out] theError error message. + virtual bool isValid(const AttributePtr& theAttribute, + const std::list& theArguments, + Events_InfoMessage& theError) const; +}; + +/// \class ConstructionPlugin_ValidatorPlaneThreePoints +/// \ingroup Validators +/// \brief A validator for selection three points for plane. +class ConstructionPlugin_ValidatorPlaneThreePoints: public ModelAPI_AttributeValidator +{ +public: + //! \return True if the attribute is valid. + //! \param[in] theAttribute the checked attribute. + //! \param[in] theArguments arguments of the attribute. + //! \param[out] theError error message. + virtual bool isValid(const AttributePtr& theAttribute, + const std::list& theArguments, + Events_InfoMessage& theError) const; +}; + +/// \class ConstructionPlugin_ValidatorPlaneLinePoint +/// \ingroup Validators +/// \brief A validator for selection line and point for plane. +class ConstructionPlugin_ValidatorPlaneLinePoint: public ModelAPI_AttributeValidator +{ +public: + //! \return True if the attribute is valid. + //! \param[in] theAttribute the checked attribute. + //! \param[in] theArguments arguments of the attribute. + //! \param[out] theError error message. + virtual bool isValid(const AttributePtr& theAttribute, + const std::list& theArguments, + Events_InfoMessage& theError) const; +}; + +/// \class ConstructionPlugin_ValidatorPlaneTwoParallelPlanes +/// \ingroup Validators +/// \brief A validator for selection two parallel planes. +class ConstructionPlugin_ValidatorPlaneTwoParallelPlanes: public ModelAPI_AttributeValidator +{ +public: + //! \return True if the attribute is valid. + //! \param[in] theAttribute the checked attribute. + //! \param[in] theArguments arguments of the attribute. + //! \param[out] theError error message. + virtual bool isValid(const AttributePtr& theAttribute, + const std::list& theArguments, + Events_InfoMessage& theError) const; +}; + +/// \class ConstructionPlugin_ValidatorAxisTwoNotParallelPlanes +/// \ingroup Validators +/// \brief A validator for selection two parallel planes. +class ConstructionPlugin_ValidatorAxisTwoNotParallelPlanes: public ModelAPI_AttributeValidator +{ +public: + //! \return True if the attribute is valid. + //! \param[in] theAttribute the checked attribute. + //! \param[in] theArguments arguments of the attribute. + //! \param[out] theError error message. + virtual bool isValid(const AttributePtr& theAttribute, + const std::list& theArguments, + Events_InfoMessage& theError) const; +}; + +/// \class ConstructionPlugin_ValidatorPointThreeNonParallelPlanes +/// \ingroup Validators +/// \brief A validator for selection three non parallel planes. +class ConstructionPlugin_ValidatorPointThreeNonParallelPlanes: public ModelAPI_AttributeValidator +{ +public: + //! \return True if the attribute is valid. + //! \param[in] theAttribute the checked attribute. + //! \param[in] theArguments arguments of the attribute. + //! \param[out] theError error message. + virtual bool isValid(const AttributePtr& theAttribute, + const std::list& theArguments, + Events_InfoMessage& theError) const; +}; + #endif \ No newline at end of file