]> SALOME platform Git repositories - modules/geom.git/blobdiff - src/GEOM_I/GEOM_Gen_i.cc
Salome HOME
Merge from V6_main 11/02/2013
[modules/geom.git] / src / GEOM_I / GEOM_Gen_i.cc
index 3dec744598d0d66bea80c39edcbf6df1f18dc184..b034757f73cab32bb6d4204812bd63d6bc90bdb3 100644 (file)
@@ -61,7 +61,7 @@
 #include <TopExp.hxx>
 #include <OSD.hxx>
 
-#include "SALOMEDS_Tool.hxx"
+#include <SALOMEDS_Tool.hxx>
 
 //============================================================================
 // function : GEOM_Gen_i()
@@ -577,9 +577,6 @@ CORBA::Boolean GEOM_Gen_i::Load(SALOMEDS::SComponent_ptr theComponent,
   // Remove the created file and tmp directory
   if (!isMultiFile) SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir.c_str(), aSeq.in(), true);
 
-  SALOMEDS::Study_var Study = theComponent->GetStudy();
-  TCollection_AsciiString name (Study->Name());
-
   return true;
 }
 
@@ -968,6 +965,9 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreSubShapes(SALOMEDS::Study_ptr     theStudy,
     GEOM::GEOM_IGroupOperations_var    aGroupOp = GetIGroupOperations(theStudy->StudyId());
     GEOM::GEOM_ITransformOperations_var aTrsfOp = GetITransformOperations(theStudy->StudyId());
 
+    PortableServer::Servant aServant = _poa->reference_to_servant(aTrsfOp.in());
+    GEOM_ITransformOperations_i*      aTrsfOpSv = dynamic_cast<GEOM_ITransformOperations_i*>(aServant);
+
     // Reconstruct arguments and tree of sub-shapes of the arguments
     CORBA::String_var anIOR;
     SALOMEDS::StudyBuilder_var aStudyBuilder = theStudy->NewBuilder();
@@ -998,7 +998,7 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreSubShapes(SALOMEDS::Study_ptr     theStudy,
         case GEOM::FSM_MultiTransformed:
           {
             // Only for Multi-transformations
-            GEOM::GEOM_Object_var anArgOTrsf = aTrsfOp->TransformLikeOtherCopy(anArgO, theObject);
+            GEOM::GEOM_Object_var anArgOTrsf = aTrsfOpSv->TransformLikeOtherCopy(anArgO, theObject);
             if (!CORBA::is_nil(anArgOTrsf)) {
               CORBA::String_var anArgOTrsfEntry = anArgOTrsf->GetEntry();
               Handle(GEOM_Object) anArgOTrsfImpl = _impl->GetObject(anArgOTrsf->GetStudyID(), anArgOTrsfEntry);
@@ -1020,7 +1020,7 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreSubShapes(SALOMEDS::Study_ptr     theStudy,
                   {
                     GEOMImpl_ITranslate aTI (anOFun);
                     aMultiArgShape = GEOMImpl_ITransformOperations::TranslateShape1D(anArgOShape, &aTI);
-                    //anArgOMulti = aTrsfOp->Translate1D(anArgO, , , );
+                    //anArgOMulti = aTrsfOpSv->Translate1D(anArgO, , , );
                   }
                   break;
                 case TRANSLATE_2D:
@@ -1284,6 +1284,9 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreSubShapesOneLevel (SALOMEDS::Study_ptr     th
   GEOM::GEOM_IGroupOperations_var    aGroupOp = GetIGroupOperations(theStudy->StudyId());
   GEOM::GEOM_ITransformOperations_var aTrsfOp = GetITransformOperations(theStudy->StudyId());
 
+  PortableServer::Servant aServant = _poa->reference_to_servant(aTrsfOp.in());
+  GEOM_ITransformOperations_i*      aTrsfOpSv = dynamic_cast<GEOM_ITransformOperations_i*>(aServant);
+
   // Reconstruct published sub-shapes
   SALOMEDS::ChildIterator_var it = theStudy->NewChildIterator(theOldSO);
 
@@ -1316,7 +1319,7 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreSubShapesOneLevel (SALOMEDS::Study_ptr     th
         case GEOM::FSM_MultiTransformed:
           {
             // Only for Multi-transformations
-            GEOM::GEOM_Object_var anArgOTrsf = aTrsfOp->TransformLikeOtherCopy(anOldSubO, theNewO);
+            GEOM::GEOM_Object_var anArgOTrsf = aTrsfOpSv->TransformLikeOtherCopy(anOldSubO, theNewO);
             if (!CORBA::is_nil(anArgOTrsf)) {
               CORBA::String_var anArgOTrsfEntry = anArgOTrsf->GetEntry();
               Handle(GEOM_Object) anArgOTrsfImpl = _impl->GetObject(anArgOTrsf->GetStudyID(), anArgOTrsfEntry);
@@ -1559,6 +1562,9 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreGivenSubShapes(SALOMEDS::Study_ptr     theStu
     GEOM::GEOM_IGroupOperations_var    aGroupOp = GetIGroupOperations(theStudy->StudyId());
     GEOM::GEOM_ITransformOperations_var aTrsfOp = GetITransformOperations(theStudy->StudyId());
 
+    PortableServer::Servant aServant = _poa->reference_to_servant(aTrsfOp.in());
+    GEOM_ITransformOperations_i*      aTrsfOpSv = dynamic_cast<GEOM_ITransformOperations_i*>(aServant);
+
     // Reconstruct arguments and tree of sub-shapes of the arguments
     CORBA::String_var anIOR;
     SALOMEDS::StudyBuilder_var aStudyBuilder = theStudy->NewBuilder();
@@ -1589,7 +1595,7 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreGivenSubShapes(SALOMEDS::Study_ptr     theStu
         case GEOM::FSM_MultiTransformed:
           {
             // Only for Multi-transformations
-            GEOM::GEOM_Object_var anArgOTrsf = aTrsfOp->TransformLikeOtherCopy(anArgO, theObject);
+            GEOM::GEOM_Object_var anArgOTrsf = aTrsfOpSv->TransformLikeOtherCopy(anArgO, theObject);
             if (!CORBA::is_nil(anArgOTrsf)) {
               CORBA::String_var anArgOTrsfEntry = anArgOTrsf->GetEntry();
               Handle(GEOM_Object) anArgOTrsfImpl = _impl->GetObject(anArgOTrsf->GetStudyID(), anArgOTrsfEntry);
@@ -1822,6 +1828,9 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreGivenSubShapesOneLevel (SALOMEDS::Study_ptr
   GEOM::GEOM_IGroupOperations_var    aGroupOp = GetIGroupOperations(theStudy->StudyId());
   GEOM::GEOM_ITransformOperations_var aTrsfOp = GetITransformOperations(theStudy->StudyId());
 
+  PortableServer::Servant aServant = _poa->reference_to_servant(aTrsfOp.in());
+  GEOM_ITransformOperations_i*      aTrsfOpSv = dynamic_cast<GEOM_ITransformOperations_i*>(aServant);
+
   // Reconstruct published sub-shapes
   SALOMEDS::ChildIterator_var it = theStudy->NewChildIterator(theOldSO);
 
@@ -1862,7 +1871,7 @@ GEOM::ListOfGO* GEOM_Gen_i::RestoreGivenSubShapesOneLevel (SALOMEDS::Study_ptr
         case GEOM::FSM_MultiTransformed:
           {
             // Only for Multi-transformations
-            GEOM::GEOM_Object_var anArgOTrsf = aTrsfOp->TransformLikeOtherCopy(anOldSubO, theNewO);
+            GEOM::GEOM_Object_var anArgOTrsf = aTrsfOpSv->TransformLikeOtherCopy(anOldSubO, theNewO);
             if (!CORBA::is_nil(anArgOTrsf)) {
               CORBA::String_var anArgOTrsfEntry = anArgOTrsf->GetEntry();
               Handle(GEOM_Object) anArgOTrsfImpl = _impl->GetObject(anArgOTrsf->GetStudyID(), anArgOTrsfEntry);