Salome HOME
Préparation pour le cas simple précision
[modules/smesh.git] / src / SMESH_I / SMESH_PythonDump.hxx
index 725ea1c49493ba4c45651064841ffa8aa626a681..59a5df790fa55d351fb752463b1af97bcce62f6f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020  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
@@ -62,14 +62,13 @@ public:
    * \param theRemovedObjIDs - entries of objects whose created commands were removed
    * \param theHistoricalDump - true means to keep all commands, false means
    *        to exclude commands relating to objects removed from study
-   * \retval TCollection_AsciiString - Convertion result
+   * \retval TCollection_AsciiString - Conversion result
    */
   static void
   ConvertScript(std::list< TCollection_AsciiString >&     theScriptLines,
                 Resource_DataMapOfAsciiStringAsciiString& theEntry2AccessorMethod,
                 Resource_DataMapOfAsciiStringAsciiString& theObjectNames,
                 std::set< TCollection_AsciiString >&      theRemovedObjIDs,
-                SALOMEDS::Study_ptr&                      theStudy,
                 const bool                                theHistoricalDump);
 
   /*!
@@ -90,7 +89,7 @@ namespace SMESH
 
   // ===========================================================================================
   /*!
-   * \brief Object used to make TPythonDump know that its held value can be a varible
+   * \brief Object used to make TPythonDump know that its held value can be a variable
    *
    * TPythonDump substitute TVar with names of notebook variables if any.
    */
@@ -99,6 +98,7 @@ namespace SMESH
   struct SMESH_I_EXPORT TVar
   {
     std::vector< std::string > myVals;
+    bool                       myIsList;
     TVar(CORBA::Double value);
     TVar(CORBA::Long   value);
     TVar(CORBA::Short  value);
@@ -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();
 
@@ -200,9 +202,6 @@ namespace SMESH
     TPythonDump&
     operator<<(SMESH_MeshEditor_i* theArg);
 
-    TPythonDump&
-    operator<<(SMESH::MED_VERSION theArg);
-
     TPythonDump&
     operator<<(const SMESH::AxisStruct & theAxis);
 
@@ -230,9 +229,39 @@ namespace SMESH
     TPythonDump&
     operator<<(const SMESH::ListOfIDSources& theList);
 
+    TPythonDump&
+    operator<<(const SMESH::submesh_array& theList);
+
+    TPythonDump&
+    operator<<(const SMESH::ListOfHypothesis& theList);
+
     TPythonDump&
     operator<<(const SMESH::CoincidentFreeBorders& theCFB);
 
+    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();