]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/ParametersAPI/ParametersAPI_Parameter.cpp
Salome HOME
Dump Python in the High Level Parameterized Geometry API (issue #1648)
[modules/shaper.git] / src / ParametersAPI / ParametersAPI_Parameter.cpp
index 0faa1346af1cc6a013a1499e88444aa5ea049016..8781004a0c711f49df97c355fab7c5c6359435a3 100644 (file)
@@ -7,6 +7,7 @@
 //--------------------------------------------------------------------------------------
 #include "ParametersAPI_Parameter.h"
 //--------------------------------------------------------------------------------------
+#include <ModelHighAPI_Dumper.h>
 #include <ModelHighAPI_Tools.h>
 //--------------------------------------------------------------------------------------
 ParametersAPI_Parameter::ParametersAPI_Parameter(
@@ -36,6 +37,21 @@ ParametersAPI_Parameter::~ParametersAPI_Parameter()
 {
 }
 
+void ParametersAPI_Parameter::dump(ModelHighAPI_Dumper& theDumper) const
+{
+  FeaturePtr aBase = feature();
+  const std::string& aDocName = theDumper.name(aBase->document());
+  const std::string& aParamName = theDumper.name(aBase);
+
+  AttributeStringPtr anExpr   = aBase->string(ParametersPlugin_Parameter::EXPRESSION_ID());
+  AttributeStringPtr aComment = aBase->string(ParametersPlugin_Parameter::COMMENT_ID());
+
+  theDumper << "model.addParameter(" << aDocName << ", \"" << aParamName << "\", " << anExpr;
+  if (aComment->isInitialized() && !aComment->value().empty())
+    theDumper << ", " << aComment;
+  theDumper << ")" << std::endl;
+}
+
 //--------------------------------------------------------------------------------------
 ParameterPtr addParameter(const std::shared_ptr<ModelAPI_Document> & thePart,
                           const std::string & theName,