Salome HOME
Copyright update 2021
[modules/smesh.git] / src / SMESH_I / SMESH_PythonDump.hxx
index 587b2bd6b5396ce650061061f4a8e787627d6f7b..cb0c0f62661ec32f6afc89f7acc00e7e4f2aa7a5 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -121,7 +121,9 @@ namespace SMESH
     std::ostringstream myStream;
     static size_t      myCounter;
     int                myVarsCounter; // counts stored TVar's
+    SMESH_Gen_i       *mySmesh = nullptr;
   public:
+    TPythonDump(SMESH_Gen_i *smesh);
     TPythonDump();
     virtual ~TPythonDump();
 
@@ -239,6 +241,27 @@ namespace SMESH
     TPythonDump&
     operator<<(const std::string& theArg);
 
+
+    template<class TArray, class TStream>
+      static TStream& DumpArray(const TArray& theArray, TStream & theStream)
+    {
+      if ( theArray.length() == 0 )
+      {
+        theStream << "[]";
+      }
+      else
+      {
+        theStream << "[ ";
+        for (CORBA::ULong i = 1; i <= theArray.length(); i++) {
+          theStream << theArray[i-1];
+          if ( i < theArray.length() )
+            theStream << ", ";
+        }
+        theStream << " ]";
+      }
+      return theStream;
+    }
+
     static const char* SMESHGenName() { return "smeshgen"; }
     static const char* MeshEditorName() { return "mesh_editor"; }
     static const char* NotPublishedObjectName();