X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_DumpPython.cxx;h=20fea4abc1be928ac5d1887e098bc6f982a160a5;hb=fe7d1d57677486d8c546226dc2bf573fbfb6679d;hp=d850950d4e411e7eea11b4d9baa0153d1e5db0b4;hpb=7ba6caead509499e353b12ac44a26a9eb7b0eecf;p=modules%2Fsmesh.git diff --git a/src/SMESH_I/SMESH_DumpPython.cxx b/src/SMESH_I/SMESH_DumpPython.cxx index d850950d4..20fea4abc 100644 --- a/src/SMESH_I/SMESH_DumpPython.cxx +++ b/src/SMESH_I/SMESH_DumpPython.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 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 @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -240,13 +240,20 @@ namespace SMESH template void DumpArray(const TArray& theArray, TPythonDump & theStream) { - theStream << "[ "; - for (int i = 1; i <= theArray.length(); i++) { - theStream << theArray[i-1]; - if ( i < theArray.length() ) - theStream << ", "; + if ( theArray.length() == 0 ) + { + theStream << "[]"; + } + else + { + theStream << "[ "; + for (int i = 1; i <= theArray.length(); i++) { + theStream << theArray[i-1]; + if ( i < theArray.length() ) + theStream << ", "; + } + theStream << " ]"; } - theStream << " ]"; } TPythonDump& @@ -263,6 +270,13 @@ namespace SMESH return *this; } + TPythonDump& + TPythonDump::operator<<(const SMESH::nodes_array& theArg) + { + DumpArray( theArg, *this ); + return *this; + } + TPythonDump& TPythonDump::operator<<(const SMESH::string_array& theArray) { @@ -409,6 +423,7 @@ namespace SMESH case FT_MultiConnection2D: myStream<< "aMultiConnection2D"; break; case FT_Length: myStream<< "aLength"; break; case FT_Length2D: myStream<< "aLength2D"; break; + case FT_BelongToMeshGroup: myStream<< "aBelongToMeshGroup"; break; case FT_BelongToGeom: myStream<< "aBelongToGeom"; break; case FT_BelongToPlane: myStream<< "aBelongToPlane"; break; case FT_BelongToCylinder: myStream<< "aBelongToCylinder"; break; @@ -517,6 +532,16 @@ namespace SMESH DumpArray( *theList, *this ); return *this; } + TPythonDump& TPythonDump::operator<<(const GEOM::ListOfGO& theList) + { + DumpArray( theList, *this ); + return *this; + } + TPythonDump& TPythonDump::operator<<(const GEOM::ListOfGBO& theList) + { + DumpArray( theList, *this ); + return *this; + } TPythonDump& TPythonDump::operator<<(const SMESH::ListOfIDSources& theList) { DumpArray( theList, *this ); @@ -949,11 +974,11 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl std::list< TCollection_AsciiString >::iterator linesIt; if ( isPublished ) - lines.push_back( tab + aSMESHGen + " = smeshBuilder.New(theStudy)" ); + lines.push_back( aSMESHGen + " = smeshBuilder.New(theStudy)" ); else - lines.push_back( tab + aSMESHGen + " = smeshBuilder.New(None)" ); - lines.push_back( tab + "aFilterManager = " + aSMESHGen + ".CreateFilterManager()" ); - lines.push_back( tab + "aMeasurements = " + aSMESHGen + ".CreateMeasurements()" ); + lines.push_back( aSMESHGen + " = smeshBuilder.New(None)" ); + lines.push_back( helper + "aFilterManager = " + aSMESHGen + ".CreateFilterManager()" ); + lines.push_back( helper + "aMeasurements = " + aSMESHGen + ".CreateMeasurements()" ); // Treat dump trace of restored study if (theSavedTrace.Length() > 0) @@ -1056,7 +1081,7 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl anEntry = aLine.SubString( aSeq->Value(i), aSeq->Value(i + 1) ); // is a GEOM object? CORBA::String_var geomName = geom->GetDumpName( anEntry.ToCString() ); - if ( !geomName.in() || !geomName[0] ) { + if ( !geomName.in() || !geomName.in()[0] ) { // is a SMESH object if ( theObjectNames.IsBound( anEntry )) { // The Object is in Study @@ -1185,6 +1210,7 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl if ( theNames.IsBound( anEntry )) { aGUIName = theNames.Find(anEntry); + aGUIName.RemoveAll('\''); // remove a quote from a name (issue 22360) setNamePart += nt + aSMESHGen + ".SetName(" + aName; if ( anEntry2AccessorMethod.IsBound( anEntry ) ) setNamePart += helper + "." + anEntry2AccessorMethod( anEntry ); @@ -1204,7 +1230,7 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl //Output the script that sets up the visual parameters. CORBA::String_var compDataType = ComponentDataType(); CORBA::String_var script = theStudy->GetDefaultScript( compDataType.in(), tab.ToCString() ); - if ( script.in() && script[0] ) { + if ( script.in() && script.in()[0] ) { visualPropertiesPart += nt + "### Store presentation parameters of displayed objects\n"; visualPropertiesPart += script.in(); }