Salome HOME
Update of CheckDone
[modules/smesh.git] / src / Tools / smesh_plugins.py
index b043ec69271194e080f689e505396f9da4347f41..126c0c96eac33cc665ff85bb4aa9ca65aa0405c2 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2014  EDF R&D
+# -*- coding: utf-8 -*-
+# Copyright (C) 2011-2024  EDF
 #
 # 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)
-
-salome_pluginsmanager.AddFunction('MeshCut',
-                                  'Cut a tetrahedron mesh by a plane',
-                                  MeshCut)
-
-salome_pluginsmanager.AddFunction('ReMesh with MGSurfOpt ( formerly Yams )',
-                                  'Run Yams',
-                                  YamsLct)
-
-salome_pluginsmanager.AddFunction('ReMesh with MGCleaner',
-                                  'Run MGCleaner',
-                                  MGCleanerLct)
-
-salome_pluginsmanager.AddFunction('Meshed Pipe with a crack',
-                                  'Create a mesh with blocFissure tool',
-                                  fissureCoudeDlg)
-
-# 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
-
-if enable_zcracks:
-  from zcracks_plugin import ZcracksLct
-  salome_pluginsmanager.AddFunction('Run Zcrack',
-                                    'Run Zcrack',
-                                    ZcracksLct)
+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
+
+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))
+
+except Exception as e:
+  salome_pluginsmanager.logger.info('ERROR: MeshCut plug-in is unavailable: {}'.format(e))
+  pass
+
+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
+
+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
+
+try:
+  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
+
+# 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
+
+# Topological to volumic mesh plugin
+try:
+  from TopIIVolMeshPlugin import TopIIVolMeshLct
+  salome_pluginsmanager.AddFunction('Run Topological Volumic mesher',
+                                    'run topological volumic mesher',
+                                    TopIIVolMeshLct)
+except Exception as e:
+  #print 'probleme zcracks'
+  salome_pluginsmanager.logger.info('ERROR: TopIIVolMesh plug-in is unavailable: {}'.format(e))
+  pass