X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers_I%2FStdMeshers_ImportSource2D_i.cxx;h=19d27e8990c92c5de406a5440b417a720b855feb;hp=35f9d3fb057df4c56780dba5ef81881e609b3ad2;hb=HEAD;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6 diff --git a/src/StdMeshers_I/StdMeshers_ImportSource2D_i.cxx b/src/StdMeshers_I/StdMeshers_ImportSource2D_i.cxx index 35f9d3fb0..932a85906 100644 --- a/src/StdMeshers_I/StdMeshers_ImportSource2D_i.cxx +++ b/src/StdMeshers_I/StdMeshers_ImportSource2D_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, 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 @@ -20,7 +20,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses +// SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes // File : StdMeshers_ImportSource2D_i.cxx // Module : SMESH // @@ -50,14 +50,11 @@ using namespace std; //============================================================================= StdMeshers_ImportSource2D_i::StdMeshers_ImportSource2D_i( PortableServer::POA_ptr thePOA, - int theStudyId, ::SMESH_Gen* theGenImpl ) : SALOME::GenericObj_i( thePOA ), SMESH_Hypothesis_i( thePOA ) { - MESSAGE( "StdMeshers_ImportSource2D_i::StdMeshers_ImportSource2D_i" ); myBaseImpl = new ::StdMeshers_ImportSource2D( theGenImpl->GetANewId(), - theStudyId, theGenImpl ); _groupEntries = new SMESH::string_array(); } @@ -72,7 +69,6 @@ StdMeshers_ImportSource2D_i::StdMeshers_ImportSource2D_i( PortableServer::POA_pt StdMeshers_ImportSource2D_i::~StdMeshers_ImportSource2D_i() { - MESSAGE( "StdMeshers_ImportSource2D_i::~StdMeshers_ImportSource2D_i" ); } //============================================================================= @@ -83,32 +79,31 @@ StdMeshers_ImportSource2D_i::~StdMeshers_ImportSource2D_i() void StdMeshers_ImportSource2D_i::SetSourceFaces(const SMESH::ListOfGroups& groups) { - MESSAGE( "StdMeshers_ImportSource2D_i::SetSourceFaces" ); ASSERT( myBaseImpl ); try { std::vector smesh_groups; std::vector entries; - SALOMEDS::Study_var study = SMESH_Gen_i::GetSMESHGen()->GetCurrentStudy(); - for ( int i = 0; i < groups.length(); ++i ) + for ( CORBA::ULong i = 0; i < groups.length(); ++i ) if ( SMESH_GroupBase_i* gp_i = SMESH::DownCast( groups[i] )) { if ( gp_i->GetType() != SMESH::FACE ) THROW_SALOME_CORBA_EXCEPTION("Wrong group type", SALOME::BAD_PARAM); smesh_groups.push_back( gp_i->GetSmeshGroup() ); - SALOMEDS::SObject_var so = SMESH_Gen_i::GetSMESHGen()->ObjectToSObject(study, groups[i]); + SALOMEDS::SObject_var so = SMESH_Gen_i::GetSMESHGen()->ObjectToSObject(groups[i]); if ( !so->_is_nil()) { CORBA::String_var entry = so->GetID(); entries.push_back( entry.in() ); + so->UnRegister(); } } this->GetImpl()->SetGroups( smesh_groups ); _groupEntries = new SMESH::string_array; _groupEntries->length( entries.size ()); - for ( int i = 0; i < entries.size(); ++i ) + for ( size_t i = 0; i < entries.size(); ++i ) _groupEntries[i] = entries[i].c_str(); } catch ( SALOME_Exception& S_ex ) @@ -128,7 +123,6 @@ void StdMeshers_ImportSource2D_i::SetSourceFaces(const SMESH::ListOfGroups& grou SMESH::string_array* StdMeshers_ImportSource2D_i::GetSourceFaces() { - MESSAGE( "StdMeshers_ImportSource2D_i::GetImportSource" ); SMESH::string_array_var res = new SMESH::string_array( _groupEntries ); return res._retn(); } @@ -171,17 +165,18 @@ char* StdMeshers_ImportSource2D_i::SaveTo() std::ostringstream os; os << " " << _groupEntries->length(); - SALOMEDS::Study_var study = SMESH_Gen_i::GetSMESHGen()->GetCurrentStudy(); - for ( int i = 0; i < _groupEntries->length(); ++i ) + for ( CORBA::ULong i = 0; i < _groupEntries->length(); ++i ) { // entry os << " " << _groupEntries[i]; // id - SALOMEDS::SObject_var groupSO = study->FindObjectID( _groupEntries[i] ); - CORBA::Object_var groupObj; - if ( !groupSO->_is_nil() ) + SALOMEDS::SObject_var groupSO = SMESH_Gen_i::GetSMESHGen()->getStudyServant()->FindObjectID( _groupEntries[i] ); + CORBA::Object_var groupObj; + if ( !groupSO->_is_nil() ) { groupObj = groupSO->GetObject(); + groupSO->UnRegister(); + } StdMeshers_ObjRefUlils::SaveToStream( groupObj, os ); } @@ -207,7 +202,7 @@ void StdMeshers_ImportSource2D_i::LoadFrom( const char* theStream ) _groupEntries = new SMESH::string_array; _groupEntries->length( nbGroups ); std::string id, entry; - for ( int i = 0; i < _groupEntries->length(); ++i ) + for ( CORBA::ULong i = 0; i < _groupEntries->length(); ++i ) { if ( is >> entry ) _groupEntries[i] = entry.c_str(); @@ -260,7 +255,6 @@ void StdMeshers_ImportSource2D_i::UpdateAsMeshesRestored() ::StdMeshers_ImportSource2D* StdMeshers_ImportSource2D_i::GetImpl() { - MESSAGE( "StdMeshers_ImportSource2D_i::GetImpl" ); return ( ::StdMeshers_ImportSource2D* )myBaseImpl; }