X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FConstructionPlugin%2FConstructionPlugin_Validators.h;h=3254672de855045b8786492e870c7e97ecd00c63;hb=ed85a646b6e504a93705b1a08af06674ec75c9e7;hp=65fb54be5d0b07a3ead7800a9d425f52a74f6b6f;hpb=40677b43bb137a6f014fafbc5ce4f647dc597f39;p=modules%2Fshaper.git diff --git a/src/ConstructionPlugin/ConstructionPlugin_Validators.h b/src/ConstructionPlugin/ConstructionPlugin_Validators.h index 65fb54be5..3254672de 100644 --- a/src/ConstructionPlugin/ConstructionPlugin_Validators.h +++ b/src/ConstructionPlugin/ConstructionPlugin_Validators.h @@ -1,8 +1,22 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> - -// File: ConstructionPlugin_Validators.h -// Created: 04 July 2016 -// Author: Dmitry Bobylev +// Copyright (C) 2014-2017 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_ @@ -24,10 +38,70 @@ public: Events_InfoMessage& theError) const; }; -/// \class ConstructionPlugin_ValidatorPointLineAndPlaneNotParallel +/// \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 line and plane for point by intersection.. -class ConstructionPlugin_ValidatorPointLineAndPlaneNotParallel: public ModelAPI_AttributeValidator +/// \brief A validator for selection two parallel planes. +class ConstructionPlugin_ValidatorAxisTwoNotParallelPlanes: public ModelAPI_AttributeValidator { public: //! \return True if the attribute is valid.