# -*- coding: utf-8 -*-
-# Copyright (C) 2011-2015 EDF R&D
+# Copyright (C) 2011-2020 EDF R&D
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-# Author : Guillaume Boulant (EDF)
+# Author : Guillaume Boulant (EDF)
#
import salome_pluginsmanager
+import os
+from qtsalome import QIcon
-from spadderPlugin import runSpadderPlugin
-from meshcut_plugin import MeshCut
-from yamsplug_plugin import YamsLct
-from MGCleanerplug_plugin import MGCleanerLct
-from blocFissure.ihm.fissureCoude_plugin import fissureCoudeDlg
-
-salome_pluginsmanager.AddFunction('PADDER mesher',
- 'Create a mesh with PADDER',
- runSpadderPlugin)
+try:
+ from spadderPlugin import runSpadderPlugin
+ salome_pluginsmanager.AddFunction('PADDER mesher',
+ 'Create a mesh with PADDER',
+ runSpadderPlugin)
+except Exception as e:
+ salome_pluginsmanager.logger.info('ERROR: PADDER mesher plug-in is unavailable: {}'.format(e))
+ pass
-salome_pluginsmanager.AddFunction('MeshCut',
- 'Cut a tetrahedron mesh by a plane',
- MeshCut)
+try:
+ from meshcut_plugin import MeshCut
+ icon_file = os.path.join(os.getenv('SMESH_ROOT_DIR'),'share', 'salome', 'resources', 'smesh', 'mesh_plugins_meshcut.png')
+ salome_pluginsmanager.AddFunction('MeshCut',
+ 'Cut a tetrahedron mesh by a plane',
+ MeshCut, icon=QIcon(icon_file))
-salome_pluginsmanager.AddFunction('ReMesh with MGSurfOpt ( formerly Yams )',
- 'Run Yams',
- YamsLct)
+except Exception as e:
+ salome_pluginsmanager.logger.info('ERROR: MeshCut plug-in is unavailable: {}'.format(e))
+ pass
-salome_pluginsmanager.AddFunction('ReMesh with MGCleaner',
- 'Run MGCleaner',
- MGCleanerLct)
+try:
+ from yamsplug_plugin import YamsLct
+ salome_pluginsmanager.AddFunction('ReMesh with MGSurfOpt',
+ 'Run Yams',
+ YamsLct)
+except Exception as e:
+ salome_pluginsmanager.logger.info('ERROR: MGSurfOpt plug-in is unavailable: {}'.format(e))
+ pass
-salome_pluginsmanager.AddFunction('Meshed Pipe with a crack',
- 'Create a mesh with blocFissure tool',
- fissureCoudeDlg)
+try:
+ from MGCleanerplug_plugin import MGCleanerLct
+ salome_pluginsmanager.AddFunction('ReMesh with MGCleaner',
+ 'Run MGCleaner',
+ MGCleanerLct)
+except Exception as e:
+ salome_pluginsmanager.logger.info('ERROR: MGCleaner plug-in is unavailable: {}'.format(e))
+ pass
-# ZCracks plugin requires the module EFICAS to be installed
-# thus it is first tested if this module is available before
-# adding the plugin to salome_pluginsmanager
-enable_zcracks = True
try:
- import eficasSalome
-except:
- enable_zcracks = False
+ from blocFissure.ihm.fissureCoude_plugin import fissureCoudeDlg
+ salome_pluginsmanager.AddFunction('Meshed Pipe with a crack (blocFissure plugin)',
+ 'Create a mesh with blocFissure tool',
+ fissureCoudeDlg)
+except Exception as e:
+ salome_pluginsmanager.logger.info('ERROR: Meshed Pipe with a crack plug-in is unavailable: {}'.format(e))
+ pass
+try:
+ from blocFissure.ihm.fissureGenerale_plugin import fissureGeneraleDlg
+ salome_pluginsmanager.AddFunction('Add a crack in a mesh (blocFissure plugin)',
+ 'Insert a crack in an hexahedral mesh with blocFissure tool',
+ fissureGeneraleDlg)
+except Exception as e:
+ salome_pluginsmanager.logger.info('ERROR: Meshed Pipe with a crack plug-in is unavailable: {}'.format(e))
+ pass
-if enable_zcracks:
- from zcracks_plugin import ZcracksLct
- salome_pluginsmanager.AddFunction('Run Zcrack',
- 'Run Zcrack',
- ZcracksLct)
+# ZCracks plugin requires the Zcracks tool
+try:
+ zcracksHome=os.environ['ZCRACKSHOME']
+ if len(zcracksHome) > 1:
+ #print 'ZCRACKSHOME ', zcracksHome
+ from Zcracks.zcracks_plugin import ZcracksLct
+ salome_pluginsmanager.AddFunction('Run Zcracks',
+ 'Add a crack in a mesh with Zcracks plug-in',
+ ZcracksLct)
+except Exception as e:
+ #print 'probleme zcracks'
+ salome_pluginsmanager.logger.info('ERROR: Zcrack plug-in is unavailable: {}'.format(e))
+ pass