mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 10:08:34 +05:00
0021308: Remove hard-coded dependency of the external mesh plugins from the SMESH module
Bind methods creating algorithms (defined by plugins) to the class Mesh
This commit is contained in:
parent
e361a31d0f
commit
f68bcab022
@ -36,12 +36,30 @@ import geompy
|
||||
import smeshDC
|
||||
from smeshDC import *
|
||||
|
||||
# get instance of class smeshDC
|
||||
smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
|
||||
smesh.init_smesh(salome.myStudy,geompy.geom)
|
||||
|
||||
# Export the methods of smeshD
|
||||
# load plugins
|
||||
from smeshDC import Mesh, algoCreator
|
||||
for pluginName in os.environ["SMESH_MeshersList"].split(":"):
|
||||
|
||||
pluginName += "DC"
|
||||
exec("from %s import *" % pluginName )
|
||||
exec("import %s" % pluginName )
|
||||
plugin = eval(pluginName)
|
||||
|
||||
# add methods creating algorithms to Mesh
|
||||
for k in dir(plugin):
|
||||
if k[0] == '_':continue
|
||||
algo = getattr(plugin,k)
|
||||
if type( algo ).__name__ == 'classobj' and hasattr( algo, "meshMethod"):
|
||||
if not hasattr( Mesh, algo.meshMethod ):
|
||||
setattr( Mesh, algo.meshMethod, algoCreator())
|
||||
getattr( Mesh, algo.meshMethod ).add( algo )
|
||||
|
||||
# Export the methods of smeshDC
|
||||
for k in dir(smesh):
|
||||
if k[0] == '_':continue
|
||||
globals()[k]=getattr(smesh,k)
|
||||
del k
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user