]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
WIP
authorAnthony Geay <anthony.geay@edf.fr>
Thu, 14 Jan 2021 06:27:11 +0000 (07:27 +0100)
committerAnthony Geay <anthony.geay@edf.fr>
Thu, 14 Jan 2021 06:27:11 +0000 (07:27 +0100)
src/SMESH_I/SMESH_Gen_i.cxx
src/SMESH_SWIG/SMeshHelper.cxx
src/SMESH_SWIG/SMeshHelper.h
src/SMESH_SWIG/SMeshHelper.i
src/SMESH_SWIG/smeshBuilder.py

index 29042840357c576a457ebf414c2742abbeb00fea..41f5da7ddfd83ed934a18e3767260cf62fd9cde4 100644 (file)
@@ -49,6 +49,7 @@
 #include <TopoDS_Wire.hxx>
 #include <gp_Pnt.hxx>
 
+#include "SALOME_KernelServices.hxx"
 
 #ifdef WIN32
  #include <windows.h>
@@ -282,11 +283,8 @@ SALOME_LifeCycleCORBA*  SMESH_Gen_i::GetLCC()
 
 GEOM::GEOM_Gen_var SMESH_Gen_i::GetGeomEngine( bool isShaper )
 {
-  Engines::EngineComponent_ptr temp =
-    GetLCC()->FindOrLoad_Component( isShaper ? "FactoryServer" : "FactoryServer",
-                                    isShaper ? "SHAPERSTUDY" : "GEOM" );
+  CORBA::Object_var temp = KERNEL::RetrieveCompo(isShaper ? "SHAPERSTUDY" : "GEOM");
   myGeomGen = GEOM::GEOM_Gen::_narrow( temp );
-
   return myGeomGen;
 }
 
index c370fbb371a1ece118d8085663bef0310c5c04a6..4b7b2b275e68fbe4a0dbf43e0b5591da693ee4b6 100644 (file)
@@ -21,6 +21,8 @@
 
 #include "SMESH_Gen_i.hxx"
 #include "SALOME_Container_i.hxx"
+#include "SALOME_KernelServices.hxx"
+#include "SALOMEDS_Study_i.hxx"
 
 #include <cstring>
 
@@ -48,3 +50,11 @@ std::string BuildSMESHInstanceInternal(bool checkNS)
     CORBA::String_var ior = orb->object_to_string(zeRef);
     return std::string(ior.in());
 }
+
+std::string GetSessionInstanceInternal()
+{
+    SALOMEDS::Study_var study = KERNEL::getStudyServantSA();
+    CORBA::ORB_ptr orb = KERNEL::getORB();
+    CORBA::String_var ior = orb->object_to_string(study);
+    return std::string(ior.in());
+}
index bef5532ca3682633db1713fe908e25c2524937e9..dd3d5dabe4f463c8f1c16a5d3de0f518882e73f1 100644 (file)
@@ -22,3 +22,4 @@
 #include <string>
 
 std::string BuildSMESHInstanceInternal(bool checkNS);
+std::string GetSessionInstanceInternal();
index 8745d96e0e949670205eacdb35b39a1235da7ebc..63b7c7e772e59ababb516159b83b44a8a2f7a6b2 100644 (file)
   {
     return BuildSMESHInstanceInternal(checkNS);
   }
+  
+  std::string GetSessionInstance()
+  {
+    return GetSessionInstanceInternal();
+  }
 }
+
+%pythoncode %{
+
+def myStudy():
+  import SALOMEDS
+  import CORBA
+  orb=CORBA.ORB_init([''])
+  return orb.string_to_object(GetSessionInstance())
+
+%}
\ No newline at end of file
index 6ec2064ce29617c4cf8a3f993e0ff8ce1442eaab..98c1f3e3b8959c6bc2d79d6adc9ea63b21ac3bcf 100644 (file)
@@ -652,8 +652,9 @@ class smeshBuilder( SMESH._objref_SMESH_Gen, object ):
         self.geompyD=geompyD
         self.SetGeomEngine(geompyD)
         SMESH._objref_SMESH_Gen.UpdateStudy(self)
-        sb = salome.myStudy.NewBuilder()
-        sc = salome.myStudy.FindComponent("SMESH")
+        import GeomHelper
+        sb = GeomHelper.myStudy().NewBuilder()
+        sc = GeomHelper.myStudy().FindComponent("SMESH")
         if sc:
             sb.LoadWith(sc, self)
         pass