X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_SWIG%2Fsmesh.py;h=7538d91a348e17da76c92a718e85434e0cdea06e;hp=6d0d9bc19b3aaaee003df2b5e32772c8e88a0a55;hb=98e8c177214dcc9d7b48f00048f165526aeca06e;hpb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce diff --git a/src/SMESH_SWIG/smesh.py b/src/SMESH_SWIG/smesh.py index 6d0d9bc19..7538d91a3 100644 --- a/src/SMESH_SWIG/smesh.py +++ b/src/SMESH_SWIG/smesh.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2016 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 @@ -7,7 +7,7 @@ # 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. +# version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -33,32 +33,37 @@ import salome from salome import * import geompy -import smeshDC -from smeshDC import * + +import SMESH, SALOMEDS +from salome.smesh import smeshBuilder # retrieve SMESH engine in try/except block # to avoid problems in some cases, e.g. when generating documentation try: - # get instance of class smeshDC - smesh = salome.lcc.FindOrLoadComponent( "FactoryServer", "SMESH" ) - smesh.init_smesh( salome.myStudy, geompy.geom ) + # get instance of class smeshBuilder + engineSmesh = salome.lcc.FindOrLoadComponent( "FactoryServer", "SMESH" ) + smesh = smeshBuilder.New(salome.myStudy, engineSmesh) except: + print "exception in smesh.py: instance creation failed" smesh = None pass # load plugins and add dynamically generated methods to Mesh class, # the same for for global variables declared by plug-ins -from smeshDC import Mesh, algoCreator +from salome.smesh.smeshBuilder import * +from salome.smesh.smeshBuilder import Mesh, algoCreator for pluginName in os.environ[ "SMESH_MeshersList" ].split( ":" ): # - pluginName += "DC" + #print "pluginName: ", pluginName + pluginBuilderName = pluginName + "Builder" try: - exec( "from %s import *" % pluginName ) + exec( "from salome.%s.%s import *" % (pluginName, pluginBuilderName)) except Exception, e: - print "Exception while loading %s: %s" % ( pluginName, e ) + from salome_utils import verbose + if verbose(): print "Exception while loading %s: %s" % ( pluginBuilderName, e ) continue - exec( "import %s" % pluginName ) - plugin = eval( pluginName ) + exec( "from salome.%s import %s" % (pluginName, pluginBuilderName)) + plugin = eval( pluginBuilderName ) # add methods creating algorithms to Mesh for k in dir( plugin ): @@ -74,10 +79,44 @@ for pluginName in os.environ[ "SMESH_MeshersList" ].split( ":" ): pass del pluginName -# export the methods of smeshDC +# export the methods of smeshBuilder if smesh: for k in dir( smesh ): if k[0] == '_': continue globals()[k] = getattr( smesh, k ) del k pass + +print """ +=============================================================================== +WARNING: +Usage of smesh.py is deprecated in SALOME V7.2! +smesh.py will be removed in a future version! +TODO: +The following changes in your scripts are required to avoid this message: + +replace +------- + +import smesh, SMESH +smesh.SetCurrentStudy(theStudy) + +with +---- + +import SMESH +from salome.smesh import smeshBuilder +smesh = smeshBuilder.New(salome.myStudy) + +you also need to modify some lines where smeshBuilder is used instead of smesh + +algo=smesh.xxxx ==> algo=smeshBuilder.xxxx + +See also SMESH User's Guide for more details + +WARNING: +The smesh.py module works correctly only in the first created study. +It does not work in the second, third, etc studies! + +=============================================================================== +"""