1 # -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
4 # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License.
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # Lesser General Public License for more details.
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
24 # Author : Paul RASCLE, EDF
29 Module salome gives access to Salome ressources.
34 - salome.naming_service : instance of naming Service class
36 - Resolve(name) : find a CORBA object (ior) by its pathname
37 - Register(name) : register a CORBA object under a pathname
39 - salome.lcc : instance of lifeCycleCORBA class
41 - FindOrLoadComponent(server,name) :
42 obtain an Engine (CORBA object)
43 or launch the Engine if not found,
44 with a Server name and an Engine name
46 - salome.sg : salome object to communicate with the graphical user interface (if any)
48 - updateObjBrowser(bool):
50 - getActiveStudyName():
52 - SelectedCount(): returns number of selected objects
53 - getSelected(i): returns entry of selected object number i
54 - getAllSelected(): returns list of entry of selected objects
55 - AddIObject(Entry): select an existing Interactive object
56 - RemoveIObject(Entry): remove object from selection
57 - ClearIObjects(): clear selection
65 - IDToObject(Entry): returns CORBA reference from entry
67 - salome.myStudyName : active Study Name
68 - salome.myStudyId : active Study Id
69 - salome.myStudy : the active Study itself (CORBA ior)
70 - methods : defined in SALOMEDS.idl
74 # Module salome gives access to Salome ressources.
76 # \param salome.orb : CORBA orb object
77 # \param salome.naming_service : instance of naming Service class (SALOME_NamingServicePy::SALOME_NamingServicePy_i)
78 # \param salome.lcc : instance of lifeCycleCORBA class (SALOME_LifeCycleCORBA)
79 # \param salome.sg : Salome object to communicate with the graphical user interface, if running (see interface in salome_iapp::SalomeOutsideGUI)
80 # \param salome.myStudyName : active Study Name
81 # \param salome.myStudyId : active Study Id
82 # \param salome.myStudy : the active Study (interface SALOMEDS::Study)
85 from salome_kernel import *
86 from salome_study import *
87 from salome_iapp import *
89 sys.setdlopenflags(dl.RTLD_NOW | dl.RTLD_GLOBAL)
91 orb, lcc, naming_service, cm,sg=None,None,None,None,None
92 myStudyManager, myStudyId, myStudy, myStudyName=None,None,None,None
95 def salome_init(theStudyId=0,embedded=0):
97 Performs only once SALOME general purpose intialisation for scripts.
98 optional argument : theStudyId
99 When in embedded interpreter inside IAPP, theStudyId is not used
100 When used without GUI (external interpreter)
101 0 : create a new study (default).
102 n (>0) : try connection to study with Id = n, or create a new one
104 If study creation, its Id may be different from theStudyId !
106 orb reference to CORBA
107 lcc a LifeCycleCorba instance
108 naming_service a naming service instance
109 cm reference to the container manager
110 sg access to SALOME GUI (when linked with IAPP GUI)
111 myStudyManager the study manager
112 myStudyId active study identifier
113 myStudy active study itself (CORBA reference)
114 myStudyName active study name
116 global salome_initial
117 global orb, lcc, naming_service, cm
119 global myStudyManager, myStudyId, myStudy, myStudyName
124 sg = salome_iapp_init(embedded)
125 orb, lcc, naming_service, cm = salome_kernel_init()
126 myStudyManager, myStudyId, myStudy, myStudyName =salome_study_init(theStudyId)
129 except RuntimeError, inst:
130 # wait a little to avoid trace mix
134 print "salome.salome_init():", x
136 ============================================
137 May be there is no running SALOME session
138 salome.salome_init() is intented to be used
139 within an already running session
140 ============================================
144 #to expose all objects to pydoc