X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_DumpPython.cxx;h=0e3ae652fd399f3c0767bf945130a3f03224f7f8;hb=f89c0586c1d18c14cf772fa64a7fe6cc680376d1;hp=cebc6e37ef3c1d7e3b96172c15c7d4fc226334f8;hpb=19ddff45f933c9d8d5461b87c4338e4afe138adf;p=modules%2Fsmesh.git diff --git a/src/SMESH_I/SMESH_DumpPython.cxx b/src/SMESH_I/SMESH_DumpPython.cxx index cebc6e37e..0e3ae652f 100644 --- a/src/SMESH_I/SMESH_DumpPython.cxx +++ b/src/SMESH_I/SMESH_DumpPython.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2013 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 @@ -71,26 +71,28 @@ namespace SMESH std::string aString = myStream.str(); TCollection_AsciiString aCollection(Standard_CString(aString.c_str())); SALOMEDS::Study_var aStudy = aSMESHGen->GetCurrentStudy(); - if(!aStudy->_is_nil() && !aCollection.IsEmpty()){ + if(!aStudy->_is_nil() && !aCollection.IsEmpty()) + { aSMESHGen->AddToPythonScript(aStudy->StudyId(),aCollection); if(MYDEBUG) MESSAGE(aString); - aSMESHGen->UpdateParameters(""); // prevent misuse of already treated variables + // prevent misuse of already treated variables + aSMESHGen->UpdateParameters(CORBA::Object_var().in(),""); } } } - TPythonDump& //!< to store a variable value + TPythonDump& //!< store a variable value. Write either a value or '$varID$' TPythonDump:: operator<<(const TVar& theVarValue) { - const std::vector< std::string >& varNames = SMESH_Gen_i::GetSMESHGen()->GetLastParameters(); + const std::vector< int >& varIDs = SMESH_Gen_i::GetSMESHGen()->GetLastParamIndices(); if ( theVarValue.myVals.size() != 1 ) { myStream << "[ "; for ( size_t i = 1; i <= theVarValue.myVals.size(); ++i ) { - if ( myVarsCounter < varNames.size() && !varNames[ myVarsCounter ].empty() ) - myStream << TVar::Quote() << varNames[ myVarsCounter ] << TVar::Quote(); + if ( myVarsCounter < varIDs.size() && varIDs[ myVarsCounter ] >= 0 ) + myStream << TVar::Quote() << varIDs[ myVarsCounter ] << TVar::Quote(); else myStream << theVarValue.myVals[i-1]; if ( i < theVarValue.myVals.size() ) @@ -101,8 +103,8 @@ namespace SMESH } else { - if ( myVarsCounter < varNames.size() && !varNames[ myVarsCounter ].empty() ) - myStream << TVar::Quote() << varNames[ myVarsCounter ] << TVar::Quote(); + if ( myVarsCounter < varIDs.size() && varIDs[ myVarsCounter ] >= 0 ) + myStream << TVar::Quote() << varIDs[ myVarsCounter ] << TVar::Quote(); else myStream << theVarValue.myVals[0]; ++myVarsCounter; @@ -657,7 +659,6 @@ Engines::TMPFile* SMESH_Gen_i::DumpPython (CORBA::Object_ptr theStudy, } // Get trace of restored study - //SALOMEDS::SObject_wrap aSO = SMESH_Gen_i::ObjectToSObject(theStudy, _this()); SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder(); SALOMEDS::GenericAttribute_wrap anAttr = aStudyBuilder->FindOrCreateAttribute(aSO, "AttributePythonObject");