From: Yoann AUDOUIN Date: Tue, 6 Jun 2017 14:09:03 +0000 (+0200) Subject: Modifications for generation of study X-Git-Tag: Salome_8_3_Hydro_2_0rc1~14^2~6 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fhydrosolver.git;a=commitdiff_plain;h=33f2388be072042caa21aa9335a231a922239191 Modifications for generation of study --- diff --git a/src/HYDROGUI/HYDROSOLVERGUI.py b/src/HYDROGUI/HYDROSOLVERGUI.py index 69a34c4..9cfb6d8 100755 --- a/src/HYDROGUI/HYDROSOLVERGUI.py +++ b/src/HYDROGUI/HYDROSOLVERGUI.py @@ -71,6 +71,7 @@ class GUIcontext: DEFINE_CAS_FILE = 955 EDIT_BOUNDARY_CONDITIONS_FILE_ID = 956 GENERATE_INTERPOLZ_PY_ID = 957 + GEN_TELEMAC2D_PYTHON_ID = 958 def __init__( self ): # create top-level menu @@ -146,6 +147,9 @@ class GUIcontext: sgPyQt.createAction( GUIcontext.SHOW_LOG_ID, "Show log", "Show log", "Show the log for the selected variable" ) + sgPyQt.createAction( GUIcontext.GEN_TELEMAC2D_PYTHON_ID, "Generate Python script", + "Generate Python script", + "Run Telemac2D solver to compute the case" ) sgPyQt.createAction( GUIcontext.RUN_TELEMAC2D_ID, "Compute case", "Compute case", "Run Telemac2D solver to compute the case" ) sgPyQt.createAction( GUIcontext.EDIT_TELEMAC2D_CASE_ID, "Edit case", "Edit case", @@ -274,6 +278,7 @@ def createPopupMenu(popup, context): elif selectedType == hydro_study.TELEMAC2D_CASE_TYPE_ID: popup.addAction(sgPyQt.action(GUIcontext.EDIT_TELEMAC2D_CASE_ID)) popup.addAction(sgPyQt.action(GUIcontext.RUN_TELEMAC2D_ID)) + popup.addAction(sgPyQt.action(GUIcontext.GEN_TELEMAC2D_PYTHON_ID)) elif selectedType == hydro_study.COUPLING1D2D_CASE_TYPE_ID: popup.addAction(sgPyQt.action(GUIcontext.EDIT_COUPLING1D2D_CASE_ID)) popup.addAction(sgPyQt.action(GUIcontext.OPEN_SCHEMA_IN_YACS_ID)) @@ -416,6 +421,20 @@ def run_telemac2d(): "see logs and listing files for more details):")) msg += "\n" + unicode(exc) raise HSGUIException(msg) +# Generate a python script from the eficas file +def generate_telemac2d_python(): + try: + with wait_cursor: + ed = hydro_study.HydroStudyEditor() + sobj = ed.editor.study.FindObjectID(salome.sg.getSelected(0)) + ed.find_or_create_telemac2d_case(sobj): + except SALOME.SALOME_Exception, exc: + salome.sg.updateObjBrowser( 0 ) + msg = unicode(QApplication.translate("generate_telemac2d_python", + "An error happened while trying to generate telemac2d Python script:")) + msg += "\n" + exc.details.text + raise HSGUIException(msg) + ### # Open Eficas for 1D / 2D Coupling to create a new coupling case @@ -478,6 +497,7 @@ dict_command = { GUIcontext.SHOW_LOG_ID: show_log, GUIcontext.CREATE_TELEMAC2D_CASE_ID: create_telemac2d_case, GUIcontext.RUN_TELEMAC2D_ID: run_telemac2d, + GUIcontext.GEN_TELEMAC2D_PYTHON_ID: generate_telemac2d_python, GUIcontext.EDIT_TELEMAC2D_CASE_ID: edit_telemac2d_case, GUIcontext.CREATE_COUPLING1D2D_CASE_ID: create_coupling1d2d_case, GUIcontext.EDIT_COUPLING1D2D_CASE_ID: edit_coupling1d2d_case, diff --git a/src/salome_hydro/study.py b/src/salome_hydro/study.py index 13237fd..68b410b 100644 --- a/src/salome_hydro/study.py +++ b/src/salome_hydro/study.py @@ -177,6 +177,7 @@ class HydroStudyEditor: params = jdc_to_dict(jdc, ["TELEMAC2D", "_F"]) yacs_scheme = generate_yacs(params) + print yacs_scheme # TODO: Replace that by adding yacs scheme and python script ? diff --git a/src/salome_hydro/telemac2d/CMakeLists.txt b/src/salome_hydro/telemac2d/CMakeLists.txt index ffcf670..f52adbc 100644 --- a/src/salome_hydro/telemac2d/CMakeLists.txt +++ b/src/salome_hydro/telemac2d/CMakeLists.txt @@ -15,4 +15,8 @@ # You should have received a copy of the GNU General Public License # along with SALOME HYDRO module. If not, see . +SET(PYFILES + __init__.py +) + ADD_SUBDIRECTORY(eficas)