X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_PythonDump.cxx;h=5a92bde8242a3d3acbf740d8ca4a4f065d29c2c3;hb=26446f72ec526d701a348e77aeda95e1ae35c128;hp=f8496d870f2679bbe65e3024788efcd3b703669c;hpb=665d037f93371114bf4b00bf11b0f95be418fb77;p=modules%2Fsmesh.git diff --git a/src/SMESH_I/SMESH_PythonDump.cxx b/src/SMESH_I/SMESH_PythonDump.cxx index f8496d870..5a92bde82 100644 --- a/src/SMESH_I/SMESH_PythonDump.cxx +++ b/src/SMESH_I/SMESH_PythonDump.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2020 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 @@ -33,13 +33,17 @@ #include "SMESH_MeshEditor_i.hxx" #include +#include #include #include -#include #include #include +#if OCC_VERSION_LARGE < 0x07050000 +#include +#endif + #include #ifdef _DEBUG_ @@ -56,17 +60,22 @@ namespace SMESH size_t TPythonDump::myCounter = 0; const char theNotPublishedObjectName[] = "__NOT__Published__Object__"; - TVar::TVar(CORBA::Double value):myVals(1), myIsList(false) { myVals[0] = SMESH_Comment(value); } - TVar::TVar(CORBA::Long value):myVals(1), myIsList(false) { myVals[0] = SMESH_Comment(value); } - TVar::TVar(CORBA::Short value):myVals(1), myIsList(false) { myVals[0] = SMESH_Comment(value); } + TVar::TVar(CORBA::Double value):myVals(1), myIsList(false) { myVals[0] = SMESH_Comment(value); } + TVar::TVar(CORBA::Long value):myVals(1), myIsList(false) { myVals[0] = SMESH_Comment(value); } + TVar::TVar(CORBA::LongLong value):myVals(1), myIsList(false) { myVals[0] = SMESH_Comment(value); } + TVar::TVar(CORBA::Short value):myVals(1), myIsList(false) { myVals[0] = SMESH_Comment(value); } TVar::TVar(const SMESH::double_array& value):myVals(value.length()), myIsList(true) { for ( size_t i = 0; i < value.length(); i++) myVals[i] = SMESH_Comment(value[i]); } + + TPythonDump::TPythonDump():myVarsCounter(0),mySmesh(SMESH_Gen_i::GetSMESHGen()) + { + ++myCounter; + } - TPythonDump:: - TPythonDump():myVarsCounter(0) + TPythonDump::TPythonDump(SMESH_Gen_i *smesh):myVarsCounter(0),mySmesh(smesh) { ++myCounter; } @@ -135,6 +144,13 @@ namespace SMESH return *this; } + TPythonDump& + TPythonDump:: + operator<<(long long theArg){ + myStream<ObjectToSObject(theArg); if(!aSObject->_is_nil()) { CORBA::String_var id = aSObject->GetID(); myStream << id; @@ -319,7 +342,7 @@ namespace SMESH TPythonDump:: operator<<(SMESH::SMESH_Hypothesis_ptr theArg) { - SALOMEDS::SObject_wrap aSObject = SMESH_Gen_i::ObjectToSObject(theArg); + SALOMEDS::SObject_wrap aSObject = mySmesh->ObjectToSObject(theArg); if(aSObject->_is_nil() && !CORBA::is_nil(theArg)) myStream << "hyp_" << theArg->GetId(); else @@ -333,7 +356,7 @@ namespace SMESH { if ( CORBA::is_nil( theArg ) ) return *this << "None"; - SALOMEDS::SObject_wrap aSObject = SMESH_Gen_i::ObjectToSObject(theArg); + SALOMEDS::SObject_wrap aSObject = mySmesh->ObjectToSObject(theArg); if(!aSObject->_is_nil()) { return *this << aSObject; @@ -344,11 +367,12 @@ namespace SMESH } if ( SMESH_MeshEditor_i::IsTemporaryIDSource( theArg )) { - SMESH::SMESH_Mesh_var mesh = theArg->GetMesh(); - SMESH::long_array_var anElementsId = theArg->GetIDs(); - SMESH::array_of_ElementType_var types = theArg->GetTypes(); - SMESH::ElementType type = types->length() ? types[0] : SMESH::ALL; - SALOMEDS::SObject_wrap meshSO = SMESH_Gen_i::ObjectToSObject(mesh); + SMESH::SMESH_Mesh_var mesh = theArg->GetMesh(); + SMESH::smIdType_array_var anElementsId = theArg->GetIDs(); + SMESH::array_of_ElementType_var types = theArg->GetTypes(); + SMESH::ElementType type = types->length() ? types[0] : SMESH::ALL; + SALOMEDS::SObject_wrap meshSO = mySmesh->ObjectToSObject(mesh); + if ( meshSO->_is_nil() ) // don't waste memory for dumping not published objects return *this << mesh << ".GetIDSource([], " << type << ")"; else @@ -672,7 +696,7 @@ namespace SMESH #ifdef _DEBUG_ std::cout << "Exception in SMESH_Gen_i::DumpPython(): " << text << std::endl; #else - (void)text; // todo: unused in release mode + (void)text; // unused in release mode #endif }