# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2015 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
# 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
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 ):
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!
+
+===============================================================================
+"""