Salome HOME
Issue #1648: Dump Python in the High Level Parameterized Geometry API
authordbv <dbv@opencascade.com>
Tue, 16 Aug 2016 07:54:26 +0000 (10:54 +0300)
committerdbv <dbv@opencascade.com>
Tue, 16 Aug 2016 07:54:53 +0000 (10:54 +0300)
Dump for FeaturesAPI_Translation

src/FeaturesAPI/FeaturesAPI_Translation.cpp
src/FeaturesAPI/FeaturesAPI_Translation.h

index 46a977c964551e26e030b8fd0ba64b2e0b4e54ab..e70df5b8c24c0846ea519b6702a85201ba415e2e 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "FeaturesAPI_Translation.h"
 
+#include <ModelHighAPI_Dumper.h>
 #include <ModelHighAPI_Tools.h>
 
 //==================================================================================================
@@ -59,6 +60,20 @@ void FeaturesAPI_Translation::setDistance(const ModelHighAPI_Double& theDistance
   execute();
 }
 
+//==================================================================================================
+void FeaturesAPI_Translation::dump(ModelHighAPI_Dumper& theDumper) const
+{
+  FeaturePtr aBase = feature();
+  const std::string& aDocName = theDumper.name(aBase->document());
+
+  AttributeSelectionListPtr anAttrObjects = aBase->selectionList(FeaturesPlugin_Translation::OBJECTS_LIST_ID());
+  AttributeSelectionPtr anAttrAxis = aBase->selection(FeaturesPlugin_Translation::AXIS_OBJECT_ID());
+  AttributeDoublePtr anAttrDistance = aBase->real(FeaturesPlugin_Translation::DISTANCE_ID());
+
+  theDumper << aBase << " = model.addTranslation(" << aDocName << ", "
+            << anAttrObjects << ", " << anAttrAxis << ", " << anAttrDistance << ")" << std::endl;
+}
+
 //==================================================================================================
 TranslationPtr addTranslation(const std::shared_ptr<ModelAPI_Document>& thePart,
                               const std::list<ModelHighAPI_Selection>& theMainObjects,
index 0304f28199361697f03490fd754de376777f723f..995b880a83af0b79aeb8d1bf3b921817c0c8cc29 100644 (file)
@@ -15,6 +15,7 @@
 #include <ModelHighAPI_Macro.h>
 
 class ModelHighAPI_Double;
+class ModelHighAPI_Dumper;
 class ModelHighAPI_Selection;
 
 /// \class FeaturesAPI_Translation
@@ -54,6 +55,10 @@ public:
   /// Set distance.
   FEATURESAPI_EXPORT
   void setDistance(const ModelHighAPI_Double& theDistance);
+
+  /// Dump wrapped feature
+  FEATURESAPI_EXPORT
+  virtual void dump(ModelHighAPI_Dumper& theDumper) const;
 };
 
 /// Pointer on Translation object.