Salome HOME
Copyright update 2021
[modules/smesh.git] / src / StdMeshers_I / StdMeshers_LayerDistribution_i.cxx
index d958478e73e0f86e3ec6edd70a09bb37f4919827..05fb2f526d2e30f3d7616da457131654adbdf46f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  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
@@ -45,14 +45,11 @@ using namespace std;
 //=============================================================================
 
 StdMeshers_LayerDistribution_i::StdMeshers_LayerDistribution_i( PortableServer::POA_ptr thePOA,
-                                                                int                     theStudyId,
                                                                 ::SMESH_Gen*            theGenImpl )
   : SALOME::GenericObj_i( thePOA ),
     SMESH_Hypothesis_i( thePOA )
 {
-  MESSAGE( "StdMeshers_LayerDistribution_i::StdMeshers_LayerDistribution_i" );
   myBaseImpl = new ::StdMeshers_LayerDistribution( theGenImpl->GetANewId(),
-                                                   theStudyId,
                                                    theGenImpl );
 }
 
@@ -66,7 +63,6 @@ StdMeshers_LayerDistribution_i::StdMeshers_LayerDistribution_i( PortableServer::
 
 StdMeshers_LayerDistribution_i::~StdMeshers_LayerDistribution_i()
 {
-  MESSAGE( "StdMeshers_LayerDistribution_i::~StdMeshers_LayerDistribution_i" );
   if ( !myHyp->_is_nil() )
     myHyp->UnRegister();
 }
@@ -80,7 +76,6 @@ StdMeshers_LayerDistribution_i::~StdMeshers_LayerDistribution_i()
 //=============================================================================
 
 void StdMeshers_LayerDistribution_i::SetLayerDistribution(SMESH::SMESH_Hypothesis_ptr hyp1D)
-  throw ( SALOME::SALOME_Exception )
 {
   ASSERT( myBaseImpl );
   try {
@@ -92,11 +87,10 @@ void StdMeshers_LayerDistribution_i::SetLayerDistribution(SMESH::SMESH_Hypothesi
     // Remove SO of 1D hypothesis if it was published
     if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen())
     {
-      SALOMEDS::Study_var study = gen->GetCurrentStudy();
-      SALOMEDS::SObject_var  SO = gen->ObjectToSObject( study, hyp1D );
+      SALOMEDS::SObject_var  SO = gen->ObjectToSObject( hyp1D );
       if ( ! SO->_is_nil() )
       {
-        SALOMEDS::StudyBuilder_var builder = study->NewBuilder();
+        SALOMEDS::StudyBuilder_var builder = SMESH_Gen_i::GetSMESHGen()->getStudyServant()->NewBuilder();
         builder->RemoveObjectWithChildren( SO );
         SO->UnRegister();
       }
@@ -200,8 +194,7 @@ void StdMeshers_LayerDistribution_i::LoadFrom( const char* theStream )
        is >> libName )
   {
     SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen();
-    SALOMEDS::Study_var curStudy = gen->GetCurrentStudy();
-    gen->SetCurrentStudy( SALOMEDS::Study::_nil() ); // prevent hypo publishing
+    gen->SetEnablePublish( false ); // prevent hypo publishing
 
     try {
       SMESH::SMESH_Hypothesis_var hyp1D =
@@ -223,7 +216,7 @@ void StdMeshers_LayerDistribution_i::LoadFrom( const char* theStream )
     }
     catch (...) {
     }
-    gen->SetCurrentStudy( curStudy );  // enable hypo publishing
+    gen->SetEnablePublish( true );  // enable hypo publishing
   }
 }