From: admin Date: Mon, 29 Nov 2004 15:59:56 +0000 (+0000) Subject: This commit was generated by cvs2git to create tag 'V2_1_0b1'. X-Git-Tag: V2_1_0b1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=6989331d58064af274a7aa424fb2ea4b1017d308;p=modules%2Fkernel.git This commit was generated by cvs2git to create tag 'V2_1_0b1'. Sprout from master 2004-11-29 15:59:55 UTC prascle 'PR: merge from tag BR_CCRT2_mergeto_V2_1_0b1' Cherrypick from IMPORT 2003-10-13 16:48:48 UTC prascle 'import SalomePro v1.2c': idl/SALOME_Registry.idl idl/TestNotif.idl resources/CatalogDataType.xml resources/CatalogModulePersonnel.xml_skel resources/CatalogRessources.xml resources/Plugin resources/Tools_en.xml resources/Tools_fr.xml resources/back.xpm resources/cascade.png resources/channel.cfg resources/close.png resources/config resources/copy.png resources/default.png resources/dl_delete.png resources/dl_insert.png resources/dl_movedown.png resources/dl_moveup.png resources/forward.xpm resources/help.png resources/home.xpm resources/new.png resources/open.png resources/paste.png resources/plot2d_dump.png resources/plot2d_fitall.png resources/plot2d_fitarea.png resources/plot2d_legend.png resources/plot2d_linear.png resources/plot2d_linear_y.png resources/plot2d_lines.png resources/plot2d_log.png resources/plot2d_log_y.png resources/plot2d_pan.png resources/plot2d_points.png resources/plot2d_settings.png resources/plot2d_splines.png resources/plot2d_zoom.png resources/print.png resources/redo.png resources/reset.png resources/salomeCommonModel.spml resources/save.png resources/select1.png resources/tile.png resources/uc_add.png resources/uc_clear.png resources/uc_current.png resources/uc_del.png resources/uc_new.png resources/undo.png resources/view_back.png resources/view_bottom.png resources/view_camera_dump.png resources/view_fitall.png resources/view_fitarea.png resources/view_front.png resources/view_glpan.png resources/view_left.png resources/view_pan.png resources/view_reset.png resources/view_right.png resources/view_rotate.png resources/view_top.png resources/view_triedre.png resources/view_zoom.png salome_adm/unix/Doxyfile salome_adm/unix/F77config.h.in salome_adm/unix/SALOMEconfig.h.in salome_adm/unix/config_files/ac_cc_warnings.m4 salome_adm/unix/config_files/check_Salome.m4 salome_adm/unix/config_files/check_corba.m4 salome_adm/unix/config_files/check_f77.m4 salome_adm/unix/config_files/check_hdf5.m4 salome_adm/unix/config_files/check_java.m4 salome_adm/unix/config_files/check_mico.m4 salome_adm/unix/config_files/check_opengl.m4 salome_adm/unix/config_files/check_qwt.m4 salome_adm/unix/config_files/check_swig.m4 salome_adm/unix/config_files/config.guess salome_adm/unix/config_files/config.sub salome_adm/unix/config_files/install-sh salome_adm/unix/config_files/libtool.m4 salome_adm/unix/config_files/ltconfig salome_adm/unix/config_files/ltmain.sh salome_adm/unix/config_files/missing salome_adm/unix/config_files/pyembed.m4 salome_adm/unix/sstream.in src/A_LIRE_SALOME src/HDFPersist/HDFOI.hxx src/HDFPersist/HDFascii.hxx src/HDFPersist/HDFattrClose.c src/HDFPersist/HDFattrGetSize.c src/HDFPersist/HDFattrGetType.c src/HDFPersist/HDFattrOpen.c src/HDFPersist/HDFattribute.hxx src/HDFPersist/HDFcontainerObject.hxx src/HDFPersist/HDFdataset.hxx src/HDFPersist/HDFdatasetClose.c src/HDFPersist/HDFdatasetGetDim.c src/HDFPersist/HDFdatasetGetSize.c src/HDFPersist/HDFdatasetGetnDim.c src/HDFPersist/HDFdatasetOpen.c src/HDFPersist/HDFerrorModeLock.c src/HDFPersist/HDFexplorer.hxx src/HDFPersist/HDFfile.hxx src/HDFPersist/HDFfileClose.c src/HDFPersist/HDFfileCreate.c src/HDFPersist/HDFfileMount.c src/HDFPersist/HDFfileOpen.c src/HDFPersist/HDFfileUmount.c src/HDFPersist/HDFgroup.hxx src/HDFPersist/HDFgroupClose.c src/HDFPersist/HDFgroupCreate.c src/HDFPersist/HDFgroupOpen.c src/HDFPersist/HDFinternalObject.hxx src/HDFPersist/HDFnObjects.c src/HDFPersist/HDFobject.hxx src/HDFPersist/HDFobjectIdentify.c src/HDFPersist/HDFobjectType.c src/HDFPersist/HDFtypes.h src/HDFPersist/hdfi.h src/HDFPersist/test1.c src/HDFPersist/test2.c src/ModuleGenerator/tests/Truc2Component.idl src/ModuleGenerator/tests/TrucComponent.idl src/ModuleGenerator/tests/test1.sh src/ModuleGenerator/tests/test1b.sh src/ModuleGenerator/tests/test2.sh src/ModuleGenerator/tests/test3.sh src/ModuleGenerator/tests/test4.sh src/ModuleGenerator/tests/test5.sh src/NOTIFICATION_SWIG/NOTIFICATION.i src/Notification/CosNotifyShorthands.h src/Notification/NOTIFICATION.hxx src/Notification/NOTIFICATION_Consumer.hxx src/Notification/NOTIFICATION_Supplier.hxx src/OBJECT/Handle_SALOME_AISObject.hxx src/OBJECT/Handle_SALOME_AISShape.hxx src/OBJECT/Handle_SALOME_InteractiveObject.hxx src/OBJECT/SALOME_AISObject.hxx src/OBJECT/SALOME_AISObject.ixx src/OBJECT/SALOME_AISObject.jxx src/OBJECT/SALOME_AISShape.ixx src/OBJECT/SALOME_AISShape.jxx src/OBJECT/SALOME_InteractiveObject.ixx src/OBJECT/SALOME_InteractiveObject.jxx src/OCCViewer/OCCViewer_VService.h src/SALOMEDS/Handle_SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx src/SALOMEDS/Handle_SALOMEDS_TableOfStringAttribute.hxx src/SALOMEDS/SALOMEDS.cdl src/SALOMEDS/SALOMEDS_AttributeTarget_i.hxx src/SALOMEDS/SALOMEDS_Callback_i.hxx src/SALOMEDS/SALOMEDS_DataMapIteratorOfDataMapOfIntegerString.hxx src/SALOMEDS/SALOMEDS_DataMapNodeOfDataMapOfIntegerString.hxx src/SALOMEDS/SALOMEDS_DataMapOfIntegerString.hxx src/SALOMEDS/SALOMEDS_DrawableAttribute.cdl src/SALOMEDS/SALOMEDS_ExpandableAttribute.cdl src/SALOMEDS/SALOMEDS_IORAttribute.cdl src/SALOMEDS/SALOMEDS_IORAttribute.jxx src/SALOMEDS/SALOMEDS_LocalIDAttribute.cdl src/SALOMEDS/SALOMEDS_OCAFApplication.cdl src/SALOMEDS/SALOMEDS_OCAFApplication.jxx src/SALOMEDS/SALOMEDS_OpenedAttribute.cdl src/SALOMEDS/SALOMEDS_PersRefAttribute.cdl src/SALOMEDS/SALOMEDS_PersRefAttribute.jxx src/SALOMEDS/SALOMEDS_PixMapAttribute.cdl src/SALOMEDS/SALOMEDS_PythonObjectAttribute.cdl src/SALOMEDS/SALOMEDS_SelectableAttribute.cdl src/SALOMEDS/SALOMEDS_SequenceOfIntegerAttribute.cdl src/SALOMEDS/SALOMEDS_SequenceOfRealAttribute.cdl src/SALOMEDS/SALOMEDS_StudyPropertiesAttribute.cdl src/SALOMEDS/SALOMEDS_TableOfStringAttribute.hxx src/SALOMEDS/SALOMEDS_TableOfStringAttribute.ixx src/SALOMEDS/SALOMEDS_TableOfStringAttribute.jxx src/SALOMEDS/SALOMEDS_TargetAttribute.cdl src/SALOMEDS/SALOMEDS_TextColorAttribute.cdl src/SALOMEDS/SALOMEDS_TextHighlightColorAttribute.cdl src/SALOMEDS/SALOMEDS_UseCaseBuilder_i.hxx src/SALOMEDS/SALOMEDS_UseCaseIterator_i.hxx src/SALOMEGUI/CLIENT_icons.po src/SALOMEGUI/Handle_SALOME_DataMapNodeOfDataMapOfIOMapOfInteger.hxx src/SALOMEGUI/Handle_SALOME_Filter.hxx src/SALOMEGUI/Handle_SALOME_ListNodeOfListIO.hxx src/SALOMEGUI/Handle_SALOME_ListNodeOfListOfFilter.hxx src/SALOMEGUI/Handle_SALOME_NumberFilter.hxx src/SALOMEGUI/Handle_SALOME_TypeFilter.hxx src/SALOMEGUI/QAD.h src/SALOMEGUI/QAD_MessageBox.h src/SALOMEGUI/SALOMEGUI_CloseDlg.h src/SALOMEGUI/SALOMEGUI_icons.po src/SALOMEGUI/SALOME_Filter.hxx src/SALOMEGUI/SALOME_Filter.ixx src/SALOMEGUI/SALOME_Filter.jxx src/SALOMEGUI/SALOME_ListIteratorOfListIO.hxx src/SALOMEGUI/SALOME_ListIteratorOfListOfFilter.hxx src/SALOMEGUI/SALOME_ListNodeOfListIO.hxx src/SALOMEGUI/SALOME_ListNodeOfListOfFilter.hxx src/SALOMEGUI/SALOME_NumberFilter.hxx src/SALOMEGUI/SALOME_NumberFilter.ixx src/SALOMEGUI/SALOME_NumberFilter.jxx src/SALOMEGUI/SALOME_TypeFilter.hxx src/SALOMEGUI/SALOME_TypeFilter.ixx src/SALOMEGUI/SALOME_TypeFilter.jxx src/SALOME_SWIG/supervisionexample.py.in src/SALOME_SWIG/supervisiongeomexample.py.in src/SUPERVGraph/SUPERVGraph_Graph.h src/Session/runSession src/TOOLSGUI/ToolsGUI_icons.po src/Utils/OpUtil.cxx src/Utils/OpUtil.hxx src/Utils/SalomeString.hxx src/VTKFilter/SALOME_Transform.cxx src/VTKFilter/SALOME_Transform.h src/VTKFilter/SALOME_TransformFilter.h Delete: idl/MPIContainer.idl idl/MPIObject.idl src/SALOME_SWIG/Help.py src/SALOME_SWIG/PyInterp.py src/SALOME_SWIG/examplevtk1.py src/SALOME_SWIG/import_hook.py src/SALOME_SWIG/kernel_shared_modules.py src/SALOME_SWIG/salome.py src/SALOME_SWIG/salome_shared_modules.py src/SALOME_SWIG/salome_test.py src/SALOME_SWIG/test_big_table.py src/SALOME_SWIG/test_many_objects.py src/SALOME_SWIG/test_remove_ref.py src/SALOME_SWIG/test_table.py src/SALOME_SWIG/testattr.py --- diff --git a/idl/MPIContainer.idl b/idl/MPIContainer.idl deleted file mode 100644 index 6aab3355d..000000000 --- a/idl/MPIContainer.idl +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// 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. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -// -// -// -// File : MPIContainer.idl - -#ifndef _SALOME_MPICONTAINER_IDL_ -#define _SALOME_MPICONTAINER_IDL_ - -#include "SALOME_Component.idl" -#include "MPIObject.idl" - -module Engines -{ - interface MPIContainer:Container,MPIObject - { - } ; -} ; - -#endif - diff --git a/idl/MPIObject.idl b/idl/MPIObject.idl deleted file mode 100644 index a480f51f1..000000000 --- a/idl/MPIObject.idl +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// 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. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -// -// -// -// File : MPIObject.idl - -#ifndef _SALOME_MPIOBJECT_IDL_ -#define _SALOME_MPIOBJECT_IDL_ - -module Engines -{ - typedef sequence IORTab; - interface MPIObject - { - attribute IORTab tior; - } ; -} ; - -#endif diff --git a/src/SALOME_SWIG/Help.py b/src/SALOME_SWIG/Help.py deleted file mode 100644 index 404ee4dfc..000000000 --- a/src/SALOME_SWIG/Help.py +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# -# -# File : Help.py -# Author : Paul RASCLE, EDF -# Module : SALOME -# $Header$ - -class SalomeDoc: - def __init__(self, aDoc): - self.doc = aDoc - def __repr__(self): - print self.doc - return "---" - def salome(self): - doc_salome = ''' -MODULE : salome ---------------- -module salome gives access to Salome ressources: -variables: - - salome:orb : CORBA - salome.naming_service : instance of naming Service class - methods: - Resolve(name) : find a CORBA object (ior) by its pathname - Register(name) : register a CORBA object under a pathname - salome.lcc : instance of lifeCycleCORBA class - methods: - FindOrLoadComponent(server,name) : - obtain an Engine (CORBA object) - or launch the Engine if not found, - with a Server name and an Engine name - salome.sg - methods: - updateObjBrowser(bool): - getActiveStudyId(): - getActiveStudyName(): - - SelectedCount(): returns number of selected objects - getSelected(i): returns entry of selected object number i - getAllSelected(): returns list of entry of selected objects - AddIObject(Entry): select an existing Interactive object - RemoveIObject(Entry): remove object from selection - ClearIObjects(): clear selection - - Display(*Entry): - DisplayOnly(Entry): - Erase(Entry): - DisplayAll(): - EraseAll(): - - IDToObject(Entry): returns CORBA reference from entry - - salome.myStudyName : active Study Name - salome.myStudyId : active Study Id - salome.myStudy : the active Study itself (CORBA ior) - methods : defined in SALOMEDS.idl - -methods: - salome.DumpStudy(study) : Dump a study, given the ior ---- -''' - print doc_salome - - def geompy(self): - doc_geompy = ''' -MODULE : geompy ---------------- -module geompy provides an encapsulation of GEOM Engine methods -variables: - geompy.geom : a Geometry Engine, found or loaded - at first import of module geompy. - methods : defined in GEOM_Gen.idl - geompy.myBuilder : a study builder - geompy.father : GEOM root in current study (salome.myStudy) - -methods: - addToStudy(aShape, aName) : add the shape into the current study - --- all methods of GEOM_Gen.idl that returns a shape are encapsulated, - with the same interface : shapes are named with their ior -''' - print doc_geompy - - def supervision(self): - doc_supervision = ''' -MODULES : SALOME_SuperVisionEditor and SALOME_SuperVisionExecutor ------------------------------------------------------------------ -this modules provide access to Editor and Executor Engine methods - -See SUPERV.idl - -In order to run the example (supervisionexample.py) - - Type : from supervisionexample import * - supervisionexample.py contains comments - -A new python example avoids references to LifeCycleCORBA - avoids references to NamingService - avoids references to ModuleCatalog - avoids SuperVisionComponent creation - allows G.Input(...) instead of AddInput(G,...) - replaces Editor/Executor with Graph - allows Nodes, Ports and Links CORBA objects - shortens methods names - ... - - See /SuperVisionTest/resources/GraphExample.py - and GraphExample.xml ---- -''' - print doc_supervision - - - -help = SalomeDoc(''' -Availables modules: - salome : gives access to Salome ressources - geompy : encapsulation of GEOM Engine methods - supervision : gives access to SuperVision Engine -To obtain specific help on a module "truc", type: help.truc() -To run an example, type: import example3 -''') - diff --git a/src/SALOME_SWIG/PyInterp.py b/src/SALOME_SWIG/PyInterp.py deleted file mode 100644 index 3e0133d89..000000000 --- a/src/SALOME_SWIG/PyInterp.py +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# -# -# File : PyInterp.py -# Author : Paul RASCLE, EDF -# Module : SALOME -# $Header$ - -import sys -from omniORB import CORBA -from LifeCycleCORBA import * -from libSALOME_Swig import * -import SALOMEDS -from SALOME_NamingServicePy import * - - #-------------------------------------------------------------------------- - -def DumpComponent(Study, SO, offset): - it = Study.NewChildIterator(SO) - Builder = Study.NewBuilder() - while it.More(): - CSO = it.Value() - it.Next() - anAttr = Builder.FindOrCreateAttribute(CSO, "AttributeName") - AtName = anAttr._narrow(SALOMEDS.AttributeName) - t_name = AtName.Value() - if t_name[0] == 1: - ofs = 1 - a = "" - while ofs <= offset: - a = a + "--" - ofs = ofs +1 - print a + ">" + CSO.GetID() + " " + t_name[1] - t_RefSO = CSO.ReferencedObject() - if t_RefSO[0] == 1: - RefSO = t_RefSO[1] - ofs = 1 - a = "" - while ofs <= offset: - a = a + " " - ofs = ofs +1 - print a + ">" + RefSO.GetID() - DumpComponent(Study, CSO, offset+2) - - #-------------------------------------------------------------------------- - -def DumpStudy(Study): - itcomp = Study.NewComponentIterator() - while itcomp.More(): - SC = itcomp.Value() - itcomp.Next() - name = SC.ComponentDataType() - print "-> ComponentDataType is " + name - DumpComponent(Study, SC, 1) - - - #-------------------------------------------------------------------------- - -# initialise the ORB -orb = CORBA.ORB_init([''], CORBA.ORB_ID) - -# create an LifeCycleCORBA instance -lcc = LifeCycleCORBA(orb) - -# create an SALOMEGUI_Swig instance -sg = SALOMEGUI_Swig() - -#create an naming service instance -naming_service = SALOME_NamingServicePy_i(orb) - -# get active study name and id -myStudyName = sg.getActiveStudyName() -print myStudyName - -myStudyId = sg.getActiveStudyId() -print myStudyId - -# get Study Manager reference -obj = naming_service.Resolve('myStudyManager') -myStudyManager = obj._narrow(SALOMEDS.StudyManager) - -# get active study -myStudy = myStudyManager.GetStudyByName(myStudyName) - diff --git a/src/SALOME_SWIG/examplevtk1.py b/src/SALOME_SWIG/examplevtk1.py deleted file mode 100644 index 58a49bec3..000000000 --- a/src/SALOME_SWIG/examplevtk1.py +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# -# -# File : examplevtk1.py -# Module : SALOME - -import libSalomePy -ren=libSalomePy.renderer -#iren=libSalomePy.interactor - -from libVTKCommonPython import * -from libVTKGraphicsPython import * -cone = vtkConeSource() -cone.SetResolution(8) -coneMapper = vtkPolyDataMapper() -coneMapper.SetInput(cone.GetOutput()) -coneActor = vtkActor() -coneActor.SetMapper(coneMapper) - -ren.AddActor(coneActor) -iren = vtkRenderWindowInteractor() - diff --git a/src/SALOME_SWIG/import_hook.py b/src/SALOME_SWIG/import_hook.py deleted file mode 100644 index b67812fda..000000000 --- a/src/SALOME_SWIG/import_hook.py +++ /dev/null @@ -1,106 +0,0 @@ -""" -This module replaces the standard import mechanism with one -that filters some imports that can't be done more than once. - -This is related to the multi study feature that is implemented -by using the Python multi interpreter feature. -Some modules register objects or classes by calling modules -implemented in C. These operations can't be done multiple times. -So it's very important to control these imports. - -Examples: - - PyQt : import qt calls a C module to register classes - - OmniORB : import *_idl calls a C module to register CORBA interfaces - -Usage: - - First import the module : import import_hook. This module will - replace the original importer mechanism - - - Next register the module names or pattern names to filter out:: - import_hook.register_name("a") - import_hook.register_pattern(pattern) - - where pattern is a function with one parameter, the module name - to be imported, that returns true or false depending if this module is - to be filtered or not. - - - Then it's done - -IMPORTANT : Every subinterpretor has its own import_hook module. import_hook is not shared among subinterpretors. -The mechanism only works if shared_imported and pattern are shared between all subinterpretors. -This is done by calling init_shared_modules(). - -""" -import sys, imp, __builtin__ - -# Keep in shared_imported a copy of dictionnary modules -# that need to be imported only once in multi-study context -shared_imported={} - -# patterns contains functions that returns 1 or 0 depending if -# the module name (argument) must be filtered out or not -# These functions are added by calling register_pattern -patterns=[] - -original_import=__builtin__.__import__ - -def register_name(name): - if shared_imported.has_key(name):return - shared_imported[name]=None - -def register_pattern(pattern): - patterns.append(pattern) - -def is_shared(name): - if shared_imported.has_key(name):return 1 - for pattern in patterns: - if pattern(name) : return 1 - return 0 - -def get_shared_imported(name): - return shared_imported.get(name) -def set_shared_imported(name,module): - shared_imported[name]=module - #print "Module %s shared registered" % name - -def get_shared_imported_with_copy(name): - module_dict= shared_imported.get(name) - m=imp.new_module(name) - m.__dict__.update(module_dict) - return m -def set_shared_imported_with_copy(name,module): - shared_imported[name]=module.__dict__.copy() - #print "Module %s shared registered" % name - -def import_hook(name, globals=None, locals=None, fromlist=None): - module=get_shared_imported(name) - if module: - sys.modules[name]=module - return module - - module= original_import(name, globals, locals, fromlist) - - if is_shared(name): - set_shared_imported(name,module) - return module - -original_reload=__builtin__.reload - -def reload_hook(module): - if is_shared(module.__name__): - return module - return original_reload(module) - -__builtin__.__import__=import_hook -# Reload is not replaced -#__builtin__.reload=reload_hook - -def init_shared_modules(shared_module): - global shared_imported, patterns - shared_imported=shared_module.shared_imported - patterns= shared_module.patterns - shared_imported["salome_shared_modules"]=shared_module - import salome_shared_modules - for m in salome_shared_modules.list_modules: - m.init_shared_modules() - diff --git a/src/SALOME_SWIG/kernel_shared_modules.py b/src/SALOME_SWIG/kernel_shared_modules.py deleted file mode 100644 index 1ba9d8bf3..000000000 --- a/src/SALOME_SWIG/kernel_shared_modules.py +++ /dev/null @@ -1,76 +0,0 @@ -""" - -""" -import glob,os,sys - -import import_hook -from import_hook import register_name -from import_hook import register_pattern - -register_name("qt") -register_pattern(lambda(x):x.endswith("_idl")) - -register_name("omniORB") -register_name("CosNaming") - -register_name("Engines") -register_name("SALOME") -register_name("SALOMEDS") -register_name("SALOME_ModuleCatalog") - -# BE CAREFUL -# Engines, SALOME, SALOMEDS must be imported in that order because : -# Engines imports SALOME_Component_idl -# SALOME imports SALOME_Session_idl and SALOME_Exception_idl which imports SALOME_Component_idl -# and SALOMEDS imports SALOMEDS_idl and SALOMEDS_Attributes_idl which imports SALOME_Exception_idl -# If SALOME is imported before Engines, that module would not be completely imported -import Engines -import SALOME -import SALOMEDS - -import SALOME_ModuleCatalog -from SALOME_utilities import MESSAGE -# -# We search all Python CORBA (omniorb) modules. -# A Python CORBA module has 2 associated Python packages -# These packages are named : and __POA -# -# Get the SALOMEPATH if set or else use KERNEL_ROOT_DIR that should be set. -salome_path=os.environ.get("SALOMEPATH",os.getenv("KERNEL_ROOT_DIR")) - -# Register all CORBA modules in the path and python modules in shared_modules -path=salome_path.split(":") -# -for rep in path: - rep_salome=os.path.join(rep,"lib","python"+sys.version[:3],"site-packages","salome") - # Find all the *__POA packages in the path - for elem in glob.glob(os.path.join(rep_salome,"*__POA")): - if os.path.isdir(elem): - # Found a directory (Python package) named *__POA - module__POA=os.path.basename(elem) - module=module__POA[:-5] - MESSAGE( "Register CORBA module: " + module + ". Directory: " + os.path.abspath(elem)[:-5] ) - register_name(module) - - # Now we import modules found in shared_modules directory - for elem in glob.glob(os.path.join(rep_salome,"shared_modules","*.py")): - module=os.path.basename(elem)[:-3] - MESSAGE( "Register Python module: " + module + ". Location: " + os.path.abspath(elem) ) - register_name(module) - -def init_shared_modules(): - """ - This function initializes shared modules that need to be - """ - # EDF-CCAR: - # Problem with omniORB : omniORB creates a C Python module named _omnipy - # this module has sub-modules : omni_func, ... - # _omnipy is quite a package but import with Python sub-interpreters does not seem to work - # To make it work we need to add those sub-modules in sys.modules - import sys - import _omnipy - sys.modules["_omnipy.omni_func"]=_omnipy.omni_func - sys.modules["_omnipy.poa_func"]=_omnipy.poa_func - sys.modules["_omnipy.poamanager_func"]=_omnipy.poamanager_func - sys.modules["_omnipy.orb_func"]=_omnipy.orb_func - diff --git a/src/SALOME_SWIG/salome.py b/src/SALOME_SWIG/salome.py deleted file mode 100644 index 9d45865db..000000000 --- a/src/SALOME_SWIG/salome.py +++ /dev/null @@ -1,157 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# -# -# File : salome.py -# Author : Paul RASCLE, EDF -# Module : SALOME -# $Header$ - -from omniORB import CORBA -from LifeCycleCORBA import * -from libSALOME_Swig import * -import SALOMEDS -from SALOME_NamingServicePy import * - -from SALOME_utilities import * - -#-------------------------------------------------------------------------- - -def DumpComponent(Study, SO, offset): - it = Study.NewChildIterator(SO) - Builder = Study.NewBuilder() - while it.More(): - CSO = it.Value() - it.Next() - anAttr = Builder.FindOrCreateAttribute(CSO, "AttributeName") - AtName = anAttr._narrow(SALOMEDS.AttributeName) - t_name = AtName.Value() - if t_name[0] == 1: - ofs = 1 - a = "" - while ofs <= offset: - a = a + "--" - ofs = ofs +1 - MESSAGE( a + ">" + str(CSO.GetID()) + " " + str(t_name[1]) ) - t_RefSO = CSO.ReferencedObject() - if t_RefSO[0] == 1: - RefSO = t_RefSO[1] - ofs = 1 - a = "" - while ofs <= offset: - a = a + " " - ofs = ofs +1 - MESSAGE( a + ">" + str(RefSO.GetID()) ) - DumpComponent(Study, CSO, offset+2) - - #-------------------------------------------------------------------------- - -def DumpStudy(Study): - itcomp = Study.NewComponentIterator() - while itcomp.More(): - SC = itcomp.Value() - itcomp.Next() - name = SC.ComponentDataType() - MESSAGE( "-> ComponentDataType is " + name ) - DumpComponent(Study, SC, 1) - - - #-------------------------------------------------------------------------- - -def ImportComponentGUI(ComponentName): - libName = "lib" + ComponentName + "_Swig" - command = "from " + libName + " import *" - exec ( command ) - constructor = ComponentName + "_Swig()" - command = "gui = " + constructor - exec ( command ) - return gui - - #-------------------------------------------------------------------------- - -def SalomeGUIgetAllSelected(self): - selNumber = self.SelectedCount() - listSelected = [] - for i in range(selNumber): - listSelected.append(self.getSelected(i)) - return listSelected - -class SalomeGUI(SALOMEGUI_Swig): - getAllSelected = SalomeGUIgetAllSelected - - #-------------------------------------------------------------------------- - -def IDToObject(id): - myObj = None - mySO = myStudy.FindObjectID(id); - if mySO is not None: - ok, anAttr = mySO.FindAttribute("AttributeIOR") - if ok: - AtIOR = anAttr._narrow(SALOMEDS.AttributeIOR) - if AtIOR.Value() != "": - myObj = orb.string_to_object(AtIOR.Value()) - return myObj - -def ObjectToSObject(obj): - mySO = None - if obj is not None: - ior = orb.object_to_string(obj) - if ior != "": - mySO = myStudy.FindObjectIOR(ior) - return mySO - -def ObjectToID(obj): - mySO = ObjectToSObject(obj) - if mySO: - return mySO.GetID() - return "" - -def IDToSObject(id): - mySO = myStudy.FindObjectID(id); - return mySO - - #-------------------------------------------------------------------------- - -# initialise the ORB -orb = CORBA.ORB_init([''], CORBA.ORB_ID) - -# create an LifeCycleCORBA instance -lcc = LifeCycleCORBA(orb) - -# create an SALOMEGUI_Swig instance -sg = SalomeGUI() - -#create an naming service instance -naming_service = SALOME_NamingServicePy_i(orb) - -# get active study name and id -myStudyName = sg.getActiveStudyName() -MESSAGE( myStudyName ) - -myStudyId = sg.getActiveStudyId() -MESSAGE( str(myStudyId) ) - -# get Study Manager reference -obj = naming_service.Resolve('myStudyManager') -myStudyManager = obj._narrow(SALOMEDS.StudyManager) - -# get active study -myStudy = myStudyManager.GetStudyByName(myStudyName) - diff --git a/src/SALOME_SWIG/salome_shared_modules.py b/src/SALOME_SWIG/salome_shared_modules.py deleted file mode 100644 index b90bb3df1..000000000 --- a/src/SALOME_SWIG/salome_shared_modules.py +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# -# -# File : salome_shared_modules.py -# Module : SALOME - -from SALOME_utilities import * - -""" -This module with help of import_hook and *_shared_modules -filters imports when using the embedded Python interpretor. - -Some imports can't be done more than once. -This is related to the multi study feature that is implemented -by using the Python multi interpreter feature. -Some modules register objects or classes by calling modules -implemented in C. These operations can't be done multiple times. -So it's very important to control these imports. - -Examples: - - PyQt : import qt calls a C module to register classes - - OmniORB : import *_idl calls a C module to register CORBA interfaces - -Usage: - - First : the module salome_shared_modules is imported by main Python interpretor. - It will keep a dictionnary and a list that are shared among all - the subinterpretors and imports import_hook module that replaces - the standard import mechanism par one that prevents more than one import - for some modules identified by name (call register_name) or by a - validator (call register_pattern). - - Calls to register_name and register_pattern are done in modules named *_shared_modules - that could be found in the path SALOMEPATH - -""" -import glob,os,sys - -import import_hook -# shared_imported, patterns, register_name, register_pattern -# will be shared by all Python sub interpretors -from import_hook import shared_imported -from import_hook import patterns -from import_hook import register_name -from import_hook import register_pattern - -register_name("salome_shared_modules") - -# Get the SALOMEPATH if set or else use KERNEL_ROOT_DIR that should be set. -salome_path=os.environ.get("SALOMEPATH",os.getenv("KERNEL_ROOT_DIR")) - -list_modules=[] - -# Import all *_shared_modules in the path and store them in list_modules -path=salome_path.split(":") -for rep in path: - # Import all *_shared_modules in rep - for f in glob.glob(os.path.join(rep,"lib","python"+sys.version[:3],"site-packages","salome","shared_modules","*_shared_modules.py")): - try: - m=__import__(os.path.splitext(os.path.basename(f))[0]) - list_modules.append(m) - except: - pass - -# -# If shared modules have been imported before installing import mechanism -# we add them to shared_imported -# -for name,module in sys.modules.items(): - if import_hook.is_shared(name) and shared_imported.get(name) is None: - #print "Module shared added to shared_imported: ",name - shared_imported[name]=module - diff --git a/src/SALOME_SWIG/salome_test.py b/src/SALOME_SWIG/salome_test.py deleted file mode 100644 index a1e63a6cc..000000000 --- a/src/SALOME_SWIG/salome_test.py +++ /dev/null @@ -1,486 +0,0 @@ -# SALOME SALOME_SWIG : binding of C++ implementation and Python -# -# Copyright (C) 2003 CEA/DEN, EDF R&D -# -# -# -# File : salome_test.py -# Module : SALOME - -print "Test the application loading GEOM, SMESH, VISU, MED, components and doing some" -print "operation within the components." - -import salome -from salome import sg -import SALOMEDS -import os - -import SALOME_ModuleCatalog - -print "======================================================================" -print " Get Catalog " -print "======================================================================" -obj = salome.naming_service.Resolve('Kernel/ModulCatalog') -catalog = obj._narrow(SALOME_ModuleCatalog.ModuleCatalog) - -print "======================================================================" -print " Create Study " -print "======================================================================" - -comp = catalog.GetComponent("GEOM") -if comp is None: - raise RuntimeError,"Component GEOM not found in Module Catalog." - -import geompy - -print "=================================" -print " create AttributeReal " -print "=================================" -A = geompy.myBuilder.FindOrCreateAttribute(geompy.father, "AttributeReal") -if A == None : - raise RuntimeError, "Can't create AttributeReal attribute" -A = A._narrow(SALOMEDS.AttributeReal) -A.SetValue(0.0001) -if A.Value() != 0.0001: - raise RuntimeError, "Error : wrong value of AttributeReal" - -print -print " =========== Test Geometry ==========================" -print - -print "===================================" -print " define a box" -print "===================================" - -box = geompy.MakeBox(0., 0., 0., 100., 200., 300.) -idbox = geompy.addToStudy(box,"box") - -print -print "============= Test SMESH =============================" -print - -import StdMeshers - -comp = catalog.GetComponent("SMESH") -if comp is None: - raise RuntimeError,"Component SMESH not found in Module Catalog." - -comp = catalog.GetComponent("MED") -if comp is None: - raise RuntimeError,"Component MED not found in Module Catalog." - -import SMESH - -geom = salome.lcc.FindOrLoadComponent("FactoryServer", "GEOM") -myBuilder = salome.myStudy.NewBuilder() - -smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH") -smeshgui = salome.ImportComponentGUI("SMESH") -smeshgui.Init(salome.myStudyId); - -ShapeTypeCompSolid = 1 -ShapeTypeSolid = 2 -ShapeTypeShell = 3 -ShapeTypeFace = 4 -ShapeTypeWire = 5 -ShapeTypeEdge = 6 -ShapeTypeVertex = 7 - -# ---- define a box - -box = geompy.MakeBox(0., 0., 0., 100., 200., 300.) -idbox = geompy.addToStudy(box,"box") - -# ---- add first face of box in study - -subShapeList=geompy.SubShapeAll(box,ShapeTypeFace) -face=subShapeList[0] -name = geompy.SubShapeName(face, box) -print name -idface=geompy.addToStudyInFather(box,face,name) - -# ---- add shell from box in study - -subShellList=geompy.SubShapeAll(box,ShapeTypeShell) -shell = subShellList[0] -name = geompy.SubShapeName(shell, box) -print name -idshell=geompy.addToStudyInFather(box,shell,name) - -# ---- add first edge of face in study - -edgeList = geompy.SubShapeAll(face,ShapeTypeEdge) -edge=edgeList[0]; -name = geompy.SubShapeName(edge, face) -print name -idedge=geompy.addToStudyInFather(face,edge,name) - - -# ---- SMESH - -# ---- create Hypothesis - -print "-------------------------- create Hypothesis" -print "-------------------------- LocalLength" -hypLen1 = smesh.CreateHypothesis( "LocalLength", "libStdMeshersEngine.so" ) -hypLen1.SetLength(100) -print hypLen1.GetName() -print hypLen1.GetId() -print hypLen1.GetLength() - -smeshgui.SetName(salome.ObjectToID(hypLen1), "Local_Length_100") - -print "-------------------------- NumberOfSegments" -hypNbSeg1= smesh.CreateHypothesis( "NumberOfSegments", "libStdMeshersEngine.so" ) -hypNbSeg1.SetNumberOfSegments(7) -print hypNbSeg1.GetName() -print hypNbSeg1.GetId() -print hypNbSeg1.GetNumberOfSegments() - -smeshgui.SetName(salome.ObjectToID(hypNbSeg1), "NumberOfSegments_7") - -print "-------------------------- MaxElementArea" -hypArea1 = smesh.CreateHypothesis( "MaxElementArea", "libStdMeshersEngine.so" ) -hypArea1.SetMaxElementArea(2500) -print hypArea1.GetName() -print hypArea1.GetId() -print hypArea1.GetMaxElementArea() - -smeshgui.SetName(salome.ObjectToID(hypArea1), "MaxElementArea_2500") - -print "-------------------------- MaxElementArea" -hypArea2 = smesh.CreateHypothesis( "MaxElementArea", "libStdMeshersEngine.so" ) -hypArea2.SetMaxElementArea(500) -print hypArea2.GetName() -print hypArea2.GetId() -print hypArea2.GetMaxElementArea() - -smeshgui.SetName(salome.ObjectToID(hypArea2), "MaxElementArea_500") - -print "-------------------------- Regular_1D" -algoReg = smesh.CreateHypothesis( "Regular_1D", "libStdMeshersEngine.so" ) -listHyp=algoReg.GetCompatibleHypothesis() -for hyp in listHyp: - print hyp -print algoReg.GetName() -print algoReg.GetId() - -smeshgui.SetName(salome.ObjectToID(algoReg), "Regular_1D" ) - -print "-------------------------- MEFISTO_2D" -algoMef = smesh.CreateHypothesis( "MEFISTO_2D", "libStdMeshersEngine.so" ) -listHyp=algoMef.GetCompatibleHypothesis() -for hyp in listHyp: - print hyp -print algoMef.GetName() -print algoMef.GetId() - -smeshgui.SetName(salome.ObjectToID(algoMef), "MEFISTO_2D" ) - -# ---- add hypothesis to box - -print "-------------------------- add hypothesis to box" -box=salome.IDToObject(idbox) -mesh = smesh.CreateMesh(box) - -smeshgui.SetName( salome.ObjectToID(mesh), "MeshBox" ); - -ret=mesh.AddHypothesis(box,algoReg) -print ret -ret=mesh.AddHypothesis(box,algoMef) -print ret - - -ret=mesh.AddHypothesis(box,hypNbSeg1) -print ret -ret=mesh.AddHypothesis(box,hypArea1) -print ret - - -# ---- add hypothesis to edge - -print "-------------------------- add hypothesis to edge" -edge=salome.IDToObject(idedge) -submesh=mesh.GetSubMesh(edge, "SubMeshEdge") - -ret=mesh.AddHypothesis(edge,algoReg) -print ret -ret=mesh.AddHypothesis(edge,hypLen1) -print ret - -print "-------------------------- add hypothesis to face" -face=salome.IDToObject(idface) -submesh = mesh.GetSubMesh(face, "SubMeshFace") - -ret=mesh.AddHypothesis(face,hypArea2) -print ret - -smesh.Compute(mesh, box) -sg.updateObjBrowser(1); - -print -print "============= Test Supervisor =============================" -print - -comp = catalog.GetComponent("SUPERV") -if comp is None: - raise RuntimeError,"Component SUPERV not found in Module Catalog." - -from SuperV import * -import SALOMEDS -myStudy = salome.myStudy -myBuilder = myStudy.NewBuilder() - -SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV") -father = myStudy.FindComponent("SUPERV") -if father is None: - father = myBuilder.NewComponent("SUPERV") - A1 = myBuilder.FindOrCreateAttribute(father, "AttributeName"); - FName = A1._narrow(SALOMEDS.AttributeName) - FName.SetValue( salome.sg.getComponentUserName("SUPERV") ) - A2 = myBuilder.FindOrCreateAttribute(father, "AttributePixMap"); - aPixmap = A2._narrow(SALOMEDS.AttributePixMap); - aPixmap.SetPixMap( "ICON_OBJBROWSER_Supervision" ); - myBuilder.DefineComponentInstance(father,SuperVision) - -def addStudy(ior): - dataflow = SuperVision.getStreamGraph(ior) - name=dataflow.Name() - itr = myStudy.NewChildIterator(father) - while itr.More(): - item=itr.Value() - res,A=item.FindAttribute("AttributeName") - if res: - aName = A._narrow(SALOMEDS.AttributeName) - if aName.Value() == name : - print myBuilder.FindOrCreateAttribute(item, "AttributeIOR") - A = myBuilder.FindOrCreateAttribute(item, "AttributeIOR") - print "A = ", A - if A is not None : - #res,A = myBuilder.FindOrCreateAttribute(item, "AttributeIOR") - anIOR = A._narrow(SALOMEDS.AttributeIOR); - print "anIOR.SetValue(dataflow.getIOR())" - anIOR.SetValue(dataflow.getIOR()) - return - itr.Next() - obj = myBuilder.NewObject(father) - A=myBuilder.FindOrCreateAttribute(obj, "AttributeName") - aName=A._narrow(SALOMEDS.AttributeName) - aName.SetValue(name) - A=myBuilder.FindOrCreateAttribute(obj, "AttributeIOR") - anIOR = A._narrow(SALOMEDS.AttributeIOR) - anIOR.SetValue(dataflow.getIOR()) - -import os -dir= os.getenv("SUPERV_ROOT_DIR") -if dir == None: - raise RuntimeError, "SUPERV_ROOT_DIR is not defined" -xmlfile = dir +"/examples/GraphGeomEssai.xml" -print "Load dataflow from the file : " -print xmlfile -print - -myGraph = StreamGraph ( xmlfile ) - -# This DataFlow is "valid" : no loop, correct links between Nodes etc... -print "myGraph.IsValid() = ", myGraph.IsValid() - -# Get Nodes -myGraph.PrintNodes() - -# This DataFlow is "executable" : all pending Ports are defined with Datas -print myGraph.IsExecutable() - -# Starts only execution of that DataFlow and gets control immediatly -print myGraph.Run() - -# That DataFlow is running ==> 0 (false) -print myGraph.IsDone() - -# Events of execution : -aStatus,aNode,anEvent,aState = myGraph.Event() -while aStatus : - print aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState - aStatus,aNode,anEvent,aState = myGraph.Event() -print "myGraph.IsDone() = ",myGraph.IsDone() - -# Wait for Completion (but it is already done after event loop ...) -print "Done : ",myGraph.DoneW() - -print " " -#print "Type : print myGraph.IsDone()" -#print " If execution is finished ==> 1 (true)" -res=myGraph.IsDone() -if res != 1: - raise RuntimeError, "myGraph.Run() is not done" - -print " " -print "Type : myGraph.PrintPorts()" -print " to see input and output values of the graph" -myGraph.PrintPorts() - -# Export will create newsupervisionexample.xml and the corresponding .py file -tmpdir=os.getenv("TmpDir") -if tmpdir is None: - tmpdir="/tmp" -file = tmpdir + "/newsupervisionexample" -print "--------------\n"+file+"\n--------------\n" -myGraph.Export(file) - -ior = salome.orb.object_to_string(myGraph.G) -addStudy(ior) - -GraphName = myGraph.Name() -print "Befor save ", -#nodes = myGraph.Nodes() -nodes = myGraph.G.Nodes().FNodes -length_bs = len(nodes) -print "ListOfNodes length = ", length_bs -names=[] -for node in nodes: - names.append(node.Name()) -print names - -# Graph creation -GraphInLines = StreamGraph( 'GraphInLines' ) -GraphInLines.SetName( 'GraphInLines' ) -GraphInLines.SetAuthor( '' ) -GraphInLines.SetComment( '' ) -GraphInLines.Coords( 0 , 0 ) - -# Creation of InLine Nodes -PyAdd = [] -PyAdd.append( 'def Add(a,b) : ' ) -PyAdd.append( ' return a+b ' ) -PyAdd.append( '' ) -Add = GraphInLines.INode( 'Add' , PyAdd ) -Add.InPort( 'a' , 'long' ) -Add.InPort( 'b' , 'long' ) -Add.OutPort( 'f' , 'long' ) -Add.SetName( 'Add' ) -Add.SetAuthor( '' ) -Add.SetComment( 'Python function' ) -Add.Coords( 351 , 77 ) -PySub = [] -PySub.append( 'def Sub(a,b) : ' ) -PySub.append( ' return a-b ' ) -PySub.append( '' ) -Sub = GraphInLines.INode( 'Sub' , PySub ) -Sub.InPort( 'a' , 'long' ) -Sub.InPort( 'b' , 'long' ) -Sub.OutPort( 'f' , 'long' ) -Sub.SetName( 'Sub' ) -Sub.SetAuthor( '' ) -Sub.SetComment( 'Python function' ) -Sub.Coords( 86 , 333 ) -PyMul = [] -PyMul.append( 'def Mul(a,b) : ' ) -PyMul.append( ' return a*b ' ) -Mul = GraphInLines.INode( 'Mul' , PyMul ) -Mul.InPort( 'a' , 'long' ) -Mul.InPort( 'b' , 'long' ) -Mul.OutPort( 'Result' , 'long' ) -Mul.SetName( 'Mul' ) -Mul.SetAuthor( '' ) -Mul.SetComment( 'Python function' ) -Mul.Coords( 616 , 247 ) - -# Creation of intermediate Output variables and of Control Links -Addf = Add.Port( 'f' ) -Mula = GraphInLines.Link( Addf , Mul.Port( 'a' ) ) -Mula.AddCoord( 1 , 570 , 356 ) -Mula.AddCoord( 2 , 570 , 186 ) -Subf = Sub.Port( 'f' ) -Mulb = GraphInLines.Link( Subf , Mul.Port( 'b' ) ) -Mulb.AddCoord( 1 , 282 , 376 ) -Mulb.AddCoord( 2 , 282 , 442 ) -Addb = GraphInLines.Link( Subf , Add.Port( 'b' ) ) -Addb.AddCoord( 1 , 283 , 209 ) -Addb.AddCoord( 2 , 283 , 374 ) -Addb.AddCoord( 3 , 283 , 442 ) - -# Creation of Input datas -Adda = Add.Input( 'a' , 1) -Suba = Sub.Input( 'a' , 3) -Subb = Sub.Input( 'b' , 4) - -# Creation of Output variables -MulResult = Mul.Port( 'Result' ) - -GraphInLines.Run() - -GraphInLines.DoneW() - -GraphInLines.PrintPorts() - -sg.updateObjBrowser(1); - -print -print "============= Test VISU and MED =============================" -print - -comp = catalog.GetComponent("VISU") -if comp is None: - raise RuntimeError,"Component VISU not found in Module Catalog." - -import sys -import SALOMEDS -import SALOME -import SALOME_MED -import VISU - -import visu_gui - -medFileName = "pointe.med" -medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFileName -print "Load ", medFile - -studyCurrent = salome.myStudyName - -med_comp = salome.lcc.FindOrLoadComponent("FactoryServer", "MED") -myVisu = salome.lcc.FindOrLoadComponent("FactoryServer", "VISU") - -try: - if os.access(medFile, os.R_OK) : - if not os.access(medFile, os.W_OK) : - import random - medFileNew = "/tmp/" + str(random.randint(0,1000000)) + "_" + medFileName - print " -- Copy " + medFile + " to " + medFileNew - os.system("cp "+ medFile + " " + medFileNew) - medFile = medFileNew - os.system("chmod 755 " + medFile) - - if os.access(medFile, os.W_OK) : - med_comp.readStructFileWithFieldType(medFile,studyCurrent) - med_obj = visu_gui.visu.getMedObjectFromStudy() - print "med_obj - ", med_obj - - myField1 = visu_gui.visu.getFieldObjectFromStudy(2,1) - aMeshName = "maa1" - anEntity = VISU.NODE - aTimeStampId = -1 - - myResult1 = myVisu.ImportMedField(myField1) - aMesh1 = myVisu.MeshOnEntity(myResult1, aMeshName, anEntity); - - aScalarMap1= myVisu.ScalarMapOnField(myResult1, aMeshName, anEntity, myField1.getName(), aTimeStampId) - - myResult2 = myVisu.ImportFile(medFile); - aMesh2 = myVisu.MeshOnEntity(myResult2, aMeshName, anEntity); - - aTimeStampId = 3 - aScalarMap2= myVisu.ScalarMapOnField(myResult2, aMeshName, anEntity, myField1.getName(), aTimeStampId) - - sg.updateObjBrowser(0) - else : print "We have no permission to rewrite medFile, so readStructFileWithFieldType can't open this file"; - else : print "We have no permission to read medFile, it will not be opened"; - -except: - if sys.exc_type == SALOME.SALOME_Exception : - print "There is no permission to read " + medFile - else : - print sys.exc_type - print sys.exc_value - print sys.exc_traceback - -sg.updateObjBrowser(1); diff --git a/src/SALOME_SWIG/test_big_table.py b/src/SALOME_SWIG/test_big_table.py deleted file mode 100644 index 689567e2c..000000000 --- a/src/SALOME_SWIG/test_big_table.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (C) 2003 CEA/DEN, EDF R&D -# -# -# -# File : test_big_table.py -# Author : Vadim SANDLER -# Module : SALOME -# $Header$ - -import salome -import math -import SALOMEDS - -# >>> Getting study builder ================================================== -myStudy = salome.myStudy -myBuilder = myStudy.NewBuilder() - -# >>> Creating virtual component ============================================= -myComponent = myStudy.FindComponent("VirtualComponent") -if not myComponent: - myComponent = myBuilder.NewComponent("VirtualComponent") - aName = myBuilder.FindOrCreateAttribute(myComponent, "AttributeName") - aName.SetValue("VirtualComponent") - -# >>> Creating object with Table of real[ 200 * 20 ] ======================== -myTRealObject = myBuilder.NewObject(myComponent) -AName = myBuilder.FindOrCreateAttribute(myTRealObject, "AttributeName") -AName.SetValue("Table Of Real") -ARealTable = myBuilder.FindOrCreateAttribute(myTRealObject, "AttributeTableOfReal") -myHorNb = 10 -myVerNb = 200 - -k={} -for j in range(0,myHorNb): - k[j] = j*10+1 -ARealTable.AddRow(k.values()) -ARealTable.SetRowTitle(1, "Frequency") -ARealTable.SetRowUnit(1, "Hz") - -for i in range(1,myVerNb+1): - for j in range(0,myHorNb): - if j % 2 == 1: - k[j] = math.log10(j*30*math.pi/180) * 20 + i * 15 + j*5 - else: - k[j] = math.sin(j*30*math.pi/180) * 20 + i * 15 + j*5 - ARealTable.AddRow(k.values()) - ARealTable.SetRowTitle(i+1, "Power " + str(i)) - ARealTable.SetRowUnit(i+1, "Wt") -ARealTable.SetTitle("Very useful data") - -# >>> Updating Object Browser ================================================ -salome.sg.updateObjBrowser(1) - -# ============================================================================ diff --git a/src/SALOME_SWIG/test_many_objects.py b/src/SALOME_SWIG/test_many_objects.py deleted file mode 100644 index e7023e470..000000000 --- a/src/SALOME_SWIG/test_many_objects.py +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright (C) 2003 CEA/DEN, EDF R&D -# -# -# -# File : visu_many_objects.py -# Author : Vadim SANDLER -# Module : SALOME -# $Header$ - -import salome -import SALOMEDS - -# >>> Getting study builder ================================================== -myStudy = salome.myStudy -myBuilder = myStudy.NewBuilder() - -# >>> Creating virtual component ============================================= -myComponent = myBuilder.NewComponent("VIRTUAL") -AName = myBuilder.FindOrCreateAttribute(myComponent, "AttributeName") -AName.SetValue("Virtual") -ACmt = myBuilder.FindOrCreateAttribute(myComponent, "AttributeComment") -ACmt.SetValue("Virtual") - -# >>> Creating objects ======================================================= -# TO CHANGE TOTAL NUMBER OF OBJECTS, SET PROPER , , -# IF YOU DON'T WANT TO ADD REFERENCES, SET = 0 -myNb1 = 20 -myNb2 = 5 -myNb3 = 3 -myAddRef = 1 - -if myAddRef == 1: - myContainer = myBuilder.NewObject(myComponent) - AName = myBuilder.FindOrCreateAttribute(myContainer, "AttributeName") - AName.SetValue("References") - ACmt = myBuilder.FindOrCreateAttribute(myContainer, "AttributeComment") - ACmt.SetValue("Container for objects") - -for i in range(0,myNb1): - myObject1 = myBuilder.NewObject(myComponent) - AName = myBuilder.FindOrCreateAttribute(myObject1, "AttributeName") - AName.SetValue("Object "+str(i)) - ACmt = myBuilder.FindOrCreateAttribute(myObject1, "AttributeComment") - ACmt.SetValue("Virtual object "+str(i)) - if myAddRef == 1: - myRefObject = myBuilder.NewObject(myContainer) - myBuilder.Addreference(myRefObject,myObject1); - - for j in range(0,myNb2): - myObject2 = myBuilder.NewObject(myObject1) - AName = myBuilder.FindOrCreateAttribute(myObject2, "AttributeName") - AName.SetValue("Object "+str(i)+"-"+str(j)) - ACmt = myBuilder.FindOrCreateAttribute(myObject2, "AttributeComment") - ACmt.SetValue("Virtual object "+str(i)+"-"+str(j)) - if myAddRef == 1: - myRefObject = myBuilder.NewObject(myContainer) - myBuilder.Addreference(myRefObject,myObject2); - - for k in range(0,myNb3): - myObject3 = myBuilder.NewObject(myObject2) - AName = myBuilder.FindOrCreateAttribute(myObject3, "AttributeName") - AName.SetValue("Object "+str(i)+"-"+str(j)+"-"+str(k)) - ACmt = myBuilder.FindOrCreateAttribute(myObject3, "AttributeComment") - ACmt.SetValue("Virtual object "+str(i)+"-"+str(j)+"-"+str(k)) - if myAddRef == 1: - myRefObject = myBuilder.NewObject(myContainer) - myBuilder.Addreference(myRefObject,myObject3); - -# >>> Updating Object Browser ================================================ -salome.sg.updateObjBrowser(1) - -# ============================================================================ - - diff --git a/src/SALOME_SWIG/test_remove_ref.py b/src/SALOME_SWIG/test_remove_ref.py deleted file mode 100755 index 7842a0ecd..000000000 --- a/src/SALOME_SWIG/test_remove_ref.py +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# -# -# File : test_remove_ref.py -# Module : SALOMEDS - -from salome import * - -myBuilder = myStudy.NewBuilder() - - -obj1 = myStudy.FindObjectID("0:1") -if obj1 is None: print "Is null obj1 " -else: print obj1.GetID() - -obj2 = myBuilder.NewObject(obj1) -print "Obj2 ID = "+obj2.GetID() - -myBuilder.Addreference(obj1, obj2) - -(f, obj3) = obj1.ReferencedObject() - -print "Ref obj ID = "+obj3.GetID() - - -myBuilder.RemoveReference(obj1) - -(f, obj4) = obj1.ReferencedObject() - -print "Ref is found ", f - \ No newline at end of file diff --git a/src/SALOME_SWIG/test_table.py b/src/SALOME_SWIG/test_table.py deleted file mode 100644 index c1d58d997..000000000 --- a/src/SALOME_SWIG/test_table.py +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright (C) 2003 CEA/DEN, EDF R&D -# -# -# -# File : test_table.py -# Author : Vadim SANDLER -# Module : SALOME -# $Header$ - -import salome -import math -import SALOMEDS - -# >>> Getting study builder ================================================== -myStudy = salome.myStudy -myBuilder = myStudy.NewBuilder() - -# >>> Creating virtual component ============================================= -myComponent = myStudy.FindComponent("VirtualComponent") -if not myComponent: - myComponent = myBuilder.NewComponent("VirtualComponent") - aName = myBuilder.FindOrCreateAttribute(myComponent, "AttributeName") - aName.SetValue("VirtualComponent") - -# >>> Creating object with Table of integer ================================== -myTIntObject = myBuilder.NewObject(myComponent) -AName = myBuilder.FindOrCreateAttribute(myTIntObject, "AttributeName") -AName.SetValue("Table Of Integer") -AIntTable = myBuilder.FindOrCreateAttribute(myTIntObject, "AttributeTableOfInteger") - -a=[1,2,3,4,5,6,7,8,9,10] -AIntTable.AddRow(a) -a=[110,120,130,140,150,160,170,180,190,200] -AIntTable.AddRow(a) -a=[-1,272,0,0,-642,10000,13,578,-578,99] -AIntTable.AddRow(a) -AIntTable.SetTitle("TEST table of integer") -AIntTable.SetRowTitle(1,"FR") -AIntTable.SetRowUnit(1,"m/h") -AIntTable.SetRowTitle(2,"SR") -AIntTable.SetRowUnit(2,"s") -AIntTable.SetRowTitle(3,"TR") -AIntTable.SetRowUnit(3,"$") -c=["C1","C2","C3","C4","C5","C6","C7","C8","C9","C10"] -AIntTable.SetColumnTitles(c) - -# >>> Creating object with Table of real ===================================== -myTRealObject = myBuilder.NewObject(myComponent) -AName = myBuilder.FindOrCreateAttribute(myTRealObject, "AttributeName") -AName.SetValue("Table Of Real") -ARealTable = myBuilder.FindOrCreateAttribute(myTRealObject, "AttributeTableOfReal") - -k={} -l={} -for j in range(0,20): - k[j] = j*10+1 - l[j] = "C"+str(j+1) -ARealTable.AddRow(k.values()) -ARealTable.SetRowTitle(1, "Row 0") -ARealTable.SetRowUnit(1, "Hz") -ARealTable.SetColumnTitles(l.values()) -for i in range(1,11): - for j in range(1,21): - if j % 2 == 1: - k[j] = math.log10(j*30*math.pi/180) * 20 + i * 15 + j*5 - else: - k[j] = math.sin(j*30*math.pi/180) * 20 + i * 15 + j*5 - ARealTable.AddRow(k.values()) - ARealTable.SetRowTitle(i+1, "Row " + str(i)) - ARealTable.SetRowUnit(i+1, "Wt") -ARealTable.SetTitle("TEST table of real") - -# >>> Creating object with integer attribute ================================= -myIntObject = myBuilder.NewObject(myComponent) -AName = myBuilder.FindOrCreateAttribute(myIntObject, "AttributeName") -AName.SetValue("Integer") -AInt = myBuilder.FindOrCreateAttribute(myIntObject, "AttributeInteger") -AInt.SetValue(123) - -# >>> Creating object with real attribute ==================================== -myRealObject = myBuilder.NewObject(myComponent) -AName = myBuilder.FindOrCreateAttribute(myRealObject, "AttributeName") -AName.SetValue("Real") -AReal = myBuilder.FindOrCreateAttribute(myRealObject, "AttributeReal") -AReal.SetValue(-56.9634) - -# >>> Creating object with comment attribute ================================= -myCmtObject = myBuilder.NewObject(myComponent) -AName = myBuilder.FindOrCreateAttribute(myCmtObject, "AttributeName") -AName.SetValue("Comment") -ACmt = myBuilder.FindOrCreateAttribute(myCmtObject, "AttributeComment") -ACmt.SetValue("Just a comment") - -# >>> Updating Object Browser ================================================ -salome.sg.updateObjBrowser(1) - -# ============================================================================ - - - diff --git a/src/SALOME_SWIG/testattr.py b/src/SALOME_SWIG/testattr.py deleted file mode 100644 index ce3816891..000000000 --- a/src/SALOME_SWIG/testattr.py +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# -# -# File : testattr.py -# Module : SALOME - -import SALOMEDS -#import SALOMEDS_Attributes_idl -import geompy -import salome -# =============================================================== - -# creating new object =========================================== -obj = geompy.myBuilder.NewObject(geompy.father) - -# adding Name attribute ========================================= -A1 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeName") -name = A1._narrow(SALOMEDS.AttributeName) -name.SetValue("First Object") - -# adding Comment attribute ====================================== -A2 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeComment") -comment = A2._narrow(SALOMEDS.AttributeComment) -comment.SetValue("This is Comment attribute") - -# adding IOR attribute ========================================== -#A3 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeIOR") -# ... - -# adding integer attribute ====================================== -A4 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeInteger") -integer = A4._narrow(SALOMEDS.AttributeInteger) -integer.SetValue(12) - -# adding real attribute ========================================= -A5 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeReal") -real = A5._narrow(SALOMEDS.AttributeReal) -real.SetValue(0.25) - -# adding sequence of integer attribute ========================== -A6 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeSequenceOfInteger") -intseq = A6._narrow(SALOMEDS.AttributeSequenceOfInteger) -intseq.Add(1) -intseq.Add(2) -intseq.Add(3) - - -# adding sequence of real attribute ============================= -A7 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeSequenceOfReal") -realseq = A7._narrow(SALOMEDS.AttributeSequenceOfReal) -realseq.Add(0.001) -realseq.Add(0.002) -realseq.Add(0.003) - -# adding PersistentRef attribute ================================ -#A8 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributePersistentRef") -# ... - -# adding Drawable attribute ===================================== -A9 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeDrawable") -drawable = A9._narrow(SALOMEDS.AttributeDrawable) -drawable.SetDrawable(1) - -# adding Selectable attribute =================================== -#A10 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeSelectable") -# ... - -# adding Expandable attribute =================================== -#A11 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeExpandable") -# ... - -# adding Opened attribute ======================================= -#A12 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeOpened") -# ... - -# adding TextColor attribute ==================================== -A13 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeTextColor") -textcolor = A13._narrow(SALOMEDS.AttributeTextColor) - -# ... - -# adding TextHighlightColor of real attribute =================== -#A14 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributeTextHighlightColor") -# ... - -# adding PixMap of real attribute =============================== -#A15 = geompy.myBuilder.FindOrCreateAttribute(obj,"AttributePixMap") -# ... - -# opening OCAF Browser ========================================== -# result = salome.myStudy.OCAFBrowser()