X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParametersPlugin%2FParametersPlugin_Parameter.h;h=c348d0f733d257d7bb1820e2a167b668cd769249;hb=9ac4a898909782c5b6df52fcee4270247db31e45;hp=66cd99bfa282b5c157835d90675578760a45f370;hpb=b2418a13c302e03ed5f80dbdae0cd20f0abd16af;p=modules%2Fshaper.git diff --git a/src/ParametersPlugin/ParametersPlugin_Parameter.h b/src/ParametersPlugin/ParametersPlugin_Parameter.h index 66cd99bfa..c348d0f73 100644 --- a/src/ParametersPlugin/ParametersPlugin_Parameter.h +++ b/src/ParametersPlugin/ParametersPlugin_Parameter.h @@ -10,6 +10,8 @@ #include "ParametersPlugin.h" #include +#include + class ParametersPlugin_PyInterp; class ParametersPlugin_Parameter : public ModelAPI_Feature @@ -20,8 +22,8 @@ class ParametersPlugin_Parameter : public ModelAPI_Feature /// Extrusion kind inline static const std::string& ID() { - static const std::string MY_EXTRUSION_ID("Parameter"); - return MY_EXTRUSION_ID; + static const std::string MY_PARAMETER_ID("Parameter"); + return MY_PARAMETER_ID; } /// attribute name of references sketch entities list, it should contain a sketch result or /// a pair a sketch result to sketch face @@ -38,6 +40,13 @@ class ParametersPlugin_Parameter : public ModelAPI_Feature return MY_EXPRESSION_ID; } + /// list of references to the arguments of this expression + inline static const std::string& ARGUMENTS_ID() + { + static const std::string MY_VARIABLE_ID("arguments"); + return MY_VARIABLE_ID; + } + /// Returns the kind of a feature PARAMETERSPLUGIN_EXPORT virtual const std::string& getKind() { @@ -45,20 +54,27 @@ class ParametersPlugin_Parameter : public ModelAPI_Feature return MY_KIND; } + /// Pre-execution is not needed for parameter + PARAMETERSPLUGIN_EXPORT virtual bool isPreviewNeeded() const; + /// Creates a new part document if needed PARAMETERSPLUGIN_EXPORT virtual void execute(); /// Request for initialization of data model of the feature: adding all attributes PARAMETERSPLUGIN_EXPORT virtual void initAttributes(); + PARAMETERSPLUGIN_EXPORT virtual bool isInHistory(); //false + + PARAMETERSPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID); + /// Use plugin manager for features creation ParametersPlugin_Parameter(); protected: - double evaluate(std::string); + double evaluate(const std::string& theExpression, std::string& theError); private: - ParametersPlugin_PyInterp* myInterp; + std::shared_ptr myInterp; }; #endif