X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParametersAPI%2FParametersAPI_Parameter.h;h=6d444d9f6c4c054a133a17205c2248b494d914ab;hb=384c819a1edf4b726e3a523c1ffd2b5e6b16a4c0;hp=5a3023d9b9e631469886b466c897600868ea09c7;hpb=f342d014533c99cbd6a81a8cd42de6fb68090a2d;p=modules%2Fshaper.git diff --git a/src/ParametersAPI/ParametersAPI_Parameter.h b/src/ParametersAPI/ParametersAPI_Parameter.h index 5a3023d9b..6d444d9f6 100644 --- a/src/ParametersAPI/ParametersAPI_Parameter.h +++ b/src/ParametersAPI/ParametersAPI_Parameter.h @@ -1,8 +1,22 @@ -// Name : ParametersAPI_Parameter.h -// Purpose: +// 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 // -// History: -// 16/06/16 - Sergey POKHODENKO - Creation of the file #ifndef SRC_PARAMETERSAPI_PARAMETERSAPI_PARAMETER_H_ #define SRC_PARAMETERSAPI_PARAMETERSAPI_PARAMETER_H_ @@ -31,16 +45,30 @@ public: PARAMETERSAPI_EXPORT explicit ParametersAPI_Parameter(const std::shared_ptr & theFeature, const std::string & theName, - const ModelHighAPI_Double & theExpression); + const std::string & theExpression, + const std::string & theComment = std::string()); /// Destructor PARAMETERSAPI_EXPORT virtual ~ParametersAPI_Parameter(); - INTERFACE_2(ParametersPlugin_Parameter::ID(), - name, ParametersPlugin_Parameter::VARIABLE_ID(), ModelAPI_AttributeString, /** Name */, - expression, ParametersPlugin_Parameter::EXPRESSION_ID(), ModelAPI_AttributeDouble, /** Expression */ + INTERFACE_3(ParametersPlugin_Parameter::ID(), + name, ParametersPlugin_Parameter::VARIABLE_ID(), + ModelAPI_AttributeString, /** Name */, + expression, ParametersPlugin_Parameter::EXPRESSION_ID(), + ModelAPI_AttributeString, /** Expression */, + comment, ParametersPlugin_Parameter::COMMENT_ID(), + ModelAPI_AttributeString, /** Comment */ ) + /// Just sets the numeric value to the parameter (it resets the previous expression) + PARAMETERSAPI_EXPORT void setValue(const double theValue); + /// Returns the current value of the parameter: the expression result. + PARAMETERSAPI_EXPORT double value(); + + /// Dump wrapped feature + PARAMETERSAPI_EXPORT + virtual void dump(ModelHighAPI_Dumper& theDumper) const; + }; //! Pointer on Parameter object @@ -52,7 +80,15 @@ typedef std::shared_ptr ParameterPtr; PARAMETERSAPI_EXPORT ParameterPtr addParameter(const std::shared_ptr & thePart, const std::string & theName, - const ModelHighAPI_Double & theExpression); + const std::string & theExpression, + const std::string & theComment = std::string()); + +/**\ingroup CPPHighAPI + * \brief Remove Parameter feature and substitute it by the value in referred features + */ +PARAMETERSAPI_EXPORT +void removeParameter(const std::shared_ptr & thePart, + const ParameterPtr & theParameter); //-------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------