Salome HOME
Implementation of the issue 19950.
[modules/smesh.git] / src / SMESH_I / SMESH_DumpPython.cxx
index f8e7ec13184a40252b883255cd06e097d1a4d24d..d08e923e031c3633c494c32e8260386967dbd53f 100644 (file)
@@ -296,6 +296,24 @@ namespace SMESH
     return *this;
   }
 
+  TPythonDump& TPythonDump::operator<<(const SMESH::ListOfGroups * theList){
+    if(theList && theList->length() > 0 ) {
+      SMESH_Gen_i* aSMESHGen = SMESH_Gen_i::GetSMESHGen();
+      SALOMEDS::Study_ptr aStudy = aSMESHGen->GetCurrentStudy();
+      myStream << "[";
+      int aListLen = theList->length();
+      for(int i = 0 ; i < aListLen; i++){
+        SALOMEDS::SObject_var aSObject = SMESH_Gen_i::ObjectToSObject(aStudy,(*theList)[i]);
+        if(!aSObject->_is_nil()) {
+          myStream << aSObject->GetID();
+          i < (aListLen - 1) ? myStream<<", " : myStream<<"]";
+        }
+        
+      }
+    }
+    return *this;
+  }
+
   TCollection_AsciiString myLongStringStart( "TPythonDump::LongStringStart" );
   TCollection_AsciiString myLongStringEnd  ( "TPythonDump::LongStringEnd" );
 
@@ -363,7 +381,7 @@ namespace SMESH
 
     // find where literal begins
     int literalBeg = theFrom + myLongStringStart.Length(); // = 26
-    char* typeLenStr = theText.ToCString() + literalBeg - 1; // = "7 Pattern!!! SALO...."
+    char* typeLenStr = (char*) theText.ToCString() + literalBeg - 1; // = "7 Pattern!!! SALO...."
     int typeLen = atoi ( typeLenStr ); // = 7
     while ( *typeLenStr != ' ' ) { // look for ' ' after typeLen
       literalBeg++; // 26 -> 27
@@ -527,7 +545,7 @@ Handle(TColStd_HSequenceOfInteger) FindEntries (TCollection_AsciiString& theStri
   Standard_Integer aLen = theString.Length();
   Standard_Boolean isFound = Standard_False;
 
-  char* arr = theString.ToCString();
+  char* arr = (char*) theString.ToCString();
   Standard_Integer i = 0, j;
 
   while(i < aLen) {
@@ -880,7 +898,7 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
     {
       // find the function name
       int functBeg = posAlready;
-      char* script = anUpdatedScript.ToCString() + posAlready - 1; // look at ":" after "def fuction()"
+      char* script = (char*) anUpdatedScript.ToCString() + posAlready - 1; // look at ":" after "def fuction()"
       while ( *script != ' ' ) {
         script--;
         functBeg--;