-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
SET(${PROJECT_NAME_UC}_PATCH_VERSION 1)
SET(${PROJECT_NAME_UC}_VERSION
${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
-SET(${PROJECT_NAME_UC}_VERSION_DEV 0)
+SET(${PROJECT_NAME_UC}_VERSION_DEV 1)
# Find KERNEL
# ===========
LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files")
INCLUDE(SalomeMacros)
FIND_PACKAGE(SalomeKERNEL REQUIRED)
+ KERNEL_WITH_CORBA() # check whether KERNEL builded with CORBA
ELSE(EXISTS ${KERNEL_ROOT_DIR})
MESSAGE(FATAL_ERROR "We absolutely need a Salome KERNEL, please define KERNEL_ROOT_DIR")
ENDIF(EXISTS ${KERNEL_ROOT_DIR})
-IF(SALOME_LIGHT_ONLY)
- MESSAGE(FATAL_ERROR "HOMARD module can't be built in Light mode (without CORBA)")
-ENDIF()
-
# Platform setup
# ==============
INCLUDE(SalomeSetupPlatform) # From KERNEL
IF(EXISTS ${GUI_ROOT_DIR})
LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files")
FIND_PACKAGE(SalomeGUI REQUIRED)
+ FULL_GUI(TRUE) # check whether GUI builded in full mode and with CORBA
ADD_DEFINITIONS(${GUI_DEFINITIONS})
INCLUDE_DIRECTORIES(${GUI_INCLUDE_DIRS})
ELSE(EXISTS ${GUI_ROOT_DIR})
-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, 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
// 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
-# - Config file for the @PROJECT_NAME@ package
-# It defines the following variables.
-# Specific to the pacakge @PROJECT_NAME@ itself:
-# @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file
+# Copyright (C) 2013-2014 CEA/DEN, EDF R&D
#
-
-###############################################################
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# 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, or (at your option) any later version.
#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
#
-# 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.
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+# - Config file for the @PROJECT_NAME@ package
+# It defines the following variables.
+# Specific to the pacakge @PROJECT_NAME@ itself:
+# @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file
#
-# See http://www.salome-platform.org/ or
-# email : webmaster.salome@opencascade.com
-###############################################################
### Initialisation performed by CONFIGURE_PACKAGE_CONFIG_FILE:
@PACKAGE_INIT@
-# Copyright (C) 2007-2013 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
+# Copyright (C) 2007-2014 CEA/DEN, 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
# 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
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2014 CEA/DEN, 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
# 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
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-#
IF(NOT SalomeHOMARD_FIND_QUIETLY)
MESSAGE(STATUS "Looking for Salome HOMARD ...")
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
-# Copyright (C) 2007-2013 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
+# Copyright (C) 2007-2014 CEA/DEN, 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
# 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
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
-dnl Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+dnl Copyright (C) 2011-2014 CEA/DEN, EDF R&D
dnl
dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Lesser General Public
dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License.
+dnl version 2.1 of the License, or (at your option) any later version.
dnl
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+dnl Copyright (C) 2011-2014 CEA/DEN, EDF R&D
dnl
dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Lesser General Public
dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License.
+dnl version 2.1 of the License, or (at your option) any later version.
dnl
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
#!/bin/sh
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
#!/usr/bin/env python
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
-# Copyright (C) 2007-2013 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
+# Copyright (C) 2007-2014 CEA/DEN, 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
# 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
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
# General information about the project.
project = u'HOMARD'
-copyright = u'1996, 2011, 2013, EDF R&D, G. Nicolas, T. Fouquet, P. Noyret'
+copyright = u'1996, 2011, 2013-2014, EDF R&D, G. Nicolas, T. Fouquet, P. Noyret'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
``SetFieldInterpTimeStep(FieldInterp, TimeStep)``: defines the time step for the interpolation of the field (see :ref:`tui_create_iteration`)
``SetFieldInterpTimeStepRank(FieldInterp, TimeStep, Rank)``: defines the time step and the rank for the interpolation of the field (see :ref:`tui_create_iteration`)
- If error occurs into the python instructions, the program stops.
+
+SALOME VERSION 7.4 :
+ - Scroll bar for the large windows.
+ - The meshes are published only if requested.
+ - The torus is a new possibility for the analytical boundary.
+ - The function ``SetAdapRefinUnRef(TypeAdap, TypeRaff, TypeDera)`` is suppressed. For an adaptation by a field or by zones, the mode refinement/unrefinement is automatically set from the other parameters of the hypothesis. For a uniform refinement, the function ``SetUnifRefinUnRef(TypeRaffDera)`` is now used (see :ref:`tui_create_hypothese`).
+ - If an error occurs, the name of the message file is displayed.
+
.. image:: images/create_boundary_an_1.png
:align: center
-It is necessary to create a first analytical boundary by activation of the button "*New*". We shall have the choice between cylinder, sphere or cone. When the boundary will be validated, its name will appear in header of the second column.
+It is necessary to create a first analytical boundary by activation of the button "*New*". We shall have the choice between cylinder, sphere, cone or torus. When the boundary will be validated, its name will appear in header of the second column.
.. image:: images/create_boundary_an_2.png
:align: center
- Cylindre
- Sphere
- Cone, described by an axis and an angle or by two radius
+ - Torus
.. note::
The numerical values proposed by default take into account the geometry of the mesh.
.. index:: single: object browser
+Torus
+=====
+.. index:: single: torus
+
+The torus is defined by its centre, its axis, the revolution radius and the primary radius. The axis is defined by a vector. The standard of this vector is not inevitably equal to 1; also, its orientation has no importance. A name of boundary is automatically proposed: Boun_1, Boun_2, etc. This name can be modified. It must not already have been used for another boundary.
+
+.. image:: images/create_boundary_an_to.png
+ :align: center
+
Object browser
**************
At the end of this creation of boundaries, the object browser was enriched. We find all the boundaries created, identified there by their name, with the possibility of editing them.
gui_create_yacs_aster
+Preferences
+***********
+Some default options for the module HOMARD are defined into the preferences.
+
+.. toctree::
+ :maxdepth: 2
+
+ preferences
--- /dev/null
+.. _preferences:
+
+The preferences
+###############
+.. index:: single: preferences
+
+Some default options for the module HOMARD are defined into the preferences.
+
+
+The language
+************
+The language that is selected into the general preferences of SALOME is used for the menus of the GUI.
+
+If french is selected, the messages that are produced by HOMARD are in french. Otherwise, english is used.
+
+Publication of the meshes
+*************************
+.. index:: single: publication
+
+.. image:: images/preferences_1.png
+ :align: center
+
+By default, the meshes that are read during the creation of the case or that are produced after an adaptation are not published into SMESH. This choice can be modified here.
+
+
+
| - ``Xc2``, ``Yc2``, ``Zc2``: coordinates of the second centre of the cone |
| - ``R2``: radius of the cone at the second centre of the cone |
+----------------------------------------------------------------------------------------+
+| .. module:: CreateBoundaryTorus |
+| |
+| **CreateBoundaryTorus(boundary_name, Xcen, Ycen, Zcen, Xaxe, Yaxe, Zaxe, RRev, RPri)** |
+| Returns an instance of the class ``boundary`` analytical type torus |
+| after its creation |
+| |
+| - ``boundary_name``: the name of the analytical boundary based on a torus |
+| - ``Xcen``, ``Ycen``, ``Zcen``: coordinates of the centre of the torus |
+| - ``Xaxe``, ``Yaxe``, ``Zaxe``: vector of the axis |
+| - ``RRev``: revolution radius of the torus |
+| - ``RPri``: primary radius of the torus |
++----------------------------------------------------------------------------------------+
+---------------------------------------------------------------+
+---------------------------------------------------------------+
| * 2: sphere |
| * 3: cone defined by an axis and an angle |
| * 4: cone defined by 2 radius |
+| * 5: torus |
+---------------------------------------------------------------+
| .. module:: GetCoords |
| |
| **GetName()** |
| Returns the name of the hypothesis |
+---------------------------------------------------------------+
-| .. module:: SetAdapRefinUnRef |
-| |
-| **SetAdapRefinUnRef(Adap, Refin, UnRef)** |
-| Gives the type of adaptation to the hypothesis |
+| .. module:: GetAdapType |
| |
-| - ``Adap``: integer that defines the type of adaptation |
+| **GetAdapType()** |
+| Returns the type of the adaptation |
| |
| * -1: uniform |
| * 0: by zones |
| * 1: by a field |
-| |
-| - ``Refin``: integer that informs if the refinement is |
-| active or not |
-| |
-| * 0: unactive |
-| * 1: active |
-| |
-| - ``UnRef``: integer that informs if the refinement is |
-| active or not |
-| |
-| * 0: unactive |
-| * 1: active |
-| |
-+---------------------------------------------------------------+
-| .. module:: GetAdapType |
-| |
-| **GetAdapType()** |
-| Returns the type of the adaptation |
+---------------------------------------------------------------+
| .. module:: GetRefinType |
| |
| **GetRefinType()** |
| Returns the type of the refinement |
+| |
+| * 0: unactive |
+| * 1: active |
+---------------------------------------------------------------+
| .. module:: GetUnRefType |
| |
| **GetUnRefType()** |
| Returns the type of the unrefinement |
+| |
+| * 0: unactive |
+| * 1: active |
+---------------------------------------------------------------+
| .. module:: Delete |
| |
| * other value: problem |
+---------------------------------------------------------------+
+Uniform adaptation
+==================
+
++---------------------------------------------------------------+
++---------------------------------------------------------------+
+| .. module:: SetUnifRefinUnRef |
+| |
+| **SetUnifRefinUnRef(RefinUnRef)** |
+| Defines a type of adaptation for the whole mesh |
+| |
+| - ``RefinUnRef``: integer that defines the |
+| type of adaptation |
+| |
+| * 1: refinement |
+| * -1: unrefinement |
++---------------------------------------------------------------+
+
+Adaptation by a field
+=====================
+
The driving field and the thresholds
-====================================
+------------------------------------
+---------------------------------------------------------------+
+---------------------------------------------------------------+
The components of the driving field
-===================================
+-----------------------------------
+---------------------------------------------------------------+
+---------------------------------------------------------------+
+---------------------------------------------------------------+
-The zones
-=========
+Adaptation by zones
+===================
+---------------------------------------------------------------+
+---------------------------------------------------------------+
::
hypo_1 = homard.CreateHypothesis("HypoField")
- hypo_1.SetAdapRefinUnRef(1, 1, 0)
hypo_1.SetField("INDICATEUR")
hypo_1.AddComp("INDX")
hypo_1.AddComp("INDZ")
User's guide of the TUI
#######################
+
+User's guide
+************
+
The functionnalities of the module HOMARD are available by python instructions. We shall find here the description of each of the functions.
.. toctree::
tui_create_boundary
tui_homard
tui_create_yacs
+
+Preferences
+***********
+
+Some default options for the module HOMARD are defined into the preferences.
+
+.. toctree::
+ :maxdepth: 2
+
+ preferences
.. literalinclude:: ../files/tutorial_1.py
- :lines: 57-89
+ :lines: 52-85
.. note::
Download the files
* :download:`initial mesh<../files/tutorial_1.00.med.gz>`
* :download:`python script<../files/tutorial_1.py>`
+ * :download:`python script for the compression<../files/tutorial_util.py>`
+
Refinement by zones
*******************
.. index:: single: zone
-One proceeds here to refinement according to zones. To pass from the initial mesh to the mesh 'M_1', one uses a box framing the z=1 plane and a sphere centered on the origin with radius 1.05. Then to pass from the mesh 'M_1' to the mesh 'M_2', one replaces the sphere by a box framing the cube on side 0.5, pointing on the origin. It will be noted that the type of refinement was not specified; by default, it will be thus in conformity.
+One proceeds here to refinement according to zones. To pass from the initial mesh to the mesh 'M_1', one uses a box framing the z=1 plane and a sphere centered on the origin with radius 1.05. Then to pass from the mesh 'M_1' to the mesh 'M_2', one replaces the sphere by a box framing the cube on side 0.5, pointing on the origin and the meshes in the very first zone are unrefined.
.. literalinclude:: ../files/tutorial_2.py
- :lines: 57-101
+ :lines: 52-95
.. note::
Download the files
* :download:`initial mesh<../files/tutorial_2.00.med.gz>`
* :download:`python script<../files/tutorial_2.py>`
+ * :download:`python script for the compression<../files/tutorial_util.py>`
Refinement driven by a field
To adapt the H_1 mesh resulting from the Iter_1 iteration, two alternatives are applied. In the first, Iter_2, the field is a scalar field of indicators of error and one cuts out the 1.5% of elements where the error is largest. In the second alternative, Iter_2_bis, one is based on a vector field and one examines the jump of this vector between an element and its neighbors: one will cut out where the infinite standard of this jump is higher than the absolute threshold of 0.0001.
.. literalinclude:: ../files/tutorial_3.py
- :lines: 57-131
+ :lines: 52-124
.. note::
Download the files
* :download:`mesh and field stage 0<../files/tutorial_3.00.med.gz>`
* :download:`mesh and field stage 1<../files/tutorial_3.01.med.gz>`
* :download:`python script<../files/tutorial_3.py>`
+ * :download:`python script for the compression<../files/tutorial_util.py>`
Non plane boundaries
Scheme YACS carrying out this adaptation is downloadable.
.. literalinclude:: ../files/tutorial_4.py
- :lines: 57-115
+ :lines: 52-111
.. note::
Download the files
* :download:`initial mesh<../files/tutorial_4.00.med.gz>`
* :download:`mesh of the discrete boundary<../files/tutorial_4.fr.med.gz>`
* :download:`python script<../files/tutorial_4.py>`
+ * :download:`python script for the compression<../files/tutorial_util.py>`
* :download:`YACS scheme<../files/tutorial_4.xml>`
In the case presented here, one for the first time refines all the elements contained in a bored disk, then in one second iteration, all the elements contained in a rectangle. One will note the use of the follow-up of the circular borders of the field.
.. literalinclude:: ../files/tutorial_5.py
- :lines: 57-101
+ :lines: 52-95
.. note::
Download the files
* :download:`initial mesh<../files/tutorial_5.00.med.gz>`
* :download:`mesh of the discrete boundary<../files/tutorial_5.fr.med.gz>`
* :download:`python script<../files/tutorial_5.py>`
+ * :download:`python script for the compression<../files/tutorial_util.py>`
.. toctree::
<HOMARD, a SALOME module for Mesh Adaptation>
- Copyright (C) 1996-2013 EDF R&D
+ Copyright (C) 1996-2014 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
<HOMARD, a SALOME module for Mesh Adaptation>
- Copyright (C) 1996-2013 EDF R&D
+ Copyright (C) 1996-2014 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
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
"""
Exemple de couplage HOMARD-Salome
-Copyright EDF-R&D 1996, 2010, 2013
+Copyright EDF-R&D 1996, 2010, 2014
"""
-__revision__ = "V1.7"
+__revision__ = "V1.9"
#
import os
+import sys
#
# ==================================
-# Repertoire a personnaliser
-# Ce repertoire contiendra les fichiers de resultats : maill.01.med, maill.02.med, maill.03.med
-if os.environ.has_key("LOGNAME") :
- user = os.environ ["LOGNAME"]
-else :
- user = "anonymous"
-dircase = os.path.join( os.sep, "tmp", "HOMARD_"+user)
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-dircase = os.path.join( dircase, "tutorial_1" )
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-# ==================================
-# Ce repertoire contient les fichiers de donnees : tutorial_1.00.med
pathHomard = os.getenv('HOMARD_ROOT_DIR')
-data_dir = os.path.join(pathHomard, "share/doc/salome/gui/HOMARD/fr/_downloads")
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+from tutorial_util import creation_dircase
+# ==================================
+dircase = creation_dircase(1)
+gzip_gunzip(data_dir, 1, -1)
+# ==================================
#
import salome
salome.salome_init()
# Hypotheses
# ==========
Hypo_1 = homard.CreateHypothesis('Hypo_1')
-Hypo_1.SetAdapRefinUnRef(-1, 1, 0)
+Hypo_1.SetUnifRefinUnRef(1)
#
# Cas
# ===
Iter_1_1.SetMeshName('MESH')
Iter_1_1.SetMeshFile(dircase+'/maill.01.med')
Iter_1_1.AssociateHypo('Hypo_1')
-codret = Iter_1_1.Compute(1, 2)
+error = Iter_1_1.Compute(1, 2)
# Iteration "Iter_1_2"
Iter_1_2 = Iter_1_1.NextIteration('Iter_1_2')
Iter_1_2.SetMeshName('MESH')
Iter_1_2.SetMeshFile(dircase+'/maill.02.med')
Iter_1_2.AssociateHypo('Hypo_1')
-codret = Iter_1_2.Compute(1, 2)
+error = Iter_1_2.Compute(1, 2)
# Iteration "Iter_1_3"
Iter_1_3 = Iter_1_2.NextIteration('Iter_1_3')
Iter_1_3.SetMeshName('MESH')
Iter_1_3.SetMeshFile(dircase+'/maill.03.med')
Iter_1_3.AssociateHypo('Hypo_1')
-codret = Iter_1_3.Compute(1, 2)
+error = Iter_1_3.Compute(1, 2)
+
+# ==================================
+gzip_gunzip(data_dir, 1, 1)
+# ==================================
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
"""
Exemple de couplage HOMARD-Salome
-Copyright EDF-R&D 1996, 2010, 2013
+Copyright EDF-R&D 1996, 2010, 2014
"""
-__revision__ = "V1.8"
+__revision__ = "V1.10"
#
import os
+import sys
#
# ==================================
-# Repertoire a personnaliser
-# Ce repertoire contiendra les fichiers de resultats : maill.01.med, maill.02.med
-if os.environ.has_key("LOGNAME") :
- user = os.environ ["LOGNAME"]
-else :
- user = "anonymous"
-dircase = os.path.join( os.sep, "tmp", "HOMARD_"+user)
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-dircase = os.path.join( dircase, "tutorial_2" )
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-# ==================================
-# Ce repertoire contient les fichiers de donnees : tutorial_2.00.med
pathHomard = os.getenv('HOMARD_ROOT_DIR')
-data_dir = os.path.join(pathHomard, "share/doc/salome/gui/HOMARD/fr/_downloads")
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+from tutorial_util import creation_dircase
+# ==================================
+dircase = creation_dircase(2)
+gzip_gunzip(data_dir, 2, -1)
+# ==================================
#
import salome
salome.salome_init()
# Hypothese "Hypo_2"
# ==================
Hypo_2 = homard.CreateHypothesis('Hypo_2')
-Hypo_2.SetAdapRefinUnRef(0, 1, 0)
Hypo_2.AddZone('Zone_1', 1)
Hypo_2.AddZone('Zone_0', 1)
#
# Hypothese "Hypo_2_bis"
# ======================
Hypo_2_bis = homard.CreateHypothesis('Hypo_2_bis')
-Hypo_2_bis.SetAdapRefinUnRef(0, 1, 0)
-Hypo_2_bis.AddZone('Zone_0', 1)
+Hypo_2_bis.AddZone('Zone_0', -1)
Hypo_2_bis.AddZone('Zone_2', 1)
#
# Cas
Iter_2_1.SetMeshName('M_1')
Iter_2_1.SetMeshFile(dircase+'/maill.01.med')
Iter_2_1.AssociateHypo('Hypo_2')
-codret = Iter_2_1.Compute(1, 2)
+error = Iter_2_1.Compute(1, 2)
#
# Iteration "Iter_2_2"
# ====================
Iter_2_2.SetMeshName('M_2')
Iter_2_2.SetMeshFile(dircase+'/maill.02.med')
Iter_2_2.AssociateHypo('Hypo_2_bis')
-codret = Iter_2_2.Compute(1, 2)
+error = Iter_2_2.Compute(1, 2)
+
+# ==================================
+gzip_gunzip(data_dir, 2, 1)
+# ==================================
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
"""
Exemple de couplage HOMARD-Salome
-Copyright EDF-R&D 1996, 2010, 2013
+Copyright EDF-R&D 1996, 2010, 2014
"""
-__revision__ = "V1.7"
+__revision__ = "V1.9"
#
import os
+import sys
#
# ==================================
-# Repertoire a personnaliser
-# Ce repertoire contiendra les fichiers de resultats : maill.01.med, maill.02.med
-if os.environ.has_key("LOGNAME") :
- user = os.environ ["LOGNAME"]
-else :
- user = "anonymous"
-dircase = os.path.join( os.sep, "tmp", "HOMARD_"+user)
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-dircase = os.path.join( dircase, "tutorial_3" )
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-# ==================================
-# Ce repertoire contient les fichiers de donnees : tutorial_3.00.med, tutorial_3.01.med
pathHomard = os.getenv('HOMARD_ROOT_DIR')
-data_dir = os.path.join(pathHomard, "share/doc/salome/gui/HOMARD/fr/_downloads")
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+from tutorial_util import creation_dircase
+# ==================================
+dircase = creation_dircase(3)
+gzip_gunzip(data_dir, 3, -1)
+# ==================================
#
import salome
salome.salome_init()
# Hypothese "Hypo_0vers1"
# =======================
Hypo_0vers1 = homard.CreateHypothesis('Hypo_0vers1')
-Hypo_0vers1.SetAdapRefinUnRef(1, 1, 0)
# Characterization of the field
Hypo_0vers1.SetField('SOLU_0__QIRE_ELEM_SIGM__________')
Hypo_0vers1.SetUseComp(0)
# Hypothese "Hypo_1vers2"
# =======================
Hypo_1vers2 = homard.CreateHypothesis('Hypo_1vers2')
-Hypo_1vers2.SetAdapRefinUnRef(1, 1, 1)
# Characterization of the field
Hypo_1vers2.SetField('SOLU_1__QIRE_ELEM_SIGM__________')
Hypo_1vers2.SetUseComp(0)
# Hypothese "Hypo_1vers2_bis"
# ===========================
Hypo_1vers2_bis = homard.CreateHypothesis('Hypo_1vers2_bis')
-Hypo_1vers2_bis.SetAdapRefinUnRef(1, 1, 1)
# Characterization of the field
Hypo_1vers2_bis.SetField('SOLU_1__DEPL____________________')
Hypo_1vers2_bis.SetUseComp(1)
Iter_3_1.SetFieldFile(data_dir+'/tutorial_3.00.med')
Iter_3_1.SetTimeStepRank( 1, 1)
Iter_3_1.AssociateHypo('Hypo_0vers1')
-codret = Iter_3_1.Compute(1, 2)
+error = Iter_3_1.Compute(1, 2)
#
# Iteration "Iter_3_2"
# ====================
Iter_3_2.SetFieldFile(data_dir+'/tutorial_3.01.med')
Iter_3_2.SetTimeStepRank(1, 1)
Iter_3_2.AssociateHypo('Hypo_1vers2')
-codret = Iter_3_2.Compute(1, 2)
+error = Iter_3_2.Compute(1, 2)
#
# Iteration "Iter_3_2_bis"
# ========================
Iter_3_2_bis.SetFieldFile(data_dir+'/tutorial_3.01.med')
Iter_3_2_bis.SetTimeStepRank(1, 1)
Iter_3_2_bis.AssociateHypo('Hypo_1vers2_bis')
-codret = Iter_3_2_bis.Compute(1, 2)
-#
+error = Iter_3_2_bis.Compute(1, 2)
+
+# ==================================
+gzip_gunzip(data_dir, 3, 1)
+# ==================================
+
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
"""
Exemple de couplage HOMARD-Salome
-Copyright EDF-R&D 1996, 2011, 2013
+Copyright EDF-R&D 1996, 2011, 2014
"""
-__revision__ = "V2.3"
+__revision__ = "V2.5"
#
import os
+import sys
#
# ==================================
-# Repertoire a personnaliser
-# Ce repertoire contiendra les fichiers de resultats : maill.01.med, maill.02.med, maill.03.med
-if os.environ.has_key("LOGNAME") :
- user = os.environ ["LOGNAME"]
-else :
- user = "anonymous"
-dircase = os.path.join( os.sep, "tmp", "HOMARD_"+user)
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-dircase = os.path.join( dircase, "tutorial_4" )
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-# ==================================
-# Ce repertoire contient les fichiers de donnees : tutorial_4.00.med, tutorial_4.fr.med
pathHomard = os.getenv('HOMARD_ROOT_DIR')
-data_dir = os.path.join(pathHomard, "share/doc/salome/gui/HOMARD/fr/_downloads")
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+from tutorial_util import creation_dircase
+# ==================================
+dircase = creation_dircase(4)
+gzip_gunzip(data_dir, 4, -1)
+# ==================================
#
import salome
salome.salome_init()
# ==========
# Creation of the hypothesis Hypo_4
Hypo_4 = homard.CreateHypothesis('Hypo_4')
-Hypo_4.SetAdapRefinUnRef(-1, 1, 0)
+Hypo_4.SetUnifRefinUnRef(1)
Hypo_4.AddGroup('T1_INT_I')
Hypo_4.AddGroup('T1_INT_O')
Hypo_4.AddGroup('T2_INT')
# Creation of the hypothesis Hypo_4_bis
Hypo_4_bis = homard.CreateHypothesis('Hypo_4_bis')
-Hypo_4_bis.SetAdapRefinUnRef(-1, 1, 0)
+Hypo_4_bis.SetUnifRefinUnRef(1)
Hypo_4_bis.AddGroup('T1_EXT_I')
Hypo_4_bis.AddGroup('T1_EXT_O')
Hypo_4_bis.AddGroup('T2_EXT')
Iter_4_1.SetMeshName('PIQUAGE_1')
Iter_4_1.SetMeshFile(dircase+'/maill.01.med')
Iter_4_1.AssociateHypo('Hypo_4')
-codret = Iter_4_1.Compute(1, 2)
+error = Iter_4_1.Compute(1, 2)
# Iteration Iter_4_2 : raffinement selon les faces externes
Iter_4_2 = Iter_4_1.NextIteration('Iter_4_2')
Iter_4_2.SetMeshName('PIQUAGE_2')
Iter_4_2.SetMeshFile(dircase+'/maill.02.med')
Iter_4_2.AssociateHypo('Hypo_4_bis')
-codret = Iter_4_2.Compute(1, 2)
+error = Iter_4_2.Compute(1, 2)
# Iteration Iter_4_3 : second raffinement selon les faces externes
Iter_4_3 = Iter_4_2.NextIteration('Iter_4_3')
Iter_4_3.SetMeshName('PIQUAGE_3')
Iter_4_3.SetMeshFile(dircase+'/maill.03.med')
Iter_4_3.AssociateHypo('Hypo_4_bis')
-codret = Iter_4_3.Compute(1, 2)
+error = Iter_4_3.Compute(1, 2)
+
+# ==================================
+gzip_gunzip(data_dir, 4, 1)
+# ==================================
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
"""
Exemple de couplage HOMARD-Salome
-Copyright EDF-R&D 1996, 2010, 2013
+Copyright EDF-R&D 1996, 2010, 2014
"""
-__revision__ = "V1.6"
+__revision__ = "V1.8"
#
import os
+import sys
#
# ==================================
-# Repertoire a personnaliser
-# Ce repertoire contiendra les fichiers de resultats : maill.01.med, maill.02.med
-if os.environ.has_key("LOGNAME") :
- user = os.environ ["LOGNAME"]
-else :
- user = "anonymous"
-dircase = os.path.join( os.sep, "tmp", "HOMARD_"+user)
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-dircase = os.path.join( dircase, "tutorial_5" )
-if not os.path.isdir(dircase) :
- os.mkdir (dircase)
-# ==================================
-# Ce repertoire contient les fichiers de donnees : tutorial_5.00.med, tutorial_5.fr.med
pathHomard = os.getenv('HOMARD_ROOT_DIR')
-data_dir = os.path.join(pathHomard, "share/doc/salome/gui/HOMARD/fr/_downloads")
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+from tutorial_util import creation_dircase
+# ==================================
+dircase = creation_dircase(5)
+gzip_gunzip(data_dir, 5, -1)
+# ==================================
#
import salome
salome.salome_init()
# ==========
# Creation of the hypothesis Hypo_5
Hypo_5 = homard.CreateHypothesis('Hypo_5')
-Hypo_5.SetAdapRefinUnRef(0, 1, 0)
Hypo_5.AddZone('enveloppe', 1)
# Creation of the hypothesis Hypo_5_bis
Hypo_5_bis = homard.CreateHypothesis('Hypo_5_bis')
-Hypo_5_bis.SetAdapRefinUnRef(0, 1, 0)
Hypo_5_bis.AddZone('quart_sup', 1)
#
# Cas
Iter_5_1.SetMeshName('COEUR_2D_01')
Iter_5_1.SetMeshFile(dircase+'/maill.01.med')
Iter_5_1.AssociateHypo('Hypo_5')
-codret = Iter_5_1.Compute(1, 2)
+error = Iter_5_1.Compute(1, 2)
#
# Iteration "Iter_5_2"
# ====================
Iter_5_2.SetMeshName('COEUR_2D_02')
Iter_5_2.SetMeshFile(dircase+'/maill.02.med')
Iter_5_2.AssociateHypo('Hypo_5_bis')
-codret = Iter_5_2.Compute(1, 2)
+error = Iter_5_2.Compute(1, 2)
+# ==================================
+gzip_gunzip(data_dir, 5, 1)
+# ==================================
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
--- /dev/null
+# -*- coding: iso-8859-1 -*-
+# Copyright (C) 2011-2014 CEA/DEN, 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
+# License as published by the Free Software Foundation; either
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""
+Python script for HOMARD
+Copyright EDF-R&D 2014
+"""
+__revision__ = "V1.1"
+
+import os
+import sys
+
+pathHomard = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des tests
+Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
+Rep_Test = os.path.normpath(Rep_Test)
+sys.path.append(Rep_Test)
+from test_util import remove_dir
+
+#========================================================================
+#========================================================================
+def gzip_gunzip(data_dir, num_tuto, option) :
+ """
+Compression/Uncompression of the med files of a directory such as tutorial_x.nn.med
+data_dir: directory
+num_tuto: number of the tutorial
+option : 1: compression, -1: uncompression
+Copyright EDF-R&D 2014
+ """
+#
+ ficloc_basis = "tutorial_%d" % num_tuto
+#
+ ok = True
+ num = -1
+#
+# Uncompression
+#
+ if ( option == -1 ) :
+#
+ while ok :
+ num += 1
+ ficloc = ficloc_basis + ".%02d.med" % num
+ nomfic = os.path.join(data_dir, ficloc)
+ if not os.path.isfile(nomfic) :
+ ficloc += ".gz"
+ nomfic = os.path.join(data_dir, ficloc)
+ if os.path.isfile(nomfic) :
+ os.system("gunzip "+nomfic)
+ else :
+ ok = False
+ break
+#
+ ficloc = ficloc_basis + ".fr.med"
+ nomfic = os.path.join(data_dir, ficloc)
+ if not os.path.isfile(nomfic) :
+ ficloc += ".gz"
+ nomfic = os.path.join(data_dir, ficloc)
+ if os.path.isfile(nomfic) :
+ os.system("gunzip "+nomfic)
+#
+# Compression
+#
+ elif ( option == 1 ) :
+#
+ while ok :
+ num += 1
+ ficloc = ficloc_basis + ".%02d.med.gz" % num
+ nomfic = os.path.join(data_dir, ficloc)
+ if not os.path.isfile(nomfic) :
+ ficloc = ficloc_basis + ".%02d.med" % num
+ nomfic = os.path.join(data_dir, ficloc)
+ if os.path.isfile(nomfic) :
+ os.system("gzip "+nomfic)
+ else :
+ ok = False
+ break
+#
+ ficloc = ficloc_basis + ".fr.med.gz"
+ nomfic = os.path.join(data_dir, ficloc)
+ if not os.path.isfile(nomfic) :
+ ficloc = ficloc_basis + ".fr.med"
+ nomfic = os.path.join(data_dir, ficloc)
+ if os.path.isfile(nomfic) :
+ os.system("gzip "+nomfic)
+#
+ return
+#
+#========================================================================
+#========================================================================
+def creation_dircase(num_tuto) :
+ """
+Creation of a directory for the results of tutorial_x
+num_tuto: number of the tutorial
+Copyright EDF-R&D 2014
+ """
+#
+ if os.environ.has_key("LOGNAME") :
+ user = os.environ ["LOGNAME"]
+ else :
+ user = "anonymous"
+ dircase = os.path.join( os.sep, "tmp", "HOMARD_"+user)
+ if not os.path.isdir(dircase) :
+ os.mkdir (dircase)
+ dirtuto_basis = "tutorial_%d" % num_tuto
+ dircase = os.path.join( dircase, dirtuto_basis )
+ if os.path.isdir(dircase) :
+ remove_dir(dircase)
+ os.mkdir (dircase)
+#
+ return dircase
+#========================================================================
+#========================================================================
+#
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
+# Copyright (C) 2013-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# 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, 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
"""
Lancement d'un calcul ASTER
"""
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
# General information about the project.
project = u'HOMARD'
-copyright = u'1996, 2011, 2013, EDF R&D, G. Nicolas, T. Fouquet, P. Noyret'
+copyright = u'1996, 2011, 2013-2014, EDF R&D, G. Nicolas, T. Fouquet, P. Noyret'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
``SetFieldInterpTimeStepRank(FieldInterp, TimeStep, Rank)`` : interpole le champ au pas de temps TimeStep et au numéro d'ordre Rank (voir :ref:`tui_create_iteration`)
- Arrêt en cas d'erreur dans les données des instructions python
+SALOME VERSION 7.4 :
+ - Grandes fenêtres avec ascenseur.
+ - Publication des maillages à la demande.
+ - Suivi de frontière analytique torique.
+ - La fonction ``SetAdapRefinUnRef(TypeAdap, TypeRaff, TypeDera)`` est supprimée. Pour une adaptation selon un champ ou des zones, le mode raffinement/déraffinement est automatiquement déduit des autres paramètres de l'hypothèse. Pour un raffinement uniforme, on utilisera ``SetUnifRefinUnRef(TypeRaffDera)`` (voir :ref:`tui_create_hypothese`).
+ - En cas d'erreur dans l'adaptation, le nom du fichier de messages est affiché.
+
.. image:: images/create_boundary_an_1.png
:align: center
-Il faut créer une première frontière analytique par activation du bouton "*Nouveau*". On aura le choix entre cylindre, sphère ou cône. Une fois que la frontière sera validée, son nom figurera en en-tête d'une deuxième colonne.
+Il faut créer une première frontière analytique par activation du bouton "*Nouveau*". On aura le choix entre cylindre, sphère, cône ou tore. Une fois que la frontière sera validée, son nom figurera en en-tête d'une deuxième colonne.
.. image:: images/create_boundary_an_2.png
:align: center
- Cylindre
- Sphère
- Cône, décrit par un axe et un angle ou par deux rayons
+ - Tore
.. note::
Les valeurs numériques proposées par défaut tiennent compte de la géométrie du maillage.
.. image:: images/create_boundary_an_co_2.png
:align: center
+Un tore
+=======
+.. index:: single: tore
+
+Le tore est défini par son centre, son axe, le rayon de révolution et le rayon primaire. L'axe est défini par un vecteur. La norme de ce vecteur n'est pas nécessairement égale à 1 ; de même, son orientation n'a aucune importance. Un nom de frontière est proposé automatiquement : Boun_1, Boun_2, etc. Ce nom peut être modifié. Il ne doit pas avoir déjà été utilisé pour une autre frontière.
+
+.. image:: images/create_boundary_an_to.png
+ :align: center
+
L'arbre d'étude
***************
.. index:: single: arbre d'étude
gui_create_yacs
gui_create_yacs_aster
+
+Préférences
+***********
+
+Un certain nombre de choix par défaut pour le module HOMARD sont définis dans les préférences.
+
+.. toctree::
+ :maxdepth: 2
+
+ preferences
--- /dev/null
+.. _preferences:
+
+Les préférences
+###############
+.. index:: single: préférences
+
+Un certain nombre de choix par défaut pour le module HOMARD sont définis dans les préférences.
+
+
+La langue
+*********
+La langue choisie dans les préférences générales de SALOME est celle qui est utilisée dans les menus de l'interface graphique.
+
+Si le français est retenu, les messages émis par HOMARD le sont en français. Dans tous les autres cas, ils sont en anglais.
+
+Publication des maillages
+*************************
+.. index:: single: publication
+
+.. image:: images/preferences_1.png
+ :align: center
+
+Par défaut, les maillages lus à la création d'un cas ou produits après une adaptation ne sont pas publiés dans SMESH. Ce choix est modifiable en cochant cette préférence.
+
+
+
+
+
+
+
| - ``Xc2``, ``Yc2``, ``Zc2`` : coordonnées du second centre du cône |
| - ``R2`` : rayon du cône à la hauteur du second centre |
+----------------------------------------------------------------------------------------+
+| .. module:: CreateBoundaryTorus |
+| |
+| **CreateBoundaryTorus(boundary_name, Xcen, Ycen, Zcen, Xaxe, Yaxe, Zaxe, RRev, RPri)** |
+| Retourne une instance de la classe ``boundary`` analytique de type torique |
+| après sa création |
+| |
+| - ``boundary_name`` : le nom de la frontière analytique basée sur un tore |
+| - ``Xcen``, ``Ycen``, ``Zcen`` : coordonnées du centre du tore |
+| - ``Xaxe``, ``Yaxe``, ``Zaxe`` : vecteur de l'axe |
+| - ``RRev`` : rayon de révolution du tore |
+| - ``RPri`` : rayon primaire du tore |
++----------------------------------------------------------------------------------------+
+---------------------------------------------------------------+
+---------------------------------------------------------------+
| * 2 : sphère |
| * 3 : cône défini par un axe et un angle |
| * 4 : cône défini par deux rayons |
+| * 5 : tore |
+---------------------------------------------------------------+
| .. module:: GetCoords |
| |
| **GetName()** |
| Retourne le nom de l'hypothèse |
+---------------------------------------------------------------+
-| .. module:: SetAdapRefinUnRef |
-| |
-| **SetAdapRefinUnRef(Adap, Refin, UnRef)** |
-| Affecte le mode d'adaptation associé à l'hypothèse |
+| .. module:: GetAdapType |
| |
-| - ``Adap`` : entier précisant le type d'adaptation |
+| **GetAdapType()** |
+| Retourne le type d'adaptation |
| |
| * -1 : uniforme |
| * 0 : selon des zones |
| * 1 : selon un champ |
-| |
-| - ``Refin`` : entier précisant si le raffinement est actif|
-| |
-| * 0 : inactif |
-| * 1 : actif |
-| |
-| - ``UnRef`` : entier précisant si déraffinement est actif |
-| |
-| * 0 : inactif |
-| * 1 : actif |
-| |
-+---------------------------------------------------------------+
-| .. module:: GetAdapType |
-| |
-| **GetAdapType()** |
-| Retourne le type d'adaptation |
+---------------------------------------------------------------+
| .. module:: GetRefinType |
| |
| **GetRefinType()** |
| Retourne le type de raffinement |
+| |
+| * 0 : inactif |
+| * 1 : actif |
+---------------------------------------------------------------+
| .. module:: GetUnRefType |
| |
| **GetUnRefType()** |
| Retourne le type de déraffinement |
+| |
+| * 0 : inactif |
+| * 1 : actif |
+---------------------------------------------------------------+
| .. module:: Delete |
| |
| * autre valeur : problème |
+---------------------------------------------------------------+
+Adaptation uniforme
+===================
+
++---------------------------------------------------------------+
++---------------------------------------------------------------+
+| .. module:: SetUnifRefinUnRef |
+| |
+| **SetUnifRefinUnRef(RefinUnRef)** |
+| Définit un mode d'adaptation uniforme à tout le maillage |
+| |
+| - ``RefinUnRef`` : entier précisant le type d'adaptation |
+| |
+| * 1 : raffinement |
+| * -1 : déraffinement |
++---------------------------------------------------------------+
+
+Adaptation selon un champ
+=========================
+
Le champ de pilotage de l'adaptation et les seuils
-==================================================
+--------------------------------------------------
+---------------------------------------------------------------+
+---------------------------------------------------------------+
Les composantes du champ de pilotage
-====================================
+------------------------------------
+---------------------------------------------------------------+
+---------------------------------------------------------------+
+---------------------------------------------------------------+
-Les zones
-=========
+Adaptation selon des zones
+==========================
+---------------------------------------------------------------+
+---------------------------------------------------------------+
La création de l'objet hypo_1 se fait ainsi : ::
hypo_1 = homard.CreateHypothesis("HypoField")
- hypo_1.SetAdapRefinUnRef(1, 1, 0)
hypo_1.SetField("INDICATEUR")
hypo_1.AddComp("INDX")
hypo_1.AddComp("INDZ")
Mode d'emploi pour TUI
######################
+
+Mode d'emploi de la saisie des données
+**************************************
+
Le module HOMARD peut se lancer à partir d'instructions python. On trouvera ici la description de chacune des fonctions accessibles par l'utilisateur.
.. toctree::
tui_create_boundary
tui_homard
tui_create_yacs
+
+Préférences
+***********
+
+Un certain nombre de choix par défaut pour le module HOMARD sont définis dans les préférences.
+
+.. toctree::
+ :maxdepth: 2
+
+ preferences
* le maillage produit porte toujours le même nom. Cela ne pose pas de problème car il est stocké dans des fichiers différents.
.. literalinclude:: ../files/tutorial_1.py
- :lines: 57-89
+ :lines: 52-85
.. note::
Téléchargement des fichiers
* :download:`maillage initial<../files/tutorial_1.00.med.gz>`
* :download:`commandes python<../files/tutorial_1.py>`
+ * :download:`commandes python de l'utilitaire de compression<../files/tutorial_util.py>`
Raffinement par des zones
*************************
.. index:: single: zone
-On procède ici au raffinement selon des zones. Pour passer du maillage initial au maillage 'M_1', on utilise une boîte encadrant le plan z=1 et une sphère centrée sur l'origine de rayon 1.05. Puis pour passer du maillage 'M_1' au maillage 'M_2', on remplace la sphère par une boîte encadrant le cube de côté 0.5, pointant sur l'origine. On notera que le type de raffinement n'a pas été précisé ; par défaut, il sera donc conforme.
+On procède ici au raffinement selon des zones. Pour passer du maillage initial au maillage 'M_1', on utilise une boîte encadrant le plan z=1 et une sphère centrée sur l'origine de rayon 1.05. Puis pour passer du maillage 'M_1' au maillage 'M_2', on remplace la sphère par une boîte encadrant le cube de côté 0.5, pointant sur l'origine et on déraffine les mailles contenues dans la toute première zone.
.. literalinclude:: ../files/tutorial_2.py
- :lines: 57-101
+ :lines: 52-95
.. note::
Téléchargement des fichiers
* :download:`maillage initial<../files/tutorial_2.00.med.gz>`
* :download:`commandes python<../files/tutorial_2.py>`
+ * :download:`commandes python de l'utilitaire de compression<../files/tutorial_util.py>`
Raffinement selon un champ
Pour adapter le maillage H_1 issu de l'itération Iter_1, deux variantes sont appliquées. Dans la première, Iter_2, le champ est un champ scalaire d'indicateurs d'erreur et on découpe les 1.5% de mailles où l'erreur est la plus grande. Dans la seconde variante, Iter_2_bis, on se base sur un champ vectoriel et on examine le saut de ce vecteur entre une maille et ses voisines : on découpera là où la norme infinie de ce saut est supérieure au seuil absolu de 0.0001.
.. literalinclude:: ../files/tutorial_3.py
- :lines: 57-131
+ :lines: 52-124
.. note::
Téléchargement des fichiers
* :download:`maillage et champ étape 0<../files/tutorial_3.00.med.gz>`
* :download:`maillage et champ étape 1<../files/tutorial_3.01.med.gz>`
* :download:`commandes python<../files/tutorial_3.py>`
+ * :download:`commandes python de l'utilitaire de compression<../files/tutorial_util.py>`
Suivi de frontières courbes
Le schéma YACS réalisant cette adaptation est téléchargeable.
.. literalinclude:: ../files/tutorial_4.py
- :lines: 57-115
+ :lines: 52-111
.. note::
Téléchargement des fichiers
* :download:`maillage initial<../files/tutorial_4.00.med.gz>`
* :download:`maillage de la frontière discrète<../files/tutorial_4.fr.med.gz>`
* :download:`commandes python<../files/tutorial_4.py>`
+ * :download:`commandes python de l'utilitaire de compression<../files/tutorial_util.py>`
* :download:`schéma YACS<../files/tutorial_4.xml>`
Dans le cas présenté ici, on raffine une première fois toutes les mailles contenues dans un disque percé, puis dans une seconde itération, toutes les mailles contenues dans un rectangle. On notera l'utilisation du suivi des frontières circulaires du domaine.
.. literalinclude:: ../files/tutorial_5.py
- :lines: 57-101
+ :lines: 52-95
.. note::
Téléchargement des fichiers
* :download:`maillage initial<../files/tutorial_5.00.med.gz>`
* :download:`maillage de la frontière discrète<../files/tutorial_5.fr.med.gz>`
* :download:`commandes python<../files/tutorial_5.py>`
+ * :download:`commandes python de l'utilitaire de compression<../files/tutorial_util.py>`
.. toctree::
:maxdepth: 2
+
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
<component-username>HOMARD</component-username>
<component-type>OTHER</component-type>
<component-author>HOMARD team - EDF RD</component-author>
- <component-version>1.4</component-version>
+ <component-version>1.5</component-version>
<component-comment>unknown</component-comment>
<component-multistudy>1</component-multistudy>
<component-impltype>1</component-impltype>
</outParameter-list>
<DataStream-list></DataStream-list>
</component-service>
+ <component-service>
+ <service-name>CreateBoundaryTorus</service-name>
+ <service-author>HOMARD team - EDF RD</service-author>
+ <service-version>1.1</service-version>
+ <service-comment>unknown</service-comment>
+ <service-by-default>0</service-by-default>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-name>BounName</inParameter-name>
+ <inParameter-type>string</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-name>Xcentre</inParameter-name>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-name>Ycentre</inParameter-name>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-name>Zcentre</inParameter-name>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-name>Xaxis</inParameter-name>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-name>Yaxis</inParameter-name>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-name>Zaxis</inParameter-name>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-name>RRev</inParameter-name>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ <inParameter>
+ <inParameter-name>RPri</inParameter-name>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-comment>unknown</inParameter-comment>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-name>return</outParameter-name>
+ <outParameter-type>HOMARD/HOMARD_Boundary</outParameter-type>
+ <outParameter-comment>unknown</outParameter-comment>
+ </outParameter>
+ </outParameter-list>
+ <DataStream-list></DataStream-list>
+ </component-service>
<component-service>
<service-name>GetCase</service-name>
<service-author>HOMARD team - EDF RD</service-author>
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
in double Xcentre,in double Ycentre,in double ZCentre)
raises (SALOME::SALOME_Exception);
+ void SetTorus (in double Xcentre, in double Ycentre, in double Zcentre,
+ in double Xaxe, in double Yaxe, in double Zaxe, in double rayonRev, in double rayonPri)
+ raises (SALOME::SALOME_Exception);
+
HOMARD::double_array GetCoords() raises (SALOME::SALOME_Exception);
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
void AddBoundaryGroup(in string BoundaryName, in string Group)
raises (SALOME::SALOME_Exception);
ListBoundaryGroupType GetBoundaryGroup() raises (SALOME::SALOME_Exception);
+ void SupprBoundaryGroup() raises (SALOME::SALOME_Exception);
void SetPyram(in long Pyram) raises (SALOME::SALOME_Exception);
long GetPyram() raises (SALOME::SALOME_Exception);
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
in double Xaxis, in double Yaxis, in double Zaxis, in double Angle,
in double Xcentre, in double Ycentre, in double Zcentre)
raises(SALOME::SALOME_Exception);
+ HOMARD_Boundary CreateBoundaryTorus (in string BoundaryName,
+ in double Xcentre, in double Ycentre, in double Zcentre,
+ in double Xaxis, in double Yaxis, in double Zaxis,
+ in double RadiusRev, in double RadiusPri)
+ raises (SALOME::SALOME_Exception);
HOMARD_Cas CreateCase(in string CaseName, in string MeshName, in string FileName )
raises(SALOME::SALOME_Exception);
HOMARD_Cas CreateCaseFromIteration(in string CaseName, in string DirNameStart )
void InvalideIter (in string IterName) raises (SALOME::SALOME_Exception);
void InvalideIterOption (in string IterName, in long Option)
raises(SALOME::SALOME_Exception);
+ void InvalideYACS (in string YacsName) raises (SALOME::SALOME_Exception);
void InvalideZone (in string ZoneName) raises (SALOME::SALOME_Exception);
long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
string CreateDirNameIter(in string NomDir, in long option )
raises(SALOME::SALOME_Exception);
- string VerifieDir (in string NomDir) raises (SALOME::SALOME_Exception);
+ string VerifieDir (in string NomDir) raises (SALOME::SALOME_Exception);
//
void PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
raises(SALOME::SALOME_Exception);
void PublishResultInSmesh(in string FileName, in long Option)
raises(SALOME::SALOME_Exception);
+ void PublishMeshIterInSmesh (in string IterName) raises(SALOME::SALOME_Exception);
//
+
+//
+// La creation des schemas YACS
HOMARD_YACS CreateYACSSchema(in string YACSName, in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
raises(SALOME::SALOME_Exception);
long YACSWrite (in string YACSName) raises (SALOME::SALOME_Exception);
raises(SALOME::SALOME_Exception);
//
+// Les preferences
void SetLanguageShort (in string LanguageShort) raises (SALOME::SALOME_Exception);
string GetLanguageShort () raises (SALOME::SALOME_Exception);
+ void SetPublisMesh (in long PublisMeshIN, in long PublisMeshOUT)
+ raises (SALOME::SALOME_Exception);
+ long GetPublisMeshIN () raises (SALOME::SALOME_Exception);
+ long GetPublisMeshOUT () raises (SALOME::SALOME_Exception);
+ void SetYACSMaximum(in long YACSMaxIter, in long YACSMaxNode, in long YACSMaxElem)
+ raises (SALOME::SALOME_Exception);
+ long GetYACSMaxIter() raises (SALOME::SALOME_Exception);
+ long GetYACSMaxNode() raises (SALOME::SALOME_Exception);
+ long GetYACSMaxElem() raises (SALOME::SALOME_Exception);
+ void SetYACSConvergenceType(in long TypeTest) raises (SALOME::SALOME_Exception);
+ long GetYACSConvergenceType() raises (SALOME::SALOME_Exception);
};
};
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
string GetDumpPython() raises (SALOME::SALOME_Exception);
// Caracteristiques
- void SetAdapRefinUnRef(in long Adap, in long Raff, in long Dera)
- raises (SALOME::SALOME_Exception);
+ void SetUnifRefinUnRef(in long RaffDera) raises (SALOME::SALOME_Exception);
listeTypes GetAdapRefinUnRef() raises (SALOME::SALOME_Exception);
long GetAdapType() raises (SALOME::SALOME_Exception);
long GetRefinType() raises (SALOME::SALOME_Exception);
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
void SetType (in long Type) raises (SALOME::SALOME_Exception);
long GetType() raises (SALOME::SALOME_Exception);
+ void SetMaxIter (in long MaxIter) raises (SALOME::SALOME_Exception);
+ long GetMaxIter() raises (SALOME::SALOME_Exception);
+ void SetMaxNode (in long MaxNode) raises (SALOME::SALOME_Exception);
+ long GetMaxNode() raises (SALOME::SALOME_Exception);
+ void SetMaxElem (in long MaxElem) raises (SALOME::SALOME_Exception);
+ long GetMaxElem() raises (SALOME::SALOME_Exception);
+
+ void SetTestConvergence (in long TypeTest, in double VRef)
+ raises (SALOME::SALOME_Exception);
+ long GetTestConvergenceType() raises (SALOME::SALOME_Exception);
+ double GetTestConvergenceVRef() raises (SALOME::SALOME_Exception);
+
void SetDirName(in string NomDir) raises (SALOME::SALOME_Exception);
string GetDirName() raises (SALOME::SALOME_Exception);
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
-# Copyright (C) 2007-2013 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
+# Copyright (C) 2007-2014 CEA/DEN, 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
# 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
table_view.png
texte.png
texte_2.png
+ toruspointvector.png
triangle.png
whatis.png
write.png
<?xml version='1.0' encoding='us-ascii' ?>
<!--
- Copyright (C) 2011-2013 CEA/DEN, EDF RD
+ Copyright (C) 2011-2014 CEA/DEN, EDF RD
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
<!--
- Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+ Copyright (C) 2011-2014 CEA/DEN, 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
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
NumCalcP1 = NumCalc + 1
FileName = " "
#
-NbCalcMax = 5
+Analyse_Test_Convergence
#
MessInfo = None
Error = 0
#
# If the maximum number of adaptations is reached, stop:
#
- if NumCalc > NbCalcMax :
- MessInfo = "The maximum number of adaptations is reached: %d" % NbCalcMax
- Error = -1
- break
+ if MaxIter > 0 :
+ if NumCalc >= MaxIter :
+ MessInfo = "The maximum number of adaptations is reached: %d" % (MaxIter+1)
+ Error = -1
+ break
#
break
]]></code></script>
NumCalcP1 = NumCalc + 1
FileName = " "
#
-NbCalcMax = 5
+Analyse_Test_Convergence
#
MessInfo = None
Error = 0
#
# Si on depasse le maximum, on arrete :
#
- if NumCalc > NbCalcMax :
- MessInfo = "La limite en nombre de calculs a ete atteinte : %d" % NbCalcMax
- Error = -1
- break
+ if MaxIter > 0 :
+ if NumCalc >= MaxIter :
+ MessInfo = "La limite en nombre de calculs a ete atteinte : %d" % (MaxIter+1)
+ Error = -1
+ break
#
break
]]></code></script>
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
#define HOMARDIMPL_EXPORT
#endif
+// La gestion des repertoires
+#ifndef CHDIR
+ #ifdef WIN32
+ #define CHDIR _chdir
+ #else
+ #define CHDIR chdir
+ #endif
+#endif
+
#endif
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
aScript << _Xcentre1 << ", " << _Ycentre1 << ", " << _Zcentre1 << ", " << _Rayon1 << ", " << _Xcentre2 << ", " << _Ycentre2 << ", " << _Zcentre2 << ", " << _Rayon2 << ")\n";
break ;
}
+ case 5:
+ {
+ aScript << "tore " << _Name << "\n";
+ aScript << "\t" << _Name << " = homard.CreateBoundaryTorus(\"" << _Name << "\", ";
+ aScript << _Xcentre << ", " << _Ycentre << ", " << _Zcentre << ", " << _Xaxe << ", " << _Yaxe << ", " << _Zaxe << ", " << _Rayon1 << ", " << _Rayon2 << ")\n";
+ break ;
+ }
}
return aScript.str();
_Xcentre = Xcentre; _Ycentre = Ycentre; _Zcentre = Zcentre;
}
//=======================================================================================
+void HOMARD_Boundary::SetTorus( double X0, double X1, double X2,
+ double X3, double X4, double X5, double X6, double X7 )
+{
+ _Xcentre = X0; _Ycentre = X1; _Zcentre = X2;
+ _Xaxe = X3; _Yaxe = X4; _Zaxe = X5;
+ _Rayon1 = X6;
+ _Rayon2 = X7;
+}
+//=======================================================================================
std::vector<double> HOMARD_Boundary::GetCoords() const
{
std::vector<double> mesCoor;
mesCoor.push_back( _Rayon2 );
break ;
}
- VERIFICATION( (_Type>=1) && (_Type<=4) ) ;
+// Tore
+ case 5:
+ {
+ mesCoor.push_back( _Xcentre );
+ mesCoor.push_back( _Ycentre );
+ mesCoor.push_back( _Zcentre );
+ mesCoor.push_back( _Xaxe );
+ mesCoor.push_back( _Yaxe );
+ mesCoor.push_back( _Zaxe );
+ mesCoor.push_back( _Rayon1 );
+ mesCoor.push_back( _Rayon2 );
+ break ;
+ }
+ VERIFICATION( (_Type>=1) && (_Type<=5) ) ;
}
return mesCoor;
}
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
double Xcentre2, double Ycentre2, double Zcentre2, double Rayon2);
void SetConeA( double Xaxe, double Yaxe, double Zaxe, double Angle,
double Xcentre, double Ycentre, double ZCentre);
+ void SetTorus( double X0, double X1, double X2, double X3,
+ double X4, double X5, double X6, double X7 );
std::vector<double> GetCoords() const;
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
#include "HOMARD_Cas.hxx"
#include "utilities.h"
+#include "HOMARD.hxx"
#include <iostream>
#include <sys/stat.h>
MESSAGE("SetDirName, _ListIter.size() : "<<_ListIter.size());
if ( _ListIter.size() > 1 ) { erreur = 1 ; }
// Creation
-#ifndef WIN32
- if ( chdir(NomDir) == 0 )
-#else
- if ( _chdir(NomDir) == 0 )
-#endif
+ if ( CHDIR(NomDir) == 0 )
{ _NomDir = std::string( NomDir ); }
else
{
#ifndef WIN32
if ( mkdir(NomDir, S_IRWXU|S_IRGRP|S_IXGRP) == 0 )
- {
- if ( chdir(NomDir) == 0 )
#else
if ( _mkdir(NomDir) == 0 )
- {
- if ( _chdir(NomDir) == 0 )
#endif
- { _NomDir = std::string( NomDir ); }
+ {
+ if ( CHDIR(NomDir) == 0 ) { _NomDir = std::string( NomDir ); }
else { erreur = 2 ; }
}
else { erreur = 2 ; }
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
std::ostringstream aScript;
aScript << "\n# Creation of the hypothesis " << _Name << "\n" ;
aScript << "\t" << _Name << " = homard.CreateHypothesis(\"" << _Name << "\")\n";
- aScript << "\t" << _Name << ".SetAdapRefinUnRef(" << _TypeAdap << ", " << _TypeRaff << ", " << _TypeDera << ")\n";
+ if ( _TypeAdap == -1 )
+ {
+ int TypeRaffDera ;
+ if ( _TypeRaff == 1 ) { TypeRaffDera = 1 ; }
+ else { TypeRaffDera = -1 ; }
+ aScript << "\t" << _Name << ".SetUnifRefinUnRef(" << TypeRaffDera << ")\n";
+ }
// Raffinement selon des zones geometriques
std::list<std::string>::const_iterator it = _ListZone.begin();
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
_NomCas( "" ),
_NomDir( "" ),
_MeshFile( "" ),
- _ScriptFile( "" ),
- _Type( 1 )
+ _ScriptFile( "" )
{
MESSAGE("HOMARD_YACS");
}
aScript << "\t" << _Name << " = " << _NomCas << ".CreateYACSSchema(\"" << _Name << "\", \"" << _ScriptFile << "\", \"" << _NomDir << "\", \"" << _MeshFile << "\")\n";
// Le type de schema
aScript << "\t" << _Name << ".SetType(" << _Type << ")\n";
+// Les controles de convergences
+ if ( _MaxIter > 0 ) { aScript << "\t" << _Name << ".SetMaxIter(" << _MaxIter << ")\n"; }
+ if ( _MaxNode > 0 ) { aScript << "\t" << _Name << ".SetMaxNode(" << _MaxNode << ")\n"; }
+ if ( _MaxElem > 0 ) { aScript << "\t" << _Name << ".SetMaxElem(" << _MaxElem << ")\n"; }
// L'ecriture du schema
aScript << "\tcodret = " << _Name << ".Write()\n";
}
//=============================================================================
//=============================================================================
-// Caracteristiques
+// Caracteristiques de la convergence
//=============================================================================
//=============================================================================
void HOMARD_YACS::SetType( int Type )
return _Type;
}
//=============================================================================
+void HOMARD_YACS::SetMaxIter( int MaxIter )
+{
+ _MaxIter = MaxIter;
+}
+//=============================================================================
+int HOMARD_YACS::GetMaxIter() const
+{
+ return _MaxIter;
+}
+//=============================================================================
+void HOMARD_YACS::SetMaxNode( int MaxNode )
+{
+ _MaxNode = MaxNode;
+}
+//=============================================================================
+int HOMARD_YACS::GetMaxNode() const
+{
+ return _MaxNode;
+}
+//=============================================================================
+void HOMARD_YACS::SetMaxElem( int MaxElem )
+{
+ _MaxElem = MaxElem;
+}
+//=============================================================================
+int HOMARD_YACS::GetMaxElem() const
+{
+ return _MaxElem;
+}
+//=============================================================================
+void HOMARD_YACS::SetTestConvergence( int TypeTest, double VRef )
+{
+ _TypeTest = TypeTest;
+ _VRef = VRef;
+}
+//=============================================================================
+int HOMARD_YACS::GetTestConvergenceType() const
+{
+ return _TypeTest;
+}
+//=============================================================================
+double HOMARD_YACS::GetTestConvergenceVRef() const
+{
+ return _VRef;
+}
+//=============================================================================
+//=============================================================================
+// Repertoire et fichiers
+//=============================================================================
+//=============================================================================
+//=============================================================================
void HOMARD_YACS::SetDirName( const char* NomDir )
{
_NomDir = std::string( NomDir );
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
void SetType( int Type );
int GetType() const;
+ void SetMaxIter( int MaxIter );
+ int GetMaxIter() const;
+ void SetMaxNode( int MaxNode );
+ int GetMaxNode() const;
+ void SetMaxElem( int MaxElem );
+ int GetMaxElem() const;
+
+ void SetTestConvergence( int TypeTest, double VRef );
+ int GetTestConvergenceType() const;
+ double GetTestConvergenceVRef() const;
+
void SetDirName( const char* NomDir );
std::string GetDirName() const;
std::string _MeshFile;
std::string _ScriptFile;
int _Type;
+ int _MaxIter;
+ int _MaxNode;
+ int _MaxElem;
+ int _TypeTest;
+ double _VRef;
std::string _XMLFile;
};
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
if ( UsCmpI == 1 )
{ saux = "INFINI" ; }
if ( UsCmpI == 2 )
- { saux = "V_RELATIVE" ; }
+ { saux = "RELATIF" ; }
if ( saux != " " )
{
_Texte += "CCUsCmpI " + saux + "\n" ;
{ saux += "# Sphere\n" ; }
if ( BoundaryType == 3 || BoundaryType == 4 )
{ saux += "# Cone\n" ; }
+ if ( BoundaryType == 5 )
+ { saux += "# Tore\n" ; }
//
// Le nom de la frontiere
//
saux += "FARayon2 " + saux1.str() + "\n" ;
}
}
+//
+// Cas du tore
+//
+ if ( BoundaryType == 5 )
+ {
+ { std::stringstream saux1 ;
+ saux1 << NumeBoundary << " " << x0 ;
+ saux2 = saux1.str() ;
+ saux += "FAXCen " + saux1.str() + "\n" ;
+ }
+ { std::stringstream saux1 ;
+ saux1 << NumeBoundary << " " << x1 ;
+ saux += "FAYCen " + saux1.str() + "\n" ;
+ }
+ { std::stringstream saux1 ;
+ saux1 << NumeBoundary << " " << x2 ;
+ saux += "FAZCen " + saux1.str() + "\n" ;
+ }
+ { std::stringstream saux1 ;
+ saux1 << NumeBoundary << " " << x3 ;
+ saux += "FAXAxe " + saux1.str() + "\n" ;
+ }
+ { std::stringstream saux1 ;
+ saux1 << NumeBoundary << " " << x4 ;
+ saux += "FAYAxe " + saux1.str() + "\n" ;
+ }
+ { std::stringstream saux1 ;
+ saux1 << NumeBoundary << " " << x5 ;
+ saux += "FAZAxe " + saux1.str() + "\n" ;
+ }
+ { std::stringstream saux1 ;
+ saux1 << NumeBoundary << " " << x6 ;
+ saux += "FARayon " + saux1.str() + "\n" ;
+ }
+ { std::stringstream saux1 ;
+ saux1 << NumeBoundary << " " << x7 ;
+ saux += "FARayon2 " + saux1.str() + "\n" ;
+ }
+ }
//
_Texte += saux + "#\n" ;
//
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
TexteParametre( node, "Radius", "double", x7 ) ;
}
//
-// 4.2. Cas d un cone defini par un axe et un angle
+// 4.3. Cas d un cone defini par un axe et un angle
else if ( BoundaryType == 3 )
{
_Texte += Texte_inport( "double", "Xaxis" ) ;
TexteParametre( node, "Zcentre", "double", x7 ) ;
}
//
-// 4.2. Cas d un cone defini par les 2 rayons
+// 4.4. Cas d un cone defini par les 2 rayons
else if ( BoundaryType == 4 )
{
_Texte += Texte_inport( "double", "Xcentre1" ) ;
TexteParametre( node, "Zcentre2", "double", x6 ) ;
TexteParametre( node, "Radius2", "double", x7 ) ;
}
+// 4.5. Cas du tore (5)
+ else if ( BoundaryType == 5 )
+ {
+ _Texte += Texte_inport( "double", "Xcentre" ) ;
+ _Texte += Texte_inport( "double", "Ycentre" ) ;
+ _Texte += Texte_inport( "double", "Zcentre" ) ;
+ _Texte += Texte_inport( "double", "Xaxis" ) ;
+ _Texte += Texte_inport( "double", "Yaxis" ) ;
+ _Texte += Texte_inport( "double", "Zaxis" ) ;
+ _Texte += Texte_inport( "double", "RRev" ) ;
+ _Texte += Texte_inport( "double", "RPri" ) ;
+ TexteParametre( node, "Xcentre", "double", x0 ) ;
+ TexteParametre( node, "Ycentre", "double", x1 ) ;
+ TexteParametre( node, "Zcentre", "double", x2 ) ;
+ TexteParametre( node, "Xaxis", "double", x3 ) ;
+ TexteParametre( node, "Yaxis", "double", x4 ) ;
+ TexteParametre( node, "Zaxis", "double", x5 ) ;
+ TexteParametre( node, "RRev", "double", x6 ) ;
+ TexteParametre( node, "RPri", "double", x7 ) ;
+ }
//
// 4.2. Erreur
else
//
}
//===============================================================================
+// Parametres de tests de convergence
+//===============================================================================
+void YACSDriver::TexteAnalyse_Test_Convergence( int MaxIter, int MaxNode, int MaxElem )
+{
+//
+// MESSAGE("TexteAnalyse_Test_Convergence");
+ std::string chaine ;
+ std::ostringstream oss1;
+ oss1 << MaxIter;
+ chaine = oss1.str();
+ _Texte += "MaxIter = " + chaine + "\n" ;
+ std::ostringstream oss2;
+ oss2 << MaxNode;
+ chaine = oss2.str();
+ _Texte += "MaxNode = " + chaine + "\n" ;
+ std::ostringstream oss3;
+ oss3 << MaxElem;
+ chaine = oss3.str();
+ _Texte += "MaxElem = " + chaine + "\n" ;
+//
+}
+//===============================================================================
// Creation d'un parametre
//===============================================================================
void YACSDriver::TexteParametre( const std::string node, const std::string port, const std::string type_value, const std::string value )
// HOMARD HOMARD : implementation of HOMARD idl descriptions
//
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
void Texte_python_1( const std::string pythonTexte, int indice, const std::string concept ) ;
void Texte_python_2( const std::string pythonTexte, const std::string mot_cle, const std::string concept ) ;
void TexteParametre( const std::string node, const std::string port, const std::string type_value, const std::string value ) ;
+ void TexteAnalyse_Test_Convergence( int MaxIter, int MaxNode, int MaxElem ) ;
void TexteAddParametres( ) ;
void CreeFichier() ;
//
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
/********************************************************************************
** Form generated from reading UI file 'CreateBoundaryAn.ui'
**
-** Created: Tue Sep 17 14:08:40 2013
+** Created: Wed Jan 15 11:19:06 2014
** by: Qt User Interface Compiler version 4.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
class Ui_CreateBoundaryAn
{
public:
- QGridLayout *gridLayout_4;
+ QGridLayout *gridLayout_5;
QLabel *Name;
QLineEdit *LEName;
QGroupBox *TypeBoundary;
QRadioButton *RBCylindre;
QRadioButton *RBSphere;
QRadioButton *RBCone;
+ QRadioButton *RBTore;
QGroupBox *gBCylindre;
QGridLayout *gridLayout1;
QDoubleSpinBox *SpinBox_Xcent;
QDoubleSpinBox *SpinBox_Cone_V1;
QLabel *TLCone_V2;
QDoubleSpinBox *SpinBox_Cone_V2;
+ QGroupBox *gBTore;
+ QGridLayout *gridLayout_4;
+ QLabel *TLToreXcent;
+ QDoubleSpinBox *SpinBoxToreXcent;
+ QLabel *TLToreXaxe;
+ QDoubleSpinBox *SpinBoxToreXaxe;
+ QLabel *TLToreYcent;
+ QDoubleSpinBox *SpinBoxToreYcent;
+ QLabel *TLToreYaxe;
+ QDoubleSpinBox *SpinBoxToreYaxe;
+ QLabel *TLToreZcent;
+ QDoubleSpinBox *SpinBoxToreZcent;
+ QLabel *TLToreZaxe;
+ QDoubleSpinBox *SpinBoxToreZaxe;
+ QLabel *TLToreRayRev;
+ QDoubleSpinBox *SpinBoxToreRRev;
+ QLabel *TLToreRayPri;
+ QDoubleSpinBox *SpinBoxToreRPri;
QGroupBox *GBButtons;
QGridLayout *gridLayout3;
QPushButton *buttonHelp;
{
if (CreateBoundaryAn->objectName().isEmpty())
CreateBoundaryAn->setObjectName(QString::fromUtf8("CreateBoundaryAn"));
- CreateBoundaryAn->resize(527, 701);
+ CreateBoundaryAn->resize(522, 835);
CreateBoundaryAn->setAutoFillBackground(true);
CreateBoundaryAn->setSizeGripEnabled(true);
- gridLayout_4 = new QGridLayout(CreateBoundaryAn);
- gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
+ gridLayout_5 = new QGridLayout(CreateBoundaryAn);
+ gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5"));
Name = new QLabel(CreateBoundaryAn);
Name->setObjectName(QString::fromUtf8("Name"));
- gridLayout_4->addWidget(Name, 0, 0, 1, 1);
+ gridLayout_5->addWidget(Name, 0, 0, 1, 1);
LEName = new QLineEdit(CreateBoundaryAn);
LEName->setObjectName(QString::fromUtf8("LEName"));
LEName->setMaxLength(32);
- gridLayout_4->addWidget(LEName, 0, 1, 1, 1);
+ gridLayout_5->addWidget(LEName, 0, 1, 1, 1);
TypeBoundary = new QGroupBox(CreateBoundaryAn);
TypeBoundary->setObjectName(QString::fromUtf8("TypeBoundary"));
gridLayout->addWidget(RBCone, 0, 2, 1, 1);
+ RBTore = new QRadioButton(TypeBoundary);
+ RBTore->setObjectName(QString::fromUtf8("RBTore"));
+ QIcon icon3;
+ icon3.addFile(QString::fromUtf8("../../resources/toruspointvector.png"), QSize(), QIcon::Normal, QIcon::Off);
+ RBTore->setIcon(icon3);
+ RBTore->setCheckable(true);
+ RBTore->setChecked(false);
+
+ gridLayout->addWidget(RBTore, 0, 3, 1, 1);
- gridLayout_4->addWidget(TypeBoundary, 1, 0, 1, 2);
+
+ gridLayout_5->addWidget(TypeBoundary, 1, 0, 1, 2);
gBCylindre = new QGroupBox(CreateBoundaryAn);
gBCylindre->setObjectName(QString::fromUtf8("gBCylindre"));
gridLayout1->addWidget(SpinBox_Xaxis, 0, 3, 1, 1);
- gridLayout_4->addWidget(gBCylindre, 2, 0, 1, 2);
+ gridLayout_5->addWidget(gBCylindre, 2, 0, 1, 2);
gBSphere = new QGroupBox(CreateBoundaryAn);
gBSphere->setObjectName(QString::fromUtf8("gBSphere"));
gridLayout2->addWidget(TLXcentre, 0, 0, 1, 1);
- gridLayout_4->addWidget(gBSphere, 3, 0, 1, 2);
+ gridLayout_5->addWidget(gBSphere, 3, 0, 1, 2);
gBCone = new QGroupBox(CreateBoundaryAn);
gBCone->setObjectName(QString::fromUtf8("gBCone"));
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
RB_Def_radius = new QRadioButton(groupBox);
RB_Def_radius->setObjectName(QString::fromUtf8("RB_Def_radius"));
- QIcon icon3;
- icon3.addFile(QString::fromUtf8("../../resources/conedxyz.png"), QSize(), QIcon::Normal, QIcon::Off);
- RB_Def_radius->setIcon(icon3);
+ QIcon icon4;
+ icon4.addFile(QString::fromUtf8("../../resources/conedxyz.png"), QSize(), QIcon::Normal, QIcon::Off);
+ RB_Def_radius->setIcon(icon4);
RB_Def_radius->setChecked(true);
gridLayout_2->addWidget(RB_Def_radius, 0, 0, 1, 1);
RB_Def_angle = new QRadioButton(groupBox);
RB_Def_angle->setObjectName(QString::fromUtf8("RB_Def_angle"));
- QIcon icon4;
- icon4.addFile(QString::fromUtf8("../../resources/conepointvector.png"), QSize(), QIcon::Normal, QIcon::Off);
- RB_Def_angle->setIcon(icon4);
+ QIcon icon5;
+ icon5.addFile(QString::fromUtf8("../../resources/conepointvector.png"), QSize(), QIcon::Normal, QIcon::Off);
+ RB_Def_angle->setIcon(icon5);
gridLayout_2->addWidget(RB_Def_angle, 0, 1, 1, 1);
SpinBox_Cone_V1 = new QDoubleSpinBox(gBCone);
SpinBox_Cone_V1->setObjectName(QString::fromUtf8("SpinBox_Cone_V1"));
- SpinBox_Cone_V1->setDecimals(14);
+ SpinBox_Cone_V1->setDecimals(5);
SpinBox_Cone_V1->setMaximum(1e+09);
gridLayout_3->addWidget(SpinBox_Cone_V1, 4, 1, 1, 1);
SpinBox_Cone_V2 = new QDoubleSpinBox(gBCone);
SpinBox_Cone_V2->setObjectName(QString::fromUtf8("SpinBox_Cone_V2"));
- SpinBox_Cone_V2->setDecimals(14);
+ SpinBox_Cone_V2->setDecimals(5);
SpinBox_Cone_V2->setMaximum(1e+09);
gridLayout_3->addWidget(SpinBox_Cone_V2, 4, 3, 1, 1);
- gridLayout_4->addWidget(gBCone, 4, 0, 1, 2);
+ gridLayout_5->addWidget(gBCone, 4, 0, 1, 2);
+
+ gBTore = new QGroupBox(CreateBoundaryAn);
+ gBTore->setObjectName(QString::fromUtf8("gBTore"));
+ sizePolicy.setHeightForWidth(gBTore->sizePolicy().hasHeightForWidth());
+ gBTore->setSizePolicy(sizePolicy);
+ gridLayout_4 = new QGridLayout(gBTore);
+ gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
+ TLToreXcent = new QLabel(gBTore);
+ TLToreXcent->setObjectName(QString::fromUtf8("TLToreXcent"));
+ sizePolicy.setHeightForWidth(TLToreXcent->sizePolicy().hasHeightForWidth());
+ TLToreXcent->setSizePolicy(sizePolicy);
+ TLToreXcent->setWordWrap(false);
+
+ gridLayout_4->addWidget(TLToreXcent, 0, 0, 1, 1);
+
+ SpinBoxToreXcent = new QDoubleSpinBox(gBTore);
+ SpinBoxToreXcent->setObjectName(QString::fromUtf8("SpinBoxToreXcent"));
+ SpinBoxToreXcent->setDecimals(5);
+ SpinBoxToreXcent->setMinimum(-1e+09);
+ SpinBoxToreXcent->setMaximum(1e+09);
+ SpinBoxToreXcent->setValue(0);
+
+ gridLayout_4->addWidget(SpinBoxToreXcent, 0, 1, 1, 1);
+
+ TLToreXaxe = new QLabel(gBTore);
+ TLToreXaxe->setObjectName(QString::fromUtf8("TLToreXaxe"));
+ sizePolicy.setHeightForWidth(TLToreXaxe->sizePolicy().hasHeightForWidth());
+ TLToreXaxe->setSizePolicy(sizePolicy);
+ TLToreXaxe->setWordWrap(false);
+
+ gridLayout_4->addWidget(TLToreXaxe, 0, 2, 1, 1);
+
+ SpinBoxToreXaxe = new QDoubleSpinBox(gBTore);
+ SpinBoxToreXaxe->setObjectName(QString::fromUtf8("SpinBoxToreXaxe"));
+ SpinBoxToreXaxe->setDecimals(5);
+ SpinBoxToreXaxe->setMinimum(-1e+09);
+ SpinBoxToreXaxe->setMaximum(1e+09);
+ SpinBoxToreXaxe->setValue(0);
+
+ gridLayout_4->addWidget(SpinBoxToreXaxe, 0, 3, 1, 1);
+
+ TLToreYcent = new QLabel(gBTore);
+ TLToreYcent->setObjectName(QString::fromUtf8("TLToreYcent"));
+ sizePolicy.setHeightForWidth(TLToreYcent->sizePolicy().hasHeightForWidth());
+ TLToreYcent->setSizePolicy(sizePolicy);
+ TLToreYcent->setWordWrap(false);
+
+ gridLayout_4->addWidget(TLToreYcent, 1, 0, 1, 1);
+
+ SpinBoxToreYcent = new QDoubleSpinBox(gBTore);
+ SpinBoxToreYcent->setObjectName(QString::fromUtf8("SpinBoxToreYcent"));
+ SpinBoxToreYcent->setDecimals(5);
+ SpinBoxToreYcent->setMinimum(-1e+09);
+ SpinBoxToreYcent->setMaximum(1e+09);
+ SpinBoxToreYcent->setValue(0);
+
+ gridLayout_4->addWidget(SpinBoxToreYcent, 1, 1, 1, 1);
+
+ TLToreYaxe = new QLabel(gBTore);
+ TLToreYaxe->setObjectName(QString::fromUtf8("TLToreYaxe"));
+ sizePolicy.setHeightForWidth(TLToreYaxe->sizePolicy().hasHeightForWidth());
+ TLToreYaxe->setSizePolicy(sizePolicy);
+ TLToreYaxe->setWordWrap(false);
+
+ gridLayout_4->addWidget(TLToreYaxe, 1, 2, 1, 1);
+
+ SpinBoxToreYaxe = new QDoubleSpinBox(gBTore);
+ SpinBoxToreYaxe->setObjectName(QString::fromUtf8("SpinBoxToreYaxe"));
+ SpinBoxToreYaxe->setDecimals(5);
+ SpinBoxToreYaxe->setMinimum(-1e+09);
+ SpinBoxToreYaxe->setMaximum(1e+09);
+ SpinBoxToreYaxe->setValue(0);
+
+ gridLayout_4->addWidget(SpinBoxToreYaxe, 1, 3, 1, 1);
+
+ TLToreZcent = new QLabel(gBTore);
+ TLToreZcent->setObjectName(QString::fromUtf8("TLToreZcent"));
+ sizePolicy.setHeightForWidth(TLToreZcent->sizePolicy().hasHeightForWidth());
+ TLToreZcent->setSizePolicy(sizePolicy);
+ TLToreZcent->setWordWrap(false);
+
+ gridLayout_4->addWidget(TLToreZcent, 2, 0, 1, 1);
+
+ SpinBoxToreZcent = new QDoubleSpinBox(gBTore);
+ SpinBoxToreZcent->setObjectName(QString::fromUtf8("SpinBoxToreZcent"));
+ SpinBoxToreZcent->setDecimals(5);
+ SpinBoxToreZcent->setMinimum(-1e+09);
+ SpinBoxToreZcent->setMaximum(1e+09);
+ SpinBoxToreZcent->setValue(0);
+
+ gridLayout_4->addWidget(SpinBoxToreZcent, 2, 1, 1, 1);
+
+ TLToreZaxe = new QLabel(gBTore);
+ TLToreZaxe->setObjectName(QString::fromUtf8("TLToreZaxe"));
+ sizePolicy.setHeightForWidth(TLToreZaxe->sizePolicy().hasHeightForWidth());
+ TLToreZaxe->setSizePolicy(sizePolicy);
+ TLToreZaxe->setWordWrap(false);
+
+ gridLayout_4->addWidget(TLToreZaxe, 2, 2, 1, 1);
+
+ SpinBoxToreZaxe = new QDoubleSpinBox(gBTore);
+ SpinBoxToreZaxe->setObjectName(QString::fromUtf8("SpinBoxToreZaxe"));
+ SpinBoxToreZaxe->setDecimals(5);
+ SpinBoxToreZaxe->setMinimum(-1e+09);
+ SpinBoxToreZaxe->setMaximum(1e+09);
+ SpinBoxToreZaxe->setValue(0);
+
+ gridLayout_4->addWidget(SpinBoxToreZaxe, 2, 3, 1, 1);
+
+ TLToreRayRev = new QLabel(gBTore);
+ TLToreRayRev->setObjectName(QString::fromUtf8("TLToreRayRev"));
+ sizePolicy.setHeightForWidth(TLToreRayRev->sizePolicy().hasHeightForWidth());
+ TLToreRayRev->setSizePolicy(sizePolicy);
+ TLToreRayRev->setWordWrap(false);
+
+ gridLayout_4->addWidget(TLToreRayRev, 3, 0, 1, 1);
+
+ SpinBoxToreRRev = new QDoubleSpinBox(gBTore);
+ SpinBoxToreRRev->setObjectName(QString::fromUtf8("SpinBoxToreRRev"));
+ SpinBoxToreRRev->setDecimals(5);
+ SpinBoxToreRRev->setMaximum(1e+09);
+
+ gridLayout_4->addWidget(SpinBoxToreRRev, 3, 1, 1, 1);
+
+ TLToreRayPri = new QLabel(gBTore);
+ TLToreRayPri->setObjectName(QString::fromUtf8("TLToreRayPri"));
+ sizePolicy.setHeightForWidth(TLToreRayPri->sizePolicy().hasHeightForWidth());
+ TLToreRayPri->setSizePolicy(sizePolicy);
+ TLToreRayPri->setWordWrap(false);
+
+ gridLayout_4->addWidget(TLToreRayPri, 3, 2, 1, 1);
+
+ SpinBoxToreRPri = new QDoubleSpinBox(gBTore);
+ SpinBoxToreRPri->setObjectName(QString::fromUtf8("SpinBoxToreRPri"));
+ SpinBoxToreRPri->setDecimals(5);
+ SpinBoxToreRPri->setMaximum(1e+09);
+
+ gridLayout_4->addWidget(SpinBoxToreRPri, 3, 3, 1, 1);
+
+
+ gridLayout_5->addWidget(gBTore, 5, 0, 1, 2);
GBButtons = new QGroupBox(CreateBoundaryAn);
GBButtons->setObjectName(QString::fromUtf8("GBButtons"));
gridLayout3->addWidget(buttonOk, 0, 0, 1, 1);
- gridLayout_4->addWidget(GBButtons, 5, 0, 1, 2);
+ gridLayout_5->addWidget(GBButtons, 6, 0, 1, 2);
retranslateUi(CreateBoundaryAn);
RBCylindre->setText(QApplication::translate("CreateBoundaryAn", "Cylinder", 0, QApplication::UnicodeUTF8));
RBSphere->setText(QApplication::translate("CreateBoundaryAn", "Sphere", 0, QApplication::UnicodeUTF8));
RBCone->setText(QApplication::translate("CreateBoundaryAn", "Cone", 0, QApplication::UnicodeUTF8));
+ RBTore->setText(QApplication::translate("CreateBoundaryAn", "Torus", 0, QApplication::UnicodeUTF8));
gBCylindre->setTitle(QApplication::translate("CreateBoundaryAn", "Coordinates", 0, QApplication::UnicodeUTF8));
TLXcent->setText(QApplication::translate("CreateBoundaryAn", "X centre", 0, QApplication::UnicodeUTF8));
TLradius->setText(QApplication::translate("CreateBoundaryAn", "Radius", 0, QApplication::UnicodeUTF8));
TLCone_Z2->setText(QApplication::translate("CreateBoundaryAn", "Z 2", 0, QApplication::UnicodeUTF8));
TLCone_V1->setText(QApplication::translate("CreateBoundaryAn", "V 1", 0, QApplication::UnicodeUTF8));
TLCone_V2->setText(QApplication::translate("CreateBoundaryAn", "V 2", 0, QApplication::UnicodeUTF8));
+ gBTore->setTitle(QApplication::translate("CreateBoundaryAn", "Coordinates", 0, QApplication::UnicodeUTF8));
+ TLToreXcent->setText(QApplication::translate("CreateBoundaryAn", "X centre", 0, QApplication::UnicodeUTF8));
+ TLToreXaxe->setText(QApplication::translate("CreateBoundaryAn", "X axis", 0, QApplication::UnicodeUTF8));
+ TLToreYcent->setText(QApplication::translate("CreateBoundaryAn", "Y centre", 0, QApplication::UnicodeUTF8));
+ TLToreYaxe->setText(QApplication::translate("CreateBoundaryAn", "Y axis", 0, QApplication::UnicodeUTF8));
+ TLToreZcent->setText(QApplication::translate("CreateBoundaryAn", "Z centre", 0, QApplication::UnicodeUTF8));
+ TLToreZaxe->setText(QApplication::translate("CreateBoundaryAn", "Z axis", 0, QApplication::UnicodeUTF8));
+ TLToreRayRev->setText(QApplication::translate("CreateBoundaryAn", "R revolution", 0, QApplication::UnicodeUTF8));
+ TLToreRayPri->setText(QApplication::translate("CreateBoundaryAn", "Primary R", 0, QApplication::UnicodeUTF8));
GBButtons->setTitle(QString());
buttonHelp->setText(QApplication::translate("CreateBoundaryAn", "Help", 0, QApplication::UnicodeUTF8));
buttonCancel->setText(QApplication::translate("CreateBoundaryAn", "Cancel", 0, QApplication::UnicodeUTF8));
<rect>
<x>0</x>
<y>0</y>
- <width>527</width>
- <height>701</height>
+ <width>522</width>
+ <height>835</height>
</rect>
</property>
<property name="windowTitle">
<property name="sizeGripEnabled">
<bool>true</bool>
</property>
- <layout class="QGridLayout" name="gridLayout_4">
+ <layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="Name">
<property name="text">
</property>
</widget>
</item>
+ <item row="0" column="3">
+ <widget class="QRadioButton" name="RBTore">
+ <property name="text">
+ <string>Torus</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>../../resources/toruspointvector.png</normaloff>../../resources/toruspointvector.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="SpinBox_Cone_V1">
<property name="decimals">
- <number>14</number>
+ <number>5</number>
</property>
<property name="maximum">
<double>1000000000.000000000000000</double>
<item row="4" column="3">
<widget class="QDoubleSpinBox" name="SpinBox_Cone_V2">
<property name="decimals">
- <number>14</number>
+ <number>5</number>
</property>
<property name="maximum">
<double>1000000000.000000000000000</double>
</widget>
</item>
<item row="5" column="0" colspan="2">
+ <widget class="QGroupBox" name="gBTore">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Coordinates</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <widget class="QLabel" name="TLToreXcent">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>X centre</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBoxToreXcent">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="TLToreXaxe">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>X axis</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBoxToreXaxe">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="TLToreYcent">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Y centre</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBoxToreYcent">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="TLToreYaxe">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Y axis</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBoxToreYaxe">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="TLToreZcent">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Z centre</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBoxToreZcent">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="TLToreZaxe">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Z axis</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBoxToreZaxe">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="TLToreRayRev">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>R revolution</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBoxToreRRev">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="maximum">
+ <double>1000000000.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="TLToreRayPri">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Primary R</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBoxToreRPri">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="maximum">
+ <double>1000000000.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="2">
<widget class="QGroupBox" name="GBButtons">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
/********************************************************************************
** Form generated from reading UI file 'CreateCase.ui'
**
-** Created: Tue Sep 17 14:09:06 2013
+** Created: Wed Jan 15 08:42:35 2014
** by: Qt User Interface Compiler version 4.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
#include <QtGui/QRadioButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QTableWidget>
+#include <QtGui/QWidget>
QT_BEGIN_NAMESPACE
class Ui_CreateCase
{
public:
+ QGridLayout *gridLayout_3;
+ QWidget *WName;
QGridLayout *gridLayout_2;
- QHBoxLayout *hboxLayout;
QLabel *Name;
QLineEdit *LEName;
- QHBoxLayout *hboxLayout1;
+ QSpacerItem *horizontalSpacer;
+ QHBoxLayout *hboxLayout;
QLabel *Directory;
QPushButton *PushDir;
QLineEdit *LEDirName;
QSpacerItem *spacerItem;
- QHBoxLayout *hboxLayout2;
+ QHBoxLayout *hboxLayout1;
QLabel *Mesh;
QPushButton *PushFichier;
QLineEdit *LEFileName;
QSpacerItem *spacerItem1;
QGroupBox *GBTypeConf;
- QHBoxLayout *hboxLayout3;
+ QHBoxLayout *hboxLayout2;
QRadioButton *RBConforme;
QRadioButton *RBNonConforme;
QSpacerItem *spacerItem2;
QGroupBox *GBTypeNoConf;
- QHBoxLayout *hboxLayout4;
+ QHBoxLayout *hboxLayout3;
QRadioButton *RB1NpM;
QRadioButton *RB1NpA;
QRadioButton *RBQuelconque;
QSpacerItem *spacerItem3;
- QHBoxLayout *hboxLayout5;
+ QHBoxLayout *hboxLayout4;
QCheckBox *CBBoundaryD;
QCheckBox *CBBoundaryA;
QSpacerItem *spacerItem4;
if (CreateCase->objectName().isEmpty())
CreateCase->setObjectName(QString::fromUtf8("CreateCase"));
CreateCase->resize(601, 1100);
- QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(CreateCase->sizePolicy().hasHeightForWidth());
CreateCase->setSizePolicy(sizePolicy);
+ CreateCase->setMinimumSize(QSize(600, 320));
+ CreateCase->setSizeIncrement(QSize(1, 1));
+ CreateCase->setBaseSize(QSize(600, 320));
CreateCase->setAutoFillBackground(true);
- gridLayout_2 = new QGridLayout(CreateCase);
+ gridLayout_3 = new QGridLayout(CreateCase);
+ gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
+ WName = new QWidget(CreateCase);
+ WName->setObjectName(QString::fromUtf8("WName"));
+ gridLayout_2 = new QGridLayout(WName);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
- hboxLayout = new QHBoxLayout();
-#ifndef Q_OS_MAC
- hboxLayout->setSpacing(6);
-#endif
-#ifndef Q_OS_MAC
- hboxLayout->setContentsMargins(0, 0, 0, 0);
-#endif
- hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
- Name = new QLabel(CreateCase);
+ Name = new QLabel(WName);
Name->setObjectName(QString::fromUtf8("Name"));
- hboxLayout->addWidget(Name);
+ gridLayout_2->addWidget(Name, 0, 0, 1, 1);
- LEName = new QLineEdit(CreateCase);
+ LEName = new QLineEdit(WName);
LEName->setObjectName(QString::fromUtf8("LEName"));
- LEName->setMinimumSize(QSize(382, 21));
- hboxLayout->addWidget(LEName);
+ gridLayout_2->addWidget(LEName, 0, 1, 1, 1);
- gridLayout_2->addLayout(hboxLayout, 0, 0, 1, 3);
+ gridLayout_3->addWidget(WName, 0, 0, 1, 1);
- hboxLayout1 = new QHBoxLayout();
+ horizontalSpacer = new QSpacerItem(199, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_3->addItem(horizontalSpacer, 0, 1, 1, 1);
+
+ hboxLayout = new QHBoxLayout();
#ifndef Q_OS_MAC
- hboxLayout1->setSpacing(6);
+ hboxLayout->setSpacing(6);
#endif
- hboxLayout1->setContentsMargins(0, 0, 0, 0);
- hboxLayout1->setObjectName(QString::fromUtf8("hboxLayout1"));
+ hboxLayout->setContentsMargins(0, 0, 0, 0);
+ hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
Directory = new QLabel(CreateCase);
Directory->setObjectName(QString::fromUtf8("Directory"));
- hboxLayout1->addWidget(Directory);
+ hboxLayout->addWidget(Directory);
PushDir = new QPushButton(CreateCase);
PushDir->setObjectName(QString::fromUtf8("PushDir"));
PushDir->setAutoDefault(false);
- hboxLayout1->addWidget(PushDir);
+ hboxLayout->addWidget(PushDir);
LEDirName = new QLineEdit(CreateCase);
LEDirName->setObjectName(QString::fromUtf8("LEDirName"));
LEDirName->setMinimumSize(QSize(382, 21));
- hboxLayout1->addWidget(LEDirName);
+ hboxLayout->addWidget(LEDirName);
- gridLayout_2->addLayout(hboxLayout1, 1, 0, 1, 4);
+ gridLayout_3->addLayout(hboxLayout, 1, 0, 1, 6);
spacerItem = new QSpacerItem(20, 18, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout_2->addItem(spacerItem, 2, 1, 1, 1);
+ gridLayout_3->addItem(spacerItem, 2, 2, 1, 2);
- hboxLayout2 = new QHBoxLayout();
+ hboxLayout1 = new QHBoxLayout();
#ifndef Q_OS_MAC
- hboxLayout2->setSpacing(6);
+ hboxLayout1->setSpacing(6);
#endif
- hboxLayout2->setContentsMargins(0, 0, 0, 0);
- hboxLayout2->setObjectName(QString::fromUtf8("hboxLayout2"));
+ hboxLayout1->setContentsMargins(0, 0, 0, 0);
+ hboxLayout1->setObjectName(QString::fromUtf8("hboxLayout1"));
Mesh = new QLabel(CreateCase);
Mesh->setObjectName(QString::fromUtf8("Mesh"));
- hboxLayout2->addWidget(Mesh);
+ hboxLayout1->addWidget(Mesh);
PushFichier = new QPushButton(CreateCase);
PushFichier->setObjectName(QString::fromUtf8("PushFichier"));
PushFichier->setAutoDefault(false);
- hboxLayout2->addWidget(PushFichier);
+ hboxLayout1->addWidget(PushFichier);
LEFileName = new QLineEdit(CreateCase);
LEFileName->setObjectName(QString::fromUtf8("LEFileName"));
LEFileName->setMinimumSize(QSize(382, 21));
- hboxLayout2->addWidget(LEFileName);
+ hboxLayout1->addWidget(LEFileName);
- gridLayout_2->addLayout(hboxLayout2, 3, 0, 1, 4);
+ gridLayout_3->addLayout(hboxLayout1, 3, 0, 2, 6);
spacerItem1 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout_2->addItem(spacerItem1, 4, 1, 1, 3);
+ gridLayout_3->addItem(spacerItem1, 4, 3, 1, 3);
GBTypeConf = new QGroupBox(CreateCase);
GBTypeConf->setObjectName(QString::fromUtf8("GBTypeConf"));
- hboxLayout3 = new QHBoxLayout(GBTypeConf);
+ hboxLayout2 = new QHBoxLayout(GBTypeConf);
#ifndef Q_OS_MAC
- hboxLayout3->setSpacing(6);
+ hboxLayout2->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- hboxLayout3->setContentsMargins(9, 9, 9, 9);
+ hboxLayout2->setContentsMargins(9, 9, 9, 9);
#endif
- hboxLayout3->setObjectName(QString::fromUtf8("hboxLayout3"));
+ hboxLayout2->setObjectName(QString::fromUtf8("hboxLayout2"));
RBConforme = new QRadioButton(GBTypeConf);
RBConforme->setObjectName(QString::fromUtf8("RBConforme"));
RBConforme->setChecked(true);
- hboxLayout3->addWidget(RBConforme);
+ hboxLayout2->addWidget(RBConforme);
RBNonConforme = new QRadioButton(GBTypeConf);
RBNonConforme->setObjectName(QString::fromUtf8("RBNonConforme"));
- hboxLayout3->addWidget(RBNonConforme);
+ hboxLayout2->addWidget(RBNonConforme);
- gridLayout_2->addWidget(GBTypeConf, 5, 0, 1, 1);
+ gridLayout_3->addWidget(GBTypeConf, 5, 0, 1, 2);
spacerItem2 = new QSpacerItem(20, 1, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout_2->addItem(spacerItem2, 6, 1, 1, 1);
+ gridLayout_3->addItem(spacerItem2, 6, 3, 1, 1);
GBTypeNoConf = new QGroupBox(CreateCase);
GBTypeNoConf->setObjectName(QString::fromUtf8("GBTypeNoConf"));
- hboxLayout4 = new QHBoxLayout(GBTypeNoConf);
+ hboxLayout3 = new QHBoxLayout(GBTypeNoConf);
#ifndef Q_OS_MAC
- hboxLayout4->setSpacing(6);
+ hboxLayout3->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- hboxLayout4->setContentsMargins(9, 9, 9, 9);
+ hboxLayout3->setContentsMargins(9, 9, 9, 9);
#endif
- hboxLayout4->setObjectName(QString::fromUtf8("hboxLayout4"));
+ hboxLayout3->setObjectName(QString::fromUtf8("hboxLayout3"));
RB1NpM = new QRadioButton(GBTypeNoConf);
RB1NpM->setObjectName(QString::fromUtf8("RB1NpM"));
- hboxLayout4->addWidget(RB1NpM);
+ hboxLayout3->addWidget(RB1NpM);
RB1NpA = new QRadioButton(GBTypeNoConf);
RB1NpA->setObjectName(QString::fromUtf8("RB1NpA"));
- hboxLayout4->addWidget(RB1NpA);
+ hboxLayout3->addWidget(RB1NpA);
RBQuelconque = new QRadioButton(GBTypeNoConf);
RBQuelconque->setObjectName(QString::fromUtf8("RBQuelconque"));
- hboxLayout4->addWidget(RBQuelconque);
+ hboxLayout3->addWidget(RBQuelconque);
- gridLayout_2->addWidget(GBTypeNoConf, 7, 0, 1, 3);
+ gridLayout_3->addWidget(GBTypeNoConf, 7, 0, 1, 6);
spacerItem3 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout_2->addItem(spacerItem3, 8, 1, 1, 3);
+ gridLayout_3->addItem(spacerItem3, 8, 3, 1, 3);
- hboxLayout5 = new QHBoxLayout();
+ hboxLayout4 = new QHBoxLayout();
#ifndef Q_OS_MAC
- hboxLayout5->setSpacing(6);
+ hboxLayout4->setSpacing(6);
#endif
- hboxLayout5->setContentsMargins(0, 0, 0, 0);
- hboxLayout5->setObjectName(QString::fromUtf8("hboxLayout5"));
+ hboxLayout4->setContentsMargins(0, 0, 0, 0);
+ hboxLayout4->setObjectName(QString::fromUtf8("hboxLayout4"));
CBBoundaryD = new QCheckBox(CreateCase);
CBBoundaryD->setObjectName(QString::fromUtf8("CBBoundaryD"));
- hboxLayout5->addWidget(CBBoundaryD);
+ hboxLayout4->addWidget(CBBoundaryD);
CBBoundaryA = new QCheckBox(CreateCase);
CBBoundaryA->setObjectName(QString::fromUtf8("CBBoundaryA"));
- hboxLayout5->addWidget(CBBoundaryA);
+ hboxLayout4->addWidget(CBBoundaryA);
- gridLayout_2->addLayout(hboxLayout5, 9, 0, 1, 2);
+ gridLayout_3->addLayout(hboxLayout4, 9, 0, 1, 4);
spacerItem4 = new QSpacerItem(20, 2, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout_2->addItem(spacerItem4, 10, 1, 1, 1);
+ gridLayout_3->addItem(spacerItem4, 10, 3, 1, 1);
GBBoundaryD = new QGroupBox(CreateCase);
GBBoundaryD->setObjectName(QString::fromUtf8("GBBoundaryD"));
- sizePolicy.setHeightForWidth(GBBoundaryD->sizePolicy().hasHeightForWidth());
- GBBoundaryD->setSizePolicy(sizePolicy);
+ QSizePolicy sizePolicy1(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ sizePolicy1.setHorizontalStretch(0);
+ sizePolicy1.setVerticalStretch(0);
+ sizePolicy1.setHeightForWidth(GBBoundaryD->sizePolicy().hasHeightForWidth());
+ GBBoundaryD->setSizePolicy(sizePolicy1);
gridLayout = new QGridLayout(GBBoundaryD);
#ifndef Q_OS_MAC
gridLayout->setSpacing(6);
gridLayout->addWidget(PBBoundaryDiHelp, 0, 4, 1, 1);
- gridLayout_2->addWidget(GBBoundaryD, 11, 0, 1, 3);
+ gridLayout_3->addWidget(GBBoundaryD, 11, 0, 1, 6);
GBBoundaryA = new QGroupBox(CreateCase);
GBBoundaryA->setObjectName(QString::fromUtf8("GBBoundaryA"));
formLayout->setLayout(0, QFormLayout::FieldRole, gridLayout1);
- gridLayout_2->addWidget(GBBoundaryA, 12, 0, 1, 4);
+ gridLayout_3->addWidget(GBBoundaryA, 12, 0, 1, 6);
spacer = new QSpacerItem(239, 41, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout_2->addItem(spacer, 13, 0, 1, 1);
+ gridLayout_3->addItem(spacer, 13, 0, 1, 2);
CBAdvanced = new QCheckBox(CreateCase);
CBAdvanced->setObjectName(QString::fromUtf8("CBAdvanced"));
- gridLayout_2->addWidget(CBAdvanced, 14, 0, 1, 1);
+ gridLayout_3->addWidget(CBAdvanced, 14, 0, 1, 1);
GBAdvancedOptions = new QGroupBox(CreateCase);
GBAdvancedOptions->setObjectName(QString::fromUtf8("GBAdvancedOptions"));
gridLayout2->addWidget(CBPyramid, 0, 0, 1, 1);
- gridLayout_2->addWidget(GBAdvancedOptions, 15, 0, 1, 1);
+ gridLayout_3->addWidget(GBAdvancedOptions, 15, 0, 1, 1);
spacer_3 = new QSpacerItem(128, 13, QSizePolicy::Fixed, QSizePolicy::Minimum);
- gridLayout_2->addItem(spacer_3, 15, 2, 1, 2);
+ gridLayout_3->addItem(spacer_3, 15, 4, 1, 2);
spacer_4 = new QSpacerItem(239, 41, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout_2->addItem(spacer_4, 16, 0, 1, 1);
+ gridLayout_3->addItem(spacer_4, 16, 0, 1, 2);
Comment = new QLabel(CreateCase);
Comment->setObjectName(QString::fromUtf8("Comment"));
- gridLayout_2->addWidget(Comment, 17, 0, 1, 3);
+ gridLayout_3->addWidget(Comment, 17, 0, 1, 1);
verticalSpacer = new QSpacerItem(20, 35, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout_2->addItem(verticalSpacer, 18, 0, 1, 1);
+ gridLayout_3->addItem(verticalSpacer, 18, 0, 1, 1);
GroupButtons = new QGroupBox(CreateCase);
GroupButtons->setObjectName(QString::fromUtf8("GroupButtons"));
gridLayout3->addWidget(buttonCancel, 0, 2, 1, 1);
- gridLayout_2->addWidget(GroupButtons, 19, 0, 1, 3);
+ gridLayout_3->addWidget(GroupButtons, 19, 0, 1, 5);
spacer_2 = new QSpacerItem(128, 25, QSizePolicy::Fixed, QSizePolicy::Minimum);
- gridLayout_2->addItem(spacer_2, 19, 3, 1, 1);
+ gridLayout_3->addItem(spacer_2, 19, 5, 1, 1);
retranslateUi(CreateCase);
</rect>
</property>
<property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="minimumSize">
+ <size>
+ <width>600</width>
+ <height>320</height>
+ </size>
+ </property>
+ <property name="sizeIncrement">
+ <size>
+ <width>1</width>
+ <height>1</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>600</width>
+ <height>320</height>
+ </size>
+ </property>
<property name="windowTitle">
<string>Create a case</string>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0" colspan="3">
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0">
+ <widget class="QWidget" name="WName" native="true">
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="Name">
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="LEName"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>199</width>
+ <height>20</height>
+ </size>
</property>
- <item>
- <widget class="QLabel" name="Name">
- <property name="text">
- <string>Name</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="LEName">
- <property name="minimumSize">
- <size>
- <width>382</width>
- <height>21</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
+ </spacer>
</item>
- <item row="1" column="0" colspan="4">
+ <item row="1" column="0" colspan="6">
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</item>
</layout>
</item>
- <item row="2" column="1">
+ <item row="2" column="2" colspan="2">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="3" column="0" colspan="4">
+ <item row="3" column="0" rowspan="2" colspan="6">
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</item>
</layout>
</item>
- <item row="4" column="1" colspan="3">
+ <item row="4" column="3" colspan="3">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="5" column="0">
+ <item row="5" column="0" colspan="2">
<widget class="QGroupBox" name="GBTypeConf">
<property name="title">
<string>Conformity type</string>
</layout>
</widget>
</item>
- <item row="6" column="1">
+ <item row="6" column="3">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="7" column="0" colspan="3">
+ <item row="7" column="0" colspan="6">
<widget class="QGroupBox" name="GBTypeNoConf">
<property name="title">
<string>Non conformal option</string>
</layout>
</widget>
</item>
- <item row="8" column="1" colspan="3">
+ <item row="8" column="3" colspan="3">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="9" column="0" colspan="2">
+ <item row="9" column="0" colspan="4">
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</item>
</layout>
</item>
- <item row="10" column="1">
+ <item row="10" column="3">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="11" column="0" colspan="3">
+ <item row="11" column="0" colspan="6">
<widget class="QGroupBox" name="GBBoundaryD">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</layout>
</widget>
</item>
- <item row="12" column="0" colspan="4">
+ <item row="12" column="0" colspan="6">
<widget class="QGroupBox" name="GBBoundaryA">
<property name="minimumSize">
<size>
</layout>
</widget>
</item>
- <item row="13" column="0">
+ <item row="13" column="0" colspan="2">
<spacer name="spacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</layout>
</widget>
</item>
- <item row="15" column="2" colspan="2">
+ <item row="15" column="4" colspan="2">
<spacer name="spacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</spacer>
</item>
- <item row="16" column="0">
+ <item row="16" column="0" colspan="2">
<spacer name="spacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="17" column="0" colspan="3">
+ <item row="17" column="0">
<widget class="QLabel" name="Comment">
<property name="text">
<string> No comment.</string>
</property>
</spacer>
</item>
- <item row="19" column="0" colspan="3">
+ <item row="19" column="0" colspan="5">
<widget class="QGroupBox" name="GroupButtons">
<property name="title">
<string/>
</layout>
</widget>
</item>
- <item row="19" column="3">
+ <item row="19" column="5">
<spacer name="spacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
/********************************************************************************
** Form generated from reading UI file 'CreateHypothesis.ui'
**
-** Created: Tue Sep 24 14:35:06 2013
+** Created: Wed Jan 15 08:44:19 2014
** by: Qt User Interface Compiler version 4.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
#include <QtGui/QButtonGroup>
#include <QtGui/QCheckBox>
#include <QtGui/QComboBox>
-#include <QtGui/QDialog>
#include <QtGui/QDoubleSpinBox>
#include <QtGui/QGridLayout>
#include <QtGui/QGroupBox>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QRadioButton>
+#include <QtGui/QScrollArea>
#include <QtGui/QSpacerItem>
#include <QtGui/QSpinBox>
#include <QtGui/QTableWidget>
#include <QtGui/QVBoxLayout>
+#include <QtGui/QWidget>
QT_BEGIN_NAMESPACE
class Ui_CreateHypothesis
{
public:
+ QWidget *scrollAreaWidgetContents;
QGridLayout *gridLayout_3;
+ QWidget *WName;
+ QGridLayout *gridLayout;
+ QLabel *Name;
QLineEdit *LEName;
+ QSpacerItem *horizontalSpacer_9;
QGroupBox *GBTypeAdaptation;
QHBoxLayout *hboxLayout;
QRadioButton *RBUniforme;
QRadioButton *RBChamp;
QRadioButton *RBZone;
+ QSpacerItem *horizontalSpacer_6;
+ QCheckBox *CBGroupe;
+ QSpacerItem *horizontalSpacer_8;
QGroupBox *GBUniform;
- QGridLayout *gridLayout;
+ QGridLayout *gridLayout1;
QRadioButton *RBUniDera;
QRadioButton *RBUniRaff;
+ QSpacerItem *horizontalSpacer_7;
QGroupBox *GBFieldFile;
- QGridLayout *gridLayout1;
+ QGridLayout *gridLayout2;
QLabel *FieldFile;
QLineEdit *LEFieldFile;
QGroupBox *GBFieldManagement;
- QGridLayout *gridLayout2;
+ QGridLayout *gridLayout3;
QHBoxLayout *hboxLayout1;
QLabel *FieldName;
QComboBox *CBFieldName;
QCheckBox *CBJump;
QHBoxLayout *hboxLayout4;
QGroupBox *GBRefinementThresholds;
- QGridLayout *gridLayout3;
+ QGridLayout *gridLayout4;
QRadioButton *RBRPE;
QDoubleSpinBox *SpinBox_RPE;
QRadioButton *RBRRel;
QDoubleSpinBox *SpinBox_RMuSigma;
QRadioButton *RBRNo;
QGroupBox *GBCoarseningThresholds;
- QGridLayout *gridLayout4;
+ QGridLayout *gridLayout5;
QRadioButton *RBCPE;
QDoubleSpinBox *SpinBox_CPE;
QRadioButton *RBCRel;
QPushButton *PBZoneDelete;
QSpacerItem *spacerItem2;
QGroupBox *GBField;
- QGridLayout *gridLayout5;
QGridLayout *gridLayout6;
+ QGridLayout *gridLayout7;
QRadioButton *RBFieldNo;
QRadioButton *RBFieldAll;
QRadioButton *RBFieldChosen;
QTableWidget *TWField;
- QCheckBox *CBGroupe;
+ QSpacerItem *horizontalSpacer_5;
QCheckBox *CBAdvanced;
+ QSpacerItem *horizontalSpacer_4;
QGroupBox *GBAdvancedOptions;
QGridLayout *gridLayout_1;
QLabel *TLMinimalDiameter;
QDoubleSpinBox *doubleSpinBoxDiamMin;
QLabel *TLMaximalLevel;
- QSpinBox *spinBoxNivMax;
+ QSpinBox *SpinBoxNivMax;
QGroupBox *GBAdapInit;
QGridLayout *gridLayout_2;
QRadioButton *RBAIN;
QRadioButton *RBAIR;
QRadioButton *RBAID;
QCheckBox *CBLevelOutput;
+ QSpacerItem *horizontalSpacer_3;
QGroupBox *GBButtons;
- QGridLayout *gridLayout7;
+ QGridLayout *gridLayout8;
QPushButton *buttonOk;
QPushButton *buttonApply;
QPushButton *buttonCancel;
QPushButton *buttonHelp;
- QLabel *Name;
+ QSpacerItem *horizontalSpacer_2;
- void setupUi(QDialog *CreateHypothesis)
+ void setupUi(QScrollArea *CreateHypothesis)
{
if (CreateHypothesis->objectName().isEmpty())
CreateHypothesis->setObjectName(QString::fromUtf8("CreateHypothesis"));
- CreateHypothesis->resize(794, 1481);
- QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ CreateHypothesis->resize(848, 1550);
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(CreateHypothesis->sizePolicy().hasHeightForWidth());
CreateHypothesis->setSizePolicy(sizePolicy);
- CreateHypothesis->setAutoFillBackground(true);
- CreateHypothesis->setSizeGripEnabled(true);
- gridLayout_3 = new QGridLayout(CreateHypothesis);
+ CreateHypothesis->setMinimumSize(QSize(800, 600));
+ CreateHypothesis->setSizeIncrement(QSize(1, 1));
+ CreateHypothesis->setBaseSize(QSize(800, 1200));
+ CreateHypothesis->setWidgetResizable(true);
+ scrollAreaWidgetContents = new QWidget();
+ scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
+ scrollAreaWidgetContents->setGeometry(QRect(0, 0, 844, 1546));
+ scrollAreaWidgetContents->setProperty("sizeGripEnabled", QVariant(true));
+ gridLayout_3 = new QGridLayout(scrollAreaWidgetContents);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
- LEName = new QLineEdit(CreateHypothesis);
+ WName = new QWidget(scrollAreaWidgetContents);
+ WName->setObjectName(QString::fromUtf8("WName"));
+ gridLayout = new QGridLayout(WName);
+ gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
+ Name = new QLabel(WName);
+ Name->setObjectName(QString::fromUtf8("Name"));
+
+ gridLayout->addWidget(Name, 0, 0, 1, 1);
+
+ LEName = new QLineEdit(WName);
LEName->setObjectName(QString::fromUtf8("LEName"));
- LEName->setMinimumSize(QSize(382, 31));
- LEName->setMaxLength(32);
+ LEName->setMinimumSize(QSize(282, 31));
- gridLayout_3->addWidget(LEName, 0, 1, 1, 1);
+ gridLayout->addWidget(LEName, 0, 1, 1, 1);
- GBTypeAdaptation = new QGroupBox(CreateHypothesis);
+
+ gridLayout_3->addWidget(WName, 0, 0, 1, 1);
+
+ horizontalSpacer_9 = new QSpacerItem(224, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_3->addItem(horizontalSpacer_9, 0, 1, 1, 1);
+
+ GBTypeAdaptation = new QGroupBox(scrollAreaWidgetContents);
GBTypeAdaptation->setObjectName(QString::fromUtf8("GBTypeAdaptation"));
hboxLayout = new QHBoxLayout(GBTypeAdaptation);
#ifndef Q_OS_MAC
gridLayout_3->addWidget(GBTypeAdaptation, 1, 0, 1, 2);
- GBUniform = new QGroupBox(CreateHypothesis);
+ horizontalSpacer_6 = new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_3->addItem(horizontalSpacer_6, 1, 2, 1, 1);
+
+ CBGroupe = new QCheckBox(scrollAreaWidgetContents);
+ CBGroupe->setObjectName(QString::fromUtf8("CBGroupe"));
+
+ gridLayout_3->addWidget(CBGroupe, 2, 0, 1, 1);
+
+ horizontalSpacer_8 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_3->addItem(horizontalSpacer_8, 2, 2, 1, 1);
+
+ GBUniform = new QGroupBox(scrollAreaWidgetContents);
GBUniform->setObjectName(QString::fromUtf8("GBUniform"));
- gridLayout = new QGridLayout(GBUniform);
+ gridLayout1 = new QGridLayout(GBUniform);
#ifndef Q_OS_MAC
- gridLayout->setSpacing(6);
+ gridLayout1->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout->setContentsMargins(9, 9, 9, 9);
+ gridLayout1->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
+ gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
RBUniDera = new QRadioButton(GBUniform);
RBUniDera->setObjectName(QString::fromUtf8("RBUniDera"));
- gridLayout->addWidget(RBUniDera, 0, 1, 1, 1);
+ gridLayout1->addWidget(RBUniDera, 0, 1, 1, 1);
RBUniRaff = new QRadioButton(GBUniform);
RBUniRaff->setObjectName(QString::fromUtf8("RBUniRaff"));
RBUniRaff->setChecked(true);
- gridLayout->addWidget(RBUniRaff, 0, 0, 1, 1);
+ gridLayout1->addWidget(RBUniRaff, 0, 0, 1, 1);
+
+ gridLayout_3->addWidget(GBUniform, 3, 0, 1, 1);
- gridLayout_3->addWidget(GBUniform, 3, 0, 1, 2);
+ horizontalSpacer_7 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
- GBFieldFile = new QGroupBox(CreateHypothesis);
+ gridLayout_3->addItem(horizontalSpacer_7, 3, 2, 1, 1);
+
+ GBFieldFile = new QGroupBox(scrollAreaWidgetContents);
GBFieldFile->setObjectName(QString::fromUtf8("GBFieldFile"));
- gridLayout1 = new QGridLayout(GBFieldFile);
+ gridLayout2 = new QGridLayout(GBFieldFile);
#ifndef Q_OS_MAC
- gridLayout1->setSpacing(6);
+ gridLayout2->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout1->setContentsMargins(9, 9, 9, 9);
+ gridLayout2->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
+ gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
FieldFile = new QLabel(GBFieldFile);
FieldFile->setObjectName(QString::fromUtf8("FieldFile"));
- gridLayout1->addWidget(FieldFile, 0, 0, 1, 1);
+ gridLayout2->addWidget(FieldFile, 0, 0, 1, 1);
LEFieldFile = new QLineEdit(GBFieldFile);
LEFieldFile->setObjectName(QString::fromUtf8("LEFieldFile"));
LEFieldFile->setMinimumSize(QSize(282, 31));
- gridLayout1->addWidget(LEFieldFile, 0, 1, 1, 1);
+ gridLayout2->addWidget(LEFieldFile, 0, 1, 1, 1);
gridLayout_3->addWidget(GBFieldFile, 4, 0, 1, 2);
- GBFieldManagement = new QGroupBox(CreateHypothesis);
+ GBFieldManagement = new QGroupBox(scrollAreaWidgetContents);
GBFieldManagement->setObjectName(QString::fromUtf8("GBFieldManagement"));
- sizePolicy.setHeightForWidth(GBFieldManagement->sizePolicy().hasHeightForWidth());
- GBFieldManagement->setSizePolicy(sizePolicy);
- gridLayout2 = new QGridLayout(GBFieldManagement);
+ QSizePolicy sizePolicy1(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ sizePolicy1.setHorizontalStretch(0);
+ sizePolicy1.setVerticalStretch(0);
+ sizePolicy1.setHeightForWidth(GBFieldManagement->sizePolicy().hasHeightForWidth());
+ GBFieldManagement->setSizePolicy(sizePolicy1);
+ gridLayout3 = new QGridLayout(GBFieldManagement);
#ifndef Q_OS_MAC
- gridLayout2->setSpacing(6);
+ gridLayout3->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout2->setContentsMargins(9, 9, 9, 9);
+ gridLayout3->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
+ gridLayout3->setObjectName(QString::fromUtf8("gridLayout3"));
hboxLayout1 = new QHBoxLayout();
#ifndef Q_OS_MAC
hboxLayout1->setSpacing(6);
CBFieldName = new QComboBox(GBFieldManagement);
CBFieldName->setObjectName(QString::fromUtf8("CBFieldName"));
- sizePolicy.setHeightForWidth(CBFieldName->sizePolicy().hasHeightForWidth());
- CBFieldName->setSizePolicy(sizePolicy);
+ sizePolicy1.setHeightForWidth(CBFieldName->sizePolicy().hasHeightForWidth());
+ CBFieldName->setSizePolicy(sizePolicy1);
CBFieldName->setEditable(false);
CBFieldName->setSizeAdjustPolicy(QComboBox::AdjustToContents);
hboxLayout1->addItem(spacerItem);
- gridLayout2->addLayout(hboxLayout1, 0, 0, 1, 1);
+ gridLayout3->addLayout(hboxLayout1, 0, 0, 1, 1);
hboxLayout2 = new QHBoxLayout();
#ifndef Q_OS_MAC
hboxLayout2->addLayout(vboxLayout);
- gridLayout2->addLayout(hboxLayout2, 1, 0, 1, 1);
+ gridLayout3->addLayout(hboxLayout2, 1, 0, 1, 1);
hboxLayout4 = new QHBoxLayout();
#ifndef Q_OS_MAC
hboxLayout4->setObjectName(QString::fromUtf8("hboxLayout4"));
GBRefinementThresholds = new QGroupBox(GBFieldManagement);
GBRefinementThresholds->setObjectName(QString::fromUtf8("GBRefinementThresholds"));
- sizePolicy.setHeightForWidth(GBRefinementThresholds->sizePolicy().hasHeightForWidth());
- GBRefinementThresholds->setSizePolicy(sizePolicy);
- gridLayout3 = new QGridLayout(GBRefinementThresholds);
+ sizePolicy1.setHeightForWidth(GBRefinementThresholds->sizePolicy().hasHeightForWidth());
+ GBRefinementThresholds->setSizePolicy(sizePolicy1);
+ gridLayout4 = new QGridLayout(GBRefinementThresholds);
#ifndef Q_OS_MAC
- gridLayout3->setSpacing(6);
+ gridLayout4->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout3->setContentsMargins(9, 9, 9, 9);
+ gridLayout4->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout3->setObjectName(QString::fromUtf8("gridLayout3"));
+ gridLayout4->setObjectName(QString::fromUtf8("gridLayout4"));
RBRPE = new QRadioButton(GBRefinementThresholds);
RBRPE->setObjectName(QString::fromUtf8("RBRPE"));
RBRPE->setCheckable(true);
RBRPE->setChecked(true);
- gridLayout3->addWidget(RBRPE, 0, 0, 1, 1);
+ gridLayout4->addWidget(RBRPE, 0, 0, 1, 1);
SpinBox_RPE = new QDoubleSpinBox(GBRefinementThresholds);
SpinBox_RPE->setObjectName(QString::fromUtf8("SpinBox_RPE"));
SpinBox_RPE->setSingleStep(0.1);
SpinBox_RPE->setValue(2);
- gridLayout3->addWidget(SpinBox_RPE, 0, 1, 1, 1);
+ gridLayout4->addWidget(SpinBox_RPE, 0, 1, 1, 1);
RBRRel = new QRadioButton(GBRefinementThresholds);
RBRRel->setObjectName(QString::fromUtf8("RBRRel"));
- gridLayout3->addWidget(RBRRel, 1, 0, 1, 1);
+ gridLayout4->addWidget(RBRRel, 1, 0, 1, 1);
SpinBox_RRel = new QDoubleSpinBox(GBRefinementThresholds);
SpinBox_RRel->setObjectName(QString::fromUtf8("SpinBox_RRel"));
SpinBox_RRel->setMaximum(100);
SpinBox_RRel->setSingleStep(0.1);
- gridLayout3->addWidget(SpinBox_RRel, 1, 1, 1, 1);
+ gridLayout4->addWidget(SpinBox_RRel, 1, 1, 1, 1);
RBRAbs = new QRadioButton(GBRefinementThresholds);
RBRAbs->setObjectName(QString::fromUtf8("RBRAbs"));
- gridLayout3->addWidget(RBRAbs, 2, 0, 1, 1);
+ gridLayout4->addWidget(RBRAbs, 2, 0, 1, 1);
SpinBox_RAbs = new QDoubleSpinBox(GBRefinementThresholds);
SpinBox_RAbs->setObjectName(QString::fromUtf8("SpinBox_RAbs"));
SpinBox_RAbs->setMaximum(1e+12);
SpinBox_RAbs->setSingleStep(0.1);
- gridLayout3->addWidget(SpinBox_RAbs, 2, 1, 1, 1);
+ gridLayout4->addWidget(SpinBox_RAbs, 2, 1, 1, 1);
RBRMuSigma = new QRadioButton(GBRefinementThresholds);
RBRMuSigma->setObjectName(QString::fromUtf8("RBRMuSigma"));
- gridLayout3->addWidget(RBRMuSigma, 3, 0, 1, 1);
+ gridLayout4->addWidget(RBRMuSigma, 3, 0, 1, 1);
SpinBox_RMuSigma = new QDoubleSpinBox(GBRefinementThresholds);
SpinBox_RMuSigma->setObjectName(QString::fromUtf8("SpinBox_RMuSigma"));
SpinBox_RMuSigma->setSingleStep(0.1);
SpinBox_RMuSigma->setValue(3);
- gridLayout3->addWidget(SpinBox_RMuSigma, 3, 1, 1, 1);
+ gridLayout4->addWidget(SpinBox_RMuSigma, 3, 1, 1, 1);
RBRNo = new QRadioButton(GBRefinementThresholds);
RBRNo->setObjectName(QString::fromUtf8("RBRNo"));
- gridLayout3->addWidget(RBRNo, 4, 0, 1, 1);
+ gridLayout4->addWidget(RBRNo, 4, 0, 1, 1);
hboxLayout4->addWidget(GBRefinementThresholds);
GBCoarseningThresholds = new QGroupBox(GBFieldManagement);
GBCoarseningThresholds->setObjectName(QString::fromUtf8("GBCoarseningThresholds"));
- gridLayout4 = new QGridLayout(GBCoarseningThresholds);
+ gridLayout5 = new QGridLayout(GBCoarseningThresholds);
#ifndef Q_OS_MAC
- gridLayout4->setSpacing(6);
+ gridLayout5->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout4->setContentsMargins(9, 9, 9, 9);
+ gridLayout5->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout4->setObjectName(QString::fromUtf8("gridLayout4"));
+ gridLayout5->setObjectName(QString::fromUtf8("gridLayout5"));
RBCPE = new QRadioButton(GBCoarseningThresholds);
RBCPE->setObjectName(QString::fromUtf8("RBCPE"));
RBCPE->setCheckable(true);
RBCPE->setChecked(false);
- gridLayout4->addWidget(RBCPE, 0, 0, 1, 1);
+ gridLayout5->addWidget(RBCPE, 0, 0, 1, 1);
SpinBox_CPE = new QDoubleSpinBox(GBCoarseningThresholds);
SpinBox_CPE->setObjectName(QString::fromUtf8("SpinBox_CPE"));
SpinBox_CPE->setMaximum(100);
SpinBox_CPE->setSingleStep(0.1);
- gridLayout4->addWidget(SpinBox_CPE, 0, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_CPE, 0, 1, 1, 1);
RBCRel = new QRadioButton(GBCoarseningThresholds);
RBCRel->setObjectName(QString::fromUtf8("RBCRel"));
- gridLayout4->addWidget(RBCRel, 1, 0, 1, 1);
+ gridLayout5->addWidget(RBCRel, 1, 0, 1, 1);
SpinBox_CRel = new QDoubleSpinBox(GBCoarseningThresholds);
SpinBox_CRel->setObjectName(QString::fromUtf8("SpinBox_CRel"));
SpinBox_CRel->setMaximum(100);
SpinBox_CRel->setSingleStep(0.1);
- gridLayout4->addWidget(SpinBox_CRel, 1, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_CRel, 1, 1, 1, 1);
RBCAbs = new QRadioButton(GBCoarseningThresholds);
RBCAbs->setObjectName(QString::fromUtf8("RBCAbs"));
- gridLayout4->addWidget(RBCAbs, 2, 0, 1, 1);
+ gridLayout5->addWidget(RBCAbs, 2, 0, 1, 1);
SpinBox_CAbs = new QDoubleSpinBox(GBCoarseningThresholds);
SpinBox_CAbs->setObjectName(QString::fromUtf8("SpinBox_CAbs"));
SpinBox_CAbs->setMaximum(1e+12);
SpinBox_CAbs->setSingleStep(0.1);
- gridLayout4->addWidget(SpinBox_CAbs, 2, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_CAbs, 2, 1, 1, 1);
RBCMuSigma = new QRadioButton(GBCoarseningThresholds);
RBCMuSigma->setObjectName(QString::fromUtf8("RBCMuSigma"));
- gridLayout4->addWidget(RBCMuSigma, 3, 0, 1, 1);
+ gridLayout5->addWidget(RBCMuSigma, 3, 0, 1, 1);
SpinBox_CMuSigma = new QDoubleSpinBox(GBCoarseningThresholds);
SpinBox_CMuSigma->setObjectName(QString::fromUtf8("SpinBox_CMuSigma"));
SpinBox_CMuSigma->setSingleStep(0.1);
SpinBox_CMuSigma->setValue(4);
- gridLayout4->addWidget(SpinBox_CMuSigma, 3, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_CMuSigma, 3, 1, 1, 1);
RBCNo = new QRadioButton(GBCoarseningThresholds);
RBCNo->setObjectName(QString::fromUtf8("RBCNo"));
RBCNo->setChecked(true);
- gridLayout4->addWidget(RBCNo, 4, 0, 1, 1);
+ gridLayout5->addWidget(RBCNo, 4, 0, 1, 1);
hboxLayout4->addWidget(GBCoarseningThresholds);
- gridLayout2->addLayout(hboxLayout4, 2, 0, 1, 1);
+ gridLayout3->addLayout(hboxLayout4, 2, 0, 1, 1);
- gridLayout_3->addWidget(GBFieldManagement, 5, 0, 1, 2);
+ gridLayout_3->addWidget(GBFieldManagement, 5, 0, 1, 3);
- GBAreaManagement = new QGroupBox(CreateHypothesis);
+ GBAreaManagement = new QGroupBox(scrollAreaWidgetContents);
GBAreaManagement->setObjectName(QString::fromUtf8("GBAreaManagement"));
- sizePolicy.setHeightForWidth(GBAreaManagement->sizePolicy().hasHeightForWidth());
- GBAreaManagement->setSizePolicy(sizePolicy);
+ sizePolicy1.setHeightForWidth(GBAreaManagement->sizePolicy().hasHeightForWidth());
+ GBAreaManagement->setSizePolicy(sizePolicy1);
gridLayout_4 = new QGridLayout(GBAreaManagement);
gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
TWZone = new QTableWidget(GBAreaManagement);
gridLayout_3->addWidget(GBAreaManagement, 6, 0, 1, 2);
- GBField = new QGroupBox(CreateHypothesis);
+ GBField = new QGroupBox(scrollAreaWidgetContents);
GBField->setObjectName(QString::fromUtf8("GBField"));
- gridLayout5 = new QGridLayout(GBField);
+ gridLayout6 = new QGridLayout(GBField);
#ifndef Q_OS_MAC
- gridLayout5->setSpacing(6);
+ gridLayout6->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout5->setContentsMargins(9, 9, 9, 9);
+ gridLayout6->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout5->setObjectName(QString::fromUtf8("gridLayout5"));
- gridLayout6 = new QGridLayout();
+ gridLayout6->setObjectName(QString::fromUtf8("gridLayout6"));
+ gridLayout7 = new QGridLayout();
#ifndef Q_OS_MAC
- gridLayout6->setSpacing(6);
+ gridLayout7->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout6->setContentsMargins(0, 0, 0, 0);
+ gridLayout7->setContentsMargins(0, 0, 0, 0);
#endif
- gridLayout6->setObjectName(QString::fromUtf8("gridLayout6"));
+ gridLayout7->setObjectName(QString::fromUtf8("gridLayout7"));
RBFieldNo = new QRadioButton(GBField);
RBFieldNo->setObjectName(QString::fromUtf8("RBFieldNo"));
RBFieldNo->setChecked(true);
- gridLayout6->addWidget(RBFieldNo, 0, 0, 1, 1);
+ gridLayout7->addWidget(RBFieldNo, 0, 0, 1, 1);
RBFieldAll = new QRadioButton(GBField);
RBFieldAll->setObjectName(QString::fromUtf8("RBFieldAll"));
RBFieldAll->setChecked(false);
- gridLayout6->addWidget(RBFieldAll, 0, 1, 1, 1);
+ gridLayout7->addWidget(RBFieldAll, 0, 1, 1, 1);
RBFieldChosen = new QRadioButton(GBField);
RBFieldChosen->setObjectName(QString::fromUtf8("RBFieldChosen"));
RBFieldChosen->setChecked(false);
- gridLayout6->addWidget(RBFieldChosen, 0, 2, 1, 1);
+ gridLayout7->addWidget(RBFieldChosen, 0, 2, 1, 1);
- gridLayout5->addLayout(gridLayout6, 0, 0, 1, 1);
+ gridLayout6->addLayout(gridLayout7, 0, 0, 1, 1);
TWField = new QTableWidget(GBField);
if (TWField->columnCount() < 2)
TWField->setHorizontalHeaderItem(1, __qtablewidgetitem6);
TWField->setObjectName(QString::fromUtf8("TWField"));
- gridLayout5->addWidget(TWField, 1, 0, 1, 1);
+ gridLayout6->addWidget(TWField, 1, 0, 1, 1);
- gridLayout_3->addWidget(GBField, 7, 0, 1, 2);
+ gridLayout_3->addWidget(GBField, 7, 0, 1, 1);
- CBGroupe = new QCheckBox(CreateHypothesis);
- CBGroupe->setObjectName(QString::fromUtf8("CBGroupe"));
+ horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
- gridLayout_3->addWidget(CBGroupe, 2, 0, 1, 2);
+ gridLayout_3->addItem(horizontalSpacer_5, 7, 2, 1, 1);
- CBAdvanced = new QCheckBox(CreateHypothesis);
+ CBAdvanced = new QCheckBox(scrollAreaWidgetContents);
CBAdvanced->setObjectName(QString::fromUtf8("CBAdvanced"));
- gridLayout_3->addWidget(CBAdvanced, 8, 0, 1, 2);
+ gridLayout_3->addWidget(CBAdvanced, 8, 0, 1, 1);
+
+ horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_3->addItem(horizontalSpacer_4, 8, 2, 1, 1);
- GBAdvancedOptions = new QGroupBox(CreateHypothesis);
+ GBAdvancedOptions = new QGroupBox(scrollAreaWidgetContents);
GBAdvancedOptions->setObjectName(QString::fromUtf8("GBAdvancedOptions"));
gridLayout_1 = new QGridLayout(GBAdvancedOptions);
gridLayout_1->setObjectName(QString::fromUtf8("gridLayout_1"));
TLMinimalDiameter = new QLabel(GBAdvancedOptions);
TLMinimalDiameter->setObjectName(QString::fromUtf8("TLMinimalDiameter"));
- sizePolicy.setHeightForWidth(TLMinimalDiameter->sizePolicy().hasHeightForWidth());
- TLMinimalDiameter->setSizePolicy(sizePolicy);
+ sizePolicy1.setHeightForWidth(TLMinimalDiameter->sizePolicy().hasHeightForWidth());
+ TLMinimalDiameter->setSizePolicy(sizePolicy1);
TLMinimalDiameter->setWordWrap(false);
gridLayout_1->addWidget(TLMinimalDiameter, 0, 0, 1, 1);
TLMaximalLevel = new QLabel(GBAdvancedOptions);
TLMaximalLevel->setObjectName(QString::fromUtf8("TLMaximalLevel"));
- sizePolicy.setHeightForWidth(TLMaximalLevel->sizePolicy().hasHeightForWidth());
- TLMaximalLevel->setSizePolicy(sizePolicy);
+ sizePolicy1.setHeightForWidth(TLMaximalLevel->sizePolicy().hasHeightForWidth());
+ TLMaximalLevel->setSizePolicy(sizePolicy1);
TLMaximalLevel->setWordWrap(false);
gridLayout_1->addWidget(TLMaximalLevel, 1, 0, 1, 1);
- spinBoxNivMax = new QSpinBox(GBAdvancedOptions);
- spinBoxNivMax->setObjectName(QString::fromUtf8("spinBoxNivMax"));
- spinBoxNivMax->setValue(99);
+ SpinBoxNivMax = new QSpinBox(GBAdvancedOptions);
+ SpinBoxNivMax->setObjectName(QString::fromUtf8("SpinBoxNivMax"));
+ SpinBoxNivMax->setValue(99);
- gridLayout_1->addWidget(spinBoxNivMax, 1, 1, 1, 1);
+ gridLayout_1->addWidget(SpinBoxNivMax, 1, 1, 1, 1);
GBAdapInit = new QGroupBox(GBAdvancedOptions);
GBAdapInit->setObjectName(QString::fromUtf8("GBAdapInit"));
gridLayout_1->addWidget(CBLevelOutput, 3, 0, 1, 1);
- gridLayout_3->addWidget(GBAdvancedOptions, 9, 0, 1, 2);
+ gridLayout_3->addWidget(GBAdvancedOptions, 9, 0, 1, 1);
- GBButtons = new QGroupBox(CreateHypothesis);
+ horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_3->addItem(horizontalSpacer_3, 9, 2, 1, 1);
+
+ GBButtons = new QGroupBox(scrollAreaWidgetContents);
GBButtons->setObjectName(QString::fromUtf8("GBButtons"));
- gridLayout7 = new QGridLayout(GBButtons);
+ gridLayout8 = new QGridLayout(GBButtons);
#ifndef Q_OS_MAC
- gridLayout7->setSpacing(6);
+ gridLayout8->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout7->setContentsMargins(9, 9, 9, 9);
+ gridLayout8->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout7->setObjectName(QString::fromUtf8("gridLayout7"));
+ gridLayout8->setObjectName(QString::fromUtf8("gridLayout8"));
buttonOk = new QPushButton(GBButtons);
buttonOk->setObjectName(QString::fromUtf8("buttonOk"));
- gridLayout7->addWidget(buttonOk, 0, 0, 1, 1);
+ gridLayout8->addWidget(buttonOk, 0, 0, 1, 1);
buttonApply = new QPushButton(GBButtons);
buttonApply->setObjectName(QString::fromUtf8("buttonApply"));
- gridLayout7->addWidget(buttonApply, 0, 1, 1, 1);
+ gridLayout8->addWidget(buttonApply, 0, 1, 1, 1);
buttonCancel = new QPushButton(GBButtons);
buttonCancel->setObjectName(QString::fromUtf8("buttonCancel"));
- gridLayout7->addWidget(buttonCancel, 0, 2, 1, 1);
+ gridLayout8->addWidget(buttonCancel, 0, 2, 1, 1);
buttonHelp = new QPushButton(GBButtons);
buttonHelp->setObjectName(QString::fromUtf8("buttonHelp"));
- gridLayout7->addWidget(buttonHelp, 0, 3, 1, 1);
+ gridLayout8->addWidget(buttonHelp, 0, 3, 1, 1);
gridLayout_3->addWidget(GBButtons, 10, 0, 1, 2);
- Name = new QLabel(CreateHypothesis);
- Name->setObjectName(QString::fromUtf8("Name"));
+ horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
- gridLayout_3->addWidget(Name, 0, 0, 1, 1);
-
- LEName->raise();
- GBTypeAdaptation->raise();
- GBUniform->raise();
- GBFieldFile->raise();
- GBFieldManagement->raise();
- GBAreaManagement->raise();
- GBField->raise();
- CBGroupe->raise();
- CBAdvanced->raise();
- GBAdvancedOptions->raise();
- GBButtons->raise();
- Name->raise();
+ gridLayout_3->addItem(horizontalSpacer_2, 10, 2, 1, 1);
+
+ CreateHypothesis->setWidget(scrollAreaWidgetContents);
retranslateUi(CreateHypothesis);
QMetaObject::connectSlotsByName(CreateHypothesis);
} // setupUi
- void retranslateUi(QDialog *CreateHypothesis)
+ void retranslateUi(QScrollArea *CreateHypothesis)
{
CreateHypothesis->setWindowTitle(QApplication::translate("CreateHypothesis", "Create an hypothesis", 0, QApplication::UnicodeUTF8));
+ Name->setText(QApplication::translate("CreateHypothesis", "Name", 0, QApplication::UnicodeUTF8));
GBTypeAdaptation->setTitle(QApplication::translate("CreateHypothesis", "Type of adaptation", 0, QApplication::UnicodeUTF8));
RBUniforme->setText(QApplication::translate("CreateHypothesis", "Uniform", 0, QApplication::UnicodeUTF8));
RBChamp->setText(QApplication::translate("CreateHypothesis", "Driven by a field", 0, QApplication::UnicodeUTF8));
RBZone->setText(QApplication::translate("CreateHypothesis", "With geometrical zones", 0, QApplication::UnicodeUTF8));
+ CBGroupe->setText(QApplication::translate("CreateHypothesis", "Filtering with groups", 0, QApplication::UnicodeUTF8));
GBUniform->setTitle(QApplication::translate("CreateHypothesis", "Uniform adaptation", 0, QApplication::UnicodeUTF8));
RBUniDera->setText(QApplication::translate("CreateHypothesis", "Coarsening", 0, QApplication::UnicodeUTF8));
RBUniRaff->setText(QApplication::translate("CreateHypothesis", "Refinement", 0, QApplication::UnicodeUTF8));
___qtablewidgetitem5->setText(QApplication::translate("CreateHypothesis", "Selection", 0, QApplication::UnicodeUTF8));
QTableWidgetItem *___qtablewidgetitem6 = TWField->horizontalHeaderItem(1);
___qtablewidgetitem6->setText(QApplication::translate("CreateHypothesis", "Field Name", 0, QApplication::UnicodeUTF8));
- CBGroupe->setText(QApplication::translate("CreateHypothesis", "Filtering with groups", 0, QApplication::UnicodeUTF8));
CBAdvanced->setText(QApplication::translate("CreateHypothesis", "Advanced options", 0, QApplication::UnicodeUTF8));
GBAdvancedOptions->setTitle(QApplication::translate("CreateHypothesis", "Advanced options", 0, QApplication::UnicodeUTF8));
TLMinimalDiameter->setText(QApplication::translate("CreateHypothesis", "Minimal diameter", 0, QApplication::UnicodeUTF8));
buttonApply->setText(QApplication::translate("CreateHypothesis", "Apply", 0, QApplication::UnicodeUTF8));
buttonCancel->setText(QApplication::translate("CreateHypothesis", "Cancel", 0, QApplication::UnicodeUTF8));
buttonHelp->setText(QApplication::translate("CreateHypothesis", "Help", 0, QApplication::UnicodeUTF8));
- Name->setText(QApplication::translate("CreateHypothesis", "Name", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CreateHypothesis</class>
- <widget class="QDialog" name="CreateHypothesis">
+ <widget class="QScrollArea" name="CreateHypothesis">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>794</width>
- <height>1481</height>
+ <width>848</width>
+ <height>1550</height>
</rect>
</property>
<property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="minimumSize">
+ <size>
+ <width>800</width>
+ <height>600</height>
+ </size>
+ </property>
+ <property name="sizeIncrement">
+ <size>
+ <width>1</width>
+ <height>1</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>800</width>
+ <height>1200</height>
+ </size>
+ </property>
<property name="windowTitle">
<string>Create an hypothesis</string>
</property>
- <property name="autoFillBackground">
+ <property name="widgetResizable">
<bool>true</bool>
</property>
- <property name="sizeGripEnabled">
- <bool>true</bool>
- </property>
- <layout class="QGridLayout" name="gridLayout_3">
- <item row="0" column="1">
- <widget class="QLineEdit" name="LEName">
- <property name="minimumSize">
- <size>
- <width>382</width>
- <height>31</height>
- </size>
- </property>
- <property name="maxLength">
- <number>32</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="QGroupBox" name="GBTypeAdaptation">
- <property name="title">
- <string>Type of adaptation</string>
- </property>
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>844</width>
+ <height>1546</height>
+ </rect>
+ </property>
+ <property name="sizeGripEnabled" stdset="0">
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0">
+ <widget class="QWidget" name="WName" native="true">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="Name">
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="LEName">
+ <property name="minimumSize">
+ <size>
+ <width>282</width>
+ <height>31</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <spacer name="horizontalSpacer_9">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="margin">
- <number>9</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>224</width>
+ <height>20</height>
+ </size>
</property>
- <item>
- <widget class="QRadioButton" name="RBUniforme">
- <property name="text">
- <string>Uniform</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="RBChamp">
- <property name="text">
- <string>Driven by a field</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="RBZone">
- <property name="text">
- <string>With geometrical zones</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QGroupBox" name="GBUniform">
- <property name="title">
- <string>Uniform adaptation</string>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
+ </spacer>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QGroupBox" name="GBTypeAdaptation">
+ <property name="title">
+ <string>Type of adaptation</string>
</property>
- <property name="spacing">
- <number>6</number>
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="RBUniforme">
+ <property name="text">
+ <string>Uniform</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="RBChamp">
+ <property name="text">
+ <string>Driven by a field</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="RBZone">
+ <property name="text">
+ <string>With geometrical zones</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <item row="0" column="1">
- <widget class="QRadioButton" name="RBUniDera">
- <property name="text">
- <string>Coarsening</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QRadioButton" name="RBUniRaff">
- <property name="text">
- <string>Refinement</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="4" column="0" colspan="2">
- <widget class="QGroupBox" name="GBFieldFile">
- <property name="title">
- <string/>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
</property>
- <property name="spacing">
- <number>6</number>
+ </spacer>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="CBGroupe">
+ <property name="text">
+ <string>Filtering with groups</string>
</property>
- <item row="0" column="0">
- <widget class="QLabel" name="FieldFile">
- <property name="text">
- <string>File of the fields</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="LEFieldFile">
- <property name="minimumSize">
- <size>
- <width>282</width>
- <height>31</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="5" column="0" colspan="2">
- <widget class="QGroupBox" name="GBFieldManagement">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title">
- <string>Governing field for the adaptation</string>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <spacer name="horizontalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
</property>
- <item row="0" column="0">
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="FieldName">
- <property name="text">
- <string>Field name</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="CBFieldName">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="editable">
- <bool>false</bool>
- </property>
- <property name="sizeAdjustPolicy">
- <enum>QComboBox::AdjustToContents</enum>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>48</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="1" column="0">
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QTableWidget" name="TWCMP">
- <property name="editTriggers">
- <set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked</set>
- </property>
- <property name="showGrid">
- <bool>true</bool>
- </property>
- <property name="rowCount">
- <number>0</number>
- </property>
- <property name="columnCount">
- <number>2</number>
- </property>
- <column>
+ </spacer>
+ </item>
+ <item row="3" column="0">
+ <widget class="QGroupBox" name="GBUniform">
+ <property name="title">
+ <string>Uniform adaptation</string>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="RBUniDera">
+ <property name="text">
+ <string>Coarsening</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="RBUniRaff">
+ <property name="text">
+ <string>Refinement</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <spacer name="horizontalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QGroupBox" name="GBFieldFile">
+ <property name="title">
+ <string/>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="FieldFile">
+ <property name="text">
+ <string>File of the fields</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="LEFieldFile">
+ <property name="minimumSize">
+ <size>
+ <width>282</width>
+ <height>31</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="3">
+ <widget class="QGroupBox" name="GBFieldManagement">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Governing field for the adaptation</string>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="FieldName">
<property name="text">
- <string>Selection</string>
+ <string>Field name</string>
</property>
- </column>
- <column>
- <property name="text">
- <string>Component</string>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="CBFieldName">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- </column>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>60</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QVBoxLayout">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
+ <property name="editable">
+ <bool>false</bool>
+ </property>
+ <property name="sizeAdjustPolicy">
+ <enum>QComboBox::AdjustToContents</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>48</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QTableWidget" name="TWCMP">
+ <property name="editTriggers">
+ <set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked</set>
+ </property>
+ <property name="showGrid">
+ <bool>true</bool>
+ </property>
+ <property name="rowCount">
+ <number>0</number>
+ </property>
+ <property name="columnCount">
+ <number>2</number>
+ </property>
+ <column>
+ <property name="text">
+ <string>Selection</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Component</string>
</property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>60</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <layout class="QVBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="RBL2">
+ <property name="text">
+ <string>L2 norm</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="RBInf">
+ <property name="text">
+ <string>Infinite norm</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="CBJump">
+ <property name="text">
+ <string>Jump between elements</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="0">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="GBRefinementThresholds">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Refinement threshold</string>
+ </property>
+ <layout class="QGridLayout">
<property name="margin">
- <number>0</number>
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
</property>
- <item>
- <widget class="QRadioButton" name="RBL2">
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="RBRPE">
<property name="text">
- <string>L2 norm</string>
+ <string>Percentage of meshes</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
- <item>
- <widget class="QRadioButton" name="RBInf">
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_RPE">
+ <property name="suffix">
+ <string> %</string>
+ </property>
+ <property name="decimals">
+ <number>3</number>
+ </property>
+ <property name="maximum">
+ <double>100.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ <property name="value">
+ <double>2.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="RBRRel">
<property name="text">
- <string>Infinite norm</string>
+ <string>Relative</string>
</property>
- <property name="checked">
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_RRel">
+ <property name="enabled">
<bool>false</bool>
</property>
+ <property name="suffix">
+ <string> %</string>
+ </property>
+ <property name="decimals">
+ <number>3</number>
+ </property>
+ <property name="maximum">
+ <double>100.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QRadioButton" name="RBRAbs">
+ <property name="text">
+ <string>Absolute</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_RAbs">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="decimals">
+ <number>8</number>
+ </property>
+ <property name="minimum">
+ <double>-1000000000000.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>1000000000000.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QRadioButton" name="RBRMuSigma">
+ <property name="text">
+ <string>Mean + n*(std deviation)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_RMuSigma">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="decimals">
+ <number>8</number>
+ </property>
+ <property name="minimum">
+ <double>-1000000000000.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>1000000000000.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ <property name="value">
+ <double>3.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QRadioButton" name="RBRNo">
+ <property name="text">
+ <string>No refinement</string>
+ </property>
</widget>
</item>
</layout>
- </item>
- <item>
- <widget class="QCheckBox" name="CBJump">
- <property name="text">
- <string>Jump between elements</string>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="GBCoarseningThresholds">
+ <property name="title">
+ <string>Coarsening threshold</string>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
</property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item row="2" column="0">
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QGroupBox" name="GBRefinementThresholds">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="RBCPE">
+ <property name="text">
+ <string>Percentage of meshes</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_CPE">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="suffix">
+ <string> %</string>
+ </property>
+ <property name="decimals">
+ <number>3</number>
+ </property>
+ <property name="maximum">
+ <double>100.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="RBCRel">
+ <property name="text">
+ <string>Relative</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_CRel">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="suffix">
+ <string> %</string>
+ </property>
+ <property name="decimals">
+ <number>3</number>
+ </property>
+ <property name="maximum">
+ <double>100.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QRadioButton" name="RBCAbs">
+ <property name="text">
+ <string>Absolute</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_CAbs">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="decimals">
+ <number>8</number>
+ </property>
+ <property name="minimum">
+ <double>-1000000000000.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>1000000000000.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QRadioButton" name="RBCMuSigma">
+ <property name="text">
+ <string>Mean - n*(std deviation)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_CMuSigma">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="decimals">
+ <number>8</number>
+ </property>
+ <property name="minimum">
+ <double>-1000000000000.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>1000000000000.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ <property name="value">
+ <double>4.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QRadioButton" name="RBCNo">
+ <property name="text">
+ <string>No coarsening</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="2">
+ <widget class="QGroupBox" name="GBAreaManagement">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Zone management</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <widget class="QTableWidget" name="TWZone">
+ <property name="minimumSize">
+ <size>
+ <width>400</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="editTriggers">
+ <set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked</set>
+ </property>
+ <property name="showGrid">
+ <bool>true</bool>
+ </property>
+ <property name="rowCount">
+ <number>0</number>
+ </property>
+ <property name="columnCount">
+ <number>3</number>
+ </property>
+ <column>
+ <property name="text">
+ <string>Refinement</string>
</property>
- <property name="title">
- <string>Refinement threshold</string>
+ </column>
+ <column>
+ <property name="text">
+ <string>Coarsening</string>
</property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
- </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Zone name</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="2">
+ <layout class="QVBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
- <item row="0" column="0">
- <widget class="QRadioButton" name="RBRPE">
- <property name="text">
- <string>Percentage of meshes</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QDoubleSpinBox" name="SpinBox_RPE">
- <property name="suffix">
- <string> %</string>
- </property>
- <property name="decimals">
- <number>3</number>
- </property>
- <property name="maximum">
- <double>100.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- <property name="value">
- <double>2.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="RBRRel">
- <property name="text">
- <string>Relative</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QDoubleSpinBox" name="SpinBox_RRel">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="suffix">
- <string> %</string>
- </property>
- <property name="decimals">
- <number>3</number>
- </property>
- <property name="maximum">
- <double>100.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QRadioButton" name="RBRAbs">
- <property name="text">
- <string>Absolute</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QDoubleSpinBox" name="SpinBox_RAbs">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="decimals">
- <number>8</number>
- </property>
- <property name="minimum">
- <double>-1000000000000.000000000000000</double>
- </property>
- <property name="maximum">
- <double>1000000000000.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QRadioButton" name="RBRMuSigma">
- <property name="text">
- <string>Mean + n*(std deviation)</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QDoubleSpinBox" name="SpinBox_RMuSigma">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="decimals">
- <number>8</number>
- </property>
- <property name="minimum">
- <double>-1000000000000.000000000000000</double>
- </property>
- <property name="maximum">
- <double>1000000000000.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- <property name="value">
- <double>3.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QRadioButton" name="RBRNo">
- <property name="text">
- <string>No refinement</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="GBCoarseningThresholds">
- <property name="title">
- <string>Coarsening threshold</string>
- </property>
- <layout class="QGridLayout">
<property name="margin">
- <number>9</number>
- </property>
- <property name="spacing">
- <number>6</number>
+ <number>0</number>
</property>
- <item row="0" column="0">
- <widget class="QRadioButton" name="RBCPE">
+ <item>
+ <widget class="QPushButton" name="PBZoneNew">
<property name="text">
- <string>Percentage of meshes</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="checked">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QDoubleSpinBox" name="SpinBox_CPE">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="suffix">
- <string> %</string>
- </property>
- <property name="decimals">
- <number>3</number>
- </property>
- <property name="maximum">
- <double>100.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="RBCRel">
- <property name="text">
- <string>Relative</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QDoubleSpinBox" name="SpinBox_CRel">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="suffix">
- <string> %</string>
- </property>
- <property name="decimals">
- <number>3</number>
- </property>
- <property name="maximum">
- <double>100.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QRadioButton" name="RBCAbs">
- <property name="text">
- <string>Absolute</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QDoubleSpinBox" name="SpinBox_CAbs">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="decimals">
- <number>8</number>
- </property>
- <property name="minimum">
- <double>-1000000000000.000000000000000</double>
- </property>
- <property name="maximum">
- <double>1000000000000.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
+ <string>New</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QRadioButton" name="RBCMuSigma">
+ <item>
+ <widget class="QPushButton" name="PBZoneEdit">
<property name="text">
- <string>Mean - n*(std deviation)</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QDoubleSpinBox" name="SpinBox_CMuSigma">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="decimals">
- <number>8</number>
- </property>
- <property name="minimum">
- <double>-1000000000000.000000000000000</double>
- </property>
- <property name="maximum">
- <double>1000000000000.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- <property name="value">
- <double>4.000000000000000</double>
+ <string>Edit</string>
</property>
</widget>
</item>
- <item row="4" column="0">
- <widget class="QRadioButton" name="RBCNo">
+ <item>
+ <widget class="QPushButton" name="PBZoneDelete">
<property name="text">
- <string>No coarsening</string>
- </property>
- <property name="checked">
- <bool>true</bool>
+ <string/>
</property>
</widget>
</item>
</layout>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item row="6" column="0" colspan="2">
- <widget class="QGroupBox" name="GBAreaManagement">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title">
- <string>Zone management</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_4">
- <item row="0" column="0">
- <widget class="QTableWidget" name="TWZone">
- <property name="minimumSize">
- <size>
- <width>400</width>
- <height>0</height>
- </size>
- </property>
- <property name="editTriggers">
- <set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked</set>
- </property>
- <property name="showGrid">
- <bool>true</bool>
- </property>
- <property name="rowCount">
- <number>0</number>
- </property>
- <property name="columnCount">
- <number>3</number>
- </property>
- <column>
- <property name="text">
- <string>Refinement</string>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QGroupBox" name="GBField">
+ <property name="title">
+ <string>Field Interpolation</string>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0">
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>0</number>
</property>
- </column>
- <column>
- <property name="text">
- <string>Coarsening</string>
+ <property name="spacing">
+ <number>6</number>
</property>
- </column>
- <column>
- <property name="text">
- <string>Zone name</string>
- </property>
- </column>
- </widget>
- </item>
- <item row="0" column="1">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="2">
- <layout class="QVBoxLayout">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <layout class="QVBoxLayout">
- <property name="spacing">
- <number>6</number>
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="RBFieldNo">
+ <property name="text">
+ <string>None</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="RBFieldAll">
+ <property name="text">
+ <string>All</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QRadioButton" name="RBFieldChosen">
+ <property name="text">
+ <string>Chosen</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QTableWidget" name="TWField">
+ <column>
+ <property name="text">
+ <string>Selection</string>
</property>
- <property name="margin">
- <number>0</number>
+ </column>
+ <column>
+ <property name="text">
+ <string>Field Name</string>
</property>
- <item>
- <widget class="QPushButton" name="PBZoneNew">
+ </column>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="7" column="2">
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="8" column="0">
+ <widget class="QCheckBox" name="CBAdvanced">
+ <property name="text">
+ <string>Advanced options</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="2">
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="9" column="0">
+ <widget class="QGroupBox" name="GBAdvancedOptions">
+ <property name="title">
+ <string>Advanced options</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_1">
+ <item row="0" column="0">
+ <widget class="QLabel" name="TLMinimalDiameter">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Minimal diameter</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="doubleSpinBoxDiamMin">
+ <property name="decimals">
+ <number>7</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="TLMaximalLevel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Maximal level</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="SpinBoxNivMax">
+ <property name="value">
+ <number>99</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QGroupBox" name="GBAdapInit">
+ <property name="title">
+ <string>Initialization of adaptation</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="RBAIN">
<property name="text">
- <string>New</string>
+ <string>Nothing</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
</property>
</widget>
</item>
- <item>
- <widget class="QPushButton" name="PBZoneEdit">
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="RBAIR">
<property name="text">
- <string>Edit</string>
+ <string>Refinement</string>
</property>
</widget>
</item>
- <item>
- <widget class="QPushButton" name="PBZoneDelete">
+ <item row="0" column="2">
+ <widget class="QRadioButton" name="RBAID">
<property name="text">
- <string/>
+ <string>Coarsening</string>
</property>
</widget>
</item>
</layout>
- </item>
- <item>
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>48</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item row="7" column="0" colspan="2">
- <widget class="QGroupBox" name="GBField">
- <property name="title">
- <string>Field Interpolation</string>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="CBLevelOutput">
+ <property name="text">
+ <string>Output of the level of refinement</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="9" column="2">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
</property>
- <item row="0" column="0">
- <layout class="QGridLayout">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <item row="0" column="0">
- <widget class="QRadioButton" name="RBFieldNo">
- <property name="text">
- <string>None</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QRadioButton" name="RBFieldAll">
- <property name="text">
- <string>All</string>
- </property>
- <property name="checked">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QRadioButton" name="RBFieldChosen">
- <property name="text">
- <string>Chosen</string>
- </property>
- <property name="checked">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="0">
- <widget class="QTableWidget" name="TWField">
- <column>
+ </spacer>
+ </item>
+ <item row="10" column="0" colspan="2">
+ <widget class="QGroupBox" name="GBButtons">
+ <property name="title">
+ <string/>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QPushButton" name="buttonOk">
<property name="text">
- <string>Selection</string>
+ <string>OK</string>
</property>
- </column>
- <column>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="buttonApply">
<property name="text">
- <string>Field Name</string>
- </property>
- </column>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="QCheckBox" name="CBGroupe">
- <property name="text">
- <string>Filtering with groups</string>
- </property>
- </widget>
- </item>
- <item row="8" column="0" colspan="2">
- <widget class="QCheckBox" name="CBAdvanced">
- <property name="text">
- <string>Advanced options</string>
- </property>
- </widget>
- </item>
- <item row="9" column="0" colspan="2">
- <widget class="QGroupBox" name="GBAdvancedOptions">
- <property name="title">
- <string>Advanced options</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_1">
- <item row="0" column="0">
- <widget class="QLabel" name="TLMinimalDiameter">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Minimal diameter</string>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QDoubleSpinBox" name="doubleSpinBoxDiamMin">
- <property name="decimals">
- <number>7</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="TLMaximalLevel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Maximal level</string>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QSpinBox" name="spinBoxNivMax">
- <property name="value">
- <number>99</number>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="QGroupBox" name="GBAdapInit">
- <property name="title">
- <string>Initialization of adaptation</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0">
- <widget class="QRadioButton" name="RBAIN">
- <property name="text">
- <string>Nothing</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QRadioButton" name="RBAIR">
- <property name="text">
- <string>Refinement</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QRadioButton" name="RBAID">
- <property name="text">
- <string>Coarsening</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QCheckBox" name="CBLevelOutput">
- <property name="text">
- <string>Output of the level of refinement</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="10" column="0" colspan="2">
- <widget class="QGroupBox" name="GBButtons">
- <property name="title">
- <string/>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
+ <string>Apply</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="buttonCancel">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="buttonHelp">
+ <property name="text">
+ <string>Help</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="10" column="2">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
</property>
- <item row="0" column="0">
- <widget class="QPushButton" name="buttonOk">
- <property name="text">
- <string>OK</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QPushButton" name="buttonApply">
- <property name="text">
- <string>Apply</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QPushButton" name="buttonCancel">
- <property name="text">
- <string>Cancel</string>
- </property>
- </widget>
- </item>
- <item row="0" column="3">
- <widget class="QPushButton" name="buttonHelp">
- <property name="text">
- <string>Help</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="Name">
- <property name="text">
- <string>Name</string>
- </property>
- </widget>
- </item>
- </layout>
- <zorder>LEName</zorder>
- <zorder>GBTypeAdaptation</zorder>
- <zorder>GBUniform</zorder>
- <zorder>GBFieldFile</zorder>
- <zorder>GBFieldManagement</zorder>
- <zorder>GBAreaManagement</zorder>
- <zorder>GBField</zorder>
- <zorder>CBGroupe</zorder>
- <zorder>CBAdvanced</zorder>
- <zorder>GBAdvancedOptions</zorder>
- <zorder>GBButtons</zorder>
- <zorder></zorder>
- <zorder>Name</zorder>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</widget>
<resources/>
<connections/>
/********************************************************************************
** Form generated from reading UI file 'CreateIteration.ui'
**
-** Created: Tue Sep 17 14:09:30 2013
+** Created: Wed Jan 15 08:42:25 2014
** by: Qt User Interface Compiler version 4.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QRadioButton>
+#include <QtGui/QScrollArea>
#include <QtGui/QSpacerItem>
#include <QtGui/QSpinBox>
#include <QtGui/QWidget>
class Ui_CreateIteration
{
public:
+ QWidget *scrollAreaWidgetContents;
QGridLayout *gridLayout;
+ QLabel *Iteration_Name;
+ QSpacerItem *horizontalSpacer_6;
+ QLineEdit *LEName;
+ QSpacerItem *horizontalSpacer_3;
+ QLabel *Iter_Parent;
+ QPushButton *PBIterParent;
+ QLineEdit *LEIterationParentName;
+ QLabel *Mesh_n;
+ QSpacerItem *horizontalSpacer_7;
+ QLineEdit *LEMeshName_n;
+ QSpacerItem *horizontalSpacer_4;
+ QLabel *Mesh_np1;
+ QSpacerItem *horizontalSpacer_8;
+ QLineEdit *LEMeshName_np1;
+ QSpacerItem *horizontalSpacer_5;
+ QSpacerItem *verticalSpacer;
QGroupBox *GBField;
QGridLayout *gridLayout1;
QLineEdit *LEFieldFile;
QRadioButton *RBNo;
QPushButton *PushFieldFile;
QLabel *FieldFile;
- QLabel *Iteration_Name;
- QLineEdit *LEName;
- QLabel *Iter_Parent;
+ QSpacerItem *horizontalSpacer_10;
QSpacerItem *spacerItem4;
- QPushButton *PBIterParent;
- QLineEdit *LEIterationParentName;
- QLabel *Mesh_n;
- QSpacerItem *spacerItem5;
- QLineEdit *LEMeshName_n;
- QSpacerItem *spacerItem6;
- QLabel *Mesh_np1;
- QLineEdit *LEMeshName_np1;
- QSpacerItem *spacerItem7;
- QSpacerItem *spacerItem8;
QGroupBox *Hypothese;
QGridLayout *gridLayout2;
QComboBox *CBHypothese;
- QSpacerItem *spacerItem9;
+ QSpacerItem *spacerItem5;
QPushButton *PBHypoEdit;
QPushButton *PBHypoNew;
- QSpacerItem *spacerItem10;
+ QSpacerItem *horizontalSpacer_2;
+ QSpacerItem *spacerItem6;
QGroupBox *GroupButtons;
QGridLayout *gridLayout3;
QPushButton *buttonOk;
QPushButton *buttonApply;
QPushButton *buttonCancel;
QPushButton *buttonHelp;
+ QSpacerItem *horizontalSpacer;
+ QSpacerItem *horizontalSpacer_9;
- void setupUi(QWidget *CreateIteration)
+ void setupUi(QScrollArea *CreateIteration)
{
if (CreateIteration->objectName().isEmpty())
CreateIteration->setObjectName(QString::fromUtf8("CreateIteration"));
- CreateIteration->resize(610, 598);
- gridLayout = new QGridLayout(CreateIteration);
-#ifndef Q_OS_MAC
- gridLayout->setSpacing(6);
-#endif
-#ifndef Q_OS_MAC
- gridLayout->setContentsMargins(9, 9, 9, 9);
-#endif
+ CreateIteration->resize(777, 668);
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+ sizePolicy.setHorizontalStretch(0);
+ sizePolicy.setVerticalStretch(0);
+ sizePolicy.setHeightForWidth(CreateIteration->sizePolicy().hasHeightForWidth());
+ CreateIteration->setSizePolicy(sizePolicy);
+ CreateIteration->setMinimumSize(QSize(750, 400));
+ CreateIteration->setSizeIncrement(QSize(1, 1));
+ CreateIteration->setBaseSize(QSize(750, 400));
+ CreateIteration->setWidgetResizable(true);
+ scrollAreaWidgetContents = new QWidget();
+ scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
+ scrollAreaWidgetContents->setGeometry(QRect(0, 0, 773, 664));
+ scrollAreaWidgetContents->setProperty("sizeGripEnabled", QVariant(true));
+ gridLayout = new QGridLayout(scrollAreaWidgetContents);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
- GBField = new QGroupBox(CreateIteration);
+ Iteration_Name = new QLabel(scrollAreaWidgetContents);
+ Iteration_Name->setObjectName(QString::fromUtf8("Iteration_Name"));
+
+ gridLayout->addWidget(Iteration_Name, 0, 0, 1, 2);
+
+ horizontalSpacer_6 = new QSpacerItem(117, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_6, 0, 2, 1, 1);
+
+ LEName = new QLineEdit(scrollAreaWidgetContents);
+ LEName->setObjectName(QString::fromUtf8("LEName"));
+ LEName->setMinimumSize(QSize(290, 21));
+ LEName->setMaxLength(64);
+
+ gridLayout->addWidget(LEName, 0, 3, 1, 2);
+
+ horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_3, 0, 5, 1, 1);
+
+ Iter_Parent = new QLabel(scrollAreaWidgetContents);
+ Iter_Parent->setObjectName(QString::fromUtf8("Iter_Parent"));
+
+ gridLayout->addWidget(Iter_Parent, 1, 0, 1, 2);
+
+ PBIterParent = new QPushButton(scrollAreaWidgetContents);
+ PBIterParent->setObjectName(QString::fromUtf8("PBIterParent"));
+ PBIterParent->setEnabled(true);
+ PBIterParent->setMaximumSize(QSize(50, 27));
+
+ gridLayout->addWidget(PBIterParent, 1, 2, 1, 1);
+
+ LEIterationParentName = new QLineEdit(scrollAreaWidgetContents);
+ LEIterationParentName->setObjectName(QString::fromUtf8("LEIterationParentName"));
+ LEIterationParentName->setMinimumSize(QSize(0, 21));
+ LEIterationParentName->setMaxLength(64);
+ LEIterationParentName->setReadOnly(true);
+
+ gridLayout->addWidget(LEIterationParentName, 1, 3, 1, 2);
+
+ Mesh_n = new QLabel(scrollAreaWidgetContents);
+ Mesh_n->setObjectName(QString::fromUtf8("Mesh_n"));
+
+ gridLayout->addWidget(Mesh_n, 2, 0, 1, 1);
+
+ horizontalSpacer_7 = new QSpacerItem(117, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_7, 2, 2, 1, 1);
+
+ LEMeshName_n = new QLineEdit(scrollAreaWidgetContents);
+ LEMeshName_n->setObjectName(QString::fromUtf8("LEMeshName_n"));
+ LEMeshName_n->setMinimumSize(QSize(290, 21));
+ LEMeshName_n->setMaxLength(64);
+ LEMeshName_n->setReadOnly(true);
+
+ gridLayout->addWidget(LEMeshName_n, 2, 3, 1, 3);
+
+ horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_4, 2, 6, 1, 1);
+
+ Mesh_np1 = new QLabel(scrollAreaWidgetContents);
+ Mesh_np1->setObjectName(QString::fromUtf8("Mesh_np1"));
+
+ gridLayout->addWidget(Mesh_np1, 3, 0, 1, 2);
+
+ horizontalSpacer_8 = new QSpacerItem(117, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_8, 3, 2, 1, 1);
+
+ LEMeshName_np1 = new QLineEdit(scrollAreaWidgetContents);
+ LEMeshName_np1->setObjectName(QString::fromUtf8("LEMeshName_np1"));
+ LEMeshName_np1->setMinimumSize(QSize(290, 21));
+ LEMeshName_np1->setMaxLength(64);
+
+ gridLayout->addWidget(LEMeshName_np1, 3, 3, 1, 3);
+
+ horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_5, 3, 6, 1, 1);
+
+ verticalSpacer = new QSpacerItem(20, 62, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
+ gridLayout->addItem(verticalSpacer, 4, 0, 1, 1);
+
+ GBField = new QGroupBox(scrollAreaWidgetContents);
GBField->setObjectName(QString::fromUtf8("GBField"));
gridLayout1 = new QGridLayout(GBField);
#ifndef Q_OS_MAC
gridLayout1->addWidget(FieldFile, 0, 0, 1, 1);
- gridLayout->addWidget(GBField, 6, 0, 1, 4);
+ gridLayout->addWidget(GBField, 5, 0, 1, 6);
- Iteration_Name = new QLabel(CreateIteration);
- Iteration_Name->setObjectName(QString::fromUtf8("Iteration_Name"));
-
- gridLayout->addWidget(Iteration_Name, 0, 0, 1, 2);
-
- LEName = new QLineEdit(CreateIteration);
- LEName->setObjectName(QString::fromUtf8("LEName"));
- LEName->setMinimumSize(QSize(290, 21));
- LEName->setMaxLength(200);
-
- gridLayout->addWidget(LEName, 0, 2, 1, 2);
-
- Iter_Parent = new QLabel(CreateIteration);
- Iter_Parent->setObjectName(QString::fromUtf8("Iter_Parent"));
+ horizontalSpacer_10 = new QSpacerItem(69, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
- gridLayout->addWidget(Iter_Parent, 1, 0, 1, 1);
-
- spacerItem4 = new QSpacerItem(20, 24, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
- gridLayout->addItem(spacerItem4, 1, 1, 1, 1);
-
- PBIterParent = new QPushButton(CreateIteration);
- PBIterParent->setObjectName(QString::fromUtf8("PBIterParent"));
- PBIterParent->setEnabled(true);
- PBIterParent->setMaximumSize(QSize(50, 27));
-
- gridLayout->addWidget(PBIterParent, 1, 2, 1, 1);
-
- LEIterationParentName = new QLineEdit(CreateIteration);
- LEIterationParentName->setObjectName(QString::fromUtf8("LEIterationParentName"));
- LEIterationParentName->setMinimumSize(QSize(0, 21));
- LEIterationParentName->setMaxLength(200);
- LEIterationParentName->setReadOnly(true);
-
- gridLayout->addWidget(LEIterationParentName, 1, 3, 1, 1);
-
- Mesh_n = new QLabel(CreateIteration);
- Mesh_n->setObjectName(QString::fromUtf8("Mesh_n"));
-
- gridLayout->addWidget(Mesh_n, 2, 0, 1, 1);
+ gridLayout->addItem(horizontalSpacer_10, 5, 6, 1, 1);
- spacerItem5 = new QSpacerItem(20, 21, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ spacerItem4 = new QSpacerItem(20, 22, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout->addItem(spacerItem5, 2, 1, 1, 1);
+ gridLayout->addItem(spacerItem4, 6, 0, 1, 1);
- LEMeshName_n = new QLineEdit(CreateIteration);
- LEMeshName_n->setObjectName(QString::fromUtf8("LEMeshName_n"));
- LEMeshName_n->setMinimumSize(QSize(290, 21));
- LEMeshName_n->setMaxLength(32);
- LEMeshName_n->setReadOnly(true);
-
- gridLayout->addWidget(LEMeshName_n, 2, 2, 1, 2);
-
- spacerItem6 = new QSpacerItem(20, 22, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
- gridLayout->addItem(spacerItem6, 3, 1, 1, 1);
-
- Mesh_np1 = new QLabel(CreateIteration);
- Mesh_np1->setObjectName(QString::fromUtf8("Mesh_np1"));
-
- gridLayout->addWidget(Mesh_np1, 4, 0, 1, 2);
-
- LEMeshName_np1 = new QLineEdit(CreateIteration);
- LEMeshName_np1->setObjectName(QString::fromUtf8("LEMeshName_np1"));
- LEMeshName_np1->setMinimumSize(QSize(290, 21));
- LEMeshName_np1->setMaxLength(32);
-
- gridLayout->addWidget(LEMeshName_np1, 4, 2, 1, 2);
-
- spacerItem7 = new QSpacerItem(20, 21, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
- gridLayout->addItem(spacerItem7, 5, 1, 1, 1);
-
- spacerItem8 = new QSpacerItem(20, 22, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
- gridLayout->addItem(spacerItem8, 7, 1, 1, 1);
-
- Hypothese = new QGroupBox(CreateIteration);
+ Hypothese = new QGroupBox(scrollAreaWidgetContents);
Hypothese->setObjectName(QString::fromUtf8("Hypothese"));
gridLayout2 = new QGridLayout(Hypothese);
#ifndef Q_OS_MAC
gridLayout2->addWidget(CBHypothese, 0, 0, 1, 1);
- spacerItem9 = new QSpacerItem(40, 13, QSizePolicy::Fixed, QSizePolicy::Minimum);
+ spacerItem5 = new QSpacerItem(40, 13, QSizePolicy::Fixed, QSizePolicy::Minimum);
- gridLayout2->addItem(spacerItem9, 0, 1, 1, 1);
+ gridLayout2->addItem(spacerItem5, 0, 1, 1, 1);
PBHypoEdit = new QPushButton(Hypothese);
PBHypoEdit->setObjectName(QString::fromUtf8("PBHypoEdit"));
gridLayout2->addWidget(PBHypoNew, 0, 3, 1, 1);
- gridLayout->addWidget(Hypothese, 8, 0, 1, 4);
+ gridLayout->addWidget(Hypothese, 7, 0, 1, 4);
+
+ horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_2, 7, 4, 1, 2);
- spacerItem10 = new QSpacerItem(20, 21, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ spacerItem6 = new QSpacerItem(20, 21, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout->addItem(spacerItem10, 9, 0, 1, 1);
+ gridLayout->addItem(spacerItem6, 8, 1, 1, 1);
- GroupButtons = new QGroupBox(CreateIteration);
+ GroupButtons = new QGroupBox(scrollAreaWidgetContents);
GroupButtons->setObjectName(QString::fromUtf8("GroupButtons"));
gridLayout3 = new QGridLayout(GroupButtons);
#ifndef Q_OS_MAC
gridLayout3->addWidget(buttonHelp, 0, 3, 1, 1);
- gridLayout->addWidget(GroupButtons, 10, 0, 1, 4);
+ gridLayout->addWidget(GroupButtons, 9, 0, 1, 4);
+
+ horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer, 9, 4, 1, 2);
+ horizontalSpacer_9 = new QSpacerItem(139, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_9, 1, 5, 1, 1);
+
+ CreateIteration->setWidget(scrollAreaWidgetContents);
retranslateUi(CreateIteration);
QMetaObject::connectSlotsByName(CreateIteration);
} // setupUi
- void retranslateUi(QWidget *CreateIteration)
+ void retranslateUi(QScrollArea *CreateIteration)
{
CreateIteration->setWindowTitle(QApplication::translate("CreateIteration", "Create an iteration", 0, QApplication::UnicodeUTF8));
+ Iteration_Name->setText(QApplication::translate("CreateIteration", "Iteration Name", 0, QApplication::UnicodeUTF8));
+ Iter_Parent->setText(QApplication::translate("CreateIteration", "Previous iteration", 0, QApplication::UnicodeUTF8));
+ PBIterParent->setText(QString());
+ Mesh_n->setText(QApplication::translate("CreateIteration", "Mesh n", 0, QApplication::UnicodeUTF8));
+ Mesh_np1->setText(QApplication::translate("CreateIteration", "Mesh n+1", 0, QApplication::UnicodeUTF8));
GBField->setTitle(QApplication::translate("CreateIteration", "Field information", 0, QApplication::UnicodeUTF8));
RBChosen->setText(QApplication::translate("CreateIteration", "Chosen time step", 0, QApplication::UnicodeUTF8));
Rank->setText(QApplication::translate("CreateIteration", "Rank", 0, QApplication::UnicodeUTF8));
RBNo->setText(QApplication::translate("CreateIteration", "No time step", 0, QApplication::UnicodeUTF8));
PushFieldFile->setText(QString());
FieldFile->setText(QApplication::translate("CreateIteration", "Field file", 0, QApplication::UnicodeUTF8));
- Iteration_Name->setText(QApplication::translate("CreateIteration", "Iteration Name", 0, QApplication::UnicodeUTF8));
- Iter_Parent->setText(QApplication::translate("CreateIteration", "Previous iteration", 0, QApplication::UnicodeUTF8));
- PBIterParent->setText(QString());
- Mesh_n->setText(QApplication::translate("CreateIteration", "Mesh n", 0, QApplication::UnicodeUTF8));
- Mesh_np1->setText(QApplication::translate("CreateIteration", "Mesh n+1", 0, QApplication::UnicodeUTF8));
Hypothese->setTitle(QApplication::translate("CreateIteration", "Hypothesis", 0, QApplication::UnicodeUTF8));
PBHypoEdit->setText(QApplication::translate("CreateIteration", "Edit", 0, QApplication::UnicodeUTF8));
PBHypoNew->setText(QApplication::translate("CreateIteration", "New", 0, QApplication::UnicodeUTF8));
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CreateIteration</class>
- <widget class="QWidget" name="CreateIteration">
+ <widget class="QScrollArea" name="CreateIteration">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>610</width>
- <height>598</height>
+ <width>777</width>
+ <height>668</height>
</rect>
</property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>750</width>
+ <height>400</height>
+ </size>
+ </property>
+ <property name="sizeIncrement">
+ <size>
+ <width>1</width>
+ <height>1</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>750</width>
+ <height>400</height>
+ </size>
+ </property>
<property name="windowTitle">
<string>Create an iteration</string>
</property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>773</width>
+ <height>664</height>
+ </rect>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="sizeGripEnabled" stdset="0">
+ <bool>true</bool>
</property>
- <item row="6" column="0" colspan="4">
- <widget class="QGroupBox" name="GBField">
- <property name="title">
- <string>Field information</string>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <item row="0" column="2" colspan="5">
- <widget class="QLineEdit" name="LEFieldFile">
- <property name="minimumSize">
- <size>
- <width>282</width>
- <height>21</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="1" column="3" colspan="4">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>138</width>
- <height>18</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="2" column="6">
- <widget class="QRadioButton" name="RBChosen">
- <property name="text">
- <string>Chosen time step</string>
- </property>
- </widget>
- </item>
- <item row="4" column="6">
- <spacer>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>255</width>
- <height>13</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="4" column="5">
- <widget class="QSpinBox" name="SpinBox_Rank">
- <property name="minimum">
- <number>-1</number>
- </property>
- <property name="maximum">
- <number>1010000</number>
- </property>
- <property name="value">
- <number>-1</number>
- </property>
- </widget>
- </item>
- <item row="4" column="4">
- <widget class="QLabel" name="Rank">
- <property name="text">
- <string>Rank</string>
- </property>
- </widget>
- </item>
- <item row="4" column="2" colspan="2">
- <spacer>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>13</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="4" column="1">
- <widget class="QSpinBox" name="SpinBox_TimeStep">
- <property name="minimum">
- <number>-2</number>
- </property>
- <property name="maximum">
- <number>100000</number>
- </property>
- <property name="value">
- <number>-1</number>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="TimeStep">
- <property name="text">
- <string>Time step</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="4">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>138</width>
- <height>28</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="2" column="3" colspan="3">
- <widget class="QRadioButton" name="RBLast">
- <property name="text">
- <string>Last time step</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="3">
- <widget class="QRadioButton" name="RBNo">
- <property name="text">
- <string>No time step</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QPushButton" name="PushFieldFile">
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="FieldFile">
- <property name="text">
- <string>Field file</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="0" column="0" colspan="2">
- <widget class="QLabel" name="Iteration_Name">
- <property name="text">
- <string>Iteration Name</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2" colspan="2">
- <widget class="QLineEdit" name="LEName">
- <property name="minimumSize">
- <size>
- <width>290</width>
- <height>21</height>
- </size>
- </property>
- <property name="maxLength">
- <number>200</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="Iter_Parent">
- <property name="text">
- <string>Previous iteration</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>24</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="2">
- <widget class="QPushButton" name="PBIterParent">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>27</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="1" column="3">
- <widget class="QLineEdit" name="LEIterationParentName">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>21</height>
- </size>
- </property>
- <property name="maxLength">
- <number>200</number>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="Mesh_n">
- <property name="text">
- <string>Mesh n</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="2" column="2" colspan="2">
- <widget class="QLineEdit" name="LEMeshName_n">
- <property name="minimumSize">
- <size>
- <width>290</width>
- <height>21</height>
- </size>
- </property>
- <property name="maxLength">
- <number>32</number>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>22</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="4" column="0" colspan="2">
- <widget class="QLabel" name="Mesh_np1">
- <property name="text">
- <string>Mesh n+1</string>
- </property>
- </widget>
- </item>
- <item row="4" column="2" colspan="2">
- <widget class="QLineEdit" name="LEMeshName_np1">
- <property name="minimumSize">
- <size>
- <width>290</width>
- <height>21</height>
- </size>
- </property>
- <property name="maxLength">
- <number>32</number>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="7" column="1">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>22</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="8" column="0" colspan="4">
- <widget class="QGroupBox" name="Hypothese">
- <property name="title">
- <string>Hypothesis</string>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <item row="0" column="0">
- <widget class="QComboBox" name="CBHypothese">
- <property name="currentIndex">
- <number>-1</number>
- </property>
- <property name="sizeAdjustPolicy">
- <enum>QComboBox::AdjustToContents</enum>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <spacer>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>13</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="2">
- <widget class="QPushButton" name="PBHypoEdit">
- <property name="text">
- <string>Edit</string>
- </property>
- </widget>
- </item>
- <item row="0" column="3">
- <widget class="QPushButton" name="PBHypoNew">
- <property name="text">
- <string>New</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="9" column="0">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="10" column="0" colspan="4">
- <widget class="QGroupBox" name="GroupButtons">
- <property name="title">
- <string/>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <item row="0" column="0">
- <widget class="QPushButton" name="buttonOk">
- <property name="text">
- <string>OK</string>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- <property name="default">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QPushButton" name="buttonApply">
- <property name="text">
- <string>Apply</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QPushButton" name="buttonCancel">
- <property name="text">
- <string>Cancel</string>
- </property>
- </widget>
- </item>
- <item row="0" column="3">
- <widget class="QPushButton" name="buttonHelp">
- <property name="text">
- <string>Help</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="Iteration_Name">
+ <property name="text">
+ <string>Iteration Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>117</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="3" colspan="2">
+ <widget class="QLineEdit" name="LEName">
+ <property name="minimumSize">
+ <size>
+ <width>290</width>
+ <height>21</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>64</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="5">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLabel" name="Iter_Parent">
+ <property name="text">
+ <string>Previous iteration</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="PBIterParent">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>27</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3" colspan="2">
+ <widget class="QLineEdit" name="LEIterationParentName">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>21</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>64</number>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="Mesh_n">
+ <property name="text">
+ <string>Mesh n</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <spacer name="horizontalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>117</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="3" colspan="3">
+ <widget class="QLineEdit" name="LEMeshName_n">
+ <property name="minimumSize">
+ <size>
+ <width>290</width>
+ <height>21</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>64</number>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="6">
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QLabel" name="Mesh_np1">
+ <property name="text">
+ <string>Mesh n+1</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <spacer name="horizontalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>117</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="3" colspan="3">
+ <widget class="QLineEdit" name="LEMeshName_np1">
+ <property name="minimumSize">
+ <size>
+ <width>290</width>
+ <height>21</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>64</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="6">
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>62</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="5" column="0" colspan="6">
+ <widget class="QGroupBox" name="GBField">
+ <property name="title">
+ <string>Field information</string>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="2" colspan="5">
+ <widget class="QLineEdit" name="LEFieldFile">
+ <property name="minimumSize">
+ <size>
+ <width>282</width>
+ <height>21</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3" colspan="4">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>138</width>
+ <height>18</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="6">
+ <widget class="QRadioButton" name="RBChosen">
+ <property name="text">
+ <string>Chosen time step</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="6">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>255</width>
+ <height>13</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="5">
+ <widget class="QSpinBox" name="SpinBox_Rank">
+ <property name="minimum">
+ <number>-1</number>
+ </property>
+ <property name="maximum">
+ <number>1010000</number>
+ </property>
+ <property name="value">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="4">
+ <widget class="QLabel" name="Rank">
+ <property name="text">
+ <string>Rank</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2" colspan="2">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>13</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="1">
+ <widget class="QSpinBox" name="SpinBox_TimeStep">
+ <property name="minimum">
+ <number>-2</number>
+ </property>
+ <property name="maximum">
+ <number>100000</number>
+ </property>
+ <property name="value">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="TimeStep">
+ <property name="text">
+ <string>Time step</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>138</width>
+ <height>28</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="3" colspan="3">
+ <widget class="QRadioButton" name="RBLast">
+ <property name="text">
+ <string>Last time step</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3">
+ <widget class="QRadioButton" name="RBNo">
+ <property name="text">
+ <string>No time step</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="PushFieldFile">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="FieldFile">
+ <property name="text">
+ <string>Field file</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="5" column="6">
+ <spacer name="horizontalSpacer_10">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>69</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="6" column="0">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>22</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="7" column="0" colspan="4">
+ <widget class="QGroupBox" name="Hypothese">
+ <property name="title">
+ <string>Hypothesis</string>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QComboBox" name="CBHypothese">
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
+ <property name="sizeAdjustPolicy">
+ <enum>QComboBox::AdjustToContents</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>13</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="PBHypoEdit">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="PBHypoNew">
+ <property name="text">
+ <string>New</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="7" column="4" colspan="2">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="8" column="1">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="9" column="0" colspan="4">
+ <widget class="QGroupBox" name="GroupButtons">
+ <property name="title">
+ <string/>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QPushButton" name="buttonOk">
+ <property name="text">
+ <string>OK</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ <property name="default">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="buttonApply">
+ <property name="text">
+ <string>Apply</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="buttonCancel">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="buttonHelp">
+ <property name="text">
+ <string>Help</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="9" column="4" colspan="2">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="5">
+ <spacer name="horizontalSpacer_9">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>139</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</widget>
<resources/>
<connections/>
/********************************************************************************
** Form generated from reading UI file 'CreateYACS.ui'
**
-** Created: Mon Sep 23 13:29:12 2013
+** Created: Mon Jan 20 13:23:30 2014
** by: Qt User Interface Compiler version 4.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
-#include <QtGui/QDialog>
+#include <QtGui/QDoubleSpinBox>
#include <QtGui/QGridLayout>
#include <QtGui/QGroupBox>
#include <QtGui/QHBoxLayout>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QRadioButton>
+#include <QtGui/QScrollArea>
#include <QtGui/QSpacerItem>
+#include <QtGui/QSpinBox>
+#include <QtGui/QWidget>
QT_BEGIN_NAMESPACE
class Ui_CreateYACS
{
public:
+ QWidget *scrollAreaWidgetContents;
+ QGridLayout *gridLayout_5;
+ QWidget *WName;
QGridLayout *gridLayout_2;
QLabel *Name;
QLineEdit *LEName;
+ QSpacerItem *horizontalSpacer;
QGridLayout *gridLayout;
QLabel *Case;
QPushButton *PBCaseName;
QHBoxLayout *_4;
QRadioButton *RBConstant;
QRadioButton *RBVariable;
+ QGroupBox *GBMax;
+ QGridLayout *gridLayout_3;
+ QLabel *TLMaxIteration;
+ QSpinBox *SpinBoxMaxIter;
+ QLabel *TLMaxNodes;
+ QSpinBox *SpinBoxMaxNode;
+ QLabel *TLMaxElem;
+ QSpinBox *SpinBoxMaxElem;
+ QSpacerItem *horizontalSpacer_2;
+ QGroupBox *GBConvergence;
+ QGridLayout *gridLayout_4;
+ QRadioButton *RBNone;
+ QRadioButton *RBVMinAbs;
+ QRadioButton *RBVMaxAbs;
+ QLabel *labelVref;
+ QDoubleSpinBox *doubleSpinBoxConvergence;
+ QSpacerItem *horizontalSpacer_3;
QGroupBox *GroupButtons;
QGridLayout *gridLayout1;
QPushButton *buttonHelp;
QPushButton *buttonCancel;
QSpacerItem *spacer_2;
- void setupUi(QDialog *CreateYACS)
+ void setupUi(QScrollArea *CreateYACS)
{
if (CreateYACS->objectName().isEmpty())
CreateYACS->setObjectName(QString::fromUtf8("CreateYACS"));
- CreateYACS->resize(538, 340);
- QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ CreateYACS->resize(684, 649);
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(CreateYACS->sizePolicy().hasHeightForWidth());
CreateYACS->setSizePolicy(sizePolicy);
- CreateYACS->setAutoFillBackground(true);
- gridLayout_2 = new QGridLayout(CreateYACS);
+ CreateYACS->setMinimumSize(QSize(600, 500));
+ CreateYACS->setSizeIncrement(QSize(1, 1));
+ CreateYACS->setBaseSize(QSize(600, 500));
+ CreateYACS->setWidgetResizable(true);
+ scrollAreaWidgetContents = new QWidget();
+ scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
+ scrollAreaWidgetContents->setGeometry(QRect(0, 0, 680, 645));
+ scrollAreaWidgetContents->setProperty("sizeGripEnabled", QVariant(true));
+ gridLayout_5 = new QGridLayout(scrollAreaWidgetContents);
+ gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5"));
+ WName = new QWidget(scrollAreaWidgetContents);
+ WName->setObjectName(QString::fromUtf8("WName"));
+ gridLayout_2 = new QGridLayout(WName);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
- Name = new QLabel(CreateYACS);
+ Name = new QLabel(WName);
Name->setObjectName(QString::fromUtf8("Name"));
gridLayout_2->addWidget(Name, 0, 0, 1, 1);
- LEName = new QLineEdit(CreateYACS);
+ LEName = new QLineEdit(WName);
LEName->setObjectName(QString::fromUtf8("LEName"));
LEName->setMaxLength(32);
gridLayout_2->addWidget(LEName, 0, 1, 1, 1);
+
+ gridLayout_5->addWidget(WName, 0, 0, 1, 1);
+
+ horizontalSpacer = new QSpacerItem(131, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_5->addItem(horizontalSpacer, 0, 1, 1, 1);
+
gridLayout = new QGridLayout();
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
- Case = new QLabel(CreateYACS);
+ Case = new QLabel(scrollAreaWidgetContents);
Case->setObjectName(QString::fromUtf8("Case"));
gridLayout->addWidget(Case, 0, 0, 1, 1);
- PBCaseName = new QPushButton(CreateYACS);
+ PBCaseName = new QPushButton(scrollAreaWidgetContents);
PBCaseName->setObjectName(QString::fromUtf8("PBCaseName"));
PBCaseName->setEnabled(true);
PBCaseName->setMaximumSize(QSize(50, 27));
gridLayout->addWidget(PBCaseName, 0, 1, 1, 1);
- LECaseName = new QLineEdit(CreateYACS);
+ LECaseName = new QLineEdit(scrollAreaWidgetContents);
LECaseName->setObjectName(QString::fromUtf8("LECaseName"));
LECaseName->setMinimumSize(QSize(382, 21));
gridLayout->addWidget(LECaseName, 0, 2, 1, 1);
- gridLayout_2->addLayout(gridLayout, 1, 0, 1, 3);
+ gridLayout_5->addLayout(gridLayout, 1, 0, 1, 2);
_2 = new QHBoxLayout();
#ifndef Q_OS_MAC
#endif
_2->setContentsMargins(0, 0, 0, 0);
_2->setObjectName(QString::fromUtf8("_2"));
- Script = new QLabel(CreateYACS);
+ Script = new QLabel(scrollAreaWidgetContents);
Script->setObjectName(QString::fromUtf8("Script"));
_2->addWidget(Script);
- PBScriptFile = new QPushButton(CreateYACS);
+ PBScriptFile = new QPushButton(scrollAreaWidgetContents);
PBScriptFile->setObjectName(QString::fromUtf8("PBScriptFile"));
PBScriptFile->setAutoDefault(false);
_2->addWidget(PBScriptFile);
- LEScriptFile = new QLineEdit(CreateYACS);
+ LEScriptFile = new QLineEdit(scrollAreaWidgetContents);
LEScriptFile->setObjectName(QString::fromUtf8("LEScriptFile"));
LEScriptFile->setMinimumSize(QSize(382, 21));
_2->addWidget(LEScriptFile);
- gridLayout_2->addLayout(_2, 2, 0, 1, 3);
+ gridLayout_5->addLayout(_2, 2, 0, 1, 2);
hboxLayout = new QHBoxLayout();
#ifndef Q_OS_MAC
#endif
hboxLayout->setContentsMargins(0, 0, 0, 0);
hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
- DirectoryStart = new QLabel(CreateYACS);
+ DirectoryStart = new QLabel(scrollAreaWidgetContents);
DirectoryStart->setObjectName(QString::fromUtf8("DirectoryStart"));
hboxLayout->addWidget(DirectoryStart);
- PBDir = new QPushButton(CreateYACS);
+ PBDir = new QPushButton(scrollAreaWidgetContents);
PBDir->setObjectName(QString::fromUtf8("PBDir"));
PBDir->setAutoDefault(false);
hboxLayout->addWidget(PBDir);
- LEDirName = new QLineEdit(CreateYACS);
+ LEDirName = new QLineEdit(scrollAreaWidgetContents);
LEDirName->setObjectName(QString::fromUtf8("LEDirName"));
LEDirName->setMinimumSize(QSize(382, 21));
hboxLayout->addWidget(LEDirName);
- gridLayout_2->addLayout(hboxLayout, 3, 0, 1, 3);
+ gridLayout_5->addLayout(hboxLayout, 3, 0, 1, 2);
_3 = new QHBoxLayout();
#ifndef Q_OS_MAC
#endif
_3->setContentsMargins(0, 0, 0, 0);
_3->setObjectName(QString::fromUtf8("_3"));
- MeshFile = new QLabel(CreateYACS);
+ MeshFile = new QLabel(scrollAreaWidgetContents);
MeshFile->setObjectName(QString::fromUtf8("MeshFile"));
_3->addWidget(MeshFile);
- PBMeshFile = new QPushButton(CreateYACS);
+ PBMeshFile = new QPushButton(scrollAreaWidgetContents);
PBMeshFile->setObjectName(QString::fromUtf8("PBMeshFile"));
PBMeshFile->setAutoDefault(false);
_3->addWidget(PBMeshFile);
- LEMeshFile = new QLineEdit(CreateYACS);
+ LEMeshFile = new QLineEdit(scrollAreaWidgetContents);
LEMeshFile->setObjectName(QString::fromUtf8("LEMeshFile"));
LEMeshFile->setMinimumSize(QSize(382, 21));
_3->addWidget(LEMeshFile);
- gridLayout_2->addLayout(_3, 4, 0, 1, 3);
+ gridLayout_5->addLayout(_3, 4, 0, 1, 2);
- GBTypeSchema = new QGroupBox(CreateYACS);
+ GBTypeSchema = new QGroupBox(scrollAreaWidgetContents);
GBTypeSchema->setObjectName(QString::fromUtf8("GBTypeSchema"));
_4 = new QHBoxLayout(GBTypeSchema);
#ifndef Q_OS_MAC
_4->addWidget(RBVariable);
- gridLayout_2->addWidget(GBTypeSchema, 5, 0, 1, 2);
+ gridLayout_5->addWidget(GBTypeSchema, 5, 0, 1, 1);
+
+ GBMax = new QGroupBox(scrollAreaWidgetContents);
+ GBMax->setObjectName(QString::fromUtf8("GBMax"));
+ gridLayout_3 = new QGridLayout(GBMax);
+ gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
+ TLMaxIteration = new QLabel(GBMax);
+ TLMaxIteration->setObjectName(QString::fromUtf8("TLMaxIteration"));
+ QSizePolicy sizePolicy1(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ sizePolicy1.setHorizontalStretch(0);
+ sizePolicy1.setVerticalStretch(0);
+ sizePolicy1.setHeightForWidth(TLMaxIteration->sizePolicy().hasHeightForWidth());
+ TLMaxIteration->setSizePolicy(sizePolicy1);
+ TLMaxIteration->setWordWrap(false);
+
+ gridLayout_3->addWidget(TLMaxIteration, 0, 0, 1, 1);
+
+ SpinBoxMaxIter = new QSpinBox(GBMax);
+ SpinBoxMaxIter->setObjectName(QString::fromUtf8("SpinBoxMaxIter"));
+ SpinBoxMaxIter->setMinimum(0);
+ SpinBoxMaxIter->setMaximum(999999999);
+ SpinBoxMaxIter->setValue(0);
+
+ gridLayout_3->addWidget(SpinBoxMaxIter, 0, 1, 1, 1);
+
+ TLMaxNodes = new QLabel(GBMax);
+ TLMaxNodes->setObjectName(QString::fromUtf8("TLMaxNodes"));
+ sizePolicy1.setHeightForWidth(TLMaxNodes->sizePolicy().hasHeightForWidth());
+ TLMaxNodes->setSizePolicy(sizePolicy1);
+ TLMaxNodes->setWordWrap(false);
+
+ gridLayout_3->addWidget(TLMaxNodes, 1, 0, 1, 1);
+
+ SpinBoxMaxNode = new QSpinBox(GBMax);
+ SpinBoxMaxNode->setObjectName(QString::fromUtf8("SpinBoxMaxNode"));
+ SpinBoxMaxNode->setMinimum(0);
+ SpinBoxMaxNode->setMaximum(999999999);
+ SpinBoxMaxNode->setSingleStep(1000);
+ SpinBoxMaxNode->setValue(0);
+
+ gridLayout_3->addWidget(SpinBoxMaxNode, 1, 1, 1, 1);
+
+ TLMaxElem = new QLabel(GBMax);
+ TLMaxElem->setObjectName(QString::fromUtf8("TLMaxElem"));
+ sizePolicy1.setHeightForWidth(TLMaxElem->sizePolicy().hasHeightForWidth());
+ TLMaxElem->setSizePolicy(sizePolicy1);
+ TLMaxElem->setWordWrap(false);
+
+ gridLayout_3->addWidget(TLMaxElem, 1, 2, 1, 1);
+
+ SpinBoxMaxElem = new QSpinBox(GBMax);
+ SpinBoxMaxElem->setObjectName(QString::fromUtf8("SpinBoxMaxElem"));
+ SpinBoxMaxElem->setMinimum(0);
+ SpinBoxMaxElem->setMaximum(999999999);
+ SpinBoxMaxElem->setSingleStep(1000);
+ SpinBoxMaxElem->setValue(0);
+
+ gridLayout_3->addWidget(SpinBoxMaxElem, 1, 3, 1, 1);
+
+
+ gridLayout_5->addWidget(GBMax, 6, 0, 1, 1);
+
+ horizontalSpacer_2 = new QSpacerItem(269, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_5->addItem(horizontalSpacer_2, 6, 1, 1, 1);
+
+ GBConvergence = new QGroupBox(scrollAreaWidgetContents);
+ GBConvergence->setObjectName(QString::fromUtf8("GBConvergence"));
+ gridLayout_4 = new QGridLayout(GBConvergence);
+ gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
+ RBNone = new QRadioButton(GBConvergence);
+ RBNone->setObjectName(QString::fromUtf8("RBNone"));
+ RBNone->setChecked(true);
+
+ gridLayout_4->addWidget(RBNone, 0, 0, 1, 1);
+
+ RBVMinAbs = new QRadioButton(GBConvergence);
+ RBVMinAbs->setObjectName(QString::fromUtf8("RBVMinAbs"));
+
+ gridLayout_4->addWidget(RBVMinAbs, 0, 1, 1, 1);
+
+ RBVMaxAbs = new QRadioButton(GBConvergence);
+ RBVMaxAbs->setObjectName(QString::fromUtf8("RBVMaxAbs"));
+
+ gridLayout_4->addWidget(RBVMaxAbs, 0, 2, 1, 1);
+
+ labelVref = new QLabel(GBConvergence);
+ labelVref->setObjectName(QString::fromUtf8("labelVref"));
+
+ gridLayout_4->addWidget(labelVref, 1, 0, 1, 1);
+
+ doubleSpinBoxConvergence = new QDoubleSpinBox(GBConvergence);
+ doubleSpinBoxConvergence->setObjectName(QString::fromUtf8("doubleSpinBoxConvergence"));
+ doubleSpinBoxConvergence->setDecimals(4);
+ doubleSpinBoxConvergence->setMinimum(-1e+09);
+ doubleSpinBoxConvergence->setMaximum(1e+09);
+
+ gridLayout_4->addWidget(doubleSpinBoxConvergence, 1, 1, 1, 1);
+
+
+ gridLayout_5->addWidget(GBConvergence, 7, 0, 1, 1);
+
+ horizontalSpacer_3 = new QSpacerItem(269, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout_5->addItem(horizontalSpacer_3, 7, 1, 1, 1);
- GroupButtons = new QGroupBox(CreateYACS);
+ GroupButtons = new QGroupBox(scrollAreaWidgetContents);
GroupButtons->setObjectName(QString::fromUtf8("GroupButtons"));
gridLayout1 = new QGridLayout(GroupButtons);
#ifndef Q_OS_MAC
gridLayout1->addWidget(buttonCancel, 0, 2, 1, 1);
- gridLayout_2->addWidget(GroupButtons, 6, 0, 1, 2);
+ gridLayout_5->addWidget(GroupButtons, 8, 0, 1, 1);
spacer_2 = new QSpacerItem(128, 25, QSizePolicy::Fixed, QSizePolicy::Minimum);
- gridLayout_2->addItem(spacer_2, 6, 2, 1, 1);
+ gridLayout_5->addItem(spacer_2, 8, 1, 1, 1);
+ CreateYACS->setWidget(scrollAreaWidgetContents);
retranslateUi(CreateYACS);
QMetaObject::connectSlotsByName(CreateYACS);
} // setupUi
- void retranslateUi(QDialog *CreateYACS)
+ void retranslateUi(QScrollArea *CreateYACS)
{
CreateYACS->setWindowTitle(QApplication::translate("CreateYACS", "Create YACS", 0, QApplication::UnicodeUTF8));
Name->setText(QApplication::translate("CreateYACS", "Name", 0, QApplication::UnicodeUTF8));
GBTypeSchema->setTitle(QApplication::translate("CreateYACS", "Type of schema", 0, QApplication::UnicodeUTF8));
RBConstant->setText(QApplication::translate("CreateYACS", "Constant", 0, QApplication::UnicodeUTF8));
RBVariable->setText(QApplication::translate("CreateYACS", "Variable", 0, QApplication::UnicodeUTF8));
+ GBMax->setTitle(QApplication::translate("CreateYACS", "Maximum of ...", 0, QApplication::UnicodeUTF8));
+ TLMaxIteration->setText(QApplication::translate("CreateYACS", "Iterations", 0, QApplication::UnicodeUTF8));
+ TLMaxNodes->setText(QApplication::translate("CreateYACS", "Nodes", 0, QApplication::UnicodeUTF8));
+ TLMaxElem->setText(QApplication::translate("CreateYACS", "Elements", 0, QApplication::UnicodeUTF8));
+ GBConvergence->setTitle(QApplication::translate("CreateYACS", "Test of convergence", 0, QApplication::UnicodeUTF8));
+ RBNone->setText(QApplication::translate("CreateYACS", "None", 0, QApplication::UnicodeUTF8));
+ RBVMinAbs->setText(QApplication::translate("CreateYACS", "Vtest > Vref", 0, QApplication::UnicodeUTF8));
+ RBVMaxAbs->setText(QApplication::translate("CreateYACS", "Vtest < Vref", 0, QApplication::UnicodeUTF8));
+ labelVref->setText(QApplication::translate("CreateYACS", "Vref", 0, QApplication::UnicodeUTF8));
GroupButtons->setTitle(QString());
buttonHelp->setText(QApplication::translate("CreateYACS", "Help", 0, QApplication::UnicodeUTF8));
buttonApply->setText(QApplication::translate("CreateYACS", "Apply", 0, QApplication::UnicodeUTF8));
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CreateYACS</class>
- <widget class="QDialog" name="CreateYACS">
+ <widget class="QScrollArea" name="CreateYACS">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>538</width>
- <height>340</height>
+ <width>684</width>
+ <height>649</height>
</rect>
</property>
<property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="minimumSize">
+ <size>
+ <width>600</width>
+ <height>500</height>
+ </size>
+ </property>
+ <property name="sizeIncrement">
+ <size>
+ <width>1</width>
+ <height>1</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>600</width>
+ <height>500</height>
+ </size>
+ </property>
<property name="windowTitle">
<string>Create YACS</string>
</property>
- <property name="autoFillBackground">
+ <property name="widgetResizable">
<bool>true</bool>
</property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0">
- <widget class="QLabel" name="Name">
- <property name="text">
- <string>Name</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="LEName">
- <property name="maxLength">
- <number>32</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="3">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="Case">
- <property name="text">
- <string>Case</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QPushButton" name="PBCaseName">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>27</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QLineEdit" name="LECaseName">
- <property name="minimumSize">
- <size>
- <width>382</width>
- <height>21</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="2" column="0" colspan="3">
- <layout class="QHBoxLayout" name="_2">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="Script">
- <property name="text">
- <string>Script</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="PBScriptFile">
- <property name="text">
- <string/>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="LEScriptFile">
- <property name="minimumSize">
- <size>
- <width>382</width>
- <height>21</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="3" column="0" colspan="3">
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="DirectoryStart">
- <property name="text">
- <string>Directory</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="PBDir">
- <property name="text">
- <string/>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="LEDirName">
- <property name="minimumSize">
- <size>
- <width>382</width>
- <height>21</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="4" column="0" colspan="3">
- <layout class="QHBoxLayout" name="_3">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="MeshFile">
- <property name="text">
- <string>Mesh file</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="PBMeshFile">
- <property name="text">
- <string/>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="LEMeshFile">
- <property name="minimumSize">
- <size>
- <width>382</width>
- <height>21</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="5" column="0" colspan="2">
- <widget class="QGroupBox" name="GBTypeSchema">
- <property name="title">
- <string>Type of schema</string>
- </property>
- <layout class="QHBoxLayout" name="_4">
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>680</width>
+ <height>645</height>
+ </rect>
+ </property>
+ <property name="sizeGripEnabled" stdset="0">
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <item row="0" column="0">
+ <widget class="QWidget" name="WName" native="true">
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="Name">
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="LEName">
+ <property name="maxLength">
+ <number>32</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>131</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="Case">
+ <property name="text">
+ <string>Case</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="PBCaseName">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>27</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLineEdit" name="LECaseName">
+ <property name="minimumSize">
+ <size>
+ <width>382</width>
+ <height>21</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="_2">
<property name="spacing">
<number>6</number>
</property>
<property name="margin">
- <number>9</number>
+ <number>0</number>
</property>
<item>
- <widget class="QRadioButton" name="RBConstant">
+ <widget class="QLabel" name="Script">
<property name="text">
- <string>Constant</string>
- </property>
- <property name="checked">
- <bool>true</bool>
+ <string>Script</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="RBVariable">
+ <widget class="QPushButton" name="PBScriptFile">
<property name="text">
- <string>Variable</string>
+ <string/>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="LEScriptFile">
+ <property name="minimumSize">
+ <size>
+ <width>382</width>
+ <height>21</height>
+ </size>
</property>
</widget>
</item>
</layout>
- </widget>
- </item>
- <item row="6" column="0" colspan="2">
- <widget class="QGroupBox" name="GroupButtons">
- <property name="title">
- <string/>
- </property>
- <layout class="QGridLayout">
- <property name="margin">
- <number>9</number>
- </property>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</property>
- <item row="0" column="4">
- <widget class="QPushButton" name="buttonHelp">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="DirectoryStart">
<property name="text">
- <string>Help</string>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
+ <string>Directory</string>
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QPushButton" name="buttonApply">
+ <item>
+ <widget class="QPushButton" name="PBDir">
<property name="text">
- <string>Apply</string>
+ <string/>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="0" column="0">
- <widget class="QPushButton" name="buttonOk">
- <property name="text">
- <string>OK</string>
+ <item>
+ <widget class="QLineEdit" name="LEDirName">
+ <property name="minimumSize">
+ <size>
+ <width>382</width>
+ <height>21</height>
+ </size>
</property>
- <property name="autoDefault">
- <bool>false</bool>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="_3">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="MeshFile">
+ <property name="text">
+ <string>Mesh file</string>
</property>
</widget>
</item>
- <item row="0" column="2">
- <widget class="QPushButton" name="buttonCancel">
+ <item>
+ <widget class="QPushButton" name="PBMeshFile">
<property name="text">
- <string>Cancel</string>
+ <string/>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
+ <item>
+ <widget class="QLineEdit" name="LEMeshFile">
+ <property name="minimumSize">
+ <size>
+ <width>382</width>
+ <height>21</height>
+ </size>
+ </property>
+ </widget>
+ </item>
</layout>
- </widget>
- </item>
- <item row="6" column="2">
- <spacer name="spacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>128</width>
- <height>25</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
+ </item>
+ <item row="5" column="0">
+ <widget class="QGroupBox" name="GBTypeSchema">
+ <property name="title">
+ <string>Type of schema</string>
+ </property>
+ <layout class="QHBoxLayout" name="_4">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="RBConstant">
+ <property name="text">
+ <string>Constant</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="RBVariable">
+ <property name="text">
+ <string>Variable</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QGroupBox" name="GBMax">
+ <property name="title">
+ <string>Maximum of ...</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0">
+ <widget class="QLabel" name="TLMaxIteration">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Iterations</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="SpinBoxMaxIter">
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="maximum">
+ <number>999999999</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="TLMaxNodes">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Nodes</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="SpinBoxMaxNode">
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="maximum">
+ <number>999999999</number>
+ </property>
+ <property name="singleStep">
+ <number>1000</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="TLMaxElem">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Elements</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QSpinBox" name="SpinBoxMaxElem">
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="maximum">
+ <number>999999999</number>
+ </property>
+ <property name="singleStep">
+ <number>1000</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>269</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="7" column="0">
+ <widget class="QGroupBox" name="GBConvergence">
+ <property name="title">
+ <string>Test of convergence</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="RBNone">
+ <property name="text">
+ <string>None</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="RBVMinAbs">
+ <property name="text">
+ <string>Vtest > Vref</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QRadioButton" name="RBVMaxAbs">
+ <property name="text">
+ <string>Vtest < Vref</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="labelVref">
+ <property name="text">
+ <string>Vref</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="doubleSpinBoxConvergence">
+ <property name="decimals">
+ <number>4</number>
+ </property>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>269</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="8" column="0">
+ <widget class="QGroupBox" name="GroupButtons">
+ <property name="title">
+ <string/>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="4">
+ <widget class="QPushButton" name="buttonHelp">
+ <property name="text">
+ <string>Help</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="buttonApply">
+ <property name="text">
+ <string>Apply</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QPushButton" name="buttonOk">
+ <property name="text">
+ <string>OK</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="buttonCancel">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <spacer name="spacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>128</width>
+ <height>25</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</widget>
<resources/>
<connections/>
/********************************************************************************
** Form generated from reading UI file 'CreateZone.ui'
**
-** Created: Tue Sep 17 14:09:38 2013
+** Created: Wed Jan 15 14:45:55 2014
** by: Qt User Interface Compiler version 4.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QRadioButton>
+#include <QtGui/QSpacerItem>
QT_BEGIN_NAMESPACE
{
public:
QGridLayout *gridLayout;
- QGroupBox *GBButtons;
- QGridLayout *gridLayout1;
- QPushButton *buttonHelp;
- QPushButton *buttonCancel;
- QPushButton *buttonApply;
- QPushButton *buttonOk;
+ QLabel *Name;
+ QLineEdit *LEName;
+ QSpacerItem *horizontalSpacer_3;
QGroupBox *TypeZone;
- QGridLayout *gridLayout2;
+ QGridLayout *gridLayout1;
QRadioButton *RBSphere;
QRadioButton *RBPipe;
QRadioButton *RBCylinder;
QRadioButton *RBBox;
- QGroupBox *gBCylindre;
+ QSpacerItem *horizontalSpacer_2;
+ QGroupBox *gBBox;
+ QGridLayout *gridLayout2;
+ QLabel *TLXmini;
+ QDoubleSpinBox *SpinBox_Xmini;
+ QLabel *TLYmini;
+ QDoubleSpinBox *SpinBox_Ymini;
+ QLabel *TLZmini;
+ QDoubleSpinBox *SpinBox_Zmini;
+ QLabel *TLXmaxi;
+ QLabel *TLZmaxi;
+ QDoubleSpinBox *SpinBox_Zmaxi;
+ QLabel *TLYmaxi;
+ QDoubleSpinBox *SpinBox_Xmaxi;
+ QDoubleSpinBox *SpinBox_Ymaxi;
+ QGroupBox *gBSphere;
QGridLayout *gridLayout3;
+ QLabel *TLXcentre;
+ QDoubleSpinBox *SpinBox_Xcentre;
+ QLabel *TLYcentre;
+ QDoubleSpinBox *SpinBox_Ycentre;
+ QLabel *TLRayon;
+ QDoubleSpinBox *SpinBox_Rayon;
+ QLabel *TLZcentre;
+ QDoubleSpinBox *SpinBox_Zcentre;
+ QGroupBox *gBCylindre;
+ QGridLayout *gridLayout4;
QDoubleSpinBox *SpinBox_Haut;
QLabel *TLHaut;
QLabel *TLRadius;
QDoubleSpinBox *SpinBox_Radius;
QLabel *TLXbase;
QDoubleSpinBox *SpinBox_Xbase;
- QGroupBox *gBSphere;
- QGridLayout *gridLayout4;
- QLabel *TLXcentre;
- QDoubleSpinBox *SpinBox_Xcentre;
- QLabel *TLYcentre;
- QDoubleSpinBox *SpinBox_Ycentre;
- QLabel *TLRayon;
- QDoubleSpinBox *SpinBox_Rayon;
- QLabel *TLZcentre;
- QDoubleSpinBox *SpinBox_Zcentre;
- QGroupBox *gBBox;
- QGridLayout *gridLayout5;
- QLabel *TLXmini;
- QDoubleSpinBox *SpinBox_Xmini;
- QLabel *TLYmini;
- QDoubleSpinBox *SpinBox_Ymini;
- QLabel *TLZmini;
- QDoubleSpinBox *SpinBox_Zmini;
- QLabel *TLXmaxi;
- QLabel *TLZmaxi;
- QDoubleSpinBox *SpinBox_Zmaxi;
- QLabel *TLYmaxi;
- QDoubleSpinBox *SpinBox_Xmaxi;
- QDoubleSpinBox *SpinBox_Ymaxi;
- QLineEdit *LEName;
- QLabel *Name;
QGroupBox *gBPipe;
- QGridLayout *gridLayout6;
+ QGridLayout *gridLayout5;
QLabel *TLHaut_p;
QDoubleSpinBox *SpinBox_Xbase_p;
QLabel *TLXbase_p;
QDoubleSpinBox *SpinBox_Radius_ext;
QLabel *TLRadius_ext;
QDoubleSpinBox *SpinBox_Haut_p;
+ QGroupBox *GBButtons;
+ QGridLayout *gridLayout6;
+ QPushButton *buttonHelp;
+ QPushButton *buttonCancel;
+ QPushButton *buttonApply;
+ QPushButton *buttonOk;
+ QSpacerItem *horizontalSpacer;
void setupUi(QDialog *CreateZone)
{
if (CreateZone->objectName().isEmpty())
CreateZone->setObjectName(QString::fromUtf8("CreateZone"));
- CreateZone->resize(551, 880);
+ CreateZone->resize(545, 778);
+ CreateZone->setSizeIncrement(QSize(1, 1));
+ CreateZone->setBaseSize(QSize(550, 400));
CreateZone->setAutoFillBackground(true);
CreateZone->setSizeGripEnabled(true);
gridLayout = new QGridLayout(CreateZone);
-#ifndef Q_OS_MAC
- gridLayout->setSpacing(6);
-#endif
-#ifndef Q_OS_MAC
- gridLayout->setContentsMargins(9, 9, 9, 9);
-#endif
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
- GBButtons = new QGroupBox(CreateZone);
- GBButtons->setObjectName(QString::fromUtf8("GBButtons"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(0), static_cast<QSizePolicy::Policy>(0));
- sizePolicy.setHorizontalStretch(0);
- sizePolicy.setVerticalStretch(0);
- sizePolicy.setHeightForWidth(GBButtons->sizePolicy().hasHeightForWidth());
- GBButtons->setSizePolicy(sizePolicy);
- gridLayout1 = new QGridLayout(GBButtons);
-#ifndef Q_OS_MAC
- gridLayout1->setSpacing(6);
-#endif
-#ifndef Q_OS_MAC
- gridLayout1->setContentsMargins(9, 9, 9, 9);
-#endif
- gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
- buttonHelp = new QPushButton(GBButtons);
- buttonHelp->setObjectName(QString::fromUtf8("buttonHelp"));
-
- gridLayout1->addWidget(buttonHelp, 0, 3, 1, 1);
-
- buttonCancel = new QPushButton(GBButtons);
- buttonCancel->setObjectName(QString::fromUtf8("buttonCancel"));
-
- gridLayout1->addWidget(buttonCancel, 0, 2, 1, 1);
-
- buttonApply = new QPushButton(GBButtons);
- buttonApply->setObjectName(QString::fromUtf8("buttonApply"));
+ Name = new QLabel(CreateZone);
+ Name->setObjectName(QString::fromUtf8("Name"));
- gridLayout1->addWidget(buttonApply, 0, 1, 1, 1);
+ gridLayout->addWidget(Name, 0, 0, 1, 1);
- buttonOk = new QPushButton(GBButtons);
- buttonOk->setObjectName(QString::fromUtf8("buttonOk"));
+ LEName = new QLineEdit(CreateZone);
+ LEName->setObjectName(QString::fromUtf8("LEName"));
+ LEName->setMaxLength(32);
- gridLayout1->addWidget(buttonOk, 0, 0, 1, 1);
+ gridLayout->addWidget(LEName, 0, 1, 1, 1);
+ horizontalSpacer_3 = new QSpacerItem(142, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
- gridLayout->addWidget(GBButtons, 6, 0, 1, 2);
+ gridLayout->addItem(horizontalSpacer_3, 0, 2, 1, 1);
TypeZone = new QGroupBox(CreateZone);
TypeZone->setObjectName(QString::fromUtf8("TypeZone"));
+ QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ sizePolicy.setHorizontalStretch(0);
+ sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(TypeZone->sizePolicy().hasHeightForWidth());
TypeZone->setSizePolicy(sizePolicy);
TypeZone->setMinimumSize(QSize(340, 0));
- gridLayout2 = new QGridLayout(TypeZone);
+ gridLayout1 = new QGridLayout(TypeZone);
#ifndef Q_OS_MAC
- gridLayout2->setSpacing(6);
+ gridLayout1->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout2->setContentsMargins(9, 9, 9, 9);
+ gridLayout1->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
+ gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
RBSphere = new QRadioButton(TypeZone);
RBSphere->setObjectName(QString::fromUtf8("RBSphere"));
- const QIcon icon = QIcon(QString::fromUtf8("../../resources/zone_spherepoint.png"));
+ QIcon icon;
+ icon.addFile(QString::fromUtf8("../../resources/zone_spherepoint.png"), QSize(), QIcon::Normal, QIcon::Off);
RBSphere->setIcon(icon);
- gridLayout2->addWidget(RBSphere, 0, 3, 1, 1);
+ gridLayout1->addWidget(RBSphere, 0, 3, 1, 1);
RBPipe = new QRadioButton(TypeZone);
RBPipe->setObjectName(QString::fromUtf8("RBPipe"));
- const QIcon icon1 = QIcon(QString::fromUtf8("../../resources/pipe.png"));
+ QIcon icon1;
+ icon1.addFile(QString::fromUtf8("../../resources/pipe.png"), QSize(), QIcon::Normal, QIcon::Off);
RBPipe->setIcon(icon1);
- gridLayout2->addWidget(RBPipe, 0, 2, 1, 1);
+ gridLayout1->addWidget(RBPipe, 0, 2, 1, 1);
RBCylinder = new QRadioButton(TypeZone);
RBCylinder->setObjectName(QString::fromUtf8("RBCylinder"));
- const QIcon icon2 = QIcon(QString::fromUtf8("../../resources/cylinderpointvector.png"));
+ QIcon icon2;
+ icon2.addFile(QString::fromUtf8("../../resources/cylinderpointvector.png"), QSize(), QIcon::Normal, QIcon::Off);
RBCylinder->setIcon(icon2);
- gridLayout2->addWidget(RBCylinder, 0, 1, 1, 1);
+ gridLayout1->addWidget(RBCylinder, 0, 1, 1, 1);
RBBox = new QRadioButton(TypeZone);
RBBox->setObjectName(QString::fromUtf8("RBBox"));
- const QIcon icon3 = QIcon(QString::fromUtf8("../../resources/zone_boxdxyz.png"));
+ QIcon icon3;
+ icon3.addFile(QString::fromUtf8("../../resources/zone_boxdxyz.png"), QSize(), QIcon::Normal, QIcon::Off);
RBBox->setIcon(icon3);
RBBox->setCheckable(true);
RBBox->setChecked(true);
- gridLayout2->addWidget(RBBox, 0, 0, 1, 1);
+ gridLayout1->addWidget(RBBox, 0, 0, 1, 1);
- gridLayout->addWidget(TypeZone, 1, 0, 1, 2);
+ gridLayout->addWidget(TypeZone, 1, 0, 1, 4);
- gBCylindre = new QGroupBox(CreateZone);
- gBCylindre->setObjectName(QString::fromUtf8("gBCylindre"));
- sizePolicy.setHeightForWidth(gBCylindre->sizePolicy().hasHeightForWidth());
- gBCylindre->setSizePolicy(sizePolicy);
- gBCylindre->setFocusPolicy(Qt::TabFocus);
- gridLayout3 = new QGridLayout(gBCylindre);
+ horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_2, 1, 4, 1, 1);
+
+ gBBox = new QGroupBox(CreateZone);
+ gBBox->setObjectName(QString::fromUtf8("gBBox"));
+ sizePolicy.setHeightForWidth(gBBox->sizePolicy().hasHeightForWidth());
+ gBBox->setSizePolicy(sizePolicy);
+ gridLayout2 = new QGridLayout(gBBox);
#ifndef Q_OS_MAC
- gridLayout3->setSpacing(6);
+ gridLayout2->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout3->setContentsMargins(9, 9, 9, 9);
+ gridLayout2->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout3->setObjectName(QString::fromUtf8("gridLayout3"));
- SpinBox_Haut = new QDoubleSpinBox(gBCylindre);
- SpinBox_Haut->setObjectName(QString::fromUtf8("SpinBox_Haut"));
- SpinBox_Haut->setDecimals(5);
- SpinBox_Haut->setMaximum(1e+09);
-
- gridLayout3->addWidget(SpinBox_Haut, 4, 1, 1, 1);
-
- TLHaut = new QLabel(gBCylindre);
- TLHaut->setObjectName(QString::fromUtf8("TLHaut"));
- sizePolicy.setHeightForWidth(TLHaut->sizePolicy().hasHeightForWidth());
- TLHaut->setSizePolicy(sizePolicy);
- TLHaut->setWordWrap(false);
-
- gridLayout3->addWidget(TLHaut, 4, 0, 1, 1);
-
- TLRadius = new QLabel(gBCylindre);
- TLRadius->setObjectName(QString::fromUtf8("TLRadius"));
- sizePolicy.setHeightForWidth(TLRadius->sizePolicy().hasHeightForWidth());
- TLRadius->setSizePolicy(sizePolicy);
- TLRadius->setWordWrap(false);
-
- gridLayout3->addWidget(TLRadius, 3, 0, 1, 1);
-
- SpinBox_Xaxis = new QDoubleSpinBox(gBCylindre);
- SpinBox_Xaxis->setObjectName(QString::fromUtf8("SpinBox_Xaxis"));
- SpinBox_Xaxis->setDecimals(5);
- SpinBox_Xaxis->setMaximum(1e+09);
- SpinBox_Xaxis->setMinimum(-1e+09);
- SpinBox_Xaxis->setValue(0);
-
- gridLayout3->addWidget(SpinBox_Xaxis, 0, 3, 1, 1);
-
- SpinBox_Yaxis = new QDoubleSpinBox(gBCylindre);
- SpinBox_Yaxis->setObjectName(QString::fromUtf8("SpinBox_Yaxis"));
- SpinBox_Yaxis->setDecimals(5);
- SpinBox_Yaxis->setMaximum(1e+09);
- SpinBox_Yaxis->setMinimum(-1e+09);
- SpinBox_Yaxis->setValue(0);
+ gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
+ TLXmini = new QLabel(gBBox);
+ TLXmini->setObjectName(QString::fromUtf8("TLXmini"));
+ sizePolicy.setHeightForWidth(TLXmini->sizePolicy().hasHeightForWidth());
+ TLXmini->setSizePolicy(sizePolicy);
+ TLXmini->setWordWrap(false);
- gridLayout3->addWidget(SpinBox_Yaxis, 1, 3, 1, 1);
+ gridLayout2->addWidget(TLXmini, 0, 0, 1, 1);
- SpinBox_Zaxis = new QDoubleSpinBox(gBCylindre);
- SpinBox_Zaxis->setObjectName(QString::fromUtf8("SpinBox_Zaxis"));
- SpinBox_Zaxis->setDecimals(5);
- SpinBox_Zaxis->setMaximum(1e+09);
- SpinBox_Zaxis->setMinimum(-1e+09);
- SpinBox_Zaxis->setValue(0);
+ SpinBox_Xmini = new QDoubleSpinBox(gBBox);
+ SpinBox_Xmini->setObjectName(QString::fromUtf8("SpinBox_Xmini"));
+ SpinBox_Xmini->setDecimals(5);
+ SpinBox_Xmini->setMinimum(-1e+09);
+ SpinBox_Xmini->setMaximum(1e+09);
+ SpinBox_Xmini->setValue(0);
- gridLayout3->addWidget(SpinBox_Zaxis, 2, 3, 1, 1);
+ gridLayout2->addWidget(SpinBox_Xmini, 0, 1, 1, 1);
- TLZaxis = new QLabel(gBCylindre);
- TLZaxis->setObjectName(QString::fromUtf8("TLZaxis"));
- sizePolicy.setHeightForWidth(TLZaxis->sizePolicy().hasHeightForWidth());
- TLZaxis->setSizePolicy(sizePolicy);
- TLZaxis->setWordWrap(false);
+ TLYmini = new QLabel(gBBox);
+ TLYmini->setObjectName(QString::fromUtf8("TLYmini"));
+ sizePolicy.setHeightForWidth(TLYmini->sizePolicy().hasHeightForWidth());
+ TLYmini->setSizePolicy(sizePolicy);
+ TLYmini->setWordWrap(false);
- gridLayout3->addWidget(TLZaxis, 2, 2, 1, 1);
+ gridLayout2->addWidget(TLYmini, 1, 0, 1, 1);
- TLYaxis = new QLabel(gBCylindre);
- TLYaxis->setObjectName(QString::fromUtf8("TLYaxis"));
- sizePolicy.setHeightForWidth(TLYaxis->sizePolicy().hasHeightForWidth());
- TLYaxis->setSizePolicy(sizePolicy);
- TLYaxis->setWordWrap(false);
+ SpinBox_Ymini = new QDoubleSpinBox(gBBox);
+ SpinBox_Ymini->setObjectName(QString::fromUtf8("SpinBox_Ymini"));
+ SpinBox_Ymini->setDecimals(5);
+ SpinBox_Ymini->setMinimum(-1e+09);
+ SpinBox_Ymini->setMaximum(1e+09);
+ SpinBox_Ymini->setValue(0);
- gridLayout3->addWidget(TLYaxis, 1, 2, 1, 1);
+ gridLayout2->addWidget(SpinBox_Ymini, 1, 1, 1, 1);
- TLXaxis = new QLabel(gBCylindre);
- TLXaxis->setObjectName(QString::fromUtf8("TLXaxis"));
- sizePolicy.setHeightForWidth(TLXaxis->sizePolicy().hasHeightForWidth());
- TLXaxis->setSizePolicy(sizePolicy);
- TLXaxis->setWordWrap(false);
+ TLZmini = new QLabel(gBBox);
+ TLZmini->setObjectName(QString::fromUtf8("TLZmini"));
+ sizePolicy.setHeightForWidth(TLZmini->sizePolicy().hasHeightForWidth());
+ TLZmini->setSizePolicy(sizePolicy);
+ TLZmini->setWordWrap(false);
- gridLayout3->addWidget(TLXaxis, 0, 2, 1, 1);
+ gridLayout2->addWidget(TLZmini, 2, 0, 1, 1);
- SpinBox_Ybase = new QDoubleSpinBox(gBCylindre);
- SpinBox_Ybase->setObjectName(QString::fromUtf8("SpinBox_Ybase"));
- SpinBox_Ybase->setDecimals(5);
- SpinBox_Ybase->setMaximum(1e+09);
- SpinBox_Ybase->setMinimum(-1e+09);
- SpinBox_Ybase->setValue(0);
+ SpinBox_Zmini = new QDoubleSpinBox(gBBox);
+ SpinBox_Zmini->setObjectName(QString::fromUtf8("SpinBox_Zmini"));
+ SpinBox_Zmini->setDecimals(5);
+ SpinBox_Zmini->setMinimum(-1e+09);
+ SpinBox_Zmini->setMaximum(1e+09);
+ SpinBox_Zmini->setValue(0);
- gridLayout3->addWidget(SpinBox_Ybase, 1, 1, 1, 1);
+ gridLayout2->addWidget(SpinBox_Zmini, 2, 1, 1, 1);
- TLYbase = new QLabel(gBCylindre);
- TLYbase->setObjectName(QString::fromUtf8("TLYbase"));
- sizePolicy.setHeightForWidth(TLYbase->sizePolicy().hasHeightForWidth());
- TLYbase->setSizePolicy(sizePolicy);
- TLYbase->setWordWrap(false);
+ TLXmaxi = new QLabel(gBBox);
+ TLXmaxi->setObjectName(QString::fromUtf8("TLXmaxi"));
+ sizePolicy.setHeightForWidth(TLXmaxi->sizePolicy().hasHeightForWidth());
+ TLXmaxi->setSizePolicy(sizePolicy);
+ TLXmaxi->setWordWrap(false);
- gridLayout3->addWidget(TLYbase, 1, 0, 1, 1);
+ gridLayout2->addWidget(TLXmaxi, 0, 2, 1, 1);
- TLZbase = new QLabel(gBCylindre);
- TLZbase->setObjectName(QString::fromUtf8("TLZbase"));
- sizePolicy.setHeightForWidth(TLZbase->sizePolicy().hasHeightForWidth());
- TLZbase->setSizePolicy(sizePolicy);
- TLZbase->setWordWrap(false);
+ TLZmaxi = new QLabel(gBBox);
+ TLZmaxi->setObjectName(QString::fromUtf8("TLZmaxi"));
+ sizePolicy.setHeightForWidth(TLZmaxi->sizePolicy().hasHeightForWidth());
+ TLZmaxi->setSizePolicy(sizePolicy);
+ TLZmaxi->setWordWrap(false);
- gridLayout3->addWidget(TLZbase, 2, 0, 1, 1);
+ gridLayout2->addWidget(TLZmaxi, 2, 2, 1, 1);
- SpinBox_Zbase = new QDoubleSpinBox(gBCylindre);
- SpinBox_Zbase->setObjectName(QString::fromUtf8("SpinBox_Zbase"));
- SpinBox_Zbase->setDecimals(5);
- SpinBox_Zbase->setMaximum(1e+09);
- SpinBox_Zbase->setMinimum(-1e+09);
- SpinBox_Zbase->setValue(0);
+ SpinBox_Zmaxi = new QDoubleSpinBox(gBBox);
+ SpinBox_Zmaxi->setObjectName(QString::fromUtf8("SpinBox_Zmaxi"));
+ SpinBox_Zmaxi->setDecimals(5);
+ SpinBox_Zmaxi->setMinimum(-1e+09);
+ SpinBox_Zmaxi->setMaximum(1e+09);
+ SpinBox_Zmaxi->setValue(0);
- gridLayout3->addWidget(SpinBox_Zbase, 2, 1, 1, 1);
+ gridLayout2->addWidget(SpinBox_Zmaxi, 2, 3, 1, 1);
- SpinBox_Radius = new QDoubleSpinBox(gBCylindre);
- SpinBox_Radius->setObjectName(QString::fromUtf8("SpinBox_Radius"));
- SpinBox_Radius->setDecimals(5);
- SpinBox_Radius->setMaximum(1e+09);
+ TLYmaxi = new QLabel(gBBox);
+ TLYmaxi->setObjectName(QString::fromUtf8("TLYmaxi"));
+ sizePolicy.setHeightForWidth(TLYmaxi->sizePolicy().hasHeightForWidth());
+ TLYmaxi->setSizePolicy(sizePolicy);
+ TLYmaxi->setWordWrap(false);
- gridLayout3->addWidget(SpinBox_Radius, 3, 1, 1, 1);
+ gridLayout2->addWidget(TLYmaxi, 1, 2, 1, 1);
- TLXbase = new QLabel(gBCylindre);
- TLXbase->setObjectName(QString::fromUtf8("TLXbase"));
- sizePolicy.setHeightForWidth(TLXbase->sizePolicy().hasHeightForWidth());
- TLXbase->setSizePolicy(sizePolicy);
- TLXbase->setWordWrap(false);
+ SpinBox_Xmaxi = new QDoubleSpinBox(gBBox);
+ SpinBox_Xmaxi->setObjectName(QString::fromUtf8("SpinBox_Xmaxi"));
+ SpinBox_Xmaxi->setDecimals(5);
+ SpinBox_Xmaxi->setMinimum(-1e+09);
+ SpinBox_Xmaxi->setMaximum(1e+09);
+ SpinBox_Xmaxi->setValue(0);
- gridLayout3->addWidget(TLXbase, 0, 0, 1, 1);
+ gridLayout2->addWidget(SpinBox_Xmaxi, 0, 3, 1, 1);
- SpinBox_Xbase = new QDoubleSpinBox(gBCylindre);
- SpinBox_Xbase->setObjectName(QString::fromUtf8("SpinBox_Xbase"));
- SpinBox_Xbase->setDecimals(5);
- SpinBox_Xbase->setMaximum(1e+09);
- SpinBox_Xbase->setMinimum(-1e+09);
- SpinBox_Xbase->setValue(0);
+ SpinBox_Ymaxi = new QDoubleSpinBox(gBBox);
+ SpinBox_Ymaxi->setObjectName(QString::fromUtf8("SpinBox_Ymaxi"));
+ SpinBox_Ymaxi->setDecimals(5);
+ SpinBox_Ymaxi->setMinimum(-1e+09);
+ SpinBox_Ymaxi->setMaximum(1e+09);
+ SpinBox_Ymaxi->setValue(0);
- gridLayout3->addWidget(SpinBox_Xbase, 0, 1, 1, 1);
+ gridLayout2->addWidget(SpinBox_Ymaxi, 1, 3, 1, 1);
- gridLayout->addWidget(gBCylindre, 4, 0, 1, 2);
+ gridLayout->addWidget(gBBox, 2, 0, 1, 4);
gBSphere = new QGroupBox(CreateZone);
gBSphere->setObjectName(QString::fromUtf8("gBSphere"));
sizePolicy.setHeightForWidth(gBSphere->sizePolicy().hasHeightForWidth());
gBSphere->setSizePolicy(sizePolicy);
- gridLayout4 = new QGridLayout(gBSphere);
+ gridLayout3 = new QGridLayout(gBSphere);
#ifndef Q_OS_MAC
- gridLayout4->setSpacing(6);
+ gridLayout3->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout4->setContentsMargins(9, 9, 9, 9);
+ gridLayout3->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout4->setObjectName(QString::fromUtf8("gridLayout4"));
+ gridLayout3->setObjectName(QString::fromUtf8("gridLayout3"));
TLXcentre = new QLabel(gBSphere);
TLXcentre->setObjectName(QString::fromUtf8("TLXcentre"));
sizePolicy.setHeightForWidth(TLXcentre->sizePolicy().hasHeightForWidth());
TLXcentre->setSizePolicy(sizePolicy);
TLXcentre->setWordWrap(false);
- gridLayout4->addWidget(TLXcentre, 0, 0, 1, 1);
+ gridLayout3->addWidget(TLXcentre, 0, 0, 1, 1);
SpinBox_Xcentre = new QDoubleSpinBox(gBSphere);
SpinBox_Xcentre->setObjectName(QString::fromUtf8("SpinBox_Xcentre"));
SpinBox_Xcentre->setDecimals(5);
- SpinBox_Xcentre->setMaximum(1e+09);
SpinBox_Xcentre->setMinimum(-1e+09);
+ SpinBox_Xcentre->setMaximum(1e+09);
SpinBox_Xcentre->setValue(0);
- gridLayout4->addWidget(SpinBox_Xcentre, 0, 1, 1, 1);
+ gridLayout3->addWidget(SpinBox_Xcentre, 0, 1, 1, 1);
TLYcentre = new QLabel(gBSphere);
TLYcentre->setObjectName(QString::fromUtf8("TLYcentre"));
TLYcentre->setSizePolicy(sizePolicy);
TLYcentre->setWordWrap(false);
- gridLayout4->addWidget(TLYcentre, 1, 0, 1, 1);
+ gridLayout3->addWidget(TLYcentre, 1, 0, 1, 1);
SpinBox_Ycentre = new QDoubleSpinBox(gBSphere);
SpinBox_Ycentre->setObjectName(QString::fromUtf8("SpinBox_Ycentre"));
SpinBox_Ycentre->setDecimals(5);
- SpinBox_Ycentre->setMaximum(1e+09);
SpinBox_Ycentre->setMinimum(-1e+09);
+ SpinBox_Ycentre->setMaximum(1e+09);
SpinBox_Ycentre->setValue(0);
- gridLayout4->addWidget(SpinBox_Ycentre, 1, 1, 1, 1);
+ gridLayout3->addWidget(SpinBox_Ycentre, 1, 1, 1, 1);
TLRayon = new QLabel(gBSphere);
TLRayon->setObjectName(QString::fromUtf8("TLRayon"));
TLRayon->setSizePolicy(sizePolicy);
TLRayon->setWordWrap(false);
- gridLayout4->addWidget(TLRayon, 1, 2, 1, 1);
+ gridLayout3->addWidget(TLRayon, 1, 2, 1, 1);
SpinBox_Rayon = new QDoubleSpinBox(gBSphere);
SpinBox_Rayon->setObjectName(QString::fromUtf8("SpinBox_Rayon"));
SpinBox_Rayon->setDecimals(5);
+ SpinBox_Rayon->setMinimum(0);
SpinBox_Rayon->setMaximum(1e+09);
- SpinBox_Rayon->setMinimum(-1e+09);
SpinBox_Rayon->setValue(0);
- gridLayout4->addWidget(SpinBox_Rayon, 1, 3, 1, 1);
+ gridLayout3->addWidget(SpinBox_Rayon, 1, 3, 1, 1);
TLZcentre = new QLabel(gBSphere);
TLZcentre->setObjectName(QString::fromUtf8("TLZcentre"));
TLZcentre->setSizePolicy(sizePolicy);
TLZcentre->setWordWrap(false);
- gridLayout4->addWidget(TLZcentre, 2, 0, 1, 1);
+ gridLayout3->addWidget(TLZcentre, 2, 0, 1, 1);
SpinBox_Zcentre = new QDoubleSpinBox(gBSphere);
SpinBox_Zcentre->setObjectName(QString::fromUtf8("SpinBox_Zcentre"));
SpinBox_Zcentre->setDecimals(5);
- SpinBox_Zcentre->setMaximum(1e+09);
SpinBox_Zcentre->setMinimum(-1e+09);
+ SpinBox_Zcentre->setMaximum(1e+09);
SpinBox_Zcentre->setValue(0);
- gridLayout4->addWidget(SpinBox_Zcentre, 2, 1, 1, 1);
+ gridLayout3->addWidget(SpinBox_Zcentre, 2, 1, 1, 1);
- gridLayout->addWidget(gBSphere, 3, 0, 1, 2);
+ gridLayout->addWidget(gBSphere, 3, 0, 1, 4);
- gBBox = new QGroupBox(CreateZone);
- gBBox->setObjectName(QString::fromUtf8("gBBox"));
- sizePolicy.setHeightForWidth(gBBox->sizePolicy().hasHeightForWidth());
- gBBox->setSizePolicy(sizePolicy);
- gridLayout5 = new QGridLayout(gBBox);
+ gBCylindre = new QGroupBox(CreateZone);
+ gBCylindre->setObjectName(QString::fromUtf8("gBCylindre"));
+ sizePolicy.setHeightForWidth(gBCylindre->sizePolicy().hasHeightForWidth());
+ gBCylindre->setSizePolicy(sizePolicy);
+ gBCylindre->setFocusPolicy(Qt::TabFocus);
+ gridLayout4 = new QGridLayout(gBCylindre);
#ifndef Q_OS_MAC
- gridLayout5->setSpacing(6);
+ gridLayout4->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout5->setContentsMargins(9, 9, 9, 9);
+ gridLayout4->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout5->setObjectName(QString::fromUtf8("gridLayout5"));
- TLXmini = new QLabel(gBBox);
- TLXmini->setObjectName(QString::fromUtf8("TLXmini"));
- sizePolicy.setHeightForWidth(TLXmini->sizePolicy().hasHeightForWidth());
- TLXmini->setSizePolicy(sizePolicy);
- TLXmini->setWordWrap(false);
+ gridLayout4->setObjectName(QString::fromUtf8("gridLayout4"));
+ SpinBox_Haut = new QDoubleSpinBox(gBCylindre);
+ SpinBox_Haut->setObjectName(QString::fromUtf8("SpinBox_Haut"));
+ SpinBox_Haut->setDecimals(5);
+ SpinBox_Haut->setMaximum(1e+09);
- gridLayout5->addWidget(TLXmini, 0, 0, 1, 1);
+ gridLayout4->addWidget(SpinBox_Haut, 4, 1, 1, 1);
- SpinBox_Xmini = new QDoubleSpinBox(gBBox);
- SpinBox_Xmini->setObjectName(QString::fromUtf8("SpinBox_Xmini"));
- SpinBox_Xmini->setDecimals(5);
- SpinBox_Xmini->setMaximum(1e+09);
- SpinBox_Xmini->setMinimum(-1e+09);
- SpinBox_Xmini->setValue(0);
+ TLHaut = new QLabel(gBCylindre);
+ TLHaut->setObjectName(QString::fromUtf8("TLHaut"));
+ sizePolicy.setHeightForWidth(TLHaut->sizePolicy().hasHeightForWidth());
+ TLHaut->setSizePolicy(sizePolicy);
+ TLHaut->setWordWrap(false);
- gridLayout5->addWidget(SpinBox_Xmini, 0, 1, 1, 1);
+ gridLayout4->addWidget(TLHaut, 4, 0, 1, 1);
- TLYmini = new QLabel(gBBox);
- TLYmini->setObjectName(QString::fromUtf8("TLYmini"));
- sizePolicy.setHeightForWidth(TLYmini->sizePolicy().hasHeightForWidth());
- TLYmini->setSizePolicy(sizePolicy);
- TLYmini->setWordWrap(false);
+ TLRadius = new QLabel(gBCylindre);
+ TLRadius->setObjectName(QString::fromUtf8("TLRadius"));
+ sizePolicy.setHeightForWidth(TLRadius->sizePolicy().hasHeightForWidth());
+ TLRadius->setSizePolicy(sizePolicy);
+ TLRadius->setWordWrap(false);
- gridLayout5->addWidget(TLYmini, 1, 0, 1, 1);
+ gridLayout4->addWidget(TLRadius, 3, 0, 1, 1);
- SpinBox_Ymini = new QDoubleSpinBox(gBBox);
- SpinBox_Ymini->setObjectName(QString::fromUtf8("SpinBox_Ymini"));
- SpinBox_Ymini->setDecimals(5);
- SpinBox_Ymini->setMaximum(1e+09);
- SpinBox_Ymini->setMinimum(-1e+09);
- SpinBox_Ymini->setValue(0);
+ SpinBox_Xaxis = new QDoubleSpinBox(gBCylindre);
+ SpinBox_Xaxis->setObjectName(QString::fromUtf8("SpinBox_Xaxis"));
+ SpinBox_Xaxis->setDecimals(5);
+ SpinBox_Xaxis->setMinimum(-1e+09);
+ SpinBox_Xaxis->setMaximum(1e+09);
+ SpinBox_Xaxis->setValue(0);
- gridLayout5->addWidget(SpinBox_Ymini, 1, 1, 1, 1);
+ gridLayout4->addWidget(SpinBox_Xaxis, 0, 3, 1, 1);
- TLZmini = new QLabel(gBBox);
- TLZmini->setObjectName(QString::fromUtf8("TLZmini"));
- sizePolicy.setHeightForWidth(TLZmini->sizePolicy().hasHeightForWidth());
- TLZmini->setSizePolicy(sizePolicy);
- TLZmini->setWordWrap(false);
+ SpinBox_Yaxis = new QDoubleSpinBox(gBCylindre);
+ SpinBox_Yaxis->setObjectName(QString::fromUtf8("SpinBox_Yaxis"));
+ SpinBox_Yaxis->setDecimals(5);
+ SpinBox_Yaxis->setMinimum(-1e+09);
+ SpinBox_Yaxis->setMaximum(1e+09);
+ SpinBox_Yaxis->setValue(0);
- gridLayout5->addWidget(TLZmini, 2, 0, 1, 1);
+ gridLayout4->addWidget(SpinBox_Yaxis, 1, 3, 1, 1);
- SpinBox_Zmini = new QDoubleSpinBox(gBBox);
- SpinBox_Zmini->setObjectName(QString::fromUtf8("SpinBox_Zmini"));
- SpinBox_Zmini->setDecimals(5);
- SpinBox_Zmini->setMaximum(1e+09);
- SpinBox_Zmini->setMinimum(-1e+09);
- SpinBox_Zmini->setValue(0);
+ SpinBox_Zaxis = new QDoubleSpinBox(gBCylindre);
+ SpinBox_Zaxis->setObjectName(QString::fromUtf8("SpinBox_Zaxis"));
+ SpinBox_Zaxis->setDecimals(5);
+ SpinBox_Zaxis->setMinimum(-1e+09);
+ SpinBox_Zaxis->setMaximum(1e+09);
+ SpinBox_Zaxis->setValue(0);
- gridLayout5->addWidget(SpinBox_Zmini, 2, 1, 1, 1);
+ gridLayout4->addWidget(SpinBox_Zaxis, 2, 3, 1, 1);
- TLXmaxi = new QLabel(gBBox);
- TLXmaxi->setObjectName(QString::fromUtf8("TLXmaxi"));
- sizePolicy.setHeightForWidth(TLXmaxi->sizePolicy().hasHeightForWidth());
- TLXmaxi->setSizePolicy(sizePolicy);
- TLXmaxi->setWordWrap(false);
+ TLZaxis = new QLabel(gBCylindre);
+ TLZaxis->setObjectName(QString::fromUtf8("TLZaxis"));
+ sizePolicy.setHeightForWidth(TLZaxis->sizePolicy().hasHeightForWidth());
+ TLZaxis->setSizePolicy(sizePolicy);
+ TLZaxis->setWordWrap(false);
- gridLayout5->addWidget(TLXmaxi, 0, 2, 1, 1);
+ gridLayout4->addWidget(TLZaxis, 2, 2, 1, 1);
- TLZmaxi = new QLabel(gBBox);
- TLZmaxi->setObjectName(QString::fromUtf8("TLZmaxi"));
- sizePolicy.setHeightForWidth(TLZmaxi->sizePolicy().hasHeightForWidth());
- TLZmaxi->setSizePolicy(sizePolicy);
- TLZmaxi->setWordWrap(false);
+ TLYaxis = new QLabel(gBCylindre);
+ TLYaxis->setObjectName(QString::fromUtf8("TLYaxis"));
+ sizePolicy.setHeightForWidth(TLYaxis->sizePolicy().hasHeightForWidth());
+ TLYaxis->setSizePolicy(sizePolicy);
+ TLYaxis->setWordWrap(false);
- gridLayout5->addWidget(TLZmaxi, 2, 2, 1, 1);
+ gridLayout4->addWidget(TLYaxis, 1, 2, 1, 1);
- SpinBox_Zmaxi = new QDoubleSpinBox(gBBox);
- SpinBox_Zmaxi->setObjectName(QString::fromUtf8("SpinBox_Zmaxi"));
- SpinBox_Zmaxi->setDecimals(5);
- SpinBox_Zmaxi->setMaximum(1e+09);
- SpinBox_Zmaxi->setMinimum(-1e+09);
- SpinBox_Zmaxi->setValue(0);
+ TLXaxis = new QLabel(gBCylindre);
+ TLXaxis->setObjectName(QString::fromUtf8("TLXaxis"));
+ sizePolicy.setHeightForWidth(TLXaxis->sizePolicy().hasHeightForWidth());
+ TLXaxis->setSizePolicy(sizePolicy);
+ TLXaxis->setWordWrap(false);
- gridLayout5->addWidget(SpinBox_Zmaxi, 2, 3, 1, 1);
+ gridLayout4->addWidget(TLXaxis, 0, 2, 1, 1);
- TLYmaxi = new QLabel(gBBox);
- TLYmaxi->setObjectName(QString::fromUtf8("TLYmaxi"));
- sizePolicy.setHeightForWidth(TLYmaxi->sizePolicy().hasHeightForWidth());
- TLYmaxi->setSizePolicy(sizePolicy);
- TLYmaxi->setWordWrap(false);
+ SpinBox_Ybase = new QDoubleSpinBox(gBCylindre);
+ SpinBox_Ybase->setObjectName(QString::fromUtf8("SpinBox_Ybase"));
+ SpinBox_Ybase->setDecimals(5);
+ SpinBox_Ybase->setMinimum(-1e+09);
+ SpinBox_Ybase->setMaximum(1e+09);
+ SpinBox_Ybase->setValue(0);
- gridLayout5->addWidget(TLYmaxi, 1, 2, 1, 1);
+ gridLayout4->addWidget(SpinBox_Ybase, 1, 1, 1, 1);
- SpinBox_Xmaxi = new QDoubleSpinBox(gBBox);
- SpinBox_Xmaxi->setObjectName(QString::fromUtf8("SpinBox_Xmaxi"));
- SpinBox_Xmaxi->setDecimals(5);
- SpinBox_Xmaxi->setMaximum(1e+09);
- SpinBox_Xmaxi->setMinimum(-1e+09);
- SpinBox_Xmaxi->setValue(0);
+ TLYbase = new QLabel(gBCylindre);
+ TLYbase->setObjectName(QString::fromUtf8("TLYbase"));
+ sizePolicy.setHeightForWidth(TLYbase->sizePolicy().hasHeightForWidth());
+ TLYbase->setSizePolicy(sizePolicy);
+ TLYbase->setWordWrap(false);
- gridLayout5->addWidget(SpinBox_Xmaxi, 0, 3, 1, 1);
+ gridLayout4->addWidget(TLYbase, 1, 0, 1, 1);
- SpinBox_Ymaxi = new QDoubleSpinBox(gBBox);
- SpinBox_Ymaxi->setObjectName(QString::fromUtf8("SpinBox_Ymaxi"));
- SpinBox_Ymaxi->setDecimals(5);
- SpinBox_Ymaxi->setMaximum(1e+09);
- SpinBox_Ymaxi->setMinimum(-1e+09);
- SpinBox_Ymaxi->setValue(0);
+ TLZbase = new QLabel(gBCylindre);
+ TLZbase->setObjectName(QString::fromUtf8("TLZbase"));
+ sizePolicy.setHeightForWidth(TLZbase->sizePolicy().hasHeightForWidth());
+ TLZbase->setSizePolicy(sizePolicy);
+ TLZbase->setWordWrap(false);
- gridLayout5->addWidget(SpinBox_Ymaxi, 1, 3, 1, 1);
+ gridLayout4->addWidget(TLZbase, 2, 0, 1, 1);
+ SpinBox_Zbase = new QDoubleSpinBox(gBCylindre);
+ SpinBox_Zbase->setObjectName(QString::fromUtf8("SpinBox_Zbase"));
+ SpinBox_Zbase->setDecimals(5);
+ SpinBox_Zbase->setMinimum(-1e+09);
+ SpinBox_Zbase->setMaximum(1e+09);
+ SpinBox_Zbase->setValue(0);
- gridLayout->addWidget(gBBox, 2, 0, 1, 2);
+ gridLayout4->addWidget(SpinBox_Zbase, 2, 1, 1, 1);
- LEName = new QLineEdit(CreateZone);
- LEName->setObjectName(QString::fromUtf8("LEName"));
- LEName->setMaxLength(32);
+ SpinBox_Radius = new QDoubleSpinBox(gBCylindre);
+ SpinBox_Radius->setObjectName(QString::fromUtf8("SpinBox_Radius"));
+ SpinBox_Radius->setDecimals(5);
+ SpinBox_Radius->setMaximum(1e+09);
- gridLayout->addWidget(LEName, 0, 1, 1, 1);
+ gridLayout4->addWidget(SpinBox_Radius, 3, 1, 1, 1);
- Name = new QLabel(CreateZone);
- Name->setObjectName(QString::fromUtf8("Name"));
+ TLXbase = new QLabel(gBCylindre);
+ TLXbase->setObjectName(QString::fromUtf8("TLXbase"));
+ sizePolicy.setHeightForWidth(TLXbase->sizePolicy().hasHeightForWidth());
+ TLXbase->setSizePolicy(sizePolicy);
+ TLXbase->setWordWrap(false);
- gridLayout->addWidget(Name, 0, 0, 1, 1);
+ gridLayout4->addWidget(TLXbase, 0, 0, 1, 1);
+
+ SpinBox_Xbase = new QDoubleSpinBox(gBCylindre);
+ SpinBox_Xbase->setObjectName(QString::fromUtf8("SpinBox_Xbase"));
+ SpinBox_Xbase->setDecimals(5);
+ SpinBox_Xbase->setMinimum(-1e+09);
+ SpinBox_Xbase->setMaximum(1e+09);
+ SpinBox_Xbase->setValue(0);
+
+ gridLayout4->addWidget(SpinBox_Xbase, 0, 1, 1, 1);
+
+
+ gridLayout->addWidget(gBCylindre, 4, 0, 1, 4);
gBPipe = new QGroupBox(CreateZone);
gBPipe->setObjectName(QString::fromUtf8("gBPipe"));
sizePolicy.setHeightForWidth(gBPipe->sizePolicy().hasHeightForWidth());
gBPipe->setSizePolicy(sizePolicy);
- gridLayout6 = new QGridLayout(gBPipe);
+ gridLayout5 = new QGridLayout(gBPipe);
#ifndef Q_OS_MAC
- gridLayout6->setSpacing(6);
+ gridLayout5->setSpacing(6);
#endif
#ifndef Q_OS_MAC
- gridLayout6->setContentsMargins(9, 9, 9, 9);
+ gridLayout5->setContentsMargins(9, 9, 9, 9);
#endif
- gridLayout6->setObjectName(QString::fromUtf8("gridLayout6"));
+ gridLayout5->setObjectName(QString::fromUtf8("gridLayout5"));
TLHaut_p = new QLabel(gBPipe);
TLHaut_p->setObjectName(QString::fromUtf8("TLHaut_p"));
sizePolicy.setHeightForWidth(TLHaut_p->sizePolicy().hasHeightForWidth());
TLHaut_p->setSizePolicy(sizePolicy);
TLHaut_p->setWordWrap(false);
- gridLayout6->addWidget(TLHaut_p, 4, 0, 1, 1);
+ gridLayout5->addWidget(TLHaut_p, 4, 0, 1, 1);
SpinBox_Xbase_p = new QDoubleSpinBox(gBPipe);
SpinBox_Xbase_p->setObjectName(QString::fromUtf8("SpinBox_Xbase_p"));
SpinBox_Xbase_p->setDecimals(5);
- SpinBox_Xbase_p->setMaximum(1e+09);
SpinBox_Xbase_p->setMinimum(-1e+09);
+ SpinBox_Xbase_p->setMaximum(1e+09);
SpinBox_Xbase_p->setValue(0);
- gridLayout6->addWidget(SpinBox_Xbase_p, 0, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_Xbase_p, 0, 1, 1, 1);
TLXbase_p = new QLabel(gBPipe);
TLXbase_p->setObjectName(QString::fromUtf8("TLXbase_p"));
TLXbase_p->setSizePolicy(sizePolicy);
TLXbase_p->setWordWrap(false);
- gridLayout6->addWidget(TLXbase_p, 0, 0, 1, 1);
+ gridLayout5->addWidget(TLXbase_p, 0, 0, 1, 1);
SpinBox_Radius_int = new QDoubleSpinBox(gBPipe);
SpinBox_Radius_int->setObjectName(QString::fromUtf8("SpinBox_Radius_int"));
SpinBox_Radius_int->setDecimals(5);
SpinBox_Radius_int->setMaximum(1e+09);
- gridLayout6->addWidget(SpinBox_Radius_int, 3, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_Radius_int, 3, 1, 1, 1);
SpinBox_Zbase_p = new QDoubleSpinBox(gBPipe);
SpinBox_Zbase_p->setObjectName(QString::fromUtf8("SpinBox_Zbase_p"));
SpinBox_Zbase_p->setDecimals(5);
- SpinBox_Zbase_p->setMaximum(1e+09);
SpinBox_Zbase_p->setMinimum(-1e+09);
+ SpinBox_Zbase_p->setMaximum(1e+09);
SpinBox_Zbase_p->setValue(0);
- gridLayout6->addWidget(SpinBox_Zbase_p, 2, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_Zbase_p, 2, 1, 1, 1);
TLRadius_int = new QLabel(gBPipe);
TLRadius_int->setObjectName(QString::fromUtf8("TLRadius_int"));
TLRadius_int->setSizePolicy(sizePolicy);
TLRadius_int->setWordWrap(false);
- gridLayout6->addWidget(TLRadius_int, 3, 0, 1, 1);
+ gridLayout5->addWidget(TLRadius_int, 3, 0, 1, 1);
TLZbase_p = new QLabel(gBPipe);
TLZbase_p->setObjectName(QString::fromUtf8("TLZbase_p"));
TLZbase_p->setSizePolicy(sizePolicy);
TLZbase_p->setWordWrap(false);
- gridLayout6->addWidget(TLZbase_p, 2, 0, 1, 1);
+ gridLayout5->addWidget(TLZbase_p, 2, 0, 1, 1);
TLYbase_p = new QLabel(gBPipe);
TLYbase_p->setObjectName(QString::fromUtf8("TLYbase_p"));
TLYbase_p->setSizePolicy(sizePolicy);
TLYbase_p->setWordWrap(false);
- gridLayout6->addWidget(TLYbase_p, 1, 0, 1, 1);
+ gridLayout5->addWidget(TLYbase_p, 1, 0, 1, 1);
SpinBox_Ybase_p = new QDoubleSpinBox(gBPipe);
SpinBox_Ybase_p->setObjectName(QString::fromUtf8("SpinBox_Ybase_p"));
SpinBox_Ybase_p->setDecimals(5);
- SpinBox_Ybase_p->setMaximum(1e+09);
SpinBox_Ybase_p->setMinimum(-1e+09);
+ SpinBox_Ybase_p->setMaximum(1e+09);
SpinBox_Ybase_p->setValue(0);
- gridLayout6->addWidget(SpinBox_Ybase_p, 1, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_Ybase_p, 1, 1, 1, 1);
TLXaxis_p = new QLabel(gBPipe);
TLXaxis_p->setObjectName(QString::fromUtf8("TLXaxis_p"));
TLXaxis_p->setSizePolicy(sizePolicy);
TLXaxis_p->setWordWrap(false);
- gridLayout6->addWidget(TLXaxis_p, 0, 2, 1, 1);
+ gridLayout5->addWidget(TLXaxis_p, 0, 2, 1, 1);
TLYaxis_p = new QLabel(gBPipe);
TLYaxis_p->setObjectName(QString::fromUtf8("TLYaxis_p"));
TLYaxis_p->setSizePolicy(sizePolicy);
TLYaxis_p->setWordWrap(false);
- gridLayout6->addWidget(TLYaxis_p, 1, 2, 1, 1);
+ gridLayout5->addWidget(TLYaxis_p, 1, 2, 1, 1);
TLZaxis_p = new QLabel(gBPipe);
TLZaxis_p->setObjectName(QString::fromUtf8("TLZaxis_p"));
TLZaxis_p->setSizePolicy(sizePolicy);
TLZaxis_p->setWordWrap(false);
- gridLayout6->addWidget(TLZaxis_p, 2, 2, 1, 1);
+ gridLayout5->addWidget(TLZaxis_p, 2, 2, 1, 1);
SpinBox_Zaxis_p = new QDoubleSpinBox(gBPipe);
SpinBox_Zaxis_p->setObjectName(QString::fromUtf8("SpinBox_Zaxis_p"));
SpinBox_Zaxis_p->setDecimals(5);
- SpinBox_Zaxis_p->setMaximum(1e+09);
SpinBox_Zaxis_p->setMinimum(-1e+09);
+ SpinBox_Zaxis_p->setMaximum(1e+09);
SpinBox_Zaxis_p->setValue(0);
- gridLayout6->addWidget(SpinBox_Zaxis_p, 2, 3, 1, 1);
+ gridLayout5->addWidget(SpinBox_Zaxis_p, 2, 3, 1, 1);
SpinBox_Yaxis_p = new QDoubleSpinBox(gBPipe);
SpinBox_Yaxis_p->setObjectName(QString::fromUtf8("SpinBox_Yaxis_p"));
SpinBox_Yaxis_p->setDecimals(5);
- SpinBox_Yaxis_p->setMaximum(1e+09);
SpinBox_Yaxis_p->setMinimum(-1e+09);
+ SpinBox_Yaxis_p->setMaximum(1e+09);
SpinBox_Yaxis_p->setValue(0);
- gridLayout6->addWidget(SpinBox_Yaxis_p, 1, 3, 1, 1);
+ gridLayout5->addWidget(SpinBox_Yaxis_p, 1, 3, 1, 1);
SpinBox_Xaxis_p = new QDoubleSpinBox(gBPipe);
SpinBox_Xaxis_p->setObjectName(QString::fromUtf8("SpinBox_Xaxis_p"));
SpinBox_Xaxis_p->setDecimals(5);
- SpinBox_Xaxis_p->setMaximum(1e+09);
SpinBox_Xaxis_p->setMinimum(-1e+09);
+ SpinBox_Xaxis_p->setMaximum(1e+09);
SpinBox_Xaxis_p->setValue(0);
- gridLayout6->addWidget(SpinBox_Xaxis_p, 0, 3, 1, 1);
+ gridLayout5->addWidget(SpinBox_Xaxis_p, 0, 3, 1, 1);
SpinBox_Radius_ext = new QDoubleSpinBox(gBPipe);
SpinBox_Radius_ext->setObjectName(QString::fromUtf8("SpinBox_Radius_ext"));
SpinBox_Radius_ext->setDecimals(5);
SpinBox_Radius_ext->setMaximum(1e+09);
- gridLayout6->addWidget(SpinBox_Radius_ext, 3, 3, 1, 1);
+ gridLayout5->addWidget(SpinBox_Radius_ext, 3, 3, 1, 1);
TLRadius_ext = new QLabel(gBPipe);
TLRadius_ext->setObjectName(QString::fromUtf8("TLRadius_ext"));
TLRadius_ext->setSizePolicy(sizePolicy);
TLRadius_ext->setWordWrap(false);
- gridLayout6->addWidget(TLRadius_ext, 3, 2, 1, 1);
+ gridLayout5->addWidget(TLRadius_ext, 3, 2, 1, 1);
SpinBox_Haut_p = new QDoubleSpinBox(gBPipe);
SpinBox_Haut_p->setObjectName(QString::fromUtf8("SpinBox_Haut_p"));
SpinBox_Haut_p->setDecimals(5);
SpinBox_Haut_p->setMaximum(1e+09);
- gridLayout6->addWidget(SpinBox_Haut_p, 4, 1, 1, 1);
+ gridLayout5->addWidget(SpinBox_Haut_p, 4, 1, 1, 1);
+
+
+ gridLayout->addWidget(gBPipe, 5, 0, 1, 5);
+
+ GBButtons = new QGroupBox(CreateZone);
+ GBButtons->setObjectName(QString::fromUtf8("GBButtons"));
+ sizePolicy.setHeightForWidth(GBButtons->sizePolicy().hasHeightForWidth());
+ GBButtons->setSizePolicy(sizePolicy);
+ gridLayout6 = new QGridLayout(GBButtons);
+#ifndef Q_OS_MAC
+ gridLayout6->setSpacing(6);
+#endif
+#ifndef Q_OS_MAC
+ gridLayout6->setContentsMargins(9, 9, 9, 9);
+#endif
+ gridLayout6->setObjectName(QString::fromUtf8("gridLayout6"));
+ buttonHelp = new QPushButton(GBButtons);
+ buttonHelp->setObjectName(QString::fromUtf8("buttonHelp"));
+
+ gridLayout6->addWidget(buttonHelp, 0, 3, 1, 1);
+
+ buttonCancel = new QPushButton(GBButtons);
+ buttonCancel->setObjectName(QString::fromUtf8("buttonCancel"));
+
+ gridLayout6->addWidget(buttonCancel, 0, 2, 1, 1);
+
+ buttonApply = new QPushButton(GBButtons);
+ buttonApply->setObjectName(QString::fromUtf8("buttonApply"));
+
+ gridLayout6->addWidget(buttonApply, 0, 1, 1, 1);
+
+ buttonOk = new QPushButton(GBButtons);
+ buttonOk->setObjectName(QString::fromUtf8("buttonOk"));
+
+ gridLayout6->addWidget(buttonOk, 0, 0, 1, 1);
+
+
+ gridLayout->addWidget(GBButtons, 6, 0, 1, 3);
+ horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
- gridLayout->addWidget(gBPipe, 5, 0, 1, 2);
+ gridLayout->addItem(horizontalSpacer, 6, 3, 1, 2);
retranslateUi(CreateZone);
void retranslateUi(QDialog *CreateZone)
{
CreateZone->setWindowTitle(QApplication::translate("CreateZone", "Create a zone", 0, QApplication::UnicodeUTF8));
- GBButtons->setTitle(QString());
- buttonHelp->setText(QApplication::translate("CreateZone", "Help", 0, QApplication::UnicodeUTF8));
- buttonCancel->setText(QApplication::translate("CreateZone", "Cancel", 0, QApplication::UnicodeUTF8));
- buttonApply->setText(QApplication::translate("CreateZone", "Apply", 0, QApplication::UnicodeUTF8));
- buttonOk->setText(QApplication::translate("CreateZone", "OK", 0, QApplication::UnicodeUTF8));
+ Name->setText(QApplication::translate("CreateZone", "Name", 0, QApplication::UnicodeUTF8));
TypeZone->setTitle(QApplication::translate("CreateZone", "Type of zone", 0, QApplication::UnicodeUTF8));
RBSphere->setText(QApplication::translate("CreateZone", "Sphere", 0, QApplication::UnicodeUTF8));
RBPipe->setText(QApplication::translate("CreateZone", "Pipe", 0, QApplication::UnicodeUTF8));
RBCylinder->setText(QApplication::translate("CreateZone", "Cylinder", 0, QApplication::UnicodeUTF8));
RBBox->setText(QApplication::translate("CreateZone", "Box", 0, QApplication::UnicodeUTF8));
+ gBBox->setTitle(QApplication::translate("CreateZone", "Coordinates", 0, QApplication::UnicodeUTF8));
+ TLXmini->setText(QApplication::translate("CreateZone", "X mini", 0, QApplication::UnicodeUTF8));
+ TLYmini->setText(QApplication::translate("CreateZone", "Y mini", 0, QApplication::UnicodeUTF8));
+ TLZmini->setText(QApplication::translate("CreateZone", "Z mini", 0, QApplication::UnicodeUTF8));
+ TLXmaxi->setText(QApplication::translate("CreateZone", "X maxi", 0, QApplication::UnicodeUTF8));
+ TLZmaxi->setText(QApplication::translate("CreateZone", "Z maxi", 0, QApplication::UnicodeUTF8));
+ TLYmaxi->setText(QApplication::translate("CreateZone", "Y maxi", 0, QApplication::UnicodeUTF8));
+ gBSphere->setTitle(QApplication::translate("CreateZone", "Coordinates", 0, QApplication::UnicodeUTF8));
+ TLXcentre->setText(QApplication::translate("CreateZone", "X centre", 0, QApplication::UnicodeUTF8));
+ TLYcentre->setText(QApplication::translate("CreateZone", "Y centre", 0, QApplication::UnicodeUTF8));
+ TLRayon->setText(QApplication::translate("CreateZone", "Radius", 0, QApplication::UnicodeUTF8));
+ TLZcentre->setText(QApplication::translate("CreateZone", "Z centre", 0, QApplication::UnicodeUTF8));
gBCylindre->setTitle(QApplication::translate("CreateZone", "Coordinates", 0, QApplication::UnicodeUTF8));
TLHaut->setText(QApplication::translate("CreateZone", "Height", 0, QApplication::UnicodeUTF8));
TLRadius->setText(QApplication::translate("CreateZone", "Radius", 0, QApplication::UnicodeUTF8));
TLYbase->setText(QApplication::translate("CreateZone", "Y base", 0, QApplication::UnicodeUTF8));
TLZbase->setText(QApplication::translate("CreateZone", "Z base", 0, QApplication::UnicodeUTF8));
TLXbase->setText(QApplication::translate("CreateZone", "X base", 0, QApplication::UnicodeUTF8));
- gBSphere->setTitle(QApplication::translate("CreateZone", "Coordinates", 0, QApplication::UnicodeUTF8));
- TLXcentre->setText(QApplication::translate("CreateZone", "X centre", 0, QApplication::UnicodeUTF8));
- TLYcentre->setText(QApplication::translate("CreateZone", "Y centre", 0, QApplication::UnicodeUTF8));
- TLRayon->setText(QApplication::translate("CreateZone", "Radius", 0, QApplication::UnicodeUTF8));
- TLZcentre->setText(QApplication::translate("CreateZone", "Z centre", 0, QApplication::UnicodeUTF8));
- gBBox->setTitle(QApplication::translate("CreateZone", "Coordinates", 0, QApplication::UnicodeUTF8));
- TLXmini->setText(QApplication::translate("CreateZone", "X mini", 0, QApplication::UnicodeUTF8));
- TLYmini->setText(QApplication::translate("CreateZone", "Y mini", 0, QApplication::UnicodeUTF8));
- TLZmini->setText(QApplication::translate("CreateZone", "Z mini", 0, QApplication::UnicodeUTF8));
- TLXmaxi->setText(QApplication::translate("CreateZone", "X maxi", 0, QApplication::UnicodeUTF8));
- TLZmaxi->setText(QApplication::translate("CreateZone", "Z maxi", 0, QApplication::UnicodeUTF8));
- TLYmaxi->setText(QApplication::translate("CreateZone", "Y maxi", 0, QApplication::UnicodeUTF8));
- Name->setText(QApplication::translate("CreateZone", "Name", 0, QApplication::UnicodeUTF8));
gBPipe->setTitle(QApplication::translate("CreateZone", "Coordinates", 0, QApplication::UnicodeUTF8));
TLHaut_p->setText(QApplication::translate("CreateZone", "Height", 0, QApplication::UnicodeUTF8));
TLXbase_p->setText(QApplication::translate("CreateZone", "X base", 0, QApplication::UnicodeUTF8));
TLYaxis_p->setText(QApplication::translate("CreateZone", "Y axis", 0, QApplication::UnicodeUTF8));
TLZaxis_p->setText(QApplication::translate("CreateZone", "Z axis", 0, QApplication::UnicodeUTF8));
TLRadius_ext->setText(QApplication::translate("CreateZone", "External radius", 0, QApplication::UnicodeUTF8));
+ GBButtons->setTitle(QString());
+ buttonHelp->setText(QApplication::translate("CreateZone", "Help", 0, QApplication::UnicodeUTF8));
+ buttonCancel->setText(QApplication::translate("CreateZone", "Cancel", 0, QApplication::UnicodeUTF8));
+ buttonApply->setText(QApplication::translate("CreateZone", "Apply", 0, QApplication::UnicodeUTF8));
+ buttonOk->setText(QApplication::translate("CreateZone", "OK", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>CreateZone</class>
- <widget class="QDialog" name="CreateZone" >
- <property name="geometry" >
+ <widget class="QDialog" name="CreateZone">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>551</width>
- <height>880</height>
+ <width>545</width>
+ <height>778</height>
</rect>
</property>
- <property name="windowTitle" >
+ <property name="sizeIncrement">
+ <size>
+ <width>1</width>
+ <height>1</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>550</width>
+ <height>400</height>
+ </size>
+ </property>
+ <property name="windowTitle">
<string>Create a zone</string>
</property>
- <property name="autoFillBackground" >
+ <property name="autoFillBackground">
<bool>true</bool>
</property>
- <property name="sizeGripEnabled" >
+ <property name="sizeGripEnabled">
<bool>true</bool>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="6" column="0" colspan="2" >
- <widget class="QGroupBox" name="GBButtons" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="Name">
+ <property name="text">
+ <string>Name</string>
</property>
- <property name="title" >
- <string/>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="LEName">
+ <property name="maxLength">
+ <number>32</number>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="3" >
- <widget class="QPushButton" name="buttonHelp" >
- <property name="text" >
- <string>Help</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QPushButton" name="buttonCancel" >
- <property name="text" >
- <string>Cancel</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QPushButton" name="buttonApply" >
- <property name="text" >
- <string>Apply</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0" >
- <widget class="QPushButton" name="buttonOk" >
- <property name="text" >
- <string>OK</string>
- </property>
- </widget>
- </item>
- </layout>
</widget>
</item>
- <item row="1" column="0" colspan="2" >
- <widget class="QGroupBox" name="TypeZone" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>142</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0" colspan="4">
+ <widget class="QGroupBox" name="TypeZone">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="minimumSize" >
+ <property name="minimumSize">
<size>
<width>340</width>
<height>0</height>
</size>
</property>
- <property name="title" >
+ <property name="title">
<string>Type of zone</string>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
+ <layout class="QGridLayout">
+ <property name="margin">
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="spacing">
<number>6</number>
</property>
- <item row="0" column="3" >
- <widget class="QRadioButton" name="RBSphere" >
- <property name="text" >
+ <item row="0" column="3">
+ <widget class="QRadioButton" name="RBSphere">
+ <property name="text">
<string>Sphere</string>
</property>
- <property name="icon" >
- <iconset>../../resources/zone_spherepoint.png</iconset>
+ <property name="icon">
+ <iconset>
+ <normaloff>../../resources/zone_spherepoint.png</normaloff>../../resources/zone_spherepoint.png</iconset>
</property>
</widget>
</item>
- <item row="0" column="2" >
- <widget class="QRadioButton" name="RBPipe" >
- <property name="text" >
+ <item row="0" column="2">
+ <widget class="QRadioButton" name="RBPipe">
+ <property name="text">
<string>Pipe</string>
</property>
- <property name="icon" >
- <iconset>../../resources/pipe.png</iconset>
+ <property name="icon">
+ <iconset>
+ <normaloff>../../resources/pipe.png</normaloff>../../resources/pipe.png</iconset>
</property>
</widget>
</item>
- <item row="0" column="1" >
- <widget class="QRadioButton" name="RBCylinder" >
- <property name="text" >
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="RBCylinder">
+ <property name="text">
<string>Cylinder</string>
</property>
- <property name="icon" >
- <iconset>../../resources/cylinderpointvector.png</iconset>
+ <property name="icon">
+ <iconset>
+ <normaloff>../../resources/cylinderpointvector.png</normaloff>../../resources/cylinderpointvector.png</iconset>
</property>
</widget>
</item>
- <item row="0" column="0" >
- <widget class="QRadioButton" name="RBBox" >
- <property name="text" >
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="RBBox">
+ <property name="text">
<string>Box</string>
</property>
- <property name="icon" >
- <iconset>../../resources/zone_boxdxyz.png</iconset>
+ <property name="icon">
+ <iconset>
+ <normaloff>../../resources/zone_boxdxyz.png</normaloff>../../resources/zone_boxdxyz.png</iconset>
</property>
- <property name="checkable" >
+ <property name="checkable">
<bool>true</bool>
</property>
- <property name="checked" >
+ <property name="checked">
<bool>true</bool>
</property>
</widget>
</layout>
</widget>
</item>
- <item row="4" column="0" colspan="2" >
- <widget class="QGroupBox" name="gBCylindre" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="1" column="4">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0" colspan="4">
+ <widget class="QGroupBox" name="gBBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="focusPolicy" >
- <enum>Qt::TabFocus</enum>
- </property>
- <property name="title" >
+ <property name="title">
<string>Coordinates</string>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
+ <layout class="QGridLayout">
+ <property name="margin">
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="spacing">
<number>6</number>
</property>
- <item row="4" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Haut" >
- <property name="decimals" >
- <number>5</number>
- </property>
- <property name="maximum" >
- <double>1000000000.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="4" column="0" >
- <widget class="QLabel" name="TLHaut" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" >
- <string>Height</string>
- </property>
- <property name="wordWrap" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="0" >
- <widget class="QLabel" name="TLRadius" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="0" column="0">
+ <widget class="QLabel" name="TLXmini">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>Radius</string>
+ <property name="text">
+ <string>X mini</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="0" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Xaxis" >
- <property name="decimals" >
- <number>5</number>
- </property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
- <double>-999999999.000000000000000</double>
- </property>
- <property name="value" >
- <double>0.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="1" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Yaxis" >
- <property name="decimals" >
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Xmini">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
- <double>0.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="2" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Zaxis" >
- <property name="decimals" >
- <number>5</number>
- </property>
- <property name="maximum" >
+ <property name="maximum">
<double>999999999.000000000000000</double>
</property>
- <property name="minimum" >
- <double>-999999999.000000000000000</double>
- </property>
- <property name="value" >
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="2" column="2" >
- <widget class="QLabel" name="TLZaxis" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="1" column="0">
+ <widget class="QLabel" name="TLYmini">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>Z axis</string>
+ <property name="text">
+ <string>Y mini</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="2" >
- <widget class="QLabel" name="TLYaxis" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Ymini">
+ <property name="decimals">
+ <number>5</number>
</property>
- <property name="text" >
- <string>Y axis</string>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
</property>
- <property name="wordWrap" >
- <bool>false</bool>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="0" column="2" >
- <widget class="QLabel" name="TLXaxis" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="2" column="0">
+ <widget class="QLabel" name="TLZmini">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>X axis</string>
+ <property name="text">
+ <string>Z mini</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Ybase" >
- <property name="decimals" >
+ <item row="2" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Zmini">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="1" column="0" >
- <widget class="QLabel" name="TLYbase" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="0" column="2">
+ <widget class="QLabel" name="TLXmaxi">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>Y base</string>
+ <property name="text">
+ <string>X maxi</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="0" >
- <widget class="QLabel" name="TLZbase" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="2" column="2">
+ <widget class="QLabel" name="TLZmaxi">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>Z base</string>
+ <property name="text">
+ <string>Z maxi</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Zbase" >
- <property name="decimals" >
+ <item row="2" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Zmaxi">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
- <double>0.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="3" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Radius" >
- <property name="decimals" >
- <number>5</number>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
</property>
- <property name="maximum" >
- <double>1000000000.000000000000000</double>
+ <property name="value">
+ <double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="0" column="0" >
- <widget class="QLabel" name="TLXbase" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="1" column="2">
+ <widget class="QLabel" name="TLYmaxi">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>X base</string>
+ <property name="text">
+ <string>Y maxi</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="0" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Xbase" >
- <property name="decimals" >
+ <item row="0" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Xmaxi">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
<double>999999999.000000000000000</double>
</property>
- <property name="minimum" >
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Ymaxi">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</layout>
</widget>
</item>
- <item row="3" column="0" colspan="2" >
- <widget class="QGroupBox" name="gBSphere" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="3" column="0" colspan="4">
+ <widget class="QGroupBox" name="gBSphere">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="title" >
+ <property name="title">
<string>Coordinates</string>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
+ <layout class="QGridLayout">
+ <property name="margin">
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="spacing">
<number>6</number>
</property>
- <item row="0" column="0" >
- <widget class="QLabel" name="TLXcentre" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="0" column="0">
+ <widget class="QLabel" name="TLXcentre">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>X centre</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="0" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Xcentre" >
- <property name="decimals" >
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Xcentre">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="1" column="0" >
- <widget class="QLabel" name="TLYcentre" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="1" column="0">
+ <widget class="QLabel" name="TLYcentre">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Y centre</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Ycentre" >
- <property name="decimals" >
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Ycentre">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="1" column="2" >
- <widget class="QLabel" name="TLRayon" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="1" column="2">
+ <widget class="QLabel" name="TLRayon">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Radius</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Rayon" >
- <property name="decimals" >
+ <item row="1" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Rayon">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
+ <property name="minimum">
+ <double>0.000000000000000</double>
</property>
- <property name="minimum" >
- <double>-999999999.000000000000000</double>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="2" column="0" >
- <widget class="QLabel" name="TLZcentre" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="2" column="0">
+ <widget class="QLabel" name="TLZcentre">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Z centre</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Zcentre" >
- <property name="decimals" >
+ <item row="2" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Zcentre">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</layout>
</widget>
</item>
- <item row="2" column="0" colspan="2" >
- <widget class="QGroupBox" name="gBBox" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="4" column="0" colspan="4">
+ <widget class="QGroupBox" name="gBCylindre">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="title" >
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="title">
<string>Coordinates</string>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
+ <layout class="QGridLayout">
+ <property name="margin">
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="spacing">
<number>6</number>
</property>
- <item row="0" column="0" >
- <widget class="QLabel" name="TLXmini" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="4" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Haut">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="maximum">
+ <double>1000000000.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="TLHaut">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>X mini</string>
+ <property name="text">
+ <string>Height</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="0" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Xmini" >
- <property name="decimals" >
+ <item row="3" column="0">
+ <widget class="QLabel" name="TLRadius">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Radius</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Xaxis">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
<double>999999999.000000000000000</double>
</property>
- <property name="minimum" >
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Yaxis">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
+ <double>-999999999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Zaxis">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="1" column="0" >
- <widget class="QLabel" name="TLYmini" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="2" column="2">
+ <widget class="QLabel" name="TLZaxis">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>Y mini</string>
+ <property name="text">
+ <string>Z axis</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Ymini" >
- <property name="decimals" >
- <number>5</number>
- </property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
+ <item row="1" column="2">
+ <widget class="QLabel" name="TLYaxis">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <property name="minimum" >
- <double>-999999999.000000000000000</double>
+ <property name="text">
+ <string>Y axis</string>
</property>
- <property name="value" >
- <double>0.000000000000000</double>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="0" >
- <widget class="QLabel" name="TLZmini" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="0" column="2">
+ <widget class="QLabel" name="TLXaxis">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>Z mini</string>
+ <property name="text">
+ <string>X axis</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Zmini" >
- <property name="decimals" >
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Ybase">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="0" column="2" >
- <widget class="QLabel" name="TLXmaxi" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="1" column="0">
+ <widget class="QLabel" name="TLYbase">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>X maxi</string>
+ <property name="text">
+ <string>Y base</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="2" >
- <widget class="QLabel" name="TLZmaxi" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="2" column="0">
+ <widget class="QLabel" name="TLZbase">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>Z maxi</string>
+ <property name="text">
+ <string>Z base</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Zmaxi" >
- <property name="decimals" >
+ <item row="2" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Zbase">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="1" column="2" >
- <widget class="QLabel" name="TLYmaxi" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="3" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Radius">
+ <property name="decimals">
+ <number>5</number>
+ </property>
+ <property name="maximum">
+ <double>1000000000.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="TLXbase">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
- <string>Y maxi</string>
+ <property name="text">
+ <string>X base</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="0" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Xmaxi" >
- <property name="decimals" >
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Xbase">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
- <double>0.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="1" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Ymaxi" >
- <property name="decimals" >
- <number>5</number>
- </property>
- <property name="maximum" >
+ <property name="maximum">
<double>999999999.000000000000000</double>
</property>
- <property name="minimum" >
- <double>-999999999.000000000000000</double>
- </property>
- <property name="value" >
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</layout>
</widget>
</item>
- <item row="0" column="1" >
- <widget class="QLineEdit" name="LEName" >
- <property name="maxLength" >
- <number>32</number>
- </property>
- </widget>
- </item>
- <item row="0" column="0" >
- <widget class="QLabel" name="Name" >
- <property name="text" >
- <string>Name</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0" colspan="2" >
- <widget class="QGroupBox" name="gBPipe" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="5" column="0" colspan="5">
+ <widget class="QGroupBox" name="gBPipe">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="title" >
+ <property name="title">
<string>Coordinates</string>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
+ <layout class="QGridLayout">
+ <property name="margin">
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="spacing">
<number>6</number>
</property>
- <item row="4" column="0" >
- <widget class="QLabel" name="TLHaut_p" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="4" column="0">
+ <widget class="QLabel" name="TLHaut_p">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Height</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="0" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Xbase_p" >
- <property name="decimals" >
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Xbase_p">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="0" column="0" >
- <widget class="QLabel" name="TLXbase_p" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="0" column="0">
+ <widget class="QLabel" name="TLXbase_p">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>X base</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="3" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Radius_int" >
- <property name="decimals" >
+ <item row="3" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Radius_int">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
+ <property name="maximum">
<double>1000000000.000000000000000</double>
</property>
</widget>
</item>
- <item row="2" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Zbase_p" >
- <property name="decimals" >
+ <item row="2" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Zbase_p">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="3" column="0" >
- <widget class="QLabel" name="TLRadius_int" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="3" column="0">
+ <widget class="QLabel" name="TLRadius_int">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Internal radius</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="0" >
- <widget class="QLabel" name="TLZbase_p" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="2" column="0">
+ <widget class="QLabel" name="TLZbase_p">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Z base</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="0" >
- <widget class="QLabel" name="TLYbase_p" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="1" column="0">
+ <widget class="QLabel" name="TLYbase_p">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Y base</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Ybase_p" >
- <property name="decimals" >
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Ybase_p">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="0" column="2" >
- <widget class="QLabel" name="TLXaxis_p" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="0" column="2">
+ <widget class="QLabel" name="TLXaxis_p">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>X axis</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="2" >
- <widget class="QLabel" name="TLYaxis_p" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="1" column="2">
+ <widget class="QLabel" name="TLYaxis_p">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Y axis</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="2" >
- <widget class="QLabel" name="TLZaxis_p" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="2" column="2">
+ <widget class="QLabel" name="TLZaxis_p">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>Z axis</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Zaxis_p" >
- <property name="decimals" >
+ <item row="2" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Zaxis_p">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="1" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Yaxis_p" >
- <property name="decimals" >
+ <item row="1" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Yaxis_p">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="0" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Xaxis_p" >
- <property name="decimals" >
+ <item row="0" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Xaxis_p">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
- <double>999999999.000000000000000</double>
- </property>
- <property name="minimum" >
+ <property name="minimum">
<double>-999999999.000000000000000</double>
</property>
- <property name="value" >
+ <property name="maximum">
+ <double>999999999.000000000000000</double>
+ </property>
+ <property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
- <item row="3" column="3" >
- <widget class="QDoubleSpinBox" name="SpinBox_Radius_ext" >
- <property name="decimals" >
+ <item row="3" column="3">
+ <widget class="QDoubleSpinBox" name="SpinBox_Radius_ext">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
+ <property name="maximum">
<double>1000000000.000000000000000</double>
</property>
</widget>
</item>
- <item row="3" column="2" >
- <widget class="QLabel" name="TLRadius_ext" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <item row="3" column="2">
+ <widget class="QLabel" name="TLRadius_ext">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text" >
+ <property name="text">
<string>External radius</string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="4" column="1" >
- <widget class="QDoubleSpinBox" name="SpinBox_Haut_p" >
- <property name="decimals" >
+ <item row="4" column="1">
+ <widget class="QDoubleSpinBox" name="SpinBox_Haut_p">
+ <property name="decimals">
<number>5</number>
</property>
- <property name="maximum" >
+ <property name="maximum">
<double>1000000000.000000000000000</double>
</property>
</widget>
</layout>
</widget>
</item>
+ <item row="6" column="0" colspan="3">
+ <widget class="QGroupBox" name="GBButtons">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string/>
+ </property>
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>9</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="buttonHelp">
+ <property name="text">
+ <string>Help</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="buttonCancel">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="buttonApply">
+ <property name="text">
+ <string>Apply</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QPushButton" name="buttonOk">
+ <property name="text">
+ <string>OK</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="6" column="3" colspan="2">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</widget>
<resources/>
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
SalomeApp_Module( "HOMARD" ) // default name
{
}
-
-
//=======================================================================
// function : ~HOMARDGUI()
// purpose : Destructor
anId = 0;
createActions();
createMenus();
+ recupPreferences();
}
//================================================
createHOMARDAction( 1102, "PURSUE_ITERATION", "iter_poursuite.png" );
createHOMARDAction( 1103, "NEW_ITERATION", "iter_next.png" );
createHOMARDAction( 1111, "COMPUTE", "mesh_compute.png" );
+ createHOMARDAction( 1112, "COMPUTE_PUBLISH", "mesh_compute.png" );
createHOMARDAction( 1121, "MESH_INFO", "advanced_mesh_info.png" );
+ createHOMARDAction( 1131, "MESH_PUBLICATION", "mesh_tree_mesh.png" );
//
createHOMARDAction( 1201, "EDIT", "loop.png" );
createHOMARDAction( 1211, "DELETE", "delete.png" );
//================================================
// function : createPreferences
-// No preferences for Homard
-// Just a test
//================================================
-void HOMARDGUI::createPreferences(){
- QString toto = tr( "PREF_GROUP_GENERAL" );
- int tabId = addPreference( tr( "PREF_GROUP_GENERAL" ) );
- int genGroup = addPreference( tr( "PREF_TAB_SETTINGS" ), tabId );
- addPreference( tr( "PREF_TEST" ), genGroup, LightApp_Preferences::Color, "Homard", "shading_color" );
+void HOMARDGUI::createPreferences()
+{
+ MESSAGE("createPreferences")
+
+ int Onglet, Bloc, Pref ;
+ // 1. Generalites
+ Onglet = addPreference( tr( "PREF_TAB_GENERAL" ) );
+// Onglet = addPreference( tr( "PREF_TAB_SETTINGS" ) ) ;
+
+ Bloc = addPreference( tr( "PREF_PUBLICATION" ), Onglet );
+ setPreferenceProperty( Bloc, "columns", 1 );
+
+ Pref = addPreference( tr( "PREF_PUBLICATION_MAILLAGE_IN" ), Bloc, LightApp_Preferences::Bool, "HOMARD", "publish_mesh_in" );
+
+ Pref = addPreference( tr( "PREF_PUBLICATION_MAILLAGE_OUT" ), Bloc, LightApp_Preferences::Bool, "HOMARD", "publish_mesh_out" );
+
+ // 2. YACS
+ Onglet = addPreference( tr( "PREF_YACS" ) ) ;
+
+ Bloc = addPreference( tr( "PREF_YACS_MAX" ), Onglet );
+ setPreferenceProperty( Bloc, "columns", 1 );
+
+ Pref = addPreference( tr( "PREF_YACS_MAX_ITER" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_iter" );
+ setPreferenceProperty( Pref, "min", 0 );
+ setPreferenceProperty( Pref, "max", 100000000 );
+ setPreferenceProperty( Pref, "step", 1 );
+
+ Pref = addPreference( tr( "PREF_YACS_MAX_NODE" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_node" );
+ setPreferenceProperty( Pref, "min", 0 );
+ setPreferenceProperty( Pref, "max", 100000000 );
+ setPreferenceProperty( Pref, "step", 1000 );
+
+ Pref = addPreference( tr( "PREF_YACS_MAX_ELEM" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_elem" );
+ setPreferenceProperty( Pref, "min", 0 );
+ setPreferenceProperty( Pref, "max", 100000000 );
+ setPreferenceProperty( Pref, "step", 1000 );
+
+ Bloc = addPreference( tr( "PREF_YACS_CONVERGENCE" ), Onglet );
+ setPreferenceProperty( Bloc, "columns", 1 );
+
+ Pref = addPreference( tr( "PREF_YACS_TYPE_TEST" ), Bloc, LightApp_Preferences::Selector, "HOMARD", "yacs_type_test" );
+ QStringList aListOfTypeTest;
+ aListOfTypeTest << "None";
+ aListOfTypeTest << "VTest > VRef";
+ aListOfTypeTest << "VTest < VRef";
+ setPreferenceProperty( Pref, "strings", aListOfTypeTest );
}
//================================================
// function : createMenus
//================================================
-void HOMARDGUI::createMenus(){
+void HOMARDGUI::createMenus()
+{
MESSAGE("createMenus")
//
int HOMARD_Id = createMenu( tr( "HOM_MEN_HOMARD" ), -1, 5, 10 );
createMenu( 1101, HOMARD_Id, -1 ); //Create_Case
createMenu( 1102, HOMARD_Id, -1 ); //Pursue_Iteration
+ createMenu( separator(), HOMARD_Id,-1);
createMenu( 1103, HOMARD_Id, -1 ); //Create_Iteration
- createMenu( 1111, HOMARD_Id, -1 ); //COMPUTE
+ createMenu( 1111, HOMARD_Id, -1 ); //Compute
+ createMenu( 1112, HOMARD_Id, -1 ); //Compute and publish
//
HOMARD_Id = createMenu( tr( "HOM_MEN_MODIFICATION" ), -1, 5, 10 );
createMenu( 1201, HOMARD_Id, -1 ); //Edit
//
HOMARD_Id = createMenu( tr( "HOM_MEN_INFORMATION" ), -1, 5, 10 );
createMenu( 1301, HOMARD_Id, -1 ); //Information sur un maillage
+ createMenu( 1131, HOMARD_Id, -1 ); //Mesh publication
createMenu( separator(), HOMARD_Id,-1);
createMenu( 1302, HOMARD_Id, -1 ); //EditAsciiFile pour le fichier listeStd ou bilan
createMenu( separator(), HOMARD_Id,-1);
HOMARD_Id = createMenu( tr( "HOM_MEN_YACS" ), -1, 5, 10 );
createMenu( 1401, HOMARD_Id, -1 ); // Création d'un schéma YACS
createMenu( separator(), HOMARD_Id,-1);
+}
+
+//================================================
+// function : recupPreferences
+// Pour chaque valeur, le defaut est la valeur definie dans HOMARD_Gen
+// . Si la recuperation dans config/salome s'est bien passee a la creation de HOMARD_Gen,
+// ces valeurs sont les valeurs definies.
+// . Si cela ne s'est pas bien passe, ce sont les valeurs par defaut de HOMARD_Gen
+//================================================
+void HOMARDGUI::recupPreferences()
+{
+ MESSAGE("recupPreferences")
//
-// La langue des preferences
- SUIT_ResourceMgr* resMgr = getApp()->resourceMgr();
- _LanguageShort = resMgr->stringValue("language", "language", "en");
- MESSAGE("_LanguageShort " << _LanguageShort.toStdString().c_str() );
+// A. Declarations
//
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( application() );
HOMARD::HOMARD_Gen_var homardGen = HOMARDGUI::InitHOMARDGen(app);
+ int defaut_i ;
+ std::string defaut_s ;
+ QString QString_v ;
+//
+// B. Les valeurs
+// B.1. La langue
+//
+ defaut_s = homardGen->GetLanguageShort();
+ SUIT_ResourceMgr* resMgr = getApp()->resourceMgr();
+ _LanguageShort = resMgr->stringValue("language", "language", QString(defaut_s.c_str()) );
+//
+// B.2. Les publications
+ bool publish_mesh ;
+//
+ _PublisMeshIN = homardGen->GetPublisMeshIN();
+ if ( _PublisMeshIN == 1 ) { publish_mesh = true ; }
+ else { publish_mesh = false ; }
+ publish_mesh = resMgr->booleanValue("HOMARD", "publish_mesh_in", publish_mesh );
+ if ( publish_mesh ) { _PublisMeshIN = 1 ; }
+ else { _PublisMeshIN = 0 ; }
+//
+ _PublisMeshOUT = homardGen->GetPublisMeshOUT();
+ if ( _PublisMeshOUT == 1 ) { publish_mesh = true ; }
+ else { publish_mesh = false ; }
+ publish_mesh = resMgr->booleanValue("HOMARD", "publish_mesh_out", publish_mesh );
+ if ( publish_mesh ) { _PublisMeshOUT = 1 ; }
+ else { _PublisMeshOUT = 0 ; }
+//
+// B.3. Les maximum pour YACS
+//
+ defaut_i = homardGen->GetYACSMaxIter();
+ _YACSMaxIter = resMgr->integerValue("HOMARD", "yacs_max_iter", defaut_i );
+//
+ defaut_i = homardGen->GetYACSMaxNode();
+ _YACSMaxNode = resMgr->integerValue("HOMARD", "yacs_max_node", defaut_i );
+//
+ defaut_i = homardGen->GetYACSMaxElem();
+ _YACSMaxElem = resMgr->integerValue("HOMARD", "yacs_max_elem", defaut_i );
+//
+// B.4. La convergence pour YACS
+//
+ defaut_i = homardGen->GetYACSConvergenceType();
+ if ( defaut_i == 1 ) { QString_v = tr("VTest > VRef") ; }
+ else if ( defaut_i == 2 ) { QString_v = tr("VTest < VRef") ; }
+ else { QString_v = tr("None") ; }
+ QString_v = resMgr->stringValue ( "HOMARD", "yacs_type_test", QString_v );
+ if ( ( QString_v == "VTest > VRef" ) || ( QString_v == "VTest > VRef" ) ) { _YACSTypeTest = 1 ; }
+ else if ( ( QString_v == "VTest < VRef" ) || ( QString_v == "VTest < VRef" ) ) { _YACSTypeTest = 2 ; }
+ else { _YACSTypeTest = 0 ; }
+//
+// C. Enregistrement dans l'objet general
+//
+ MESSAGE ("Enregistrement de LanguageShort = " << _LanguageShort.toStdString().c_str() );
+ MESSAGE ("Enregistrement de PublisMeshIN = " << _PublisMeshIN<<", PublisMeshOUT = "<< _PublisMeshOUT);
+ MESSAGE ("Enregistrement de YACSMaxIter = " << _YACSMaxIter<<", YACSMaxNode = "<< _YACSMaxNode<<", YACSMaxElem = "<< _YACSMaxElem);
+ MESSAGE ("Enregistrement de YACSTypeTest = " << _YACSTypeTest);
+//
homardGen->SetLanguageShort(_LanguageShort.toStdString().c_str());
+ homardGen->SetPublisMesh(_PublisMeshIN, _PublisMeshOUT);
+ homardGen->SetYACSMaximum(_YACSMaxIter, _YACSMaxNode, _YACSMaxElem);
+//
+ homardGen->SetYACSConvergenceType(_YACSTypeTest);
}
//================================================
MESSAGE("OnGUIEvent()")
setOrb();
const QObject* obj = sender();
- if ( !obj || !obj->inherits( "QAction" ) )
- return;
+ if ( !obj || !obj->inherits( "QAction" ) ) { return; }
int id = actionId((QAction*)obj);
- bool ret;
- if ( id != -1 )
- ret = OnGUIEvent( id );
- MESSAGE("************** End of OnGUIEvent()");
+ if ( id != -1 ) { bool ret = OnGUIEvent( id ); }
+ MESSAGE("Fin de OnGUIEvent()");
}
//=======================================================================
bool HOMARDGUI::OnGUIEvent (int theCommandID)
{
MESSAGE("OnGUIEvent avec theCommandID = "<<theCommandID);
+// A. Controles
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( application() );
if ( !app ) return false;
SalomeApp_Study* stud = dynamic_cast<SalomeApp_Study*> ( app->activeStudy() );
- if ( !stud ) {
+ if ( !stud )
+ {
MESSAGE ( "FAILED to cast active study to SalomeApp_Study" );
return false;
}
}
getApp()->updateObjectBrowser();
-
+// B. Choix selon les commandes
SCRUTE(theCommandID);
switch (theCommandID)
{
case 1103: // Creation d une Iteration
{
- MESSAGE("command " << theCommandID << " activated");
- QString IterParentName=HOMARD_QT_COMMUN::SelectionArbreEtude(QString("IterationHomard"), 0);
- MESSAGE("IterParentName " << IterParentName.toStdString().c_str() << " choisi dans arbre");
+ MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() );
MonCreateIteration *IterDlg = new MonCreateIteration( parent, true,
- HOMARD::HOMARD_Gen::_duplicate(homardGen), IterParentName ) ;
+ HOMARD::HOMARD_Gen::_duplicate(homardGen), _ObjectName ) ;
IterDlg->show();
break;
}
- case 1111: // Compute une Iteration
+ case 1111: // Compute une iteration
{
- MESSAGE("command " << theCommandID << " activated");
- QString monIter=HOMARD_QT_COMMUN::SelectionArbreEtude(QString("IterationHomard"), 1);
- if (monIter == QString("")) break;
- try
+ MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() );
+ try { homardGen->Compute(_ObjectName.toStdString().c_str(), 0, 1, -1, 1); }
+ catch( SALOME::SALOME_Exception& S_ex )
{
- homardGen->Compute(monIter.toStdString().c_str(), 0, 1, -1, 1);
+ QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
+ QObject::tr(CORBA::string_dup(S_ex.details.text)) );
+ getApp()->updateObjectBrowser();
+ return false;
}
+ break;
+ }
+
+ case 1112: // Compute une iteration et publication
+ {
+ MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() );
+ try { homardGen->Compute(_ObjectName.toStdString().c_str(), 0, 1, -1, 2); }
catch( SALOME::SALOME_Exception& S_ex )
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
case 1121: // Information sur le maillage de l'iteration
{
- MESSAGE("command " << theCommandID << " activated");
- QString IterName=HOMARD_QT_COMMUN::SelectionArbreEtude(QString("IterationHomard"), 0);
- MESSAGE("IterName " << IterName.toStdString().c_str() << " choisi dans arbre");
- MonIterInfo *IterDlg = new MonIterInfo( parent, true, HOMARD::HOMARD_Gen::_duplicate(homardGen), IterName ) ;
+ MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() );
+ MonIterInfo *IterDlg = new MonIterInfo( parent, true, HOMARD::HOMARD_Gen::_duplicate(homardGen), _ObjectName ) ;
IterDlg->show();
break;
}
+ case 1131: // Publication du maillage de l'iteration
+ {
+ MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() );
+ homardGen->PublishMeshIterInSmesh(_ObjectName.toStdString().c_str());
+ break;
+ }
+
+ case 1132: // Publication du maillage de l'iteration a partir du fichier
+ {
+ MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() );
+ homardGen->PublishResultInSmesh(_ObjectName.toStdString().c_str(), 1);
+ break;
+ }
+
case 1201: // Edition d'un objet
{
MESSAGE("command " << theCommandID << " activated");
break;
}
- case 1401: // Création d'un schéma YACS
+ case 1401: // Création d'un schema YACS
{
MESSAGE("etape 1401")
- MESSAGE("command " << theCommandID << " activated");
- QString Name=HOMARD_QT_COMMUN::SelectionArbreEtude(QString("CasHomard"), 1);
- MESSAGE("Name " << Name.toStdString().c_str() << " choisi dans arbre");
- MonCreateYACS *aDlg = new MonCreateYACS( true, HOMARD::HOMARD_Gen::_duplicate(homardGen), Name ) ;
+ MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() );
+ MonCreateYACS *aDlg = new MonCreateYACS( true, HOMARD::HOMARD_Gen::_duplicate(homardGen), _ObjectName ) ;
aDlg->show();
break;
}
case 1402: // Ecriture d'un schéma YACS
{
MESSAGE("etape 1402")
- MESSAGE("command " << theCommandID << " activated");
- QString Name=HOMARD_QT_COMMUN::SelectionArbreEtude(QString("YACSHomard"), 1);
- if (Name == QString("")) break;
- try
- {
- homardGen->YACSWrite(Name.toStdString().c_str());
- }
+ MESSAGE("command " << theCommandID << " activated avec objet " << _ObjectName.toStdString().c_str() );
+ try { homardGen->YACSWrite(_ObjectName.toStdString().c_str()); }
catch( SALOME::SALOME_Exception& S_ex )
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
{
pix = resMgr->loadPixmap( "HOMARD", "iter_next.png" );
menu->addAction(QIcon(pix), tr(QString("HOM_MEN_NEW_ITERATION").toLatin1().data()), this, SLOT(NextIter()));
- QPixmap pix2 = resMgr->loadPixmap( "HOMARD", "mesh_compute.png" );
- menu->addAction(QIcon(pix2), tr(QString("HOM_MEN_COMPUTE").toLatin1().data()), this, SLOT(LanceCalcul()));
- pix2 = resMgr->loadPixmap( "HOMARD", "advanced_mesh_info.png" );
- menu->addAction(QIcon(pix2), tr(QString("HOM_MEN_MESH_INFO").toLatin1().data()), this, SLOT(IterInfo()));
+ pix = resMgr->loadPixmap( "HOMARD", "mesh_compute.png" );
+ menu->addAction(QIcon(pix), tr(QString("HOM_MEN_COMPUTE").toLatin1().data()), this, SLOT(LanceCalcul0()));
+ pix = resMgr->loadPixmap( "HOMARD", "mesh_compute.png" );
+ menu->addAction(QIcon(pix), tr(QString("HOM_MEN_COMPUTE_PUBLISH").toLatin1().data()), this, SLOT(LanceCalcul1()));
+ pix = resMgr->loadPixmap( "HOMARD", "advanced_mesh_info.png" );
+ menu->addAction(QIcon(pix), tr(QString("HOM_MEN_MESH_INFO").toLatin1().data()), this, SLOT(IterInfo()));
+ pix = resMgr->loadPixmap( "HOMARD", "mesh_tree_mesh.png" );
+ menu->addAction(QIcon(pix), tr(QString("HOM_MEN_MESH_PUBLICATION").toLatin1().data()), this, SLOT(MeshPublish0()));
EditObject = true ;
DeleteObject = true ;
}
pix = resMgr->loadPixmap( "HOMARD", "texte.png" );
menu->addAction(QIcon(pix), tr(QString("HOM_MEN_EDIT_MESS_FILE").toLatin1().data()), this, SLOT(EditAsciiFile()));
}
+ else if ( HOMARD_UTILS::isFileType(obj,QString("Mesh")) )
+ {
+ pix = resMgr->loadPixmap( "HOMARD", "mesh_tree_mesh.png" );
+ menu->addAction(QIcon(pix), tr(QString("HOM_MEN_MESH_PUBLICATION").toLatin1().data()), this, SLOT(MeshPublish1()));
+ }
// Ajout d'un menu d'edition pour les objets qui le proposent
if ( EditObject )
{
this->OnGUIEvent(1103);
}
-void HOMARDGUI::LanceCalcul()
+void HOMARDGUI::LanceCalcul0()
{
this->OnGUIEvent(1111);
}
+void HOMARDGUI::LanceCalcul1()
+{
+ this->OnGUIEvent(1112);
+}
+
void HOMARDGUI::IterInfo()
{
this->OnGUIEvent(1121);
}
+void HOMARDGUI::MeshPublish0()
+{
+ this->OnGUIEvent(1131);
+}
+
+void HOMARDGUI::MeshPublish1()
+{
+ this->OnGUIEvent(1132);
+}
+
void HOMARDGUI::Edit()
{
this->OnGUIEvent(1201);
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
private slots:
void OnGUIEvent();
void EditAsciiFile();
- void LanceCalcul();
+ void LanceCalcul0();
+ void LanceCalcul1();
void IterInfo();
void NextIter();
+ void MeshPublish0();
+ void MeshPublish1();
void YACSCreate();
void YACSWrite();
void Edit();
const int key = 0, const bool toggle = false );
void createActions();
void createMenus();
+ void recupPreferences();
void createPopupMenus();
_PTR(SObject) chercheMonObjet();
int anId;
QString _ObjectName;
QString _LanguageShort ;
+ int _PublisMeshIN ;
+ int _PublisMeshOUT ;
+ int _YACSMaxIter ;
+ int _YACSMaxNode ;
+ int _YACSMaxElem ;
+ int _YACSTypeTest ;
};
#endif
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
if( aSelectionMgr )
{
aSelectionMgr->selectedObjects( mySelected );
- for (SALOME_ListIteratorOfListIO it (mySelected); it.More(); it.Next())
- SCRUTE(it.Value()->getEntry());
+ for (SALOME_ListIteratorOfListIO it (mySelected); it.More(); it.Next())
+ SCRUTE(it.Value()->getEntry());
};
return mySelected;
}
{
aSelectionMgr->selectedObjects( mySelected );
SCRUTE(mySelected.Extent());
- return mySelected.Extent();
+ return mySelected.Extent();
}
return 0;
}
}
//================================================================
-// Retourne vrai si l objet est du type voulu
+// Retourne vrai si l'objet est du type voulu
// . Dans le cas d'un cas, d'une hypothese, d'une zone, on se contente
// d'une comparaison simple entre le type stocke et TypeObject.
// . Pour l'iteration, le type stocke en attribut est sous la forme
if ( option == 0 )
{
int position = Type.lastIndexOf(TypeObject);
+// MESSAGE("position = "<<position);
if ( position == 0 ) { bOK = true ; }
}
else
return bOK ;
}
//================================================================
-// Retourne vrai si l objet est une frontiere analytique
+// Retourne vrai si l'objet est une frontiere analytique
//================================================================
bool HOMARD_UTILS::isBoundaryAn(_PTR(SObject) MonObj)
{
return isObject( MonObj, QString("BoundaryAnHomard"), -1 ) ;
}
//================================================================
-// Retourne vrai si l objet est une frontiere discrete
+// Retourne vrai si l'objet est une frontiere discrete
//================================================================
bool HOMARD_UTILS::isBoundaryDi(_PTR(SObject) MonObj)
{
return isObject( MonObj, QString("BoundaryDiHomard"), -1 ) ;
}
//================================================================
-// Retourne vrai si l objet est un cas
+// Retourne vrai si l'objet est un cas
//================================================================
bool HOMARD_UTILS::isCase(_PTR(SObject) MonObj)
{
return isObject( MonObj, QString("CasHomard"), -1 ) ;
}
//================================================================
-// Retourne vrai si l objet est une Hypothese
+// Retourne vrai si l'objet est une Hypothese
//================================================================
bool HOMARD_UTILS::isHypo(_PTR(SObject) MonObj)
{
return isObject( MonObj, QString("HypoHomard"), -1 ) ;
}
//================================================================
-// Retourne vrai si l objet est une iteration
+// Retourne vrai si l'objet est une iteration
//================================================================
bool HOMARD_UTILS::isIter(_PTR(SObject) MonObj)
{
return isObject( MonObj, QString("IterationHomard"), 0 ) ;
}
//================================================================
-// Retourne vrai si l objet est un schema YACS
+// Retourne vrai si l'objet est un schema YACS
//================================================================
bool HOMARD_UTILS::isYACS(_PTR(SObject) MonObj)
{
return isObject( MonObj, QString("YACSHomard"), -1 ) ;
}
//================================================================
-// Retourne vrai si l objet est une zone
+// Retourne vrai si l'objet est une zone
//================================================================
bool HOMARD_UTILS::isZone(_PTR(SObject) MonObj)
{
return isObject( MonObj, QString("ZoneHomard"), -1 ) ;
}
//================================================================
-// Retourne vrai si l objet est un fichier de type TypeFile
+// Retourne vrai si l'objet est un fichier de type TypeFile
//================================================================
bool HOMARD_UTILS::isFileType(_PTR(SObject) MonObj, QString TypeFile)
{
HOMARDGUI* aHomardGUI = dynamic_cast<HOMARDGUI*>( app->module( "Homard" ) );
// Repertoire de reference de la documentation
QString rep = aHomardGUI ? app->moduleName(aHomardGUI->moduleName()) : QString("") ;
- // WARNING/ATTENTION : si on savait recuperer la langue depuis les preferences, on ne fera pas le passage par argument
+ // WARNING/ATTENTION : si on savait recuperer la langue depuis les preferences, on ne ferait pas le passage par argument
// SUIT_ResourceMgr* resMgr = getApp()->resourceMgr();
// SUIT_ResourceMgr* resMgr = myModule->getApp()->resourceMgr();
// QString langue = resMgr->stringValue("language", "language", "en");
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
</message>
<message>
<source>HOM_MEN_PURSUE_ITERATION</source>
- <translation>Pursuit of an iteration</translation>
+ <translation>Case: pursuit of a stored iteration</translation>
</message>
<message>
<source>HOM_MEN_COMPUTE</source>
<translation>Compute</translation>
</message>
+ <message>
+ <source>HOM_MEN_COMPUTE_PUBLISH</source>
+ <translation>Compute and publish</translation>
+ </message>
<message>
<source>HOM_MEN_EDIT</source>
<translation>Edit</translation>
<source>HOM_MEN_MESH_INFO</source>
<translation>Mesh analysis</translation>
</message>
+ <message>
+ <source>HOM_MEN_MESH_PUBLICATION</source>
+ <translation>Mesh publication</translation>
+ </message>
<message>
<source>HOM_MEN_EDIT_MESS_FILE</source>
<translation>Show the file</translation>
</message>
<message>
<source>HOM_TOP_PURSUE_ITERATION</source>
- <translation>Pursuit of an iteration</translation>
+ <translation>Case: pursuit of a stored iteration</translation>
</message>
<message>
<source>HOM_TOP_COMPUTE</source>
<translation>Compute</translation>
</message>
+ <message>
+ <source>HOM_TOP_COMPUTE_PUBLISH</source>
+ <translation>Compute and publish</translation>
+ </message>
<message>
<source>HOM_TOP_EDIT</source>
<translation>Edit</translation>
</message>
<message>
<source>HOM_STB_PURSUE_ITERATION</source>
- <translation>Pursuit of an iteration</translation>
+ <translation>Case: pursuit of a stored iteration</translation>
</message>
<message>
<source>HOM_STB_COMPUTE</source>
<translation>Compute</translation>
</message>
+ <message>
+ <source>HOM_STB_COMPUTE_PUBLISH</source>
+ <translation>Compute and publish</translation>
+ </message>
<message>
<source>HOM_STB_EDIT</source>
<translation>Edit</translation>
<source>HOM_SELECT_OBJECT_3</source>
<translation>Select an object with type %1.</translation>
</message>
+ <message>
+ <source>HOM_SELECT_FILE_0</source>
+ <translation>File selection</translation>
+ </message>
<message>
<source>HOM_SELECT_FILE_1</source>
<translation>Select a file.</translation>
</message>
<message>
<source>HOM_CASE_PURSUE_WINDOW_TITLE</source>
- <translation>Pursuit of an iteration</translation>
+ <translation>Case: pursuit of a stored iteration</translation>
</message>
<message>
<source>HOM_ITER_NAME</source>
<source>HOM_YACS_EDIT_WINDOW_TITLE</source>
<translation>Edition of a schema YACS</translation>
</message>
+ <message>
+ <source>PREF_TAB_GENERAL</source>
+ <translation>General</translation>
+ </message>
+ <message>
+ <source>PREF_PUBLICATION</source>
+ <translation>Publication</translation>
+ </message>
+ <message>
+ <source>PREF_PUBLICATION_MAILLAGE_IN</source>
+ <translation>IN meshes</translation>
+ </message>
+ <message>
+ <source>PREF_PUBLICATION_MAILLAGE_OUT</source>
+ <translation>OUT meshes</translation>
+ </message>
+ <message>
+ <source>PREF_YACS</source>
+ <translation>YACS</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_MAX</source>
+ <translation>Maximum numbers</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_MAX_ITER</source>
+ <translation>Iterations</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_MAX_NODE</source>
+ <translation>Nodes</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_MAX_ELEM</source>
+ <translation>Elements</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_CONVERGENCE</source>
+ <translation>Convergence</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_TYPE_TEST</source>
+ <translation>Test type</translation>
+ </message>
</context>
</TS>
</message>
<message>
<source>HOM_MEN_PURSUE_ITERATION</source>
- <translation>Poursuite d'une itération</translation>
+ <translation>Cas de poursuite d'une itération</translation>
</message>
<message>
<source>HOM_MEN_COMPUTE</source>
<translation>Calculer</translation>
</message>
+ <message>
+ <source>HOM_MEN_COMPUTE_PUBLISH</source>
+ <translation>Calculer et publier</translation>
+ </message>
<message>
<source>HOM_MEN_EDIT</source>
<translation>Editer</translation>
<source>HOM_MEN_MESH_INFO</source>
<translation>Analyse de maillage</translation>
</message>
+ <message>
+ <source>HOM_MEN_MESH_PUBLICATION</source>
+ <translation>Publication du maillage</translation>
+ </message>
<message>
<source>HOM_MEN_EDIT_MESS_FILE</source>
<translation>Afficher le fichier</translation>
</message>
<message>
<source>HOM_TOP_PURSUE_ITERATION</source>
- <translation>Poursuite d'une itération</translation>
+ <translation>Cas de poursuite d'une itération</translation>
</message>
<message>
<source>HOM_TOP_COMPUTE</source>
<translation>Calculer</translation>
</message>
+ <message>
+ <source>HOM_TOP_COMPUTE_PUBLISH</source>
+ <translation>Calculer et publier</translation>
+ </message>
<message>
<source>HOM_TOP_EDIT</source>
<translation>Editer</translation>
</message>
<message>
<source>HOM_STB_PURSUE_ITERATION</source>
- <translation>Poursuite d'une itération</translation>
+ <translation>Cas de poursuite d'une itération</translation>
</message>
<message>
<source>HOM_STB_COMPUTE</source>
<translation>Calculer</translation>
</message>
+ <message>
+ <source>HOM_STB_COMPUTE_PUBLISH</source>
+ <translation>Calculer et publier</translation>
+ </message>
<message>
<source>HOM_STB_EDIT</source>
<translation>Editer</translation>
<source>HOM_SELECT_OBJECT_3</source>
<translation>Sélectionner un objet de type %1.</translation>
</message>
+ <message>
+ <source>HOM_SELECT_FILE_0</source>
+ <translation>Choix de fichier</translation>
+ </message>
<message>
<source>HOM_SELECT_FILE_1</source>
<translation>Sélectionner un fichier.</translation>
</message>
<message>
<source>HOM_CASE_PURSUE_WINDOW_TITLE</source>
- <translation>Poursuite d'une itération</translation>
+ <translation>Cas de poursuite d'une itération</translation>
</message>
<message>
<source>The configuration file cannot be found.</source>
<source>Type of boundary</source>
<translation>Type de la frontière</translation>
</message>
+ <message>
+ <source>Torus</source>
+ <translation>Tore</translation>
+ </message>
<message>
<source>Radius</source>
<translation>Rayon</translation>
<source>Z axis</source>
<translation>Z axe</translation>
</message>
+ <message>
+ <source>R revolution</source>
+ <translation>R révolution</translation>
+ </message>
+ <message>
+ <source>Primary R</source>
+ <translation>R primaire</translation>
+ </message>
<message>
<source>HOM_BOUN_NAME</source>
<translation>Il faut donner un nom à la frontière.</translation>
<source>Type of schema</source>
<translation>Type de schema</translation>
</message>
+ <message>
+ <source>Maximum of ...</source>
+ <translation>Maximum de ...</translation>
+ </message>
+ <message>
+ <source>Iterations</source>
+ <translation>Itérations</translation>
+ </message>
+ <message>
+ <source>Nodes</source>
+ <translation>Noeuds</translation>
+ </message>
+ <message>
+ <source>Elements</source>
+ <translation>Eléments</translation>
+ </message>
+ <message>
+ <source>Test of convergence</source>
+ <translation>Test de convergence</translation>
+ </message>
<message>
<source>Edit a file</source>
<translation>Affichage d'un fichier</translation>
<source>HOM_YACS_EDIT_WINDOW_TITLE</source>
<translation>Edition d'un schéma YACS</translation>
</message>
+ <message>
+ <source>PREF_TAB_GENERAL</source>
+ <translation>Général</translation>
+ </message>
+ <message>
+ <source>PREF_PUBLICATION</source>
+ <translation>Publication</translation>
+ </message>
+ <message>
+ <source>PREF_PUBLICATION_MAILLAGE_IN</source>
+ <translation>Les maillages d'entrée</translation>
+ </message>
+ <message>
+ <source>PREF_PUBLICATION_MAILLAGE_OUT</source>
+ <translation>Les maillages de sortie</translation>
+ </message>
+ <message>
+ <source>PREF_YACS</source>
+ <translation>YACS</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_MAX</source>
+ <translation>Nombres maximum</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_MAX_ITER</source>
+ <translation>Itérations</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_MAX_NODE</source>
+ <translation>Noeuds</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_MAX_ELEM</source>
+ <translation>Eléments</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_CONVERGENCE</source>
+ <translation>Convergence</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_TYPE_TEST</source>
+ <translation>Type de test</translation>
+ </message>
</context>
</TS>
<source>HOM_YACS_EDIT_WINDOW_TITLE</source>
<translation>YACS スキーマ編集スキーマへんしゅう</translation>
</message>
- </context>
+ <message>
+ <source>PREF_TAB_GENERAL</source>
+ <translation>一般的な</translation>
+ </message>
+</context>
</TS>
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// . si le commentaire est une chaine vide, on ne tient pas compte du type de l'objet
// et on retourne le nom de cet objet
// . sinon :
-// . si l'objet est du type defini par commentaite, retourne le nom de cet objet
+// . si l'objet est du type defini par commentaire, retourne le nom de cet objet
// . sinon on retourne une QString("")
// option :
// . Si option = 0, ce n'est pas grave de ne rien trouver ; aucun message n'est emis
// . Si option = 1, ce n'est pas grave de ne rien trouver mais on emet un message
{
- MESSAGE("SelectionArbreEtude : commentaire = " << commentaire.toStdString().c_str() << " et option = " << option);
+// MESSAGE("SelectionArbreEtude : commentaire = " << commentaire.toStdString().c_str() << " et option = " << option);
int nbSel = HOMARD_UTILS::IObjectCount() ;
if ( nbSel == 0 )
{
Handle(SALOME_InteractiveObject) aIO = HOMARD_UTILS::firstIObject();
if ( aIO->hasEntry() )
{
+// MESSAGE("aIO->getEntry() = " << aIO->getEntry());
_PTR(Study) aStudy = HOMARD_UTILS::GetActiveStudyDocument();
_PTR(SObject) aSO ( aStudy->FindObjectID( aIO->getEntry() ) );
_PTR(GenericAttribute) anAttr;
{
_PTR(AttributeComment) attributComment = anAttr;
QString aComment= QString(attributComment->Value().data());
- MESSAGE("... aComment = " << aComment.toStdString().c_str());
+// MESSAGE("... aComment = " << aComment.toStdString().c_str());
int iaux = aComment.lastIndexOf(commentaire);
- MESSAGE("... iaux = " << iaux);
+// MESSAGE("... iaux = " << iaux);
if ( iaux !=0 )
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
}
// =======================================================================
-QString HOMARD_QT_COMMUN::PushNomFichier(bool avertir)
+QString HOMARD_QT_COMMUN::PushNomFichier(bool avertir, QString TypeFichier)
// =======================================================================
// Gestion les boutons qui permettent de
// 1) retourne le nom d'un fichier par une fenetre de dialogue si aucun
// 2) retourne le nom du fichier asocie a l objet
// selectionne dans l arbre d etude
{
- MESSAGE("PushNomFichier");
- QString aFile=QString::null;
+// MESSAGE("PushNomFichier avec avertir "<<avertir<<" et TypeFichier = "<<TypeFichier.toStdString().c_str());
+ QString aFile = QString::null;
+//
+ // A. Filtre
+ QString filtre ;
+//
+ if ( TypeFichier == "med" ) { filtre = QString("Med") ; }
+ else if ( TypeFichier == "py" ) { filtre = QString("Python") ; }
+ else { filtre = TypeFichier ; }
+//
+ if ( TypeFichier != "" ) { filtre += QString(" files (*.") + TypeFichier + QString(");;") ; }
+//
+ filtre += QString("all (*) ") ;
+//
+ // B. Selection
int nbSel = HOMARD_UTILS::IObjectCount() ;
+// MESSAGE("nbSel ="<<nbSel);
+ // B.1. Rien n'est selectionne
if ( nbSel == 0 )
{
- aFile = QFileDialog::getOpenFileName(0,QString("File Selection"),QString("") ,QString("Med files (*.med);;all (*) ") );
- }
- if (nbSel > 1)
- {
- QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
- QObject::tr("HOM_SELECT_FILE_2") );
+// aFile = QFileDialog::getOpenFileName(0, QObject::tr("HOM_SELECT_FILE_0"), QString(""), QString("Med files (*.med);;all (*) ") );
+ aFile = QFileDialog::getOpenFileName(0, QObject::tr("HOM_SELECT_FILE_0"), QString(""), filtre );
}
- if (nbSel == 1)
+ // B.2. Un objet est selectionne
+ else if (nbSel == 1)
{
Handle(SALOME_InteractiveObject) aIO = HOMARD_UTILS::firstIObject();
if ( aIO->hasEntry() )
{
if ( avertir ) {
QMessageBox::warning( 0, QObject::tr("HOM_WARNING"),
- QObject::tr("HOM_SELECT_STUDY") );
- }
- aFile = QFileDialog::getOpenFileName();
- if (!aFile.isEmpty())
- {
- aFile=aFile;
+ QObject::tr("HOM_SELECT_STUDY") );
}
+ aFile = QFileDialog::getOpenFileName(0, QObject::tr("HOM_SELECT_FILE_0"), QString(""), filtre );
}
}
- return aFile;
+ // B.3. Bizarre
+ else
+ {
+ QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
+ QObject::tr("HOM_SELECT_FILE_2") );
+ }
+ return aFile;
}
// =======================================================================
int HOMARD_QT_COMMUN::OuvrirFichier(QString aFile)
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
namespace HOMARD_QT_COMMUN
{
- HOMARD_EXPORT QString PushNomFichier(bool avertir=true);
+ HOMARD_EXPORT QString PushNomFichier(bool avertir, QString TypeFichier="");
HOMARD_EXPORT QString LireNomMaillage(int Medidt,int MeshId);
HOMARD_EXPORT QString LireNomMaillage(QString aFile);
-// #Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
_BoundaryAnXcone2(0), _BoundaryAnYcone2(0), _BoundaryAnZcone2(0), _BoundaryAnRayon2(0),
_BoundaryAnXaxisCone(0), _BoundaryAnYaxisCone(0), _BoundaryAnZaxisCone(0),
_BoundaryAngle(0),
+ _BoundaryAnToreXcentre(0), _BoundaryAnToreYcentre(0), _BoundaryAnToreZcentre(0),
+ _BoundaryAnToreXaxe(0), _BoundaryAnToreYaxe(0), _BoundaryAnToreZaxe(0),
+ _BoundaryAnToreRRev(0), _BoundaryAnToreRPri(0),
Chgt (false)
{
MESSAGE("Constructeur") ;
setModal(modal);
// Gestion des icones
+ QPixmap pix ;
+ QIcon IS ;
SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
- QPixmap pix = resMgr->loadPixmap( "HOMARD", "spherepoint.png" );
- QIcon IS=QIcon(pix);
+ pix = resMgr->loadPixmap( "HOMARD", "spherepoint.png" );
+ IS=QIcon(pix);
RBSphere->setIcon(IS);
- QPixmap pix2 = resMgr->loadPixmap( "HOMARD", "cylinderpointvector.png" );
- QIcon IS2=QIcon(pix2);
- RBCylindre->setIcon(IS2);
- QPixmap pix3 = resMgr->loadPixmap( "HOMARD", "cone.png" );
- QIcon IS3=QIcon(pix3);
- RBCone->setIcon(IS3);
- QPixmap pix4 = resMgr->loadPixmap( "HOMARD", "conepointvector.png" );
- QIcon IS4=QIcon(pix4);
- RB_Def_angle->setIcon(IS4);
- QPixmap pix5 = resMgr->loadPixmap( "HOMARD", "conedxyz.png" );
- QIcon IS5=QIcon(pix5);
- RB_Def_radius->setIcon(IS5);
+ pix = resMgr->loadPixmap( "HOMARD", "cylinderpointvector.png" );
+ IS=QIcon(pix);
+ RBCylindre->setIcon(IS);
+ pix = resMgr->loadPixmap( "HOMARD", "cone.png" );
+ IS=QIcon(pix);
+ RBCone->setIcon(IS);
+ pix = resMgr->loadPixmap( "HOMARD", "conepointvector.png" );
+ IS=QIcon(pix);
+ RB_Def_angle->setIcon(IS);
+ pix = resMgr->loadPixmap( "HOMARD", "conedxyz.png" );
+ IS=QIcon(pix);
+ RB_Def_radius->setIcon(IS);
+ pix = resMgr->loadPixmap( "HOMARD", "toruspointvector.png" );
+ IS=QIcon(pix);
+ RBTore->setIcon(IS);
InitConnect( );
connect( RBCone, SIGNAL(clicked()) , this, SLOT(SetCone()) ) ;
connect( RB_Def_radius, SIGNAL(clicked()) , this, SLOT(SetConeR()) );
connect( RB_Def_angle, SIGNAL(clicked()) , this, SLOT(SetConeA()) );
+ connect( RBTore, SIGNAL(clicked()) , this, SLOT(SetTore()) ) ;
connect( buttonOk, SIGNAL( pressed() ), this, SLOT( PushOnOK() ) );
connect( buttonApply, SIGNAL( pressed() ), this, SLOT( PushOnApply() ) );
connect( buttonCancel, SIGNAL( pressed() ), this, SLOT( close() ) );
// . Rayon
SpinBox_Radius->setValue(_Rayon);
SpinBox_Radius->setSingleStep(_Rayon/10.);
- SpinBox_Radius->setMinimum(0.);
// Sphere
// . X du centre
// . Rayon
SpinBox_Rayon->setValue(_Rayon);
SpinBox_Rayon->setSingleStep(_Rayon/10.);
- SpinBox_Rayon->setMinimum(0.);
// Cone en rayons
// . X des centres
SpinBox_Cone_Z2->setSingleStep(_Zincr);
// . Rayons/Angles
_BoundaryAnRayon1 = 0. ;
- SpinBox_Cone_V1->setMinimum(0.);
_BoundaryAnRayon2 = _Rayon ;
SpinBox_Cone_V2->setSingleStep(_Rayon/10.);
- SpinBox_Cone_V2->setMinimum(0.);
// Cone en angle
convertRayonAngle(1) ;
SpinBox_Cone_X2->setValue(_BoundaryAnXorigCone);
SpinBox_Cone_Y2->setValue(_BoundaryAnYorigCone);
SpinBox_Cone_Z2->setValue(_BoundaryAnZorigCone);
+
+ // Tore
+ // . X du centre
+ SpinBoxToreXcent->setValue(_Xcentre);
+ SpinBoxToreXcent->setSingleStep(_Xincr);
+ // . Y du centre
+ SpinBoxToreYcent->setValue(_Ycentre);
+ SpinBoxToreYcent->setSingleStep(_Yincr);
+ // . Z du centre
+ SpinBoxToreZcent->setValue(_Zcentre);
+ SpinBoxToreZcent->setSingleStep(_Zincr);
+ // . X de l'axe
+ SpinBoxToreXaxe->setValue(0.);
+ SpinBoxToreXaxe->setSingleStep(0.1);
+ // . Y de l'axe
+ SpinBoxToreYaxe->setValue(0.);
+ SpinBoxToreYaxe->setSingleStep(0.1);
+ // . Z de l'axe
+ SpinBoxToreZaxe->setValue(1.);
+ SpinBoxToreZaxe->setSingleStep(0.1);
+ // . Rayon de revolution
+ SpinBoxToreRRev->setValue(_Rayon);
+ SpinBoxToreRRev->setSingleStep(_Rayon/10.);
+ // . Rayon primaire
+ SpinBoxToreRPri->setValue(_Rayon/3.);
+ SpinBoxToreRPri->setSingleStep(_Rayon/20.);
}
// ------------------------------------------------------------------------
bool MonCreateBoundaryAn::PushOnApply()
}
break;
}
+ case 5 : // il s agit d un tore
+ {
+ if ((_BoundaryAnToreXcentre != SpinBoxToreXcent->value()) ||
+ (_BoundaryAnToreYcentre != SpinBoxToreYcent->value()) ||
+ (_BoundaryAnToreZcentre != SpinBoxToreZcent->value()) ||
+ (_BoundaryAnToreRRev != SpinBoxToreRRev->value()) ||
+ (_BoundaryAnToreRPri != SpinBoxToreRPri->value()) ||
+ (_BoundaryAnToreXaxe != SpinBoxToreXaxe->value()) ||
+ (_BoundaryAnToreYaxe != SpinBoxToreYaxe->value()) ||
+ (_BoundaryAnToreZaxe != SpinBoxToreZaxe->value()) )
+ {
+ Chgt = true;
+ _BoundaryAnToreXcentre= SpinBoxToreXcent->value();
+ _BoundaryAnToreYcentre= SpinBoxToreYcent->value();
+ _BoundaryAnToreZcentre= SpinBoxToreZcent->value();
+ _BoundaryAnToreRRev=SpinBoxToreRRev->value();
+ _BoundaryAnToreRPri=SpinBoxToreRPri->value();
+ _BoundaryAnToreXaxe=SpinBoxToreXaxe->value();
+ _BoundaryAnToreYaxe=SpinBoxToreYaxe->value();
+ _BoundaryAnToreZaxe=SpinBoxToreZaxe->value();
+ }
+ break;
+ }
+
}
bool bOK = CreateOrUpdateBoundaryAn();
}
break;
}
+ case 5 : // il s agit d un tore
+ {
+ try
+ {
+ aBoundaryAn = myHomardGen->CreateBoundaryTorus(CORBA::string_dup(_aName.toStdString().c_str()), \
+ _BoundaryAnToreXcentre, _BoundaryAnToreYcentre, _BoundaryAnToreZcentre, _BoundaryAnToreXaxe, _BoundaryAnToreYaxe, _BoundaryAnToreZaxe, _BoundaryAnToreRRev, _BoundaryAnToreRPri );
+ }
+ catch( SALOME::SALOME_Exception& S_ex )
+ {
+ QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
+ QObject::tr(CORBA::string_dup(S_ex.details.text)) );
+ return false ;
+ }
+ break;
+ }
}
_parent->AddBoundaryAn(_aName);
void MonCreateBoundaryAn::PushOnHelp()
// ------------------------------------------------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("un-cylindre"), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("un-cylindre"), QString(LanguageShort.c_str()));
}
// -----------------------------------
{
if ( aName == QString(MyObjects[i]))
{
- num=num+1;
- aName="";
- break;
+ num ++ ;
+ aName = "" ;
+ break ;
}
}
}
gBCylindre->setVisible(1);
gBSphere->setVisible(0);
gBCone->setVisible(0);
- adjustSize();
+ gBTore->setVisible(0);
+//
_Type=1;
+//
+ adjustSize();
// MESSAGE("Fin de SetCylinder")
}
// ------------------------------------------------------------------------
gBCylindre->setVisible(0);
gBSphere->setVisible(1);
gBCone->setVisible(0);
- adjustSize();
+ gBTore->setVisible(0);
+//
_Type=2;
+//
+ adjustSize();
// MESSAGE("Fin de SetSphere")
}
// ------------------------------------------------------------------------
gBCylindre->setVisible(0);
gBSphere->setVisible(0);
gBCone->setVisible(1);
+ gBTore->setVisible(0);
//
- adjustSize();
if ( RB_Def_radius->isChecked() )
{
SetConeR();
{
SetConeA();
}
+//
+ adjustSize();
// MESSAGE("Fin de SetCone")
}
// ------------------------------------------------------------------------
+void MonCreateBoundaryAn::SetTore()
+// ------------------------------------------------------------------------
+{
+ MESSAGE("Debut de SetTore")
+ gBCylindre->setVisible(0);
+ gBSphere->setVisible(0);
+ gBCone->setVisible(0);
+ gBTore->setVisible(1);
+//
+ _Type=5;
+//
+ adjustSize();
+// MESSAGE("Fin de SetTore")
+}
+// ------------------------------------------------------------------------
void MonCreateBoundaryAn::convertRayonAngle(int option)
// ------------------------------------------------------------------------
// Conversion entre les deux formulations du cone :
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
double _BoundaryAnXaxisCone, _BoundaryAnYaxisCone, _BoundaryAnZaxisCone;
double _BoundaryAnXorigCone, _BoundaryAnYorigCone, _BoundaryAnZorigCone;
double _BoundaryAngle;
+ double _BoundaryAnToreXcentre, _BoundaryAnToreYcentre, _BoundaryAnToreZcentre;
+ double _BoundaryAnToreXaxe, _BoundaryAnToreYaxe, _BoundaryAnToreZaxe;
+ double _BoundaryAnToreRRev, _BoundaryAnToreRPri;
bool Chgt;
virtual void SetCone();
virtual void SetConeR();
virtual void SetConeA();
+ virtual void SetTore();
virtual void PushOnOK();
virtual bool PushOnApply();
virtual void PushOnHelp();
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
void MonCreateBoundaryDi::PushOnHelp()
// ------------------------------------------------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-discrete"), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-discrete"), QString(LanguageShort.c_str()));
}
// ------------------------------------------------------------------------
void MonCreateBoundaryDi::AssocieLesGroupes()
{
if ( aName == QString(MyObjects[i]))
{
- num=num+1;
- aName="";
- break;
+ num ++ ;
+ aName = "" ;
+ break ;
}
}
}
void MonCreateBoundaryDi::SetMeshFile()
// ------------------------------------------------------------------------
{
- QString aMeshFile = HOMARD_QT_COMMUN::PushNomFichier();
+ QString aMeshFile = HOMARD_QT_COMMUN::PushNomFichier( false, QString("med") );
if (!(aMeshFile.isEmpty())) LEFileName->setText(aMeshFile);
}
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
#include "MonEditBoundaryAn.h"
#include "MonCreateBoundaryDi.h"
#include "MonEditBoundaryDi.h"
+#include "HOMARD.hxx"
#include <QFileDialog>
#include <QMessageBox>
GBAdvancedOptions->setVisible(0);
Comment->setVisible(0);
CBPyramid->setChecked(false);
-
+//
adjustSize();
- MESSAGE("Fin du constructeur de MonCreateCase");
+
+// MESSAGE("Fin du constructeur de MonCreateCase");
}
// ------------------------------------------------------------------------
MonCreateCase::~MonCreateCase()
connect( CBAdvanced, SIGNAL(stateChanged(int)), this, SLOT(SetAdvanced()));
connect( buttonOk, SIGNAL(pressed()), this, SLOT(PushOnOK()));
- connect( buttonApply, SIGNAL(pressed()), this, SLOT(PushOnApply()));
+ connect( buttonApply, SIGNAL(pressed()), this, SLOT(PushOnApply(0)));
connect( buttonCancel, SIGNAL(pressed()), this, SLOT(close()));
connect( buttonHelp, SIGNAL(pressed()), this, SLOT(PushOnHelp()));
}
TWBoundary->clearSelection();
}
// -------------------------------
-bool MonCreateCase::PushOnApply()
+bool MonCreateCase::PushOnApply(int option)
// --------------------------------
{
MESSAGE("PushOnApply");
if ( aDirName != _aDirName)
{ QString CaseNameDir = myHomardGen->VerifieDir( aDirName.toStdString().c_str()) ;
- if ( CaseNameDir != "" )
+ if ( ( CaseNameDir != "" ) & ( CaseNameDir != aCaseName ) )
{
QString texte ;
texte = QObject::tr("HOM_CASE_DIRECTORY_2") + CaseNameDir ;
return false;
}
}
-#ifndef WIN32
- if (chdir(aDirName.toStdString().c_str()) != 0)
-#else
- if (_chdir(aDirName.toStdString().c_str()) != 0)
-#endif
+ if (CHDIR(aDirName.toStdString().c_str()) != 0)
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
QObject::tr("HOM_CASE_DIRECTORY_3") );
return false;
}
+// On verifie qu'un groupe n'est pas associe a deux frontieres differentes
if (CBBoundaryA->isChecked())
{
QStringList ListeGroup ;
}
}
+// Creation du cas
if (aCaseName != _aCaseName )
{
_aCaseName = aCaseName;
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
QObject::tr(CORBA::string_dup(S_ex.details.text)) );
- try
- {
- aCase = myHomardGen->GetCase(_aCaseName.toStdString().c_str());
- string iter0 = aCase->GetIter0Name();
- HOMARD::HOMARD_Iteration_var aIter = myHomardGen->GetIteration(iter0.c_str());
- QString aFileName = aIter->GetMeshFile();
- LEFileName->setText(aFileName);
- LEFileName->setReadOnly(true);
- PushFichier->hide();
- }
- catch( SALOME::SALOME_Exception& S_ex ) {};
return false;
}
LEFileName->setReadOnly(true);
InitBoundarys();
}
+// Repertoire et type
aCase->SetDirName(aDirName.toStdString().c_str());
_aDirName=aDirName;
aCase->SetConfType(_ConfType);
-// Enregistrement de la frontiere discrete
- if (CBBoundaryD->isChecked())
+// Menage des eventuelles frontieres deja enregistrees
+ aCase->SupprBoundaryGroup() ;
+
+ // Enregistrement et publication dans l'arbre d'etudes a la sortie definitive
+ if ( option > 0 )
{
- QString monBoundaryDiName=CBBoundaryDi->currentText();
- if (monBoundaryDiName != "" )
+ if (CBBoundaryD->isChecked())
{
- aCase->AddBoundaryGroup(monBoundaryDiName.toStdString().c_str(), "");
+ QString monBoundaryDiName=CBBoundaryDi->currentText();
+ if (monBoundaryDiName != "" )
+ {
+ aCase->AddBoundaryGroup(monBoundaryDiName.toStdString().c_str(), "");
+ }
}
- }
-
-// Enregistrement des liens (groupe,frontiere analytique)
- if (CBBoundaryA->isChecked())
- {
- QString NomGroup ;
- int nbcol = TWBoundary->columnCount();
- int nbrow = TWBoundary->rowCount();
- for ( int col=1; col< nbcol; col++)
+ if (CBBoundaryA->isChecked())
{
- for ( int row=0; row< nbrow; row++)
+ QString NomGroup ;
+ int nbcol = TWBoundary->columnCount();
+ int nbrow = TWBoundary->rowCount();
+ for ( int col=1; col< nbcol; col++)
{
- if ( TWBoundary->item( row, col )->checkState() == Qt::Checked )
+ for ( int row=0; row< nbrow; row++)
{
-// Nom du groupe
- NomGroup = QString(TWBoundary->item(row, 0)->text()) ;
-// Nom de la frontiere
- QTableWidgetItem *__colItem = new QTableWidgetItem();
- __colItem = TWBoundary->horizontalHeaderItem(col);
- aCase->AddBoundaryGroup(QString(__colItem->text()).toStdString().c_str(), NomGroup.toStdString().c_str());
+ if ( TWBoundary->item( row, col )->checkState() == Qt::Checked )
+ {
+ // Nom du groupe
+ NomGroup = QString(TWBoundary->item(row, 0)->text()) ;
+ // Nom de la frontiere
+ QTableWidgetItem *__colItem = new QTableWidgetItem();
+ __colItem = TWBoundary->horizontalHeaderItem(col);
+ aCase->AddBoundaryGroup(QString(__colItem->text()).toStdString().c_str(), NomGroup.toStdString().c_str());
+ }
}
}
}
}
+
// Options avancees
if (CBAdvanced->isChecked())
{
// Autorisation des pyramides
if (CBPyramid->isChecked()) { _Pyram = 1 ; }
}
+ aCase->SetPyram(_Pyram);
HOMARD_UTILS::updateObjBrowser();
void MonCreateCase::PushOnOK()
// ---------------------------
{
- bool bOK = PushOnApply();
+ bool bOK = PushOnApply(1);
if ( bOK ) this->close();
}
//------------------------------
void MonCreateCase::PushOnHelp()
//-------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_case.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_case.html"), QString(""), QString(LanguageShort.c_str()));
}
// ---------------------------------
void MonCreateCase::SetNewName()
{
if ( aCaseName == QString((MyCases)[i]))
{
- num=num+1;
- aCaseName="";
- break;
+ num ++ ;
+ aCaseName = "" ;
+ break ;
}
}
}
// ------------------------------------------------------------------------
{
QString fileName0 = LEFileName->text().trimmed();
- QString fileName = HOMARD_QT_COMMUN::PushNomFichier();
+ QString fileName = HOMARD_QT_COMMUN::PushNomFichier( false, QString("med") ) ;
if (fileName.isEmpty()) fileName = fileName0 ;
LEFileName->setText(fileName);
}
// ------------------------------------------------------------------------
{
GBTypeNoConf->setVisible(0);
- adjustSize();
+//
_ConfType=1;
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateCase::SetNonConforme()
{
GBTypeNoConf->setVisible(1);
RB1NpM->setChecked(true);
- adjustSize();
+//
_ConfType=2;
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateCase::Set1NpM()
MESSAGE("Debut de SetBoundaryD ");
if (CBBoundaryD->isChecked())
{
- bool bOK = PushOnApply();
+ bool bOK = PushOnApply(0);
if (bOK) { GBBoundaryD->setVisible(1); }
else { GBBoundaryD->setVisible(0);
CBBoundaryD->setChecked(0);
CBBoundaryD->setCheckState(Qt::Unchecked); }
}
else { GBBoundaryD->setVisible(0); }
+//
adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateCase::PushBoundaryDiHelp()
// ------------------------------------------------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-discrete"), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-discrete"), QString(LanguageShort.c_str()));
}
// ------------------------------------------------------------------------
void MonCreateCase::SetBoundaryA()
MESSAGE("Debut de SetBoundaryA ");
if (CBBoundaryA->isChecked())
{
- bool bOK = PushOnApply();
+ bool bOK = PushOnApply(0);
if (bOK) { GBBoundaryA->setVisible(1); }
else { GBBoundaryA->setVisible(0);
CBBoundaryA->setChecked(0);
CBBoundaryA->setCheckState(Qt::Unchecked); }
}
else { GBBoundaryA->setVisible(0); }
+//
adjustSize();
//
// MESSAGE("Fin de SetBoundaryA ");
void MonCreateCase::PushBoundaryAnHelp()
// ------------------------------------------------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-analytique"), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-analytique"), QString(LanguageShort.c_str()));
}
// ------------------------------------------------------------------------
void MonCreateCase::CaseNameChanged()
CBPyramid->setChecked(false);
_Pyram = 0 ;
}
+//
adjustSize();
}
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
virtual void SetAdvanced();
virtual void PushOnOK();
- virtual bool PushOnApply();
+ virtual bool PushOnApply(int option);
virtual void PushOnHelp();
virtual void CaseNameChanged();
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// ---------------------------------------------------------------------------------
/* Constructs a MonCreateHypothesis */
:
- QDialog(0), Ui_CreateHypothesis(),
+ QScrollArea(0), Ui_CreateHypothesis(),
_parent(parent), _Name(Name),
_aCaseName(caseName), _aFieldFile(aFieldFile),
_aFieldName(""),
MESSAGE("Constructeur") ;
myHomardGen=HOMARD::HOMARD_Gen::_duplicate(myHomardGen0);
setupUi(this);
- setModal(modal);
+ if ( modal ) { setWindowModality(Qt::WindowModal); }
+ else { setWindowModality(Qt::NonModal); }
+ setWindowFlags( Qt::WindowStaysOnTopHint ) ;
InitConnect();
SetNewName();
SetFieldNo();
GBAdvancedOptions->setVisible(0);
CBLevelOutput->setChecked(false);
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
}
// Mise en place des attributs
- aHypothesis->SetAdapRefinUnRef(_aTypeAdap,_aTypeRaff,_aTypeDera);
+ if ( _aTypeAdap == -1 )
+ {
+ int TypeRaffDera ;
+ if ( _aTypeRaff == 1 ) { TypeRaffDera = 1 ; }
+ else { TypeRaffDera = -1 ; }
+ aHypothesis->SetUnifRefinUnRef(TypeRaffDera);
+ }
aHypothesis->SetTypeFieldInterp(_TypeFieldInterp);
aHypothesis->SetCaseCreation(_aCaseName.toStdString().c_str());
if (CBAdvanced->isChecked())
{
// Enregistrement du niveau maximal
- _NivMax = spinBoxNivMax->value() ;
+ _NivMax = SpinBoxNivMax->value() ;
aHypothesis->SetNivMax(_NivMax);
// Enregistrement du diametre minimal
_DiamMin = doubleSpinBoxDiamMin->value() ;
void MonCreateHypothesis::PushOnHelp()
// ------------------------------------------------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_hypothese.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_hypothese.html"), QString(""), QString(LanguageShort.c_str()));
}
// -------------------------------------------------
void MonCreateHypothesis::SetNewName()
{
if ( aName == QString(MyObjects[i]))
{
- num=num+1;
- aName="";
- break;
+ num ++ ;
+ aName = "" ;
+ break ;
}
}
}
else { GBFieldFile->setVisible(1); }
GBAreaManagement->setVisible(0);
GBUniform->setVisible(1);
- adjustSize();
+
_aTypeAdap = -1 ;
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateHypothesis::SetChamp()
GBAreaManagement->adjustSize();
GBFieldManagement->adjustSize();
GBFieldFile->adjustSize();
- adjustSize();
_aTypeAdap = 1 ;
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateHypothesis::SetZone()
if ( _TypeFieldInterp == 0 ) { GBFieldFile->setVisible(0); }
else { GBFieldFile->setVisible(1); }
GBAreaManagement->setVisible(1);
- adjustSize();
+
_aTypeRaff = 1 ;
_aTypeDera = 0 ;
_aTypeAdap = 0 ;
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateHypothesis::SetUCInf()
// ------------------------------------------------------------------------
{
- _UsCmpI = 1 ;
+ if ( TWCMP->rowCount() == 1 ) { _UsCmpI = 2 ; }
+ else { _UsCmpI = 1 ; }
RBInf->setChecked(true);
}
// ------------------------------------------------------------------------
_aFieldName=CBFieldName->currentText();
aHypothesis->SetField(CORBA::string_dup(_aFieldName.toStdString().c_str()) ) ;
- aHypothesis->SetRefinThr( _TypeThR, _ThreshR ) ;
- aHypothesis->SetUnRefThr( _TypeThC, _ThreshC ) ;
+ if ( _TypeThR > 0 ) { aHypothesis->SetRefinThr( _TypeThR, _ThreshR ) ; }
+ if ( _TypeThC > 0 ) { aHypothesis->SetUnRefThr( _TypeThC, _ThreshC ) ; }
aHypothesis->SetUseField( _UsField ) ;
aHypothesis->SetUseComp( _UsCmpI ) ;
_aListeComposant = GetListCompChecked() ;
else { GBFieldFile->setVisible(0); }
TWField->setVisible(0);
//
- adjustSize();
_TypeFieldInterp = 0 ;
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateHypothesis::SetFieldAll()
TWField->setVisible(0);
//
_TypeFieldInterp = 1 ;
- adjustSize();
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateHypothesis::SetFieldChosen()
TWField->setVisible(1);
_TypeFieldInterp = 2 ;
- adjustSize();
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonCreateHypothesis::SetAdvanced()
CBLevelOutput->setChecked(false);
_LevelOutput = 0 ;
}
+//
adjustSize();
}
// ------------------------------------------------------------------------
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
#include CORBA_CLIENT_HEADER(HOMARD_Hypothesis)
#include <CreateHypothesis.h>
-#include <QDialog>
+#include <QScrollArea>
class MonCreateIteration;
-class HOMARD_EXPORT MonCreateHypothesis : public QDialog, public Ui_CreateHypothesis
+class HOMARD_EXPORT MonCreateHypothesis : public QScrollArea, public Ui_CreateHypothesis
{
Q_OBJECT
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
* Inherits from CasHomard
* Sets attributes to default values
*/
- QDialog(0),
+ QScrollArea(0),
Ui_CreateIteration(),
_Name(""),
_IterParentName(IterParentName),
MESSAGE("Constructeur");
myHomardGen=HOMARD::HOMARD_Gen::_duplicate(myHomardGen0);
setupUi(this);
- setModal(modal);
+ if ( modal ) { setWindowModality(Qt::WindowModal); }
+ else { setWindowModality(Qt::NonModal); }
InitConnect();
SetNewName();
GetHypotheses();
- if (_IterParentName != QString(""))
- { SetIterParentName(); }
- else
- {setModal(false); /* permet selection de l iteration dans l arbre d etude */}
+ if (_IterParentName != QString("")) { SetIterParentName(); }
+ else { setWindowModality(Qt::NonModal) ; /* permet selection de l'iteration dans l arbre d etude */}
SetTSNo();
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
MonCreateIteration::~MonCreateIteration()
// ------------------------------------------------------------------------
// Appele lorsque l'un des boutons Ok ou Apply est presse
{
- MESSAGE("MonCreateIteration::PushOnApply");
+ MESSAGE("PushOnApply");
//
QString aName = LEName->text().trimmed();
if ( aName == QString (""))
void MonCreateIteration::PushOnHelp()
// ------------------------------------------------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_iteration.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_iteration.html"), QString(""), QString(LanguageShort.c_str()));
}
// ------------------------------------------------------------------------
void MonCreateIteration::SetIterParentName()
{
if ( aName == QString((MyObjects)[i]))
{
- num=num+1;
- aName="";
- break;
+ num ++ ;
+ aName = "" ;
+ break ;
}
}
}
// ------------------------------------------------------------------------
{
QString fileName0 = LEFieldFile->text().trimmed();
- QString fileName = HOMARD_QT_COMMUN::PushNomFichier(false);
+ QString fileName = HOMARD_QT_COMMUN::PushNomFichier( false, QString("med") ) ;
if (fileName.isEmpty()) fileName = fileName0 ;
LEFieldFile->setText(fileName);
raise();
TimeStep->setVisible(0);
SpinBox_TimeStep->setVisible(0);
SpinBox_TimeStep->setValue(-1);
-
+//
adjustSize();
}
// ------------------------------------------------------------------------
TimeStep->setVisible(0);
SpinBox_TimeStep->setVisible(0);
SpinBox_TimeStep->setValue(-2);
-
+//
adjustSize();
}
// ------------------------------------------------------------------------
TimeStep->setVisible(1);
SpinBox_TimeStep->setVisible(1);
SpinBox_TimeStep->setValue(0);
-
+//
adjustSize();
}
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
#include CORBA_CLIENT_HEADER(HOMARD_Cas)
#include <CreateIteration.h>
-#include <QDialog>
-#include <QWidget>
+#include <QScrollArea>
+// #include <QDialog>
+// #include <QWidget>
-class HOMARD_EXPORT MonCreateIteration : public QDialog, public Ui_CreateIteration
+class HOMARD_EXPORT MonCreateIteration : public QScrollArea, public Ui_CreateIteration
{
Q_OBJECT
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
void MonCreateListGroup::PushOnHelp()
// ------------------------------------------------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_hypothese.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_hypothese.html"), QString(""), QString(LanguageShort.c_str()));
}
// ------------------------------------------------------------------------
void MonCreateListGroup::InitGroupes()
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
#include "MonCreateYACS.h"
+#include "HOMARD.hxx"
#include <QFileDialog>
#include <QMessageBox>
_aDirName(""),
_aMeshFile(""),
_Type(1)
- // La valeur de _Type doit etre la meme que celle dans HOMARD_Gen_i::CreateYACSSchema
- // et doit correspondre aux defauts des boutons
+ // Les valeurs de _Type, _MaxIter, _MaxNode, _MaxElem doivent etre les memes que celles dans HOMARD_Gen_i::CreateYACSSchema
+ // et doivent correspondre aux defauts des boutons
{
// MESSAGE("Debut du constructeur de MonCreateYACS");
myHomardGen=HOMARD::HOMARD_Gen::_duplicate(myHomardGen0);
setupUi(this);
- setModal(modal);
+ if ( modal ) { setWindowModality(Qt::WindowModal); }
+ else { setWindowModality(Qt::NonModal); }
InitConnect();
SetNewName() ;
- if (_aCaseName != QString(""))
- { SetCaseName(); }
- else
- {setModal(false); /* permet selection du cas dans l arbre d etude */}
-
+ if (_aCaseName != QString("")) { SetCaseName(); }
+ else { setWindowModality(Qt::NonModal); /* permet selection du cas dans l arbre d etude */}
+//
+// Les valeurs definies dans les preferences
+ _MaxIter = myHomardGen->GetYACSMaxIter();
+ _MaxNode = myHomardGen->GetYACSMaxNode();
+ _MaxElem = myHomardGen->GetYACSMaxElem();
+ MESSAGE ("Valeur par defaut de MaxIter = " << _MaxIter<<", MaxNode = "<< _MaxNode<<", MaxElem = "<< _MaxElem);
+ SpinBoxMaxIter->setValue(_MaxIter) ;
+ SpinBoxMaxNode->setValue(_MaxNode) ;
+ SpinBoxMaxElem->setValue(_MaxElem) ;
+//
adjustSize();
-// MESSAGE("Fin du constructeur de MonCreateYACS");
}
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
// Constructeur appele par MonEditYACS
//
- myHomardGen(myHomardGen0),
- _Name (""),
- Chgt (false)
- {
+myHomardGen(myHomardGen0),
+_Name (""),
+Chgt (false)
+{
// MESSAGE("Debut du constructeur de MonCreateYACS appele par MonEditYACS");
- setupUi(this) ;
-
- setModal(true) ;
- InitConnect() ;
- }
+ setupUi(this) ;
+ setWindowModality(Qt::WindowModal);
+ InitConnect() ;
+//
+ adjustSize();
+}
// ------------------------------------------------------------------------
MonCreateYACS::~MonCreateYACS()
// ------------------------------------------------------------------------
return false;
}
}
-#ifndef WIN32
- if (chdir(aDirName.toStdString().c_str()) != 0)
-#else
- if (_chdir(aDirName.toStdString().c_str()) != 0)
-#endif
+ if (CHDIR(aDirName.toStdString().c_str()) != 0)
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
QObject::tr("HOM_CASE_DIRECTORY_3") );
MESSAGE("CreateOrUpdate");
bool bOK = true ;
- // Le cas
+ // 1. Verification des donnees
+ // 1.1. Le cas
if ( _aCaseName == QString (""))
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
QObject::tr("HOM_CASE_NAME") );
return false;
}
- // Les donnees
+ // 1.2. Les donnees
QString aScriptFile=LEScriptFile->text().trimmed();
if ( aScriptFile != _aScriptFile )
{
Chgt = true ;
}
- // Creation de l'objet CORBA
+ // 2. Creation de l'objet CORBA
try
{
_Name=LEName->text().trimmed();
bOK = false;
}
- // Options
+ // 3. Options
if ( bOK )
- { aYACS->SetType(_Type) ; }
+ {
+ // 3.1. Le type du schema
+ aYACS->SetType(_Type) ;
+
+ // 3.2. Les maximums
+ _MaxIter = SpinBoxMaxIter->value() ;
+ aYACS->SetMaxIter(_MaxIter) ;
+
+ _MaxNode = SpinBoxMaxNode->value() ;
+ aYACS->SetMaxNode(_MaxNode) ;
+
+ _MaxElem = SpinBoxMaxElem->value() ;
+ aYACS->SetMaxElem(_MaxElem) ;
+
+ }
- // Ecriture du fichier
+ // 4. Ecriture du fichier
if ( bOK )
{
int codret = aYACS->Write() ;
void MonCreateYACS::PushOnHelp()
//-------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("yacs.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("yacs.html"), QString(""), QString(LanguageShort.c_str()));
}
// -------------------------------------------------
void MonCreateYACS::SetNewName()
{
if ( aName == QString(MyObjects[i]))
{
- num=num+1;
- aName="";
- break;
+ num ++ ;
+ aName = "" ;
+ break ;
}
}
}
// ------------------------------------------------------------------------
{
QString fileName0 = LEScriptFile->text().trimmed();
- QString fileName = HOMARD_QT_COMMUN::PushNomFichier(false);
+ QString fileName = HOMARD_QT_COMMUN::PushNomFichier( false, QString("py") ) ;
if (fileName.isEmpty()) fileName = fileName0 ;
LEScriptFile->setText(fileName);
}
// ------------------------------------------------------------------------
{
QString fileName0 = LEMeshFile->text().trimmed();
- QString fileName = HOMARD_QT_COMMUN::PushNomFichier(false);
+ QString fileName = HOMARD_QT_COMMUN::PushNomFichier( false, QString("med") ) ;
if (fileName.isEmpty()) fileName = fileName0 ;
LEMeshFile->setText(fileName);
}
-// Copyright (C) 2011-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
#include CORBA_CLIENT_HEADER(HOMARD_Cas)
#include <CreateYACS.h>
-#include <QWidget>
+#include <QScrollArea>
-class HOMARD_EXPORT MonCreateYACS : public QDialog, public Ui_CreateYACS
+class HOMARD_EXPORT MonCreateYACS : public QScrollArea, public Ui_CreateYACS
{
Q_OBJECT
QString _aMeshFile;
int _Type;
+ int _MaxIter;
+ int _MaxNode;
+ int _MaxElem;
bool Chgt;
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
}
// Rayons
SpinBox_Rayon->setSingleStep(_Rayon/10.) ;
- SpinBox_Rayon->setMinimum(0.) ;
SpinBox_Radius->setSingleStep(_Rayon/10.) ;
- SpinBox_Radius->setMinimum(0.) ;
SpinBox_Radius_int->setSingleStep(_Rayon/20.) ;
- SpinBox_Radius_int->setMinimum(0.) ;
SpinBox_Radius_ext->setSingleStep(_Rayon/10.) ;
- SpinBox_Radius_ext->setMinimum(0.) ;
// Axe et hauteur
// Si une coordonnee est constante, inutile de demander l'axe et la hauteur
if ( _Orient > 0) {
TLHaut_p->setVisible(0) ;
}
else {
- SpinBox_Haut->setMinimum(0.) ;
SpinBox_Haut->setSingleStep(_Rayon/10.) ;
- SpinBox_Haut_p->setMinimum(0.) ;
SpinBox_Haut_p->setSingleStep(_Rayon/10.) ;
}
}
void MonCreateZone::PushOnHelp()
// ------------------------------------------------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_zone.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_zone.html"), QString(""), QString(LanguageShort.c_str()));
}
// -----------------------------------
{
if ( aName == QString(MyObjects[i]))
{
- num=num+1;
- aName="";
- break;
+ num ++ ;
+ aName = "" ;
+ break ;
}
}
}
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
SetConeR();
break;
}
+ case 5: // il s agit d un tore
+ {
+ InitValBoundaryAnTore();
+ SetTore();
+ break;
+ }
};
}
// ------------------------------------------------------------------------
convertRayonAngle(1) ;
}
// ------------------------------------------------------------------------
+void MonEditBoundaryAn::InitValBoundaryAnTore()
+// ------------------------------------------------------------------------
+{
+ HOMARD::double_array_var mesCoordBoundary = aBoundaryAn->GetCoords();
+ ASSERT(mesCoordBoundary->length() == 8 );
+ _BoundaryAnXcentre=mesCoordBoundary[0];
+ _BoundaryAnYcentre=mesCoordBoundary[1];
+ _BoundaryAnZcentre=mesCoordBoundary[2];
+ _BoundaryAnXaxis=mesCoordBoundary[3];
+ _BoundaryAnYaxis=mesCoordBoundary[4];
+ _BoundaryAnZaxis=mesCoordBoundary[5];
+ _BoundaryAnRayon1=mesCoordBoundary[6];
+ _BoundaryAnRayon2=mesCoordBoundary[7];
+}
+// ------------------------------------------------------------------------
void MonEditBoundaryAn::SetCylinder()
// ------------------------------------------------------------------------
{
gBCylindre->setVisible(1);
gBSphere->setVisible(0);
gBCone->setVisible(0);
+ gBTore->setVisible(0);
RBCylindre->setChecked(1);
- adjustSize();
_Type=1;
RBSphere->setDisabled(true);
RBCone->setDisabled(true);
- adjustSize();
+ RBTore->setDisabled(true);
SpinBox_Xcent->setValue(_BoundaryAnXcentre);
SpinBox_Ycent->setValue(_BoundaryAnYcentre);
// Rayon
SpinBox_Radius->setValue(_BoundaryAnRayon);
SpinBox_Radius->setSingleStep(_BoundaryAnRayon/10.);
-
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonEditBoundaryAn::SetSphere()
gBSphere->setVisible(1);
RBSphere->setChecked(1);
gBCone->setVisible(0);
+ gBTore->setVisible(0);
RBCylindre->setDisabled(true);
RBCone->setDisabled(true);
- adjustSize();
+ RBTore->setDisabled(true);
_Type=2 ;
SpinBox_Xcentre->setValue(_BoundaryAnXcentre);
if ( _Zincr > 0) { SpinBox_Zcentre->setSingleStep(_Zincr); }
else { SpinBox_Zcentre->setSingleStep(1);}
- SpinBox_Rayon->setMinimum(0.);
SpinBox_Rayon->setValue(_BoundaryAnRayon);
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonEditBoundaryAn::SetConeA()
gBSphere->setVisible(0);
gBCone->setVisible(1);
RBCone->setChecked(1);
+ gBTore->setVisible(0);
RB_Def_angle->setChecked(1);
RBCylindre->setDisabled(true);
RBSphere->setDisabled(true);
- adjustSize();
+ RBTore->setDisabled(true);
_Type=3;
//
TLCone_X1->setText(QApplication::translate("CreateBoundaryAn", "X axis", 0, QApplication::UnicodeUTF8));
//
TLCone_V2->setVisible(0);
SpinBox_Cone_V2->setVisible(0);
+//
+ adjustSize();
}
// ------------------------------------------------------------------------
void MonEditBoundaryAn::SetConeR()
gBCylindre->setVisible(0);
gBSphere->setVisible(0);
gBCone->setVisible(1);
+ gBTore->setVisible(0);
RBCone->setChecked(1);
RB_Def_radius->setChecked(1);
RBCylindre->setDisabled(true);
RBSphere->setDisabled(true);
- adjustSize();
+ RBTore->setDisabled(true);
_Type=4;
//
TLCone_X1->setText(QApplication::translate("CreateBoundaryAn", "X centre 1", 0, QApplication::UnicodeUTF8));
SpinBox_Cone_V2->setVisible(1);
TLCone_V2->setText(QApplication::translate("CreateBoundaryAn", "Radius 2", 0, QApplication::UnicodeUTF8));
SpinBox_Cone_V2->setValue(_BoundaryAnRayon2);
+//
+ adjustSize();
+}
+// ------------------------------------------------------------------------
+void MonEditBoundaryAn::SetTore()
+// ------------------------------------------------------------------------
+{
+ gBCylindre->setVisible(0);
+ gBSphere->setVisible(0);
+ gBCone->setVisible(0);
+ gBTore->setVisible(1);
+ RBTore->setChecked(1);
+ _Type=5;
+ RBCylindre->setDisabled(true);
+ RBSphere->setDisabled(true);
+ RBCone->setDisabled(true);
+
+ SpinBoxToreXcent->setValue(_BoundaryAnXcentre);
+ SpinBoxToreYcent->setValue(_BoundaryAnYcentre);
+ SpinBoxToreZcent->setValue(_BoundaryAnZcentre);
+
+ SpinBoxToreXaxe->setValue(_BoundaryAnXaxis);
+ SpinBoxToreYaxe->setValue(_BoundaryAnYaxis);
+ SpinBoxToreZaxe->setValue(_BoundaryAnZaxis);
+
+
+ SpinBoxToreXaxe->setSingleStep(0.1);
+ SpinBoxToreXcent->setSingleStep(_Xincr);
+ SpinBoxToreYaxe->setSingleStep(0.1);
+ SpinBoxToreYcent->setSingleStep(_Yincr);
+ SpinBoxToreZaxe->setSingleStep(0.1);
+ SpinBoxToreZcent->setSingleStep(_Zincr);
+// Rayon de revolution
+ SpinBoxToreRRev->setValue(_BoundaryAnRayon1);
+ SpinBoxToreRRev->setSingleStep(_BoundaryAnRayon1/10.);
+// Rayon primaire
+ SpinBoxToreRPri->setValue(_BoundaryAnRayon2);
+ SpinBoxToreRPri->setSingleStep(_BoundaryAnRayon2/10.);
+//
+ adjustSize();
}
// ---------------------------------------------------
bool MonEditBoundaryAn::CreateOrUpdateBoundaryAn()
break;
}
case 4 : // il s agit d un cone defini par les 2 rayons
- {
+ {
aBoundaryAn = myHomardGen->CreateBoundaryConeR(CORBA::string_dup(_aName.toStdString().c_str()), \
_BoundaryAnXcone1, _BoundaryAnYcone1, _BoundaryAnZcone1, _BoundaryAnRayon1, \
_BoundaryAnXcone2, _BoundaryAnYcone2, _BoundaryAnZcone2, _BoundaryAnRayon2);
break;
}
+ case 5 : // il s agit d un tore
+ {
+ aBoundaryAn->SetTorus(_BoundaryAnXcentre, _BoundaryAnYcentre, _BoundaryAnZcentre, _BoundaryAnXaxis, _BoundaryAnYaxis, _BoundaryAnZaxis, _BoundaryAnRayon1, _BoundaryAnRayon2 );
+ break;
+ }
}
if (Chgt) myHomardGen->InvalideBoundary(_aName.toStdString().c_str());
HOMARD_UTILS::updateObjBrowser();
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
void SetSphere();
void SetConeR();
void SetConeA();
+ void SetTore();
void InitValBoundaryAnCylindre();
void InitValBoundaryAnSphere();
void InitValBoundaryAnConeR();
void InitValBoundaryAnConeA();
+ void InitValBoundaryAnTore();
public slots:
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// ------------------------------
{
}
-
// ------------------------------
void MonEditBoundaryDi::InitValEdit()
// ------------------------------
LEFileName->setText(aMeshFile);
LEFileName->setReadOnly(1);
PushFichier->setVisible(0);
+//
adjustSize();
}
// ------------------------------
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
if ( NivMax > 0 || DiamMin > 0 || AdapInit != 0 || LevelOutput != 0 )
{ GBAdvancedOptions->setVisible(1);
if ( NivMax > 0 )
- { spinBoxNivMax->setValue(NivMax);
- spinBoxNivMax->setDisabled(true); }
+ { SpinBoxNivMax->setValue(NivMax);
+ SpinBoxNivMax->setDisabled(true); }
else
{ TLMaximalLevel->setVisible(0);
- spinBoxNivMax->setVisible(0); }
+ SpinBoxNivMax->setVisible(0); }
if ( DiamMin > 0 )
{ doubleSpinBoxDiamMin->setValue(DiamMin);
doubleSpinBoxDiamMin->setDisabled(true); }
else
{ GBAdvancedOptions->setVisible(0); }
//
- adjustSize();
}
// ----------------------------------------
void MonEditHypothesis::InitAdaptUniforme()
// Affichage des informations pour une adaptation uniforme
{
// Choix des options generales
- GBFieldManagement->setVisible(0);
- GBAreaManagement->setVisible(0);
- GBUniform->setVisible(1);
- adjustSize();
- RBUniforme->setChecked(true);
- RBUniforme->setEnabled(false);
- RBChamp->setEnabled(false);
- RBZone->setEnabled(false);
+ GBFieldManagement->setVisible(0);
+ GBAreaManagement->setVisible(0);
+ GBUniform->setVisible(1);
+ RBUniforme->setChecked(true);
+ RBUniforme->setEnabled(false);
+ RBChamp->setEnabled(false);
+ RBZone->setEnabled(false);
//
// Raffinement ou deraffinement ?
- if (_aTypeDera == 0)
- {
- VERIFICATION(_aTypeRaff==1);
- RBUniDera->setChecked(false);
- RBUniRaff->setChecked(true);
- }
- if (_aTypeDera == 1)
- {
- VERIFICATION(_aTypeRaff==0);
- RBUniDera->setChecked(true);
- RBUniRaff->setChecked(false);
- }
+ if (_aTypeDera == 0)
+ {
+ VERIFICATION(_aTypeRaff==1);
+ RBUniDera->setChecked(false);
+ RBUniRaff->setChecked(true);
+ }
+ if (_aTypeDera == 1)
+ {
+ VERIFICATION(_aTypeRaff==0);
+ RBUniDera->setChecked(true);
+ RBUniRaff->setChecked(false);
+ }
+//
+ adjustSize();
//
}
// -------------------------------------
// -------------------------------------
// Affichage des informations pour une adaptation selon des zones :
{
- MESSAGE ("Debut de InitAdaptZone");
+ MESSAGE ("Debut de InitAdaptZone");
// Choix des options generales
- GBUniform->setVisible(0);
- GBFieldManagement->setVisible(0);
- GBAreaManagement->setVisible(1);
- adjustSize();
- RBZone->setChecked(true);
- RBChamp->setEnabled(false);
- RBUniforme->setEnabled(false);
- RBZone->setEnabled(false);
+ GBUniform->setVisible(0);
+ GBFieldManagement->setVisible(0);
+ GBAreaManagement->setVisible(1);
+ RBZone->setChecked(true);
+ RBChamp->setEnabled(false);
+ RBUniforme->setEnabled(false);
+ RBZone->setEnabled(false);
// Recuperation de toutes les zones decrites et notation de celles retenues
- GetAllZones();
- HOMARD::listeZonesHypo_var mesZonesAvant = aHypothesis->GetZones();
- for (int i=0; i<mesZonesAvant->length(); i++)
+ GetAllZones();
+ HOMARD::listeZonesHypo_var mesZonesAvant = aHypothesis->GetZones();
+ for (int i=0; i<mesZonesAvant->length(); i++)
+ {
+ MESSAGE ("i"<<i<<", zone :"<<string(mesZonesAvant[i])<<", type :"<<string(mesZonesAvant[i+1]));
+ for ( int j =0 ; j < TWZone->rowCount(); j++)
{
- MESSAGE ("i"<<i<<", zone :"<<string(mesZonesAvant[i])<<", type :"<<string(mesZonesAvant[i+1]));
- for ( int j =0 ; j < TWZone->rowCount(); j++)
+ MESSAGE (". j"<<j<<", zone :"<<TWZone->item(j,2)->text().toStdString());
+ if ( TWZone->item(j,2)->text().toStdString() == string(mesZonesAvant[i]) )
{
- MESSAGE (". j"<<j<<", zone :"<<TWZone->item(j,2)->text().toStdString());
- if ( TWZone->item(j,2)->text().toStdString() == string(mesZonesAvant[i]) )
+ MESSAGE ("OK avec "<<string(mesZonesAvant[i]));
+ if ( string(mesZonesAvant[i+1]) == "1" )
+ {
+ MESSAGE ("... RAFF");
+ TWZone->item( j,0 )->setCheckState( Qt::Checked );
+ TWZone->item( j,1 )->setCheckState( Qt::Unchecked ); }
+ else
{
- MESSAGE ("OK avec "<<string(mesZonesAvant[i]));
- if ( string(mesZonesAvant[i+1]) == "1" )
- {
- MESSAGE ("... RAFF");
- TWZone->item( j,0 )->setCheckState( Qt::Checked );
- TWZone->item( j,1 )->setCheckState( Qt::Unchecked ); }
- else
- {
- MESSAGE ("... DERA");
- TWZone->item( j,0 )->setCheckState( Qt::Unchecked );
- TWZone->item( j,1 )->setCheckState( Qt::Checked ); }
- break;
- }
+ MESSAGE ("... DERA");
+ TWZone->item( j,0 )->setCheckState( Qt::Unchecked );
+ TWZone->item( j,1 )->setCheckState( Qt::Checked ); }
+ break;
}
- i += 1 ;
}
+ i += 1 ;
+ }
//
// Inactivation des choix
- for ( int j =0 ; j < TWZone->rowCount(); j++)
- {
- TWZone->item( j, 0 )->setFlags(0);
- TWZone->item( j, 1 )->setFlags(0);
- }
- PBZoneNew->setVisible(0);
+ for ( int j =0 ; j < TWZone->rowCount(); j++)
+ {
+ TWZone->item( j, 0 )->setFlags(0);
+ TWZone->item( j, 1 )->setFlags(0);
+ }
+ PBZoneNew->setVisible(0);
+//
+ adjustSize();
//
}
// -------------------------------------
GBUniform->setVisible(0);
GBAreaManagement->setVisible(0);
GBFieldManagement->setVisible(1);
- adjustSize();
RBChamp->setChecked(true);
RBUniforme->setEnabled(false);
RBChamp->setEnabled(false);
RBInf->setChecked(true);
RBInf->setEnabled(true);
}
+//
+ adjustSize();
}
// -------------------------------------
void MonEditHypothesis::InitFieldInterp()
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
// Invisibilite des hypotheses et des champs
Hypothese->setVisible(0);
GBField->setVisible(0);
- adjustSize();
//
}
// ------------------------------
LEName->setText(_IterationName);
LEName->setReadOnly(true);
-// Affichage bloque du nom de l'iteration parent
+ // Affichage bloque du nom de l'iteration parent
_IterParentName = aIter->GetIterParentName();
LEIterationParentName->setText(_IterParentName);
LEIterationParentName->setReadOnly(true);
PBIterParent->setEnabled(false);
PBIterParent->setVisible(0);
-// Affichage bloque du nom du maillage de l'iteration parent
+ // Affichage bloque du nom du maillage de l'iteration parent
aIterParent = myHomardGen->GetIteration(_IterParentName.toStdString().c_str());
QString MeshNameParent = aIterParent->GetMeshName();
LEMeshName_n->setText(MeshNameParent);
LEMeshName_n->setReadOnly(1);
-// Affichage bloque du nom du maillage de l'iteration courante
+ // Affichage bloque du nom du maillage de l'iteration courante
QString MeshName = aIter->GetMeshName();
LEMeshName_np1->setText(MeshName);
LEMeshName_np1->setReadOnly(1);
-// Affichage de la bonne hypothese
+ // Affichage de la bonne hypothese
QString HypoName = aIter->GetHypoName();
CBHypothese->insertItem(0,HypoName);
CBHypothese->setCurrentIndex(0);
CBHypothese->setEnabled(false);
PBHypoNew->setVisible(0);
-// Pour une adaptation selon un champ
+ // Pour une adaptation selon un champ
HOMARD::HOMARD_Hypothesis_var myHypo = myHomardGen->GetHypothesis(HypoName.toStdString().c_str()) ;
_aTypeAdap = myHypo->GetAdapType() ;
if ( _aTypeAdap == 1 )
_rank = aIter->GetRank() ;
SpinBox_Rank->setValue(_rank);
-// Cas ou on prend le dernier pas de temps ou sans pas de temps
+ // Cas ou on prend le dernier pas de temps ou sans pas de temps
if ( _step <= -1 )
{
Rank->setVisible(0);
else { RBNo->setChecked(true); }
}
-// Cas avec pas de temps
+ // Cas avec pas de temps
else
{
Rank->setVisible(1);
{
GBField->setVisible(0);
}
+//
adjustSize();
//
}
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
LEName->setText(_Name);
LEName->setReadOnly(true);
- QString _aCaseName = aYACS->GetCaseName();
+ _aCaseName = aYACS->GetCaseName();
LECaseName->setText(_aCaseName);
LECaseName->setReadOnly(true);
PBCaseName->setVisible(0);
- QString aScriptFile = aYACS->GetScriptFile();
- LEScriptFile->setText(aScriptFile);
+ _aScriptFile = aYACS->GetScriptFile();
+ LEScriptFile->setText(_aScriptFile);
- QString aDirName = aYACS->GetDirName();
- LEDirName->setText(aDirName);
+ _aDirName = aYACS->GetDirName();
+ LEDirName->setText(_aDirName);
+ LEDirName->setReadOnly(true);
- QString aMeshFile = aYACS->GetMeshFile();
- LEMeshFile->setText(aMeshFile);
+ _aMeshFile = aYACS->GetMeshFile();
+ LEMeshFile->setText(_aMeshFile);
- int Type=aYACS->GetType();
- if(Type==1) { RBConstant->setChecked(true); }
- else { RBVariable->setChecked(true); };
+ _Type=aYACS->GetType();
+ if(_Type==1) { RBConstant->setChecked(true); }
+ else { RBVariable->setChecked(true); };
RBConstant->setEnabled(false);
RBVariable->setEnabled(false);
+
+ _MaxIter = aYACS->GetMaxIter();
+ SpinBoxMaxIter->setValue(_MaxIter) ;
+ _MaxNode = aYACS->GetMaxNode();
+ SpinBoxMaxNode->setValue(_MaxNode) ;
+ _MaxElem = aYACS->GetMaxElem();
+ SpinBoxMaxElem->setValue(_MaxElem) ;
//
- adjustSize();
}
// ---------------------------------------------------
bool MonEditYACS:: CreateOrUpdate()
//----------------------------------------------------
-// Modification du schema
+// Edition/modification du schema
{
MESSAGE("CreateOrUpdate");
-
- // Les donnees
+ bool chgt = false ;
+ int valeur_i ;
+ // A. Recuperation et comparaison des valeurs
+ // A.1. Le script de lancement
QString aScriptFile=LEScriptFile->text().trimmed();
if ( aScriptFile != _aScriptFile )
{
+// MESSAGE("modification de ScriptFile : "<<_aScriptFile.toStdString()<<" devient "<<aScriptFile.toStdString());
_aScriptFile = aScriptFile ;
aYACS->SetScriptFile(CORBA::string_dup(_aScriptFile.toStdString().c_str())) ;
+ chgt = true ;
}
- QString aDirName=LEDirName->text().trimmed();
- if ( aDirName != _aDirName )
- {
- _aDirName = aDirName ;
- aYACS->SetDirName(CORBA::string_dup(_aDirName.toStdString().c_str())) ;
- }
+ // A.2. Le maillage initial
QString aMeshFile=LEMeshFile->text().trimmed();
if ( aMeshFile != _aMeshFile )
{
+// MESSAGE("modification de aMeshFile : "<<_aMeshFile.toStdString()<<" devient "<<aMeshFile.toStdString());
_aMeshFile = aMeshFile ;
aYACS->SetMeshFile(CORBA::string_dup(_aMeshFile.toStdString().c_str())) ;
+ chgt = true ;
+ }
+ // A.3. La convergence
+ valeur_i = SpinBoxMaxIter->value() ;
+ if ( valeur_i != _MaxIter )
+ {
+// MESSAGE("modification de MaxIter : "<<_MaxIter<<" devient "<<valeur_i);
+ _MaxIter = valeur_i ;
+ aYACS->SetMaxIter(_MaxIter) ;
+ chgt = true ;
+ }
+ valeur_i = SpinBoxMaxNode->value() ;
+ if ( valeur_i != _MaxNode )
+ {
+// MESSAGE("modification de MaxNode : "<<_MaxNode<<" devient "<<valeur_i);
+ _MaxNode = valeur_i ;
+ aYACS->SetMaxNode(_MaxNode) ;
+ chgt = true ;
+ }
+ valeur_i = SpinBoxMaxElem->value() ;
+ if ( valeur_i != _MaxElem )
+ {
+// MESSAGE("modification de MaxElem : "<<_MaxElem<<" devient "<<valeur_i);
+ _MaxElem = valeur_i ;
+ aYACS->SetMaxElem(_MaxElem) ;
+ chgt = true ;
+ }
+// B. Si changement
+ if ( chgt )
+ {
+ myHomardGen->InvalideYACS(_Name.toStdString().c_str());
}
+ HOMARD_UTILS::updateObjBrowser();
return true ;
}
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
if ( _Zincr > 0) { SpinBox_Zcentre->setSingleStep(_Zincr); }
else { SpinBox_Zcentre->setSingleStep(1);}
- SpinBox_Rayon->setMinimum(0.);
SpinBox_Rayon->setValue(_ZoneRayon);
}
// ------------------------------------------------------------------------
if ( _Zincr > 0) { SpinBox_Zbase->setSingleStep(_Zincr); }
else { SpinBox_Zbase->setSingleStep(1) ;}
- SpinBox_Radius->setMinimum(0.);
SpinBox_Radius->setValue(_ZoneRayon);
if ( _Type == 5 )
if ( _Zincr > 0) { SpinBox_Zbase_p->setSingleStep(_Zincr); }
else { SpinBox_Zbase_p->setSingleStep(1) ;}
- SpinBox_Radius_int->setMinimum(0.);
SpinBox_Radius_int->setValue(_ZoneRayonInt);
- SpinBox_Radius_ext->setMinimum(0.);
SpinBox_Radius_ext->setValue(_ZoneRayon);
if ( _Type == 7 )
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
void MonIterInfo::PushOnHelp()
//-------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_mesh_info.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_mesh_info.html"), QString(""), QString(LanguageShort.c_str()));
}
// ------------------------------------------------------------------------
void MonIterInfo::SetBlockSize()
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
#include "MonMeshInfo.h"
+#include "HOMARD.hxx"
#include <QFileDialog>
#include <QMessageBox>
return false;
}
}
-#ifndef WIN32
- if (chdir(aDirName.toStdString().c_str()) != 0)
-#else
- if (_chdir(aDirName.toStdString().c_str()) != 0)
-#endif
+ if (CHDIR(aDirName.toStdString().c_str()) != 0)
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
QObject::tr("HOM_CASE_DIRECTORY_3") );
void MonMeshInfo::PushOnHelp()
//-------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_case.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_case.html"), QString(""), QString(LanguageShort.c_str()));
}
// ---------------------------------
void MonMeshInfo::SetNewCaseName()
{
if ( aCaseName == QString((MyCases)[i]) )
{
- num += 1 ;
- aCaseName="";
- break;
+ num ++ ;
+ aCaseName = "" ;
+ break ;
}
}
}
// ------------------------------------------------------------------------
{
QString fileName0 = LEFileName->text().trimmed();
- QString fileName = HOMARD_QT_COMMUN::PushNomFichier();
+ QString fileName = HOMARD_QT_COMMUN::PushNomFichier( false, QString("med") ) ;
if (fileName.isEmpty()) fileName = fileName0 ;
LEFileName->setText(fileName);
}
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
#include "MonPursueIteration.h"
+#include "HOMARD.hxx"
#include <QFileDialog>
#include <QMessageBox>
SetNewCaseName() ;
_Type = 1 ;
GBIterationintoCase->setVisible(0);
- spinBoxNumber->setVisible(0);
+ SpinBoxNumber->setVisible(0);
adjustSize();
MESSAGE("Fin du constructeur de MonPursueIteration");
return false;
}
}
-#ifndef WIN32
- if (chdir(aDirName.toStdString().c_str()) != 0)
-#else
- if (_chdir(aDirName.toStdString().c_str()) != 0)
-#endif
+ if (CHDIR(aDirName.toStdString().c_str()) != 0)
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
QObject::tr("HOM_CASE_DIRECTORY_3") );
QObject::tr("HOM_START_DIRECTORY_1") );
return false;
}
-#ifndef WIN32
- if (chdir(aDirNameStart.toStdString().c_str()) != 0)
-#else
- if (_chdir(aDirNameStart.toStdString().c_str()) != 0)
-#endif
+ if (CHDIR(aDirNameStart.toStdString().c_str()) != 0)
{
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
QObject::tr("HOM_START_DIRECTORY_3") );
// 3. Enregistrement du numero d'iteration
int Number ;
- if ( _Type == 3 ) { Number = spinBoxNumber->value() ; }
+ if ( _Type == 3 ) { Number = SpinBoxNumber->value() ; }
// 4. Creation du cas
QString _aCaseName=LECaseName->text().trimmed();
void MonPursueIteration::PushOnHelp()
//-------------------------------
{
- char* LanguageShort = myHomardGen->GetLanguageShort();
- HOMARD_UTILS::PushOnHelp(QString("gui_create_case.html"), QString(""), QString(LanguageShort));
+ std::string LanguageShort = myHomardGen->GetLanguageShort();
+ HOMARD_UTILS::PushOnHelp(QString("gui_create_case.html"), QString(""), QString(LanguageShort.c_str()));
}
// ---------------------------------
void MonPursueIteration::SetNewCaseName()
{
if ( aCaseName == QString((MyCases)[i]))
{
- num += 1;
- aCaseName = "";
- break;
+ num ++ ;
+ aCaseName = "" ;
+ break ;
}
}
}
// ------------------------------------------------------------------------
{
GBIterationintoCase->setVisible(0);
- spinBoxNumber->setVisible(0);
+ SpinBoxNumber->setVisible(0);
_Type = 1 ;
adjustSize();
}
void MonPursueIteration::CaseLastIteration()
// ------------------------------------------------------------------------
{
- spinBoxNumber->setVisible(0);
+ SpinBoxNumber->setVisible(0);
_Type = 2 ;
adjustSize();
}
void MonPursueIteration::CaseNIteration()
// ------------------------------------------------------------------------
{
- spinBoxNumber->setVisible(1);
+ SpinBoxNumber->setVisible(1);
_Type = 3 ;
adjustSize();
}
-// Copyright (C) 2011-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
/********************************************************************************
** Form generated from reading UI file 'PursueIteration.ui'
**
-** Created: Mon Apr 8 11:14:52 2013
+** Created: Wed Jan 15 08:41:44 2014
** by: Qt User Interface Compiler version 4.6.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
QGridLayout *gridLayout;
QRadioButton *RBCaseLastIteration;
QRadioButton *RBCaseNIteration;
- QSpinBox *spinBoxNumber;
+ QSpinBox *SpinBoxNumber;
QGroupBox *GroupButtons;
QGridLayout *gridLayout1;
QPushButton *buttonHelp;
gridLayout->addWidget(RBCaseNIteration, 1, 0, 1, 1);
- spinBoxNumber = new QSpinBox(GBIterationintoCase);
- spinBoxNumber->setObjectName(QString::fromUtf8("spinBoxNumber"));
- spinBoxNumber->setMaximum(1789);
+ SpinBoxNumber = new QSpinBox(GBIterationintoCase);
+ SpinBoxNumber->setObjectName(QString::fromUtf8("SpinBoxNumber"));
+ SpinBoxNumber->setMaximum(1789);
- gridLayout->addWidget(spinBoxNumber, 1, 1, 1, 1);
+ gridLayout->addWidget(SpinBoxNumber, 1, 1, 1, 1);
gridLayout_2->addWidget(GBIterationintoCase, 4, 0, 1, 2);
</widget>
</item>
<item row="1" column="1">
- <widget class="QSpinBox" name="spinBoxNumber">
+ <widget class="QSpinBox" name="SpinBoxNumber">
<property name="maximum">
<number>1789</number>
</property>
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
{
ASSERT( myHomardBoundary );
myHomardBoundary->SetMeshFile( MeshFile );
- _gen_i->PublishResultInSmesh(MeshFile, 0);
+ int PublisMeshIN = _gen_i->GetPublisMeshIN () ;
+ if ( PublisMeshIN != 0 ) { _gen_i->PublishResultInSmesh(MeshFile, 0); }
}
//=============================================================================
char* HOMARD_Boundary_i::GetMeshFile()
myHomardBoundary->SetConeA( Xaxe, Yaxe, Zaxe, Angle, Xcentre, Ycentre, Zcentre );
}
//=============================================================================
+void HOMARD_Boundary_i::SetTorus( double X0, double X1, double X2, double X3, double X4, double X5, double X6, double X7 )
+{
+ ASSERT( myHomardBoundary );
+ myHomardBoundary->SetTorus( X0, X1, X2, X3, X4, X5, X6, X7 );
+}
+//=============================================================================
HOMARD::double_array* HOMARD_Boundary_i::GetCoords()
{
ASSERT( myHomardBoundary );
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
double Xcentre2, double Ycentre2, double Zcentre2, double Rayon2);
void SetConeA( double Xaxe, double Yaxe, double Zaxe, double Angle,
double Xcentre, double Ycentre, double ZCentre);
+ void SetTorus( double Xcentre, double Ycentre, double ZCentre,
+ double Xaxe, double Yaxe, double Zaxe,
+ double rayonRev, double rayonPri );
HOMARD::double_array* GetCoords();
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
int codret ;
// A. recuperation du nom ; on ne fait rien si c'est le meme
char* oldrep = GetDirName() ;
- if ( oldrep == NomDir ) { return ; }
+ if ( strcmp(oldrep,NomDir) == 0 )
+ {
+ return ;
+ }
MESSAGE ( "SetDirName : passage de oldrep = "<< oldrep << " a NomDir = "<<NomDir);
// B. controle de l'usage du repertoire
- char* casename = _gen_i->VerifieDir(NomDir) ;
- if ( std::string(casename).size() > 0 )
+ char* CaseName = GetName() ;
+ char* casenamedir = _gen_i->VerifieDir(NomDir) ;
+ if ( ( std::string(casenamedir).size() > 0 ) & ( strcmp(CaseName,casenamedir)!=0 ) )
{
- INFOS ( "Le repertoire " << NomDir << " est deja utilise pour le cas "<< casename );
+ INFOS ( "Le repertoire " << NomDir << " est deja utilise pour le cas "<< casenamedir );
SALOME::ExceptionStruct es;
es.type = SALOME::BAD_PARAM;
std::string text ;
- text = "The directory " + std::string(NomDir) + " is already used for the case " + std::string(casename) ;
+ text = "The directory " + std::string(NomDir) + " is already used for the case " + std::string(casenamedir) ;
es.text = CORBA::string_dup(text.c_str());
throw SALOME::SALOME_Exception(es);
}
it++ ;
// MESSAGE (".. Group : "<< *it );
if ( *it == Group )
- { INFOS ("Le groupe " << Group << " est deja associe a la frontiere " << boun) ;
+ { INFOS ("Frontiere " << boun << " Un groupe est deja associe " << Group ) ;
SALOME::ExceptionStruct es;
es.type = SALOME::BAD_PARAM;
es.text = "Invalid AddBoundaryGroup";
return aResult._retn();
}
//=============================================================================
+void HOMARD_Cas_i::SupprBoundaryGroup()
+{
+ MESSAGE ("SupprBoundaryGroup");
+ ASSERT(myHomardCas );
+ myHomardCas->SupprBoundaryGroup();
+}
+//=============================================================================
void HOMARD_Cas_i::SetPyram( CORBA::Long Pyram )
{
MESSAGE ("SetPyram, Pyram = " << Pyram );
// Creation d'un schema YACS
// YACSName : nom du schema
// ScriptFile : nom du fichier contenant le script de lancement du calcul
-// DirName : le repertoire de lancement des calculs du schéma
+// DirName : le repertoire de lancement des calculs du sch?ma
// MeshFile : nom du fichier contenant le maillage pour le premier calcul
//=============================================================================
HOMARD::HOMARD_YACS_ptr HOMARD_Cas_i::CreateYACSSchema( const char* YACSName, const char* ScriptFile, const char* DirName, const char* MeshFile )
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
void AddBoundaryGroup( const char* Boundary, const char* Group);
HOMARD::ListBoundaryGroupType* GetBoundaryGroup();
+ void SupprBoundaryGroup( );
void SetPyram( CORBA::Long Pyram );
CORBA::Long GetPyram();
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
_tag_hypo = 0 ;
_tag_yacs = 0 ;
_tag_zone = 0 ;
- _Langue = "Francais" ;
- _LangueShort = "fr" ;
+
+ SetPreferences( ) ;
}
//=================================
/*!
if (!so->FindAttribute(anAttr, "AttributeComment")) continue;
SALOMEDS::AttributeComment_var aCommentAttr = SALOMEDS::AttributeComment::_narrow(anAttr);
std::string value (aCommentAttr->Value());
+ if(value == std::string("IterationHomard")) continue;
if(value == std::string("HypoHomard")) continue;
SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
aStudyBuilder->RemoveObject(so);
}
}
//=============================================================================
+void HOMARD_Gen_i::InvalideYACS(const char* YACSName)
+{
+ MESSAGE( "InvalideYACS : YACSName = " << YACSName );
+ HOMARD::HOMARD_YACS_var myYACS = myContextMap[GetCurrentStudyID()]._mesYACSs[YACSName];
+ if (CORBA::is_nil(myYACS))
+ {
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ es.text = "Invalid schema YACS";
+ throw SALOME::SALOME_Exception(es);
+ return ;
+ };
+ //
+ SALOMEDS::SObject_var aYACSSO = SALOMEDS::SObject::_narrow(myCurrentStudy->FindObjectIOR(_orb->object_to_string(myYACS)));
+ SALOMEDS::ChildIterator_var aYACS = myCurrentStudy->NewChildIterator(aYACSSO);
+ for (; aYACS->More(); aYACS->Next())
+ {
+ SALOMEDS::SObject_var so = aYACS->Value();
+ SALOMEDS::GenericAttribute_var anAttr;
+ if (!so->FindAttribute(anAttr, "AttributeComment")) continue;
+ SALOMEDS::AttributeComment_var aCommentAttr = SALOMEDS::AttributeComment::_narrow(anAttr);
+ std::string value (aCommentAttr->Value());
+ if( value == std::string("xml") )
+ {
+ SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
+ aStudyBuilder->RemoveObject(so);
+ }
+ }
+ std::string nomFichier = myYACS->GetXMLFile();
+ std::string commande = "rm -rf " + std::string(nomFichier) ;
+ MESSAGE ( "commande = " << commande );
+ if ((system(commande.c_str())) != 0)
+ {
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ es.text = "The XML file for the schema YACS cannot be removed." ;
+ throw SALOME::SALOME_Exception(es);
+ return ;
+ }
+}
+//=============================================================================
void HOMARD_Gen_i::InvalideZone(const char* ZoneName)
{
MESSAGE( "InvalideZone : ZoneName = " << ZoneName );
SALOMEDS::SObject_var aIterSO = SALOMEDS::SObject::_narrow(myCurrentStudy->FindObjectIOR(_orb->object_to_string(myIteration)));
ASSERT(!CORBA::is_nil(aIterSO));
- // Gestion de l'etude
+ // Gestion de l'arbre d'etudes
SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
-
aStudyBuilder->NewCommand();
-
SALOMEDS::SObject_var aSubSO = aStudyBuilder->NewObject(aIterSO);
aStudyBuilder->Addreference(aSubSO, aHypoSO);
-
aStudyBuilder->CommitCommand();
// Liens reciproques
IsValidStudy () ;
// Creation du cas
- HOMARD::HOMARD_Cas_ptr myCase = CreateCase0(nomCas, MeshName, MeshFile, 1, 0, 1) ;
+ int option = 1 ;
+ if ( _PublisMeshIN != 0 ) option = 2 ;
+ HOMARD::HOMARD_Cas_ptr myCase = CreateCase0(nomCas, MeshName, MeshFile, 1, 0, option) ;
myCase->SetDirName(DirName) ;
// Analyse
myCase->MeshInfo(Qual, Diam, Conn, Tail, Inte) ;
{
INFOS ( "CreateCase : nomCas = " << nomCas << ", MeshName = " << MeshName << ", MeshFile = " << MeshFile );
- // Par defaut, on ne publie pas le maillage
- HOMARD::HOMARD_Cas_ptr myCase = CreateCase0(nomCas, MeshName, MeshFile, 0, 0, 1) ;
+ int option = 1 ;
+ if ( _PublisMeshIN != 0 ) option = 2 ;
+ HOMARD::HOMARD_Cas_ptr myCase = CreateCase0(nomCas, MeshName, MeshFile, 0, 0, option) ;
// Valeurs par defaut des filtrages
myCase->SetPyram(0);
// A. Decodage du point de reprise
// A.1. Controle du repertoire de depart de l'iteration
-#ifndef WIN32
- codret = chdir(DirNameStart) ;
-#else
- codret = _chdir(DirNameStart) ;
-#endif
+ codret = CHDIR(DirNameStart) ;
if ( codret != 0 )
{
SALOME::ExceptionStruct es;
}
}
closedir(dp);
-#else
+#else
HANDLE hFind = INVALID_HANDLE_VALUE;
WIN32_FIND_DATA ffd;
hFind = FindFirstFile(DirNameStart, &ffd);
}
}
FindClose(hFind);
- }
+ }
#endif
MESSAGE ( "==> file_configuration : " << file_configuration ) ;
MESSAGE ( "==> file_maillage_homard : " << file_maillage_homard ) ;
// C. Creation effective du cas
- // Par defaut, on ne publie pas le maillage
- HOMARD::HOMARD_Cas_ptr myCase = CreateCase0(nomCas, MeshName, MeshFile, 1, NumeIter, 1) ;
+ int option = 1 ;
+ if ( _PublisMeshIN != 0 ) option = 2 ;
+ HOMARD::HOMARD_Cas_ptr myCase = CreateCase0(nomCas, MeshName, MeshFile, 1, NumeIter, option) ;
// D. Parametrages lus dans le fichier de configuration
nomDirIterTotal = std::string(nomDirCase) + "/" + std::string(nomDirIter) ;
#ifndef WIN32
if (mkdir(nomDirIterTotal.c_str(), S_IRWXU|S_IRGRP|S_IXGRP) != 0)
-#else
+#else
if (_mkdir(nomDirIterTotal.c_str()) != 0)
#endif
{
throw SALOME::SALOME_Exception(es);
}
// E.3. Copie du maillage HOMARD au format MED
-#ifndef WIN32
- codret = chdir(DirNameStart) ;
-#else
- codret = _chdir(DirNameStart) ;
-#endif
+ codret = CHDIR(DirNameStart) ;
std::string commande = "cp " + file_maillage_homard + " " + nomDirIterTotal ;
MESSAGE ( "commande : " << commande ) ;
codret = system(commande.c_str()) ;
delete[] MeshName ;
delete[] MeshFile ;
-#ifndef WIN32
- chdir(nomDirWork.c_str());
-#else
- _chdir(nomDirWork.c_str());
-#endif
+ CHDIR(nomDirWork.c_str());
return HOMARD::HOMARD_Cas::_duplicate(myCase);
}
//=============================================================================
int NumeIterMax = -1 ;
// A.1. Controle du repertoire de depart du cas
-#ifndef WIN32
- codret = chdir(DirNameStart) ;
-#else
- codret = _chdir(DirNameStart) ;
-#endif
+ codret = CHDIR(DirNameStart) ;
if ( codret != 0 )
{
SALOME::ExceptionStruct es;
#endif
if ( ( DirName_1 != "." ) && ( DirName_1 != ".." ) )
{
-#ifndef WIN32
- if ( chdir(DirName_1.c_str()) == 0 )
+ if ( CHDIR(DirName_1.c_str()) == 0 )
{
// On cherche le fichier de configuration dans ce sous-repertoire
- codret = chdir(DirNameStart);
+ codret = CHDIR(DirNameStart);
+#ifndef WIN32
DIR *dp_1;
struct dirent *dirp_1;
dp_1 = opendir(DirName_1.c_str()) ;
{
std::string file_name_1(dirp_1->d_name);
#else
- if ( _chdir(DirName_1.c_str()) == 0 )
- {
- codret = _chdir(DirNameStart);
HANDLE hFind1 = INVALID_HANDLE_VALUE;
WIN32_FIND_DATA ffd1;
hFind1 = FindFirstFile(DirName_1.c_str(), &ffd1);
- while (FindNextFile(hFind1, &ffd1) != 0)
+ while (FindNextFile(hFind1, &ffd1) != 0)
{
- if (ffd1.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) continue; //skip directories
+ if (ffd1.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) continue; //skip directories
std::string file_name_1(ffd1.cFileName);
-#endif
+#endif
int bilan = file_name_1.find("HOMARD.Configuration.") ;
if ( bilan != string::npos )
{
// Decodage du fichier pour trouver le numero d'iteration
-#ifndef WIN32
- chdir(DirName_1.c_str()) ;
-#else
- _chdir(DirName_1.c_str()) ;
-#endif
+ CHDIR(DirName_1.c_str()) ;
std::ifstream fichier( file_name_1.c_str() );
if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
es.text = CORBA::string_dup(text.c_str());
throw SALOME::SALOME_Exception(es);
}
-#ifndef WIN32
- chdir(DirNameStart) ;
-#else
- _chdir(DirNameStart) ;
-#endif
+ CHDIR(DirNameStart) ;
}
if ( existe ) { break ; }
}
}
#ifndef WIN32
closedir(dp);
- chdir(nomDirWork.c_str());
#else
- FindClose(hFind);
- }
- _chdir(nomDirWork.c_str());
+ FindClose(hFind);
#endif
+ CHDIR(nomDirWork.c_str());
if ( ( Number >= 0 && ( !existe ) ) || ( Number < 0 && ( NumeIterMax == -1 ) ) )
{
// Lien avec l'iteration precedente
myIterationParent->LinkNextIteration(NomIteration);
myIteration->SetIterParentName(nomIterParent);
+ // Gestion de l'arbre d'etudes
+ SALOMEDS::SObject_var aIterSOParent = SALOMEDS::SObject::_narrow(myCurrentStudy->FindObjectIOR(_orb->object_to_string(myIterationParent)));
+ SALOMEDS::SObject_var aIterSO = SALOMEDS::SObject::_narrow(myCurrentStudy->FindObjectIOR(_orb->object_to_string(myIteration)));
+ SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
+ aStudyBuilder->NewCommand();
+ SALOMEDS::SObject_var aSubSO = aStudyBuilder->NewObject(aIterSO);
+ aStudyBuilder->Addreference(aSubSO, aIterSOParent);
+ aStudyBuilder->CommitCommand();
return HOMARD::HOMARD_Iteration::_duplicate(myIteration);
}
return HOMARD::HOMARD_Boundary::_duplicate(myBoundary) ;
}
//=============================================================================
+HOMARD::HOMARD_Boundary_ptr HOMARD_Gen_i::CreateBoundaryTorus(const char* BoundaryName,
+ CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre,
+ CORBA::Double Xaxe, CORBA::Double Yaxe, CORBA::Double Zaxe,
+ CORBA::Double RayonRev, CORBA::Double RayonPri)
+{
+ INFOS ("CreateBoundaryTorus : BoundaryName = " << BoundaryName ) ;
+//
+ SALOME::ExceptionStruct es;
+ int error = 0 ;
+ if ( ( RayonRev <= 0.0 ) || ( RayonPri <= 0.0 ) )
+ { es.text = "The radius must be positive." ;
+ error = 1 ; }
+ double daux = fabs(Xaxe) + fabs(Yaxe) + fabs(Zaxe) ;
+ if ( daux < 0.0000001 )
+ { es.text = "The axis must be a non 0 vector." ;
+ error = 2 ; }
+ if ( error != 0 )
+ {
+ es.type = SALOME::BAD_PARAM;
+ throw SALOME::SALOME_Exception(es);
+ return 0;
+ };
+//
+ HOMARD::HOMARD_Boundary_var myBoundary = CreateBoundary(BoundaryName, 5) ;
+ myBoundary->SetTorus( Xcentre, Ycentre, Zcentre, Xaxe, Yaxe, Zaxe, RayonRev, RayonPri ) ;
+
+ return HOMARD::HOMARD_Boundary::_duplicate(myBoundary) ;
+}
+//=============================================================================
HOMARD::HOMARD_Zone_ptr HOMARD_Gen_i::CreateZone(const char* ZoneName, CORBA::Long ZoneType)
{
MESSAGE ("CreateZone : ZoneName = " << ZoneName << ", ZoneType = " << ZoneType);
HOMARD::HOMARD_Iteration_var myIteration = myContextMap[GetCurrentStudyID()]._mesIterations[NomIteration];
ASSERT(!CORBA::is_nil(myIteration));
- // A.2. Numero de l'iteration
+ // A.2. Controle de la possibilite d'agir
+ // A.2.1. Etat de l'iteration
+ int etat = myIteration->GetState();
+ MESSAGE ( "etat = "<<etat );
+ // A.2.2. On ne calcule pas l'iteration initiale, ni une iteration deja calculee
+ if ( modeHOMARD == 1 )
+ {
+ if ( etat <= 0 )
+ {
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ es.text = "This iteration is the first of the case and cannot be computed.";
+ throw SALOME::SALOME_Exception(es);
+ return 1 ;
+ }
+ else if ( ( etat == 2 ) & ( modeHOMARD == 1 ) )
+ {
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ es.text = "This iteration is already computed.";
+ throw SALOME::SALOME_Exception(es);
+ return 1 ;
+ }
+ }
+ // A.2.3. On n'analyse pas une iteration non calculee
+ else
+ {
+ if ( etat == 1 )
+ {
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ es.text = "This iteration is not computed.";
+ throw SALOME::SALOME_Exception(es);
+ return 1 ;
+ }
+ }
+
+ // A.3. Numero de l'iteration
// siterp1 : numero de l'iteration a traiter
// Si adaptation :
// siter : numero de l'iteration parent, ou 0 si deja au debut mais cela ne servira pas !
else
{ siter = siterp1 ; }
- // A.3. Le cas
+ // A.4. Le cas
const char* nomCas = myIteration->GetCaseName();
HOMARD::HOMARD_Cas_var myCase = myContextMap[GetCurrentStudyID()]._mesCas[nomCas];
ASSERT(!CORBA::is_nil(myCase));
// D. On passe dans le repertoire de l'iteration a calculer
MESSAGE ( ". On passe dans DirCompute = " << DirCompute );
-#ifndef WIN32
- chdir(DirCompute);
-#else
- _chdir(DirCompute);
-#endif
+ CHDIR(DirCompute);
// E. Les donnees de l'execution HOMARD
// E.1. L'objet du texte du fichier de configuration
// H.3 Message d'erreur
if (codretexec != 0)
{
- std::string text ;
+ std::string text = "" ;
// Message d'erreur en cas de probleme en adaptation
if ( modeHOMARD == 1 )
{
}
}
}
- else
- {
- text = "Voir le fichier Liste.log.\n" ;
- }
+ text += "\n\nSee the file " + LogFile + "\n" ;
INFOS ( text ) ;
SALOME::ExceptionStruct es;
es.type = SALOME::BAD_PARAM;
{
delete myDriver;
MESSAGE ( ". On retourne dans nomDirWork = " << nomDirWork );
-
-#ifndef WIN32
- chdir(nomDirWork.c_str());
-#else
- _chdir(nomDirWork.c_str());
-#endif
+
+ CHDIR(nomDirWork.c_str());
}
return codretexec ;
// A. Prealable
// A.1. Bases
int codret = 0;
- // Etat de l'iteration
- int etat = myIteration->GetState();
// Numero de l'iteration
int NumeIter = myIteration->GetNumber();
std::stringstream saux0 ;
std::string siter = saux0.str() ;
if (NumeIter < 11) { siter = "0" + siter ; }
- // A.2. On ne calcule pas l iteration initiale
- if ( etat <= 0 )
- {
- MESSAGE ( "etat = "<<etat );
- SALOME::ExceptionStruct es;
- es.type = SALOME::BAD_PARAM;
- es.text = "This iteration is the first of the case and cannot be computed.";
- throw SALOME::SALOME_Exception(es);
- return 1;
- };
-
- // A.3. On verifie qu il y a une hypothese (erreur improbable);
+ // A.2. On verifie qu il y a une hypothese (erreur improbable);
const char* nomHypo = myIteration->GetHypoName();
if (std::string(nomHypo) == std::string(""))
{
int TypeAdap = (*ListTypes)[0];
int TypeRaff = (*ListTypes)[1];
int TypeDera = (*ListTypes)[2];
+// MESSAGE ( ". TypeAdap = " << TypeAdap << ", TypeRaff = " << TypeRaff << ", TypeDera = " << TypeDera );
// E. Texte du fichier de configuration
// E.1. Incontournables du texte
char* HOMARD_Gen_i::CreateDirNameIter(const char* nomrep, CORBA::Long num )
{
MESSAGE ( "CreateDirNameIter : nomrep ="<< nomrep << ", num = "<<num);
- // On verifie que le repertoire parent existe
-#ifndef WIN32
- int codret = chdir(nomrep) ;
-#else
- int codret = _chdir(nomrep) ;
-#endif
+ // On verifie que le repertoire parent existe
+ int codret = CHDIR(nomrep) ;
if ( codret != 0 )
{
SALOME::ExceptionStruct es;
while ( a_chercher )
{
// On passe dans le repertoire parent
-
-#ifndef WIN32
- chdir(nomrep);
-#else
- _chdir(nomrep);
-#endif
+
+ CHDIR(nomrep);
// On recherche un nom sous la forme Iabc, avec abc representant le numero
int jaux ;
if ( num < 100 ) { jaux = 2 ; }
DirNameA << "I" << iaux.str();
// Si on ne pas peut entrer dans le repertoire, on doit verifier
// que c'est bien un probleme d'absence
-#ifndef WIN32
- if ( chdir(DirNameA.str().c_str()) != 0 )
+ if ( CHDIR(DirNameA.str().c_str()) != 0 )
{
-#else
- if ( _chdir(DirNameA.str().c_str()) != 0 )
- {
-#endif
bool existe = false ;
#ifndef WIN32
DIR *dp;
while (FindNextFile(hFind, &ffd) != 0) {
if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) continue; //skip directories
std::string file_name(ffd.cFileName);
-#endif
+#endif
if ( file_name == DirNameA.str() ) { existe = true ; }
}
#ifndef WIN32
closedir(dp);
-#else
- }
+#else
FindClose(hFind);
#endif
if ( !existe )
MESSAGE ( "==> DirName = " << DirName);
MESSAGE ( ". On retourne dans nomDirActuel = " << nomDirActuel );
-#ifndef WIN32
- chdir(nomDirActuel.c_str());
-#else
- _chdir(nomDirActuel.c_str());
-#endif
+ CHDIR(nomDirActuel.c_str());
return CORBA::string_dup( DirName.c_str() );
}
//=============================================================================
MESSAGE (". DirCompute = " << DirCompute.str() );
// B.3.3. Si le sous-repertoire n'existe pas, on le cree
-#ifndef WIN32
- if (chdir(DirCompute.str().c_str()) != 0)
+ if (CHDIR(DirCompute.str().c_str()) != 0)
{
-// Creation du repertoire car il n'existe pas :
+#ifndef WIN32
if (mkdir(DirCompute.str().c_str(), S_IRWXU|S_IRGRP|S_IXGRP) != 0)
- {
#else
- if (_chdir(DirCompute.str().c_str()) != 0)
- {
-// Creation du repertoire car il n'existe pas :
if (_mkdir(DirCompute.str().c_str()) != 0)
- {
#endif
+ {
// GERALD -- QMESSAGE BOX
std::cerr << "Pb Creation du repertoire DirCompute = " << DirCompute.str() << std::endl;
VERIFICATION("Pb a la creation du repertoire" == 0);
{
SALOME::ExceptionStruct es;
es.type = SALOME::BAD_PARAM;
- std::string text = "Directory : " + DirCompute.str() + "is not empty";
+ std::string text = "Directory : " + DirCompute.str() + " is not empty";
es.text = CORBA::string_dup(text.c_str());
throw SALOME::SALOME_Exception(es);
VERIFICATION("Directory is not empty" == 0);
myDriver->TexteBoundaryAn(BoundaryName, NumBoundaryAnalytical, BoundaryType, (*coor)[0], (*coor)[1], (*coor)[2], (*coor)[3], (*coor)[4], (*coor)[5], (*coor)[6], (*coor)[7]);
if ( BoundaryOption % 3 != 0 ) { BoundaryOption = BoundaryOption*3 ; }
}
+ else if (BoundaryType == 5) // Cas d un tore
+ {
+ myDriver->TexteBoundaryAn(BoundaryName, NumBoundaryAnalytical, BoundaryType, (*coor)[0], (*coor)[1], (*coor)[2], (*coor)[3], (*coor)[4], (*coor)[5], (*coor)[6], (*coor)[7]);
+ if ( BoundaryOption % 3 != 0 ) { BoundaryOption = BoundaryOption*3 ; }
+ }
}
// 2.2.3. Memorisation du traitement
ListeBoundaryTraitees.push_back( BoundaryName );
icone = "conedxyz.png" ;
break;
}
+ case 5 :
+ { value = "BoundaryAnHomard" ;
+ icone = "toruspointvector.png" ;
+ break;
+ }
}
aResultSO = aStudyBuilder->NewObject(aSObject);
PublishInStudyAttr(aStudyBuilder, aResultSO, theName, value.c_str(), icone.c_str(), _orb->object_to_string(theObject));
SALOMEDS::SObject_var aSubSO = aStudyBuilder->NewObject(aCaseSO);
aStudyBuilder->Addreference(aSubSO, aBoundarySO);
+// aStudyBuilder->RemoveReference(aSubSO);
aStudyBuilder->CommitCommand();
{
MESSAGE ( "PublishResultInSmesh : le fichier " << NomFich << " est deja publie." );
// Pour un fichier importe, on ne republie pas
- if ( Option == 0 )
- {
- return;
- }
+ if ( Option == 0 ) { return; }
// Pour un fichier calcule, on commence par faire la depublication
else
{
return ;
}
//=============================================================================
+void HOMARD_Gen_i::PublishMeshIterInSmesh(const char* NomIter)
+{
+ MESSAGE( "PublishMeshIterInSmesh " << NomIter);
+ HOMARD::HOMARD_Iteration_var myIteration = myContextMap[GetCurrentStudyID()]._mesIterations[NomIter];
+
+ SALOMEDS::SObject_var aIterSO=SALOMEDS::SObject::_narrow(myCurrentStudy->FindObjectIOR(_orb->object_to_string(myIteration)));
+ if (CORBA::is_nil(myIteration))
+ {
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ es.text = "Invalid iterationStudy Object";
+ throw SALOME::SALOME_Exception(es);
+ return ;
+ };
+ const char* MeshFile = myIteration->GetMeshFile() ;
+ const char* MeshName = myIteration->GetMeshName() ;
+ CORBA::Long Option = -1 ;
+ int etat = myIteration->GetState();
+// Iteration initiale
+ if ( etat <= 0 ) { Option = 0 ; }
+// ou iteration calculee
+ else if ( etat == 2 ) { Option = 1 ; }
+// Publication effective apres menage eventuel
+ if ( Option >= 0 )
+ {
+ DeleteResultInSmesh(MeshFile, MeshName) ;
+ PublishResultInSmesh(MeshFile, Option) ;
+ }
+
+}
+//=============================================================================
void HOMARD_Gen_i::PublishFileUnderIteration(const char* NomIter, const char* NomFich, const char* Commentaire)
{
// MESSAGE ("PublishFileUnderIteration pour l'iteration " << NomIter << " du fichier " << NomFich << " avec le commentaire " << Commentaire );
myYACS->SetScriptFile( ScriptFile ) ;
myYACS->SetCaseName( nomCas ) ;
// D.2. Defaut
+ int defaut_i ;
// D.2.1. Type constant
myYACS->SetType( 1 ) ;
- // D.2.2. Fichier de sauvegarde dans le repertoire du cas
+ // D.2.2. Convergence
+ defaut_i = GetYACSMaxIter() ;
+ myYACS->SetMaxIter( defaut_i ) ;
+ defaut_i = GetYACSMaxNode() ;
+ myYACS->SetMaxNode( defaut_i ) ;
+ defaut_i = GetYACSMaxElem() ;
+ myYACS->SetMaxElem( defaut_i ) ;
+ // D.3. Fichier de sauvegarde dans le repertoire du cas
HOMARD::HOMARD_Cas_ptr caseyacs = GetCase(nomCas) ;
std::string dirnamecase = caseyacs->GetDirName() ;
std::string XMLFile ;
std::string DirName = myYACS->GetDirName() ;
std::string MeshFile = myYACS->GetMeshFile() ;
std::string ScriptFile = myYACS->GetScriptFile() ;
+ // B.3. Les caracteristiques de convergence
+ int MaxIter = myYACS->GetMaxIter() ;
+ int MaxNode = myYACS->GetMaxNode() ;
+ int MaxElem = myYACS->GetMaxElem() ;
// C. Le cas
// C.1. L'objet cas
texte_control += YACSDriverTexteBoundary( myCase, myDriver ) ;
myDriver->TexteAdd(texte_control);
}
- // G.1.10. Les parametres
+ // G.1.10. Les tests de convergence
+ else if ( mot_cle == "Analyse_Test_Convergence" )
+ { myDriver->TexteAnalyse_Test_Convergence(MaxIter, MaxNode, MaxElem); }
+ // G.1.11. Les parametres
else if ( mot_cle == "PARAMETRES" )
{ myDriver->TexteAddParametres(); }
// G.1.n. La ligne est recopiee telle quelle
texte_control_0 = myDriver->Texte_Iter_1_Zone(ZoneType, pythonStructure, methode, ZoneName );
texte_control += texte_control_0 ;
// 5. Decalage
- iaux += 1 ;
+ iaux ++ ;
}
return texte_control ;
}
else if (line.substr(0, iterSignature.size()) == iterSignature) {
// re-create iteration
- MESSAGE ("Recreation de l iteration" );
+ MESSAGE ("Recreation de l'iteration" );
HOMARD::HOMARD_Iteration_var aIter = newIteration();
PortableServer::ServantBase_var aServant = GetServant(aIter);
HOMARD_Iteration_i* aIterServant = dynamic_cast<HOMARD_Iteration_i*>(aServant.in());
std::string aScript = "\"\"\"\n";
aScript += "Python script for HOMARD\n";
- aScript += "Copyright EDF-R&D 2013\n";
+ aScript += "Copyright EDF-R&D 1996, 2011, 2014\n";
aScript += "\"\"\"\n";
aScript += "__revision__ = \"V1.2\"\n";
aScript += "import HOMARD\n";
#endif
}
//===============================================================================
-// Recuperation de la chaine de caracteres par rapport a l'apparition d'un texte
+// Recuperation de la chaine de caracteres par rapport a l'apparition d'un caractere
// ligne : la ligne a manipuler
-// texte : le texte a reperer
-// option : 0 : la chaine avant le texte
-// 1 : la chaine apres le texte
-// Si le texte est absent, on retourne la chaine totale
+// caractere : le caractere a reperer
+// option : 0 : la chaine avant la premiere apparition du caractere
+// 1 : la chaine apres la premiere apparition du caractere
+// 2 : la chaine avant la derniere apparition du caractere
+// 3 : la chaine apres la derniere apparition du caractere
+// Si le caractere est absent, on retourne la chaine totale
//===============================================================================
-std::string HOMARD_Gen_i::GetStringInTexte( const std::string ligne, const std::string texte, int option )
+std::string HOMARD_Gen_i::GetStringInTexte( const std::string ligne, const std::string caractere, int option )
{
-// MESSAGE("GetStringInTexte, recherche de '"<<texte<<"' dans '"<<ligne<<"'"<<", option = "<<option);
+// MESSAGE("GetStringInTexte, recherche de '"<<caractere<<"' dans '"<<ligne<<"'"<<", option = "<<option);
//
std::string chaine = ligne ;
- int position = ligne.find_first_of( texte ) ;
- if ( position > 0 )
+ int position ;
+ if ( option < 2 ) { position = ligne.find_first_of( caractere ) ; }
+ else { position = ligne.find_last_of( caractere ) ; }
+// MESSAGE("position = "<<position);
+// MESSAGE("a = "<<ligne.substr( 0, position ).c_str());
+// MESSAGE("b = "<<ligne.substr( position+1 ).c_str());
+//
+ if ( position != std::string::npos )
{
- if ( option == 0 ) { chaine = ligne.substr( 0, position ) ; }
- else { chaine = ligne.substr( position+1 ) ; }
+ if ( ( option == 0 ) || ( option == 2 ) ) { chaine = ligne.substr( 0, position ) ; }
+ else { chaine = ligne.substr( position+1 ) ; }
}
return chaine ;
//
}
-// //===============================================================================
-// // Langue de SALOME
-// //===============================================================================
+//=============================================================================
+//=============================================================================
+// Gestion des preferences
+//=============================================================================
+//=============================================================================
+// Decodage du fichier d'arcihvage des preferences
+//
+void HOMARD_Gen_i::SetPreferences( )
+{
+ MESSAGE ( "SetPreferences" );
+
+ std::string ligne, mot_cle, salome_version ;
+ bool ok = true ;
+
+ // A. Les valeurs par defaut ; elles doivent etre coherentes
+ std::string LanguageShort = "en" ;
+ int PublisMeshIN = 0 ;
+ int PublisMeshOUT = 0 ;
+ int YACSMaxIter = 0 ;
+ int YACSMaxNode = 0 ;
+ int YACSMaxElem = 0 ;
+ std::string YACSTypeTestchaine = "None" ;
+
+ // B. La version de salome
+ // Cela se presente sous la forme :
+ // [SALOME KERNEL] : 7.3.0
+ std::string File ;
+ File = getenv("KERNEL_ROOT_DIR") ;
+ File += "/bin/salome/VERSION" ;
+ MESSAGE ( "File = "<<File ) ;
+ std::ifstream fichier0( File.c_str() ) ;
+ if ( fichier0 ) // ce test échoue si le fichier n'est pas ouvert
+ {
+ std::string ligne; // variable contenant chaque ligne lue
+ while ( std::getline( fichier0, ligne ) )
+ {
+ std::istringstream ligne_bis(ligne); // variable contenant chaque ligne sous forme de flux
+ ligne_bis >> mot_cle ;
+ if ( mot_cle == "[SALOME" )
+ {
+ salome_version = GetStringInTexte ( ligne, " ", 3 ) ;
+// MESSAGE ( "salome_version = "<<salome_version<<"|||");
+ break ;
+ }
+ }
+ }
+ else { ok = false ; }
+
+ // B. Decodage du fichier de preferences
+ if ( ok )
+ {
+ std::string PrefFile ;
+ PrefFile = getenv("HOME") ;
+ PrefFile += "/.config/salome/SalomeApprc." + salome_version ;
+ MESSAGE ( "PrefFile = "<<PrefFile ) ;
+
+ std::ifstream fichier( PrefFile.c_str() );
+ if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
+ {
+ bool section_langue = false ;
+ bool section_homard = false ;
+ while ( std::getline( fichier, ligne ) )
+ {
+ std::string chaine ;
+ // 1. Pour la ligne courante, on identifie le premier mot : le mot-cle eventuel
+ std::istringstream ligne_bis(ligne); // variable contenant chaque ligne sous forme de flux
+ ligne_bis >> mot_cle ;
+
+ // 2. Les sections
+ // 2.1. Debut d'une section
+ // MESSAGE(mot_cle);
+ if ( mot_cle == "<section" )
+ { /*MESSAGE ( "Debut de la section : "<< ligne);*/
+ ligne_bis >> mot_cle ;
+ chaine = GetStringInTexte ( mot_cle, "\"", 1 ) ;
+ chaine = GetStringInTexte ( chaine, "\"", 0 ) ;
+ if ( chaine == "language" ) { section_langue = true ; }
+ if ( chaine == "HOMARD" ) { section_homard = true ; }
+ // MESSAGE ( "section_langue = "<<section_langue<<", section_homard = "<<section_homard);
+ }
+ // 2.2. Fin d'une section
+ else if ( mot_cle == "</section>" )
+ { /*MESSAGE ( "Fin de la section : "<< ligne<<", section_langue = "<<section_langue<<", section_homard = "<<section_homard);*/
+ section_langue = false ;
+ section_homard = false ; }
+
+ // 3. Parametres
+ // 3.1. La langue
+ else if ( section_langue || section_homard )
+ { MESSAGE ( "a decoder : "<< ligne);
+// La valeur : entre les deux premieres quotes
+ chaine = GetStringInTexte ( ligne, "\"", 1 ) ;
+// MESSAGE("chaine 1 = |"<<chaine<<"|");
+ chaine = GetStringInTexte ( chaine, "\"", 0 ) ;
+// MESSAGE("chaine = |"<<chaine<<"|");
+// Le mot_cle : entre les deux dernieres quotes
+ std::string chaine2 = GetStringInTexte ( ligne, "\"", 2 ) ;
+// MESSAGE("chaine2 1 = |"<<chaine2<<"|");
+ chaine2 = GetStringInTexte ( chaine2, "\"", 3 ) ;
+// MESSAGE("chaine2 = |"<<chaine2<<"|");
+ // 3.1. La langue
+ if ( section_langue )
+ { if ( chaine2 == "language" ) { LanguageShort = chaine ; } }
+ // 3.2. HOMARD
+ if ( section_homard )
+ {
+ std::istringstream chainebis( chaine ) ;
+ // 3.2.1. Les publications
+ if ( chaine2 == "publish_mesh_in" ) { chainebis >> PublisMeshIN ; }
+ if ( chaine2 == "publish_mesh_out" ) { chainebis >> PublisMeshOUT ; }
+ // 3.2.2. Les maximum pour YACS
+ if ( chaine2 == "yacs_max_iter" ) { chainebis >> YACSMaxIter ; }
+ if ( chaine2 == "yacs_max_node" ) { chainebis >> YACSMaxNode ; }
+ if ( chaine2 == "yacs_max_elem" ) { chainebis >> YACSMaxElem ; }
+ if ( chaine2 == "yacs_type_test" ) { YACSTypeTestchaine = chaine ; }
+ }
+ }
+ }
+ }
+ }
+
+ // C. Enregistrements
+ MESSAGE ("Enregistrement de LanguageShort = " << LanguageShort );
+ SetLanguageShort( LanguageShort.c_str() ) ;
+
+ MESSAGE ("Enregistrement de PublisMeshIN = " << PublisMeshIN<<", PublisMeshOUT = "<< PublisMeshOUT);
+ SetPublisMesh(PublisMeshIN, PublisMeshOUT) ;
+
+ MESSAGE ("Enregistrement de YACSMaxIter = " << YACSMaxIter<<", YACSMaxNode = "<< YACSMaxNode<<", YACSMaxElem = "<< YACSMaxElem);
+ SetYACSMaximum(YACSMaxIter, YACSMaxNode, YACSMaxElem) ;
+
+ MESSAGE ("Enregistrement de TypeTest = " << YACSTypeTestchaine.c_str() );
+ int YACSTypeTest ;
+ if ( ( YACSTypeTestchaine == "VTest > VRef" ) || ( YACSTypeTestchaine == "VTest > VRef" ) ) { YACSTypeTest = 1 ; }
+ else if ( ( YACSTypeTestchaine == "VTest < VRef" ) || ( YACSTypeTestchaine == "VTest < VRef" ) ) { YACSTypeTest = 2 ; }
+ else { YACSTypeTest = 0 ; }
+ MESSAGE ("==> TypeTest = " << YACSTypeTest );
+ SetYACSConvergenceType( YACSTypeTest ) ;
+
+ return ;
+}
+//===============================================================================
+// Langue de SALOME
+//===============================================================================
void HOMARD_Gen_i::SetLanguageShort(const char* LanguageShort)
{
// MESSAGE ("SetLanguageShort pour LanguageShort = " << LanguageShort );
// MESSAGE ("GetLanguageShort");
return CORBA::string_dup( _LangueShort.c_str() );
}
+//===============================================================================
+// Options de publications
+//===============================================================================
+void HOMARD_Gen_i::SetPublisMesh(CORBA::Long PublisMeshIN, CORBA::Long PublisMeshOUT)
+{
+ _PublisMeshIN = PublisMeshIN ;
+ _PublisMeshOUT = PublisMeshOUT ;
+ return ;
+}
+CORBA::Long HOMARD_Gen_i::GetPublisMeshIN()
+{
+ return _PublisMeshIN ;
+}
+CORBA::Long HOMARD_Gen_i::GetPublisMeshOUT()
+{
+ return _PublisMeshOUT ;
+}
+//===============================================================================
+// YACS - test de convergence
+//===============================================================================
+void HOMARD_Gen_i::SetYACSMaximum(CORBA::Long YACSMaxIter, CORBA::Long YACSMaxNode, CORBA::Long YACSMaxElem)
+{
+ _YACSMaxIter = YACSMaxIter ;
+ _YACSMaxNode = YACSMaxNode ;
+ _YACSMaxElem = YACSMaxElem ;
+ return ;
+}
+CORBA::Long HOMARD_Gen_i::GetYACSMaxIter()
+{
+ return _YACSMaxIter ;
+}
+CORBA::Long HOMARD_Gen_i::GetYACSMaxNode()
+{
+ return _YACSMaxNode ;
+}
+CORBA::Long HOMARD_Gen_i::GetYACSMaxElem()
+{
+ return _YACSMaxElem ;
+}
+void HOMARD_Gen_i::SetYACSConvergenceType(CORBA::Long YACSTypeTest)
+{
+ _YACSTypeTest = YACSTypeTest ;
+ return ;
+}
+CORBA::Long HOMARD_Gen_i::GetYACSConvergenceType()
+{
+ return _YACSTypeTest ;
+}
//=============================================================================
extern "C"
-// // Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
HOMARD::HOMARD_Boundary_ptr CreateBoundaryConeA (const char* nomBoundary,
CORBA::Double Xaxis, CORBA::Double Yaxis, CORBA::Double Zaxis, CORBA::Double Angle,
CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre);
+ HOMARD::HOMARD_Boundary_ptr CreateBoundaryTorus (const char* nomBoundary,
+ CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre,
+ CORBA::Double Xaxis, CORBA::Double Yaxis, CORBA::Double Zaxis,
+ CORBA::Double RayonRev, CORBA::Double RayonPri);
HOMARD::HOMARD_Cas_ptr CreateCase (const char* nomCas, const char* MeshName, const char* FileName);
HOMARD::HOMARD_Cas_ptr CreateCaseFromIteration (const char* nomCas, const char* DirNameStart);
void InvalideIter(const char* nomIter);
void InvalideIterOption(const char* nomIter, CORBA::Long Option);
void InvalideIterInfo(const char* nomIter);
+ void InvalideYACS(const char* nomYACS);
void InvalideZone(const char* nomZone);
CORBA::Long DeleteBoundary(const char* nomBoundary);
void PublishCaseUnderYACS(const char* YACSName, const char* CaseName);
void PublishResultInSmesh(const char* NomFich, CORBA::Long Option);
void DeleteResultInSmesh(std::string NomFich, std::string MeshName);
+ void PublishMeshIterInSmesh(const char* NomIter);
// YACS
HOMARD::HOMARD_YACS_ptr CreateYACSSchema (const char* YACSName, const char* nomCas, const char* ScriptFile, const char* DirName, const char* MeshFile);
std::string YACSDriverTexteZone(HOMARD::HOMARD_Hypothesis_var myHypo, YACSDriver* myDriver);
std::string YACSDriverTexteBoundary(HOMARD::HOMARD_Cas_var myCase, YACSDriver* myDriver);
-// Divers
+// Preferences
+ void SetPreferences() ;
void SetLanguageShort(const char* LanguageShort);
char* GetLanguageShort();
+ void SetPublisMesh(CORBA::Long PublisMeshIN, CORBA::Long PublisMeshOUT);
+ CORBA::Long GetPublisMeshIN();
+ CORBA::Long GetPublisMeshOUT();
+ void SetYACSMaximum(CORBA::Long YACSMaxIter, CORBA::Long YACSMaxNode, CORBA::Long YACSMaxElem);
+ CORBA::Long GetYACSMaxIter();
+ CORBA::Long GetYACSMaxNode();
+ CORBA::Long GetYACSMaxElem();
+ void SetYACSConvergenceType(CORBA::Long YACSTypeTest);
+ CORBA::Long GetYACSConvergenceType();
// ---------------------------------------------------------------
int _tag_hypo ;
int _tag_yacs ;
int _tag_zone ;
+
+// Preferences
std::string _Langue ;
std::string _LangueShort ;
+ int _PublisMeshIN ;
+ int _PublisMeshOUT ;
+ int _YACSMaxIter ;
+ int _YACSMaxNode ;
+ int _YACSMaxElem ;
+ int _YACSTypeTest ;
+ ;
};
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
// Caracteristiques
//=============================================================================
//=============================================================================
-void HOMARD_Hypothesis_i::SetAdapRefinUnRef( CORBA::Long TypeAdap,CORBA::Long TypeRaff, CORBA::Long TypeDera )
+void HOMARD_Hypothesis_i::SetUnifRefinUnRef( CORBA::Long TypeRaffDera )
{
ASSERT( myHomardHypothesis );
- myHomardHypothesis->SetAdapType( TypeAdap );
+ VERIFICATION( (TypeRaffDera==1) || (TypeRaffDera==-1) );
+ int TypeRaff, TypeDera ;
+ if ( TypeRaffDera == 1 )
+ {
+ TypeRaff = 1 ;
+ TypeDera = 0 ;
+ }
+ else if ( TypeRaffDera == -1 )
+ {
+ TypeRaff = 0 ;
+ TypeDera = 1 ;
+ }
+ myHomardHypothesis->SetAdapType( -1 );
myHomardHypothesis->SetRefinTypeDera( TypeRaff, TypeDera );
}
//=============================================================================
//=============================================================================
void HOMARD_Hypothesis_i::SetRefinThr( CORBA::Long TypeThR, CORBA::Double ThreshR )
{
+ myHomardHypothesis->SetAdapType( 1 );
+ if ( TypeThR > 0 )
+ {
+ int TypeDera = myHomardHypothesis->GetUnRefType() ;
+ myHomardHypothesis->SetRefinTypeDera( 1, TypeDera );
+ }
myHomardHypothesis->SetRefinThr( TypeThR, ThreshR );
}
//=============================================================================
//=============================================================================
void HOMARD_Hypothesis_i::SetUnRefThr( CORBA::Long TypeThC, CORBA::Double ThreshC )
{
+ myHomardHypothesis->SetAdapType( 1 );
+ if ( TypeThC > 0 )
+ {
+ int TypeRaff = myHomardHypothesis->GetRefinType() ;
+ myHomardHypothesis->SetRefinTypeDera( TypeRaff, 1 );
+ }
myHomardHypothesis->SetUnRefThr( TypeThC, ThreshC );
}
//=============================================================================
//=============================================================================
void HOMARD_Hypothesis_i::AddZone( const char* NomZone, CORBA::Long TypeUse )
{
- MESSAGE ("Dans AddZone pour " << NomZone) ;
+ MESSAGE ("Dans AddZone pour " << NomZone << " et TypeUse = " << TypeUse ) ;
ASSERT( myHomardHypothesis );
+ VERIFICATION( (TypeUse==1) || (TypeUse==-1) );
+ myHomardHypothesis->SetAdapType( 0 );
+ int TypeRaff, TypeDera ;
+ if ( TypeUse == 1 )
+ {
+ TypeRaff = 1 ;
+ TypeDera = myHomardHypothesis->GetUnRefType() ;
+ }
+ else if ( TypeUse == -1 )
+ {
+ TypeRaff = myHomardHypothesis->GetRefinType() ;
+ TypeDera = 1 ;
+ }
+ myHomardHypothesis->SetRefinTypeDera( TypeRaff, TypeDera );
char* NomHypo = GetName() ;
return _gen_i->AssociateHypoZone(NomHypo, NomZone, TypeUse) ;
}
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
bool Restore( const std::string& stream );
// Caracteristiques
- void SetAdapRefinUnRef( CORBA::Long TypeAdap, CORBA::Long TypeRaff, CORBA::Long TypeDera );
+ void SetUnifRefinUnRef( CORBA::Long TypeRaffDera );
HOMARD::listeTypes* GetAdapRefinUnRef();
CORBA::Long GetAdapType();
CORBA::Long GetRefinType();
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
return CORBA::Long( myHomardYACS->GetType() );
}
//=============================================================================
+//=============================================================================
+// Caracteristiques de la convergence
+//=============================================================================
+//=============================================================================
+void HOMARD_YACS_i::SetMaxIter( CORBA::Long MaxIter )
+{
+ ASSERT( myHomardYACS );
+ myHomardYACS->SetMaxIter( MaxIter );
+}
+//=============================================================================
+CORBA::Long HOMARD_YACS_i::GetMaxIter()
+{
+ ASSERT( myHomardYACS );
+ return CORBA::Long( myHomardYACS->GetMaxIter() );
+}
+//=============================================================================
+void HOMARD_YACS_i::SetMaxNode( CORBA::Long MaxNode )
+{
+ ASSERT( myHomardYACS );
+ myHomardYACS->SetMaxNode( MaxNode );
+}
+//=============================================================================
+CORBA::Long HOMARD_YACS_i::GetMaxNode()
+{
+ ASSERT( myHomardYACS );
+ return CORBA::Long( myHomardYACS->GetMaxNode() );
+}
+//=============================================================================
+void HOMARD_YACS_i::SetMaxElem( CORBA::Long MaxElem )
+{
+ ASSERT( myHomardYACS );
+ myHomardYACS->SetMaxElem( MaxElem );
+}
+//=============================================================================
+CORBA::Long HOMARD_YACS_i::GetMaxElem()
+{
+ ASSERT( myHomardYACS );
+ return CORBA::Long( myHomardYACS->GetMaxElem() );
+}
+//=============================================================================
+void HOMARD_YACS_i::SetTestConvergence( CORBA::Long TypeTest, CORBA::Double VRef)
+{
+ ASSERT( myHomardYACS );
+ myHomardYACS->SetTestConvergence( TypeTest, VRef );
+}
+//=============================================================================
+CORBA::Long HOMARD_YACS_i::GetTestConvergenceType()
+{
+ ASSERT( myHomardYACS );
+ return CORBA::Long( myHomardYACS->GetTestConvergenceType() );
+}
+//=============================================================================
+CORBA::Double HOMARD_YACS_i::GetTestConvergenceVRef()
+{
+ ASSERT( myHomardYACS );
+ return CORBA::Long( myHomardYACS->GetTestConvergenceVRef() );
+}
+//=============================================================================
+//=============================================================================
+// Repertoire et fichiers
+//=============================================================================
+//=============================================================================
void HOMARD_YACS_i::SetDirName( const char* NomDir )
{
ASSERT( myHomardYACS );
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
void SetType( CORBA::Long Type );
CORBA::Long GetType();
+ void SetMaxIter( CORBA::Long MaxIter );
+ CORBA::Long GetMaxIter();
+ void SetMaxNode( CORBA::Long MaxNode );
+ CORBA::Long GetMaxNode();
+ void SetMaxElem( CORBA::Long MaxElem );
+ CORBA::Long GetMaxElem();
+
+ void SetTestConvergence( CORBA::Long TypeTest, CORBA::Double VRef );
+ CORBA::Long GetTestConvergenceType();
+ CORBA::Double GetTestConvergenceVRef();
+
void SetDirName( const char* NomDir );
char* GetDirName();
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Remarques :
// L'ordre de description des fonctions est le meme dans tous les fichiers
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, 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
# 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
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2014 CEA/DEN, 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
// 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
-# Copyright (C) 2007-2013 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
+# Copyright (C) 2007-2014 CEA/DEN, 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
# 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
test_3.00.med
test_3.fr.med
test_3.apad.02.bilan
+ test_11.py
+ test_11.apad.03.bilan
+ test_12.py
+ test_12.apad.02.bilan
+ test_13.py
+ test_13.apad.02.bilan
+ test_14.py
+ test_14.apad.03.bilan
+ test_15.py
+ test_15.apad.02.bilan
)
INSTALL(FILES ${HOMARD_TEST_FILES} DESTINATION ${SALOME_HOMARD_INSTALL_RES_DATA})
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
#
"""
Python script for HOMARD
-Copyright EDF-R&D 2010, 2013
+Copyright EDF-R&D 2010, 2014
Test test_1
"""
-__revision__ = "V2.1"
+__revision__ = "V2.2"
#========================================================================
Test_Name = "test_1"
import HOMARD
import salome
#
+# ==================================
pathHomard = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des donnees du test
Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
Rep_Test = os.path.normpath(Rep_Test)
-Rep_Test_Resu = tempfile.mktemp()
-os.mkdir(Rep_Test_Resu)
-
sys.path.append(Rep_Test)
-from test_util import remove_dir
+from test_util import test_results
+# Repertoire des resultats
+dircase = tempfile.mktemp()
+os.mkdir(dircase)
+# ==================================
+
salome.salome_init()
import iparameters
def homard_exec(theStudy):
"""
Python script for HOMARD
-Copyright EDF-R&D 2010, 2013
"""
error = 0
#
HypoName_1 = "a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM"
print "-------- Creation of the hypothesis", HypoName_1
Hypo_1_1 = homard.CreateHypothesis(HypoName_1)
- Hypo_1_1.SetAdapRefinUnRef(1, 1, 0)
Hypo_1_1.SetField('RESU____ERRE_ELEM_SIGM__________')
Hypo_1_1.SetUseComp(0)
Hypo_1_1.AddComp('ERREST')
HypoName_2 = "Zones_1_et_2"
print "-------- Creation of the hypothesis", HypoName_2
Zones_1_et_2 = homard.CreateHypothesis(HypoName_2)
- Zones_1_et_2.SetAdapRefinUnRef(0, 1, 0)
Zones_1_et_2.AddZone('Zone_1_1', 1)
Zones_1_et_2.AddZone('Zone_1_2', 1)
print HypoName_2, " : zones utilisées :", Zones_1_et_2.GetZones()
print "-------- Creation of the case", CaseName
MeshFile = os.path.join(Rep_Test, Test_Name + '.00.med')
Case_test_1 = homard.CreateCase(CaseName, 'MAILL', MeshFile)
- Case_test_1.SetDirName(Rep_Test_Resu)
+ Case_test_1.SetDirName(dircase)
Case_test_1.SetConfType(1)
#
# Creation of the iterations
Iter_test_1_1.AssociateHypo(HypoName_1)
print ". Hypothese :", HypoName_1
Iter_test_1_1.SetMeshName('M1')
- Iter_test_1_1.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.01.med'))
+ Iter_test_1_1.SetMeshFile(os.path.join(dircase, 'maill.01.med'))
Iter_test_1_1.SetFieldFile(os.path.join(Rep_Test, Test_Name + '.00.med'))
Iter_test_1_1.SetTimeStepRank(1, 1)
Iter_test_1_1.SetFieldInterpTimeStep('RESU____DEPL____________________', 1)
Iter_test_1_2.AssociateHypo(HypoName_1)
print ". Hypothese :", HypoName_1
Iter_test_1_2.SetMeshName('M2')
- Iter_test_1_2.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.02.med'))
+ Iter_test_1_2.SetMeshFile(os.path.join(dircase, 'maill.02.med'))
Iter_test_1_2.SetFieldFile(os.path.join(Rep_Test, Test_Name + '.01.med'))
Iter_test_1_2.SetTimeStepRank(1, 1)
Iter_test_1_2.SetFieldInterpTimeStep('RESU____DEPL____________________', 1)
Iter_test_1_3.AssociateHypo(HypoName_2)
print ". Hypothese :", HypoName_2
Iter_test_1_3.SetMeshName('M3')
- Iter_test_1_3.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.03.med'))
+ Iter_test_1_3.SetMeshFile(os.path.join(dircase, 'maill.03.med'))
Iter_test_1_2.SetFieldFile(os.path.join(Rep_Test, Test_Name + '.02.med'))
print ". Instants d'interpolation :", Iter_test_1_3.GetFieldInterpsTimeStepRank()
error = Iter_test_1_3.Compute(1, 1)
# ===========================
ScriptFile = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "en", "_downloads", "yacs_script.py")
ScriptFile = os.path.normpath(ScriptFile)
- DirName = Rep_Test_Resu
+ DirName = dircase
YACS_test_1 = Case_test_1.CreateYACSSchema("YACS_test_1", ScriptFile, DirName, MeshFile)
error = YACS_test_1.Write()
if error :
homard = salome.lcc.FindOrLoadComponent('FactoryServer', 'HOMARD')
assert homard is not None, "Impossible to load homard engine"
homard.SetLanguageShort("fr")
-
#
# Exec of HOMARD-SALOME
#
except Exception, e:
raise Exception('Pb in homard_exec: '+e.message)
#
-# Test of the result
-#
-test_file_suff = "apad.%02d.bilan" % n_iter_test_file
-rep_test_file = "I%02d" % n_iter_test_file
-#
-test_file = os.path.join(Rep_Test, Test_Name + "." + test_file_suff)
-mess_error_ref = "\nReference file: " + test_file
-try :
- file = open (test_file, "r")
- mess_ref = file.readlines()
- file.close()
-except :
- mess_error = mess_error_ref + "\nThis file does not exist.\n"
- raise Exception(mess_error)
-#
-test_file = os.path.join(Rep_Test_Resu, rep_test_file, test_file_suff)
-if os.path.isfile (test_file) :
- file = open (test_file, "r")
- mess = file.readlines()
- file.close()
-else :
- mess_error = "\nResult file: " + test_file
- mess_error += "\nThis file does not exist.\n"
- raise Exception(mess_error)
-
-nblign = len(mess_ref)
-if ( len(mess) != nblign ):
- mess_error = mess_error_ref + "\nResult file: " + test_file
- mess_error += "\nThe number of lines of the files are not the same.\n"
- raise Exception(mess_error)
-
-for num in range(nblign) :
- if (( "creation" not in mess_ref[num] ) and ( mess_ref[num] != mess[num])) :
- message_erreur = "\nRefe : " + mess_ref[num]
- message_erreur += "Test : " + mess[num][:-1]
- message_erreur += "\nThe test is different from the reference."
- raise Exception(message_erreur)
+# Test of the results
#
-remove_dir(Rep_Test_Resu)
+n_rep_test_file = n_iter_test_file
+test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file)
#
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
--- /dev/null
+
+
+ANALYSE DU MAILLAGE
+===================
+
+ Maillage apres adaptation
+ MAILL
+ Date de creation : vendredi 21 mars 2014 a 13 h 35 mn 56 s
+ Dimension : 3
+ Degre : 2
+ C'est un maillage obtenu apres 3 adaptations.
+ Le niveau minimum actif est : 3
+ Le niveau maximum atteint est : 3
+
+ Direction | Unite | Minimum | Maximum
+ ---------------------------------------------------------------
+ X | INCONNUE | 0.0000 | 1.0000
+ Y | INCONNUE | 0.0000 | 1.0000
+ Z | INCONNUE | 0.0000 | 1.0000
+
+
+ NOMBRE D'ENTITES DU CALCUL
+ ==========================
+
+
+ ************************************************************
+ * Noeuds *
+ ************************************************************
+ * Nombre total * 4913 *
+ * . dont sommets d'aretes * 729 *
+ * . dont milieux d'aretes * 4184 *
+ ************************************************************
+
+ ************************************************************
+ * Mailles-Points *
+ ************************************************************
+ * Nombre total * 2 *
+ ************************************************************
+
+ ************************************************************
+ * Segments *
+ ************************************************************
+ * Nombre total * 8 *
+ * . dont aretes isolees * 0 *
+ * . dont aretes de bord de regions 2D * 0 *
+ * . dont aretes internes aux faces/volumes * 8 *
+ ************************************************************
+
+ ************************************************************
+ * Triangles *
+ ************************************************************
+ * Nombre total * 768 *
+ * . dont triangles de regions 2D * 0 *
+ * . dont triangles de bord * 768 *
+ * . dont triangles internes aux volumes * 0 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 0 *
+ * . du niveau 2 * 0 *
+ * . du niveau 3 * 768 *
+ ************************************************************
+
+ ************************************************************
+ * Tetraedres *
+ ************************************************************
+ * Nombre total * 3072 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 0 *
+ * . du niveau 2 * 0 *
+ * . du niveau 3 * 3072 *
+ ************************************************************
--- /dev/null
+# -*- coding: iso-8859-1 -*-
+# Copyright (C) 2011-2014 CEA/DEN, 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
+# License as published by the Free Software Foundation; either
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""
+Python script for HOMARD
+Copyright EDF-R&D 2010, 2014
+Test test_11 associe au tutorial 1
+"""
+__revision__ = "V2.1"
+
+#========================================================================
+Test_Name = "test_11"
+n_iter_test_file = 3
+#========================================================================
+import os
+import tempfile
+import sys
+import HOMARD
+import salome
+#
+# ==================================
+pathHomard = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des donnees du test
+Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
+Rep_Test = os.path.normpath(Rep_Test)
+sys.path.append(Rep_Test)
+from test_util import test_results
+# Repertoire des resultats
+dircase = tempfile.mktemp()
+os.mkdir(dircase)
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+# ==================================
+gzip_gunzip(data_dir, 1, -1)
+# ==================================
+
+salome.salome_init()
+import iparameters
+ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))
+ipar.append("AP_MODULES_LIST", "Homard")
+#
+#========================================================================
+#========================================================================
+def homard_exec(theStudy):
+ """
+Python script for HOMARD
+ """
+ #
+ homard.SetCurrentStudy(theStudy)
+ #
+ # Hypotheses
+ # ==========
+ Hypo_1 = homard.CreateHypothesis('Hypo_1')
+ Hypo_1.SetUnifRefinUnRef(1)
+ #
+ # Cas
+ # ===
+ Case_1 = homard.CreateCase('Case_1', 'MAILL', data_dir+'/tutorial_1.00.med')
+ Case_1.SetDirName(dircase)
+ Case_1.SetConfType(1)
+ #
+ # Iterations
+ # ==========
+ # Iteration "Iter_1_1"
+ Iter_1_1 = Case_1.NextIteration('Iter_1_1')
+ Iter_1_1.SetMeshName('MESH')
+ Iter_1_1.SetMeshFile(dircase+'/maill.01.med')
+ Iter_1_1.AssociateHypo('Hypo_1')
+ error = Iter_1_1.Compute(1, 2)
+
+ # Iteration "Iter_1_2"
+ Iter_1_2 = Iter_1_1.NextIteration('Iter_1_2')
+ Iter_1_2.SetMeshName('MESH')
+ Iter_1_2.SetMeshFile(dircase+'/maill.02.med')
+ Iter_1_2.AssociateHypo('Hypo_1')
+ error = Iter_1_2.Compute(1, 2)
+
+ # Iteration "Iter_1_3"
+ Iter_1_3 = Iter_1_2.NextIteration('Iter_1_3')
+ Iter_1_3.SetMeshName('MESH')
+ Iter_1_3.SetMeshFile(dircase+'/maill.03.med')
+ Iter_1_3.AssociateHypo('Hypo_1')
+ error = Iter_1_3.Compute(1, 2)
+ #
+ return error
+
+#========================================================================
+
+homard = salome.lcc.FindOrLoadComponent('FactoryServer', 'HOMARD')
+assert homard is not None, "Impossible to load homard engine"
+homard.SetLanguageShort("fr")
+#
+# Exec of HOMARD-SALOME
+#
+try :
+ error_main = homard_exec(salome.myStudy)
+ if error_main :
+ raise Exception('Pb in homard_exec at iteration %d' %error_main )
+except Exception, e:
+ raise Exception('Pb in homard_exec: '+e.message)
+#
+# Test of the results
+#
+n_rep_test_file = n_iter_test_file
+test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file)
+#
+# ==================================
+gzip_gunzip(data_dir, 1, 1)
+# ==================================
+#
+if salome.sg.hasDesktop():
+ salome.sg.updateObjBrowser(1)
+ iparameters.getSession().restoreVisualState(1)
+
--- /dev/null
+
+
+ANALYSE DU MAILLAGE
+===================
+
+ Maillage apres adaptation
+ MZERO
+ Date de creation : vendredi 21 mars 2014 a 11 h 33 mn 28 s
+ Dimension : 3
+ Degre : 2
+ C'est un maillage obtenu apres 2 adaptations.
+ Le niveau minimum actif est : 1
+ Le niveau maximum atteint est : 2
+
+ Direction | Unite | Minimum | Maximum
+ ---------------------------------------------------------------
+ X | INCONNUE | 0.0000 | 1.0000
+ Y | INCONNUE | 0.0000 | 1.0000
+ Z | INCONNUE | 0.0000 | 1.0000
+
+
+ NOMBRE D'ENTITES DU CALCUL
+ ==========================
+
+
+ ************************************************************
+ * Noeuds *
+ ************************************************************
+ * Nombre total * 231 *
+ * . dont sommets d'aretes * 43 *
+ * . dont milieux d'aretes * 188 *
+ ************************************************************
+
+ ************************************************************
+ * Mailles-Points *
+ ************************************************************
+ * Nombre total * 2 *
+ ************************************************************
+
+ ************************************************************
+ * Segments *
+ ************************************************************
+ * Nombre total * 3 *
+ * . dont aretes isolees * 0 *
+ * . dont aretes de bord de regions 2D * 0 *
+ * . dont aretes internes aux faces/volumes * 3 *
+ ************************************************************
+
+ ************************************************************
+ * Triangles *
+ ************************************************************
+ * Nombre total * 66 *
+ * . dont triangles de regions 2D * 0 *
+ * . dont triangles de bord * 66 *
+ * . dont triangles internes aux volumes * 0 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 30 *
+ * . du niveau 2 * 36 *
+ ************************************************************
+
+ ************************************************************
+ * Tetraedres *
+ ************************************************************
+ * Nombre total * 113 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 23 *
+ * . du niveau 2 * 90 *
+ ************************************************************
--- /dev/null
+# -*- coding: iso-8859-1 -*-
+# Copyright (C) 2011-2014 CEA/DEN, 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
+# License as published by the Free Software Foundation; either
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""
+Python script for HOMARD
+Copyright EDF-R&D 2010, 2014
+Test test_11 associe au tutorial 2
+"""
+__revision__ = "V2.1"
+
+#========================================================================
+Test_Name = "test_12"
+n_iter_test_file = 2
+#========================================================================
+import os
+import tempfile
+import sys
+import HOMARD
+import salome
+#
+# ==================================
+pathHomard = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des donnees du test
+Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
+Rep_Test = os.path.normpath(Rep_Test)
+sys.path.append(Rep_Test)
+from test_util import test_results
+# Repertoire des resultats
+dircase = tempfile.mktemp()
+os.mkdir(dircase)
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+# ==================================
+gzip_gunzip(data_dir, 2, -1)
+# ==================================
+
+salome.salome_init()
+import iparameters
+ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))
+ipar.append("AP_MODULES_LIST", "Homard")
+#
+#========================================================================
+#========================================================================
+def homard_exec(theStudy):
+ """
+Python script for HOMARD
+ """
+ #
+ homard.SetCurrentStudy(theStudy)
+ #
+ # Creation des zones
+ # ==================
+ # Box "Zone_0"
+ Zone_0 = homard.CreateZoneBox ('Zone_0', -0.1, 1.1, -0.1, 1.1, 0.9, 1.1)
+ #
+ # Sphere "Zone_1"
+ Zone_1 = homard.CreateZoneSphere ('Zone_1', 0., 0., 0., 1.05)
+ #
+ # Box "Zone_2"
+ Zone_2 = homard.CreateZoneBox ('Zone_2', -0.1, 0.51, -0.1, 0.51, -0.1, 0.51)
+ #
+ # Hypothese "Hypo_2"
+ # ==================
+ Hypo_2 = homard.CreateHypothesis('Hypo_2')
+ Hypo_2.AddZone('Zone_1', 1)
+ Hypo_2.AddZone('Zone_0', 1)
+ #
+ # Hypothese "Hypo_2_bis"
+ # ======================
+ Hypo_2_bis = homard.CreateHypothesis('Hypo_2_bis')
+ Hypo_2_bis.AddZone('Zone_0', -1)
+ Hypo_2_bis.AddZone('Zone_2', 1)
+ #
+ # Cas
+ # ===
+ Case_2 = homard.CreateCase('Case_2', 'MZERO', data_dir+'/tutorial_2.00.med')
+ Case_2.SetDirName(dircase)
+ #
+ # Iteration "Iter_2_1"
+ # ====================
+ Iter_2_1 = Case_2.NextIteration('Iter_2_1')
+ Iter_2_1.SetMeshName('M_1')
+ Iter_2_1.SetMeshFile(dircase+'/maill.01.med')
+ Iter_2_1.AssociateHypo('Hypo_2')
+ error = Iter_2_1.Compute(1, 2)
+ #
+ # Iteration "Iter_2_2"
+ # ====================
+ Iter_2_2 = Iter_2_1.NextIteration('Iter_2_2')
+ Iter_2_2.SetMeshName('M_2')
+ Iter_2_2.SetMeshFile(dircase+'/maill.02.med')
+ Iter_2_2.AssociateHypo('Hypo_2_bis')
+ error = Iter_2_2.Compute(1, 2)
+ #
+ return error
+
+#========================================================================
+
+homard = salome.lcc.FindOrLoadComponent('FactoryServer', 'HOMARD')
+assert homard is not None, "Impossible to load homard engine"
+homard.SetLanguageShort("fr")
+#
+# Exec of HOMARD-SALOME
+#
+try :
+ error_main = homard_exec(salome.myStudy)
+ if error_main :
+ raise Exception('Pb in homard_exec at iteration %d' %error_main )
+except Exception, e:
+ raise Exception('Pb in homard_exec: '+e.message)
+#
+# Test of the results
+#
+n_rep_test_file = n_iter_test_file
+test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file)
+#
+# ==================================
+gzip_gunzip(data_dir, 2, 1)
+# ==================================
+#
+if salome.sg.hasDesktop():
+ salome.sg.updateObjBrowser(1)
+ iparameters.getSession().restoreVisualState(1)
+
--- /dev/null
+
+
+ANALYSE DU MAILLAGE
+===================
+
+ Maillage apres adaptation
+ G_0
+ Date de creation : vendredi 21 mars 2014 a 11 h 33 mn 32 s
+ Dimension : 3
+ Degre : 2
+ C'est un maillage obtenu apres 2 adaptations.
+ Le niveau minimum actif est : 0
+ Le niveau maximum atteint est : 2
+
+ Direction | Unite | Minimum | Maximum
+ ---------------------------------------------------------------
+ X | INCONNUE | 0.0000 | 0.60000
+ Y | INCONNUE | 0.0000 | 0.30000
+ Z | INCONNUE | 0.0000 | 0.20000
+
+
+ NOMBRE D'ENTITES DU CALCUL
+ ==========================
+
+
+ ************************************************************
+ * Noeuds *
+ ************************************************************
+ * Nombre total * 14455 *
+ * . dont sommets d'aretes * 3839 *
+ * . dont milieux d'aretes * 10616 *
+ ************************************************************
+
+ ************************************************************
+ * Segments *
+ ************************************************************
+ * Nombre total * 764 *
+ * . dont aretes isolees * 0 *
+ * . dont aretes de bord de regions 2D * 0 *
+ * . dont aretes internes aux faces/volumes * 764 *
+ ************************************************************
+
+ ************************************************************
+ * Triangles *
+ ************************************************************
+ * Nombre total * 288 *
+ * . dont triangles de regions 2D * 0 *
+ * . dont triangles de bord * 288 *
+ * . dont triangles internes aux volumes * 0 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 168 *
+ * . du niveau 2 * 120 *
+ ************************************************************
+
+ ************************************************************
+ * Quadrangles *
+ ************************************************************
+ * Nombre total * 2534 *
+ * . dont quadrangles de regions 2D * 0 *
+ * . dont quadrangles de bord * 2534 *
+ * . dont quadrangles internes aux volumes * 0 *
+ ************************************************************
+ * . du niveau 0 * 142 *
+ * . du niveau 1 * 2296 *
+ * . du niveau 2 * 96 *
+ ************************************************************
+
+ ************************************************************
+ * Tetraedres *
+ ************************************************************
+ * Nombre total * 256 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 96 *
+ * . du niveau 2 * 160 *
+ ************************************************************
+
+ ************************************************************
+ * Hexaedres *
+ ************************************************************
+ * Nombre total * 2230 *
+ ************************************************************
+ * . du niveau 0 * 66 *
+ * . du niveau 1 * 1972 *
+ * . du niveau 2 * 192 *
+ ************************************************************
+
+ ************************************************************
+ * Pyramides *
+ ************************************************************
+ * Nombre total * 432 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 120 *
+ * . du niveau 2 * 312 *
+ ************************************************************
--- /dev/null
+# -*- coding: iso-8859-1 -*-
+# Copyright (C) 2011-2014 CEA/DEN, 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
+# License as published by the Free Software Foundation; either
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""
+Python script for HOMARD
+Copyright EDF-R&D 2010, 2014
+Test test_11 associe au tutorial 3
+"""
+__revision__ = "V2.1"
+
+#========================================================================
+Test_Name = "test_13"
+n_iter_test_file = 2
+#========================================================================
+import os
+import tempfile
+import sys
+import HOMARD
+import salome
+#
+# ==================================
+pathHomard = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des donnees du test
+Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
+Rep_Test = os.path.normpath(Rep_Test)
+sys.path.append(Rep_Test)
+from test_util import test_results
+# Repertoire des resultats
+dircase = tempfile.mktemp()
+os.mkdir(dircase)
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+# ==================================
+gzip_gunzip(data_dir, 3, -1)
+# ==================================
+
+salome.salome_init()
+import iparameters
+ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))
+ipar.append("AP_MODULES_LIST", "Homard")
+#
+#========================================================================
+#========================================================================
+def homard_exec(theStudy):
+ """
+Python script for HOMARD
+ """
+ #
+ homard.SetCurrentStudy(theStudy)
+ #
+ # Hypothese "Hypo_0vers1"
+ # =======================
+ Hypo_0vers1 = homard.CreateHypothesis('Hypo_0vers1')
+ # Characterization of the field
+ Hypo_0vers1.SetField('SOLU_0__QIRE_ELEM_SIGM__________')
+ Hypo_0vers1.SetUseComp(0)
+ Hypo_0vers1.AddComp('ERREST ')
+ Hypo_0vers1.SetRefinThr(3, 1.0)
+ Hypo_0vers1.SetTypeFieldInterp(2)
+ Hypo_0vers1.AddFieldInterp('SOLU_0__DEPL____________________')
+ Hypo_0vers1.AddFieldInterp('SOLU_0__ERRE_ELEM_SIGM__________')
+ #
+ # Hypothese "Hypo_1vers2"
+ # =======================
+ Hypo_1vers2 = homard.CreateHypothesis('Hypo_1vers2')
+ # Characterization of the field
+ Hypo_1vers2.SetField('SOLU_1__QIRE_ELEM_SIGM__________')
+ Hypo_1vers2.SetUseComp(0)
+ Hypo_1vers2.AddComp('ERREST ')
+ Hypo_1vers2.SetRefinThr(3, 1.5)
+ Hypo_1vers2.SetUnRefThr(3, 6.)
+ Hypo_1vers2.SetTypeFieldInterp(2)
+ Hypo_1vers2.AddFieldInterp('SOLU_1__DEPL____________________')
+ Hypo_1vers2.AddFieldInterp('SOLU_1__QIRE_ELEM_SIGM__________')
+ #
+ # Hypothese "Hypo_1vers2_bis"
+ # ===========================
+ Hypo_1vers2_bis = homard.CreateHypothesis('Hypo_1vers2_bis')
+ # Characterization of the field
+ Hypo_1vers2_bis.SetField('SOLU_1__DEPL____________________')
+ Hypo_1vers2_bis.SetUseComp(1)
+ Hypo_1vers2_bis.AddComp('DX')
+ Hypo_1vers2_bis.AddComp('DY')
+ Hypo_1vers2_bis.AddComp('DZ')
+ Hypo_1vers2_bis.SetRefinThr(1, 0.0001)
+ Hypo_1vers2_bis.SetUnRefThr(1, 0.000001)
+ Hypo_1vers2_bis.SetTypeFieldInterp(0)
+ #
+ # Cas
+ # ===
+ Case_3 = homard.CreateCase('Case_3', 'G_0', data_dir+'/tutorial_3.00.med')
+ Case_3.SetDirName(dircase)
+ #
+ # Iteration "Iter_3_1"
+ # ====================
+ Iter_3_1 = Case_3.NextIteration('Iter_3_1')
+ Iter_3_1.SetMeshName('H_1')
+ Iter_3_1.SetMeshFile(dircase+'/maill.01.med')
+ Iter_3_1.SetFieldFile(data_dir+'/tutorial_3.00.med')
+ Iter_3_1.SetTimeStepRank( 1, 1)
+ Iter_3_1.AssociateHypo('Hypo_0vers1')
+ error = Iter_3_1.Compute(1, 2)
+ #
+ # Iteration "Iter_3_2"
+ # ====================
+ Iter_3_2 = Iter_3_1.NextIteration('Iter_3_2')
+ Iter_3_2.SetMeshName('H_2')
+ Iter_3_2.SetMeshFile(dircase+'/maill.02.med')
+ Iter_3_2.SetFieldFile(data_dir+'/tutorial_3.01.med')
+ Iter_3_2.SetTimeStepRank(1, 1)
+ Iter_3_2.AssociateHypo('Hypo_1vers2')
+ error = Iter_3_2.Compute(1, 2)
+ #
+ # Iteration "Iter_3_2_bis"
+ # ========================
+ Iter_3_2_bis = Iter_3_1.NextIteration('Iter_3_2_bis')
+ Iter_3_2_bis.SetMeshName('H_2_bis')
+ Iter_3_2_bis.SetMeshFile(dircase+'/maill.02.bis.med')
+ Iter_3_2_bis.SetFieldFile(data_dir+'/tutorial_3.01.med')
+ Iter_3_2_bis.SetTimeStepRank(1, 1)
+ Iter_3_2_bis.AssociateHypo('Hypo_1vers2_bis')
+ error = Iter_3_2_bis.Compute(1, 2)
+ #
+ return error
+
+#========================================================================
+
+homard = salome.lcc.FindOrLoadComponent('FactoryServer', 'HOMARD')
+assert homard is not None, "Impossible to load homard engine"
+homard.SetLanguageShort("fr")
+#
+# Exec of HOMARD-SALOME
+#
+try :
+ error_main = homard_exec(salome.myStudy)
+ if error_main :
+ raise Exception('Pb in homard_exec at iteration %d' %error_main )
+except Exception, e:
+ raise Exception('Pb in homard_exec: '+e.message)
+#
+# Test of the results
+#
+n_rep_test_file = 3
+test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file)
+#
+# ==================================
+gzip_gunzip(data_dir, 3, 1)
+# ==================================
+#
+if salome.sg.hasDesktop():
+ salome.sg.updateObjBrowser(1)
+ iparameters.getSession().restoreVisualState(1)
+
--- /dev/null
+
+
+ANALYSE DU MAILLAGE
+===================
+
+ Maillage apres adaptation
+ PIQUAGE
+ Date de creation : vendredi 21 mars 2014 a 11 h 35 mn 40 s
+ Dimension : 3
+ Degre : 1
+ C'est un maillage obtenu apres 3 adaptations.
+ Le niveau minimum actif est : 1
+ Le niveau maximum atteint est : 2
+
+ Direction | Unite | Minimum | Maximum
+ ---------------------------------------------------------------
+ | | -230.00 | 136.45
+ | | -250.62 | 189.69
+ | | -285.21 | 155.03
+
+
+ NOMBRE D'ENTITES DU CALCUL
+ ==========================
+
+
+ ************************************************************
+ * Noeuds *
+ ************************************************************
+ * Nombre total * 12825 *
+ ************************************************************
+
+ ************************************************************
+ * Segments *
+ ************************************************************
+ * Nombre total * 758 *
+ * . dont aretes isolees * 0 *
+ * . dont aretes de bord de regions 2D * 0 *
+ * . dont aretes internes aux faces/volumes * 758 *
+ ************************************************************
+
+ ************************************************************
+ * Triangles *
+ ************************************************************
+ * Nombre total * 20838 *
+ * . dont triangles de regions 2D * 0 *
+ * . dont triangles de bord * 20560 *
+ * . dont triangles internes aux volumes * 278 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 3530 *
+ * . du niveau 2 * 17308 *
+ ************************************************************
+
+ ************************************************************
+ * Tetraedres *
+ ************************************************************
+ * Nombre total * 43490 *
+ ************************************************************
+ * . du niveau 0 * 0 *
+ * . du niveau 1 * 18174 *
+ * . du niveau 2 * 25316 *
+ ************************************************************
--- /dev/null
+# -*- coding: iso-8859-1 -*-
+# Copyright (C) 2011-2014 CEA/DEN, 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
+# License as published by the Free Software Foundation; either
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""
+Python script for HOMARD
+Copyright EDF-R&D 2010, 2014
+Test test_11 associe au tutorial 4
+"""
+__revision__ = "V2.1"
+
+#========================================================================
+Test_Name = "test_14"
+n_iter_test_file = 3
+#========================================================================
+import os
+import tempfile
+import sys
+import HOMARD
+import salome
+#
+# ==================================
+pathHomard = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des donnees du test
+Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
+Rep_Test = os.path.normpath(Rep_Test)
+sys.path.append(Rep_Test)
+from test_util import test_results
+# Repertoire des resultats
+dircase = tempfile.mktemp()
+os.mkdir(dircase)
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+# ==================================
+gzip_gunzip(data_dir, 4, -1)
+# ==================================
+
+salome.salome_init()
+import iparameters
+ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))
+ipar.append("AP_MODULES_LIST", "Homard")
+#
+#========================================================================
+#========================================================================
+def homard_exec(theStudy):
+ """
+Python script for HOMARD
+ """
+ #
+ homard.SetCurrentStudy(theStudy)
+#
+ # Frontieres
+ # ==========
+ Boun_4_1 = homard.CreateBoundaryDi('intersection', 'PIQUAGE', data_dir+'/tutorial_4.fr.med')
+ #
+ Boun_4_2 = homard.CreateBoundaryCylinder('cyl_1_ext', 0.0, 25., -25., 25., 50., 75., 100.)
+ #
+ Boun_4_3 = homard.CreateBoundaryCylinder('cyl_2_ext', 17.5, -2.5, -12.5, -100., -75., -25., 50.)
+ #
+ Boun_4_4 = homard.CreateBoundaryCylinder('cyl_1_int', 0.0, 25., -25., 25., 50., 75., 75.)
+ #
+ Boun_4_5 = homard.CreateBoundaryCylinder('cyl_2_int', 17.5, -2.5, -12.5, -100., -75., -25., 25.)
+ #
+ # Hypotheses
+ # ==========
+ # Creation of the hypothesis Hypo_4
+ Hypo_4 = homard.CreateHypothesis('Hypo_4')
+ Hypo_4.SetUnifRefinUnRef(1)
+ Hypo_4.AddGroup('T1_INT_I')
+ Hypo_4.AddGroup('T1_INT_O')
+ Hypo_4.AddGroup('T2_INT')
+ # Creation of the hypothesis Hypo_4_bis
+ Hypo_4_bis = homard.CreateHypothesis('Hypo_4_bis')
+ Hypo_4_bis.SetUnifRefinUnRef(1)
+ Hypo_4_bis.AddGroup('T1_EXT_I')
+ Hypo_4_bis.AddGroup('T1_EXT_O')
+ Hypo_4_bis.AddGroup('T2_EXT')
+ #
+ # Cas
+ # ===
+ Case_4 = homard.CreateCase('Case_4', 'PIQUAGE', data_dir+'/tutorial_4.00.med')
+ Case_4.SetDirName(dircase)
+ Case_4.AddBoundaryGroup( 'intersection', '' )
+ Case_4.AddBoundaryGroup( 'cyl_1_int', 'T1_INT_I' )
+ Case_4.AddBoundaryGroup( 'cyl_1_ext', 'T1_EXT_I' )
+ Case_4.AddBoundaryGroup( 'cyl_1_int', 'T1_INT_O' )
+ Case_4.AddBoundaryGroup( 'cyl_1_ext', 'T1_EXT_O' )
+ Case_4.AddBoundaryGroup( 'cyl_2_int', 'T2_INT' )
+ Case_4.AddBoundaryGroup( 'cyl_2_ext', 'T2_EXT' )
+ #
+ # Iterations
+ # ==========
+ # Iteration Iter_4_1 : raffinement selon les faces internes
+ Iter_4_1 = Case_4.NextIteration('Iter_4_1')
+ Iter_4_1.SetMeshName('PIQUAGE_1')
+ Iter_4_1.SetMeshFile(dircase+'/maill.01.med')
+ Iter_4_1.AssociateHypo('Hypo_4')
+ error = Iter_4_1.Compute(1, 2)
+ # Iteration Iter_4_2 : raffinement selon les faces externes
+ Iter_4_2 = Iter_4_1.NextIteration('Iter_4_2')
+ Iter_4_2.SetMeshName('PIQUAGE_2')
+ Iter_4_2.SetMeshFile(dircase+'/maill.02.med')
+ Iter_4_2.AssociateHypo('Hypo_4_bis')
+ error = Iter_4_2.Compute(1, 2)
+ # Iteration Iter_4_3 : second raffinement selon les faces externes
+ Iter_4_3 = Iter_4_2.NextIteration('Iter_4_3')
+ Iter_4_3.SetMeshName('PIQUAGE_3')
+ Iter_4_3.SetMeshFile(dircase+'/maill.03.med')
+ Iter_4_3.AssociateHypo('Hypo_4_bis')
+ error = Iter_4_3.Compute(1, 2)
+ #
+ return error
+
+#========================================================================
+
+homard = salome.lcc.FindOrLoadComponent('FactoryServer', 'HOMARD')
+assert homard is not None, "Impossible to load homard engine"
+homard.SetLanguageShort("fr")
+#
+# Exec of HOMARD-SALOME
+#
+try :
+ error_main = homard_exec(salome.myStudy)
+ if error_main :
+ raise Exception('Pb in homard_exec at iteration %d' %error_main )
+except Exception, e:
+ raise Exception('Pb in homard_exec: '+e.message)
+#
+# Test of the results
+#
+n_rep_test_file = n_iter_test_file
+test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file)
+#
+# ==================================
+gzip_gunzip(data_dir, 4, 1)
+# ==================================
+#
+if salome.sg.hasDesktop():
+ salome.sg.updateObjBrowser(1)
+ iparameters.getSession().restoreVisualState(1)
+
--- /dev/null
+
+
+ANALYSE DU MAILLAGE
+===================
+
+ Maillage apres adaptation
+ COEUR_2D
+ Date de creation : vendredi 21 mars 2014 a 11 h 33 mn 45 s
+ Dimension : 2
+ Degre : 1
+ C'est un maillage obtenu apres 2 adaptations.
+ Le niveau minimum actif est : 0
+ Le niveau maximum atteint est : 2
+
+ Direction | Unite | Minimum | Maximum
+ ---------------------------------------------------------------
+ | | -248.00 | 248.00
+ | | -248.00 | 248.00
+
+
+ NOMBRE D'ENTITES DU CALCUL
+ ==========================
+
+
+ ************************************************************
+ * Noeuds *
+ ************************************************************
+ * Nombre total * 1542 *
+ ************************************************************
+
+ ************************************************************
+ * Segments *
+ ************************************************************
+ * Nombre total * 359 *
+ * . dont aretes isolees * 0 *
+ * . dont aretes de bord de regions 2D * 240 *
+ * . dont aretes internes aux faces/volumes * 119 *
+ ************************************************************
+
+ ************************************************************
+ * Triangles *
+ ************************************************************
+ * Nombre total * 2204 *
+ ************************************************************
+ * . du niveau 0 * 88 *
+ * . du niveau 1 * 980 *
+ * . du niveau 2 * 1136 *
+ ************************************************************
+
+ ************************************************************
+ * Quadrangles *
+ ************************************************************
+ * Nombre total * 334 *
+ ************************************************************
+ * . du niveau 0 * 162 *
+ * . du niveau 1 * 172 *
+ * . du niveau 2 * 0 *
+ ************************************************************
--- /dev/null
+# -*- coding: iso-8859-1 -*-
+# Copyright (C) 2011-2014 CEA/DEN, 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
+# License as published by the Free Software Foundation; either
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""
+Python script for HOMARD
+Copyright EDF-R&D 2010, 2014
+Test test_11 associe au tutorial 5
+"""
+__revision__ = "V2.1"
+
+#========================================================================
+Test_Name = "test_15"
+n_iter_test_file = 2
+#========================================================================
+import os
+import tempfile
+import sys
+import HOMARD
+import salome
+#
+# ==================================
+pathHomard = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des donnees du test
+Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
+Rep_Test = os.path.normpath(Rep_Test)
+sys.path.append(Rep_Test)
+from test_util import test_results
+# Repertoire des resultats
+dircase = tempfile.mktemp()
+os.mkdir(dircase)
+# Repertoire des donnees du tutorial
+data_dir = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "fr", "_downloads")
+data_dir = os.path.normpath(data_dir)
+sys.path.append(data_dir)
+from tutorial_util import gzip_gunzip
+# ==================================
+gzip_gunzip(data_dir, 5, -1)
+# ==================================
+
+salome.salome_init()
+import iparameters
+ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))
+ipar.append("AP_MODULES_LIST", "Homard")
+#
+#========================================================================
+#========================================================================
+def homard_exec(theStudy):
+ """
+Python script for HOMARD
+ """
+ #
+ homard.SetCurrentStudy(theStudy)
+#
+ # Frontiere
+ # =========
+ # Creation of the discrete boundary Boun_5_1
+ Boun_5_1 = homard.CreateBoundaryDi('Boun_5_1', 'MAIL_EXT', data_dir+'/tutorial_5.fr.med')
+ #
+ # Creation des zones
+ # ==================
+ # Creation of the disk with hole enveloppe
+ enveloppe = homard.CreateZoneDiskWithHole( 'enveloppe', 0., 0., 250., 193., 1 )
+ # Creation of the rectangle quart_sup
+ quart_sup = homard.CreateZoneBox2D( 'quart_sup', 0., 250., 0., 250., 1 )
+ #
+ # Hypotheses
+ # ==========
+ # Creation of the hypothesis Hypo_5
+ Hypo_5 = homard.CreateHypothesis('Hypo_5')
+ Hypo_5.AddZone('enveloppe', 1)
+ # Creation of the hypothesis Hypo_5_bis
+ Hypo_5_bis = homard.CreateHypothesis('Hypo_5_bis')
+ Hypo_5_bis.AddZone('quart_sup', 1)
+ #
+ # Cas
+ # ===
+ Case_5 = homard.CreateCase('Case_5', 'COEUR_2D', data_dir+'/tutorial_5.00.med')
+ Case_5.SetDirName(dircase)
+ Case_5.SetConfType(3)
+ Case_5.AddBoundaryGroup('Boun_5_1', '')
+ #
+ # Iteration "Iter_5_1"
+ # ====================
+ Iter_5_1 = Case_5.NextIteration('Iter_5_1')
+ Iter_5_1.SetMeshName('COEUR_2D_01')
+ Iter_5_1.SetMeshFile(dircase+'/maill.01.med')
+ Iter_5_1.AssociateHypo('Hypo_5')
+ error = Iter_5_1.Compute(1, 2)
+ #
+ # Iteration "Iter_5_2"
+ # ====================
+ Iter_5_2 = Iter_5_1.NextIteration('Iter_5_2')
+ Iter_5_2.SetMeshName('COEUR_2D_02')
+ Iter_5_2.SetMeshFile(dircase+'/maill.02.med')
+ Iter_5_2.AssociateHypo('Hypo_5_bis')
+ error = Iter_5_2.Compute(1, 2)
+ #
+ return error
+
+#========================================================================
+
+homard = salome.lcc.FindOrLoadComponent('FactoryServer', 'HOMARD')
+assert homard is not None, "Impossible to load homard engine"
+homard.SetLanguageShort("fr")
+#
+# Exec of HOMARD-SALOME
+#
+try :
+ error_main = homard_exec(salome.myStudy)
+ if error_main :
+ raise Exception('Pb in homard_exec at iteration %d' %error_main )
+except Exception, e:
+ raise Exception('Pb in homard_exec: '+e.message)
+#
+# Test of the results
+#
+n_rep_test_file = n_iter_test_file
+test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file)
+#
+# ==================================
+gzip_gunzip(data_dir, 5, 1)
+# ==================================
+#
+if salome.sg.hasDesktop():
+ salome.sg.updateObjBrowser(1)
+ iparameters.getSession().restoreVisualState(1)
+
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
#
"""
Python script for HOMARD
-Copyright EDF-R&D 2010, 2013
+Copyright EDF-R&D 2010, 2014
Test test_2
"""
-__revision__ = "V2.1"
+__revision__ = "V2.2"
#========================================================================
Test_Name = "test_2"
import HOMARD
import salome
#
+# ==================================
pathHomard = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des donnees du test
Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
Rep_Test = os.path.normpath(Rep_Test)
-Rep_Test_Resu = tempfile.mktemp()
-os.mkdir(Rep_Test_Resu)
-
sys.path.append(Rep_Test)
-from test_util import remove_dir
+from test_util import test_results
+# Repertoire des resultats
+dircase = tempfile.mktemp()
+os.mkdir(dircase)
+# ==================================
+
salome.salome_init()
import iparameters
def homard_exec(theStudy):
"""
Python script for HOMARD
-Copyright EDF-R&D 2010, 2013
"""
error = 0
#
HypoName_1 = "Hypo_" + Test_Name + "_1"
print "-------- Creation of the hypothesis", HypoName_1
Hypo_test_2_1 = homard.CreateHypothesis(HypoName_1)
- Hypo_test_2_1.SetAdapRefinUnRef(-1, 1, 0)
+ Hypo_test_2_1.SetUnifRefinUnRef(1)
Hypo_test_2_1.AddGroup('EG')
Hypo_test_2_1.AddGroup('BANDE')
print HypoName_1, " : zones utilisées :", Hypo_test_2_1.GetZones()
HypoName_2 = "Hypo_" + Test_Name + "_2"
print "-------- Creation of the hypothesis", HypoName_2
Hypo_test_2_2 = homard.CreateHypothesis(HypoName_2)
- Hypo_test_2_2.SetAdapRefinUnRef(-1, 1, 0)
+ Hypo_test_2_2.SetUnifRefinUnRef(1)
Hypo_test_2_2.AddGroup('M_D')
print HypoName_2, " : zones utilisées :", Hypo_test_2_2.GetZones()
print HypoName_2, " : champ utilisé :", Hypo_test_2_2.GetFieldName()
CaseName = "Case_" + Test_Name
MeshFile = os.path.join(Rep_Test, Test_Name + '.00.med')
Case_test_2 = homard.CreateCase(CaseName, 'PLAQUE_0', MeshFile)
- Case_test_2.SetDirName(Rep_Test_Resu)
+ Case_test_2.SetDirName(dircase)
Case_test_2.SetConfType(1)
Case_test_2.AddBoundaryGroup('internal_boundary', '')
#
IterName = "I_" + Test_Name + "_1"
Iter_test_2_1 = Case_test_2.NextIteration(IterName)
Iter_test_2_1.SetMeshName('PLAQUE_1')
- Iter_test_2_1.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.01.med'))
+ Iter_test_2_1.SetMeshFile(os.path.join(dircase, 'maill.01.med'))
Iter_test_2_1.AssociateHypo(HypoName_1)
error = Iter_test_2_1.Compute(1, 1)
if error :
IterName = "I_" + Test_Name + "_2"
Iter_test_2_2 = Iter_test_2_1.NextIteration(IterName)
Iter_test_2_2.SetMeshName('PLAQUE_2')
- Iter_test_2_2.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.02.med'))
+ Iter_test_2_2.SetMeshFile(os.path.join(dircase, 'maill.02.med'))
Iter_test_2_2.AssociateHypo(HypoName_1)
error = Iter_test_2_2.Compute(1, 1)
if error :
IterName = "I_" + Test_Name + "_3"
Iter_test_2_3 = Iter_test_2_2.NextIteration(IterName)
Iter_test_2_3.SetMeshName('PLAQUE_3')
- Iter_test_2_3.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.03.med'))
+ Iter_test_2_3.SetMeshFile(os.path.join(dircase, 'maill.03.med'))
Iter_test_2_3.AssociateHypo(HypoName_2)
error = Iter_test_2_3.Compute(1, 1)
if error :
# ===========================
ScriptFile = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "en", "_downloads", "yacs_script.py")
ScriptFile = os.path.normpath(ScriptFile)
- DirName = Rep_Test_Resu
+ DirName = dircase
YACS_test_2 = Case_test_2.CreateYACSSchema("YACS_test_2", ScriptFile, DirName, MeshFile)
YACS_test_2.SetType(1)
- filexml = os.path.join(Rep_Test_Resu, 'YACS_test_2.xml')
+ filexml = os.path.join(dircase, 'YACS_test_2.xml')
error = YACS_test_2.WriteOnFile(filexml)
if error :
error = 4
raise Exception('Pb in homard_exec at iteration %d' %error_main )
except Exception, e:
raise Exception('Pb in homard_exec: '+e.message)
-
-#
-# Test of the result
-#
-test_file_suff = "apad.%02d.bilan" % n_iter_test_file
-rep_test_file = "I%02d" % n_iter_test_file
#
-test_file = os.path.join(Rep_Test, Test_Name + "." + test_file_suff)
-mess_error_ref = "\nReference file: " + test_file
-try :
- file = open (test_file, "r")
- mess_ref = file.readlines()
- file.close()
-except :
- mess_error = mess_error_ref + "\nThis file does not exist.\n"
- raise Exception(mess_error)
-#
-test_file = os.path.join(Rep_Test_Resu, rep_test_file, test_file_suff)
-if os.path.isfile (test_file) :
- file = open (test_file, "r")
- mess = file.readlines()
- file.close()
-else :
- mess_error = "\nResult file: " + test_file
- mess_error += "\nThis file does not exist.\n"
- raise Exception(mess_error)
-
-nblign = len(mess_ref)
-if ( len(mess) != nblign ):
- mess_error = mess_error_ref + "\nResult file: " + test_file
- mess_error += "\nThe number of lines of the files are not the same.\n"
- raise Exception(mess_error)
-
-for num in range(nblign) :
- if (( "creation" not in mess_ref[num] ) and ( mess_ref[num] != mess[num])) :
- message_erreur = "\nRefe : " + mess_ref[num]
- message_erreur += "Test : " + mess[num][:-1]
- message_erreur += "\nThe test is different from the reference."
- raise Exception(message_erreur)
+# Test of the results
#
-remove_dir(Rep_Test_Resu)
+n_rep_test_file = n_iter_test_file
+test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file)
#
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
pathHomard = os.getenv('HOMARD_ROOT_DIR')
Rep_Test = os.path.join(pathHomard, "share", "salome", "resources", "homard")
Rep_Test = os.path.normpath(Rep_Test)
-Rep_Test_Resu = tempfile.mktemp()
-os.mkdir(Rep_Test_Resu)
+dircase = tempfile.mktemp()
+os.mkdir(dircase)
sys.path.append(Rep_Test)
-from test_util import remove_dir
+from test_util import test_results
salome.salome_init()
import iparameters
HypoName = "Hypo_" + Test_Name
print "-------- Creation of the hypothesis", HypoName
Hypo_test_3 = homard.CreateHypothesis(HypoName)
- Hypo_test_3.SetAdapRefinUnRef(-1, 1, 0)
+ Hypo_test_3.SetUnifRefinUnRef(1)
print HypoName, " : zones utilisées :", Hypo_test_3.GetZones()
print HypoName, " : champ utilisé :", Hypo_test_3.GetFieldName()
print HypoName, " : composantes utilisées :", Hypo_test_3.GetComps()
print "-------- Creation of the case", CaseName
MeshFile = os.path.join(Rep_Test, Test_Name + '.00.med')
Case_test_3 = homard.CreateCase(CaseName, 'MOYEU', MeshFile)
- Case_test_3.SetDirName(Rep_Test_Resu)
+ Case_test_3.SetDirName(dircase)
Case_test_3.SetConfType(1)
Case_test_3.AddBoundaryGroup('courbes', '')
Case_test_3.AddBoundaryGroup('cyl_ext', 'EXT')
print "-------- Creation of the iteration", IterName
Iter_test_3_1 = Case_test_3.NextIteration(IterName)
Iter_test_3_1.SetMeshName('MOYEU_1')
- Iter_test_3_1.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.01.med'))
+ Iter_test_3_1.SetMeshFile(os.path.join(dircase, 'maill.01.med'))
Iter_test_3_1.AssociateHypo('Hypo_test_3')
error = Iter_test_3_1.Compute(1, 1)
if error :
print "-------- Creation of the iteration", IterName
Iter_test_3_2 = Iter_test_3_1.NextIteration(IterName)
Iter_test_3_2.SetMeshName('MOYEU_2')
- Iter_test_3_2.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.02.med'))
+ Iter_test_3_2.SetMeshFile(os.path.join(dircase, 'maill.02.med'))
Iter_test_3_2.AssociateHypo('Hypo_test_3')
error = Iter_test_3_2.Compute(1, 1)
if error :
# ===========================
ScriptFile = os.path.join(pathHomard, "share", "doc", "salome", "gui", "HOMARD", "en", "_downloads", "yacs_script.py")
ScriptFile = os.path.normpath(ScriptFile)
- DirName = Rep_Test_Resu
+ DirName = dircase
YACSName = "YACS_" + Test_Name
print "-------- Creation of the schema", YACSName
YACS_test_3 = Case_test_3.CreateYACSSchema(YACSName, ScriptFile, DirName, MeshFile)
HypoName = "Hypo_test_3"
print "-------- Creation of the hypothesis", HypoName
Hypo_test_3 = homard.CreateHypothesis(HypoName)
- Hypo_test_3.SetAdapRefinUnRef(-1, 1, 0)
+ Hypo_test_3.SetUnifRefinUnRef(1)
#
break
#
except Exception, e:
raise Exception('Pb in homard_exec: '+e.message)
#
-# Test of the result
+# Test of the results
#
-test_file_suff = "apad.%02d.bilan" % n_iter_test_file
-rep_test_file = "I%02d" % (n_iter_test_file*n_boucle)
-#
-test_file = os.path.join(Rep_Test, Test_Name + "." + test_file_suff)
-mess_error_ref = "\nReference file: " + test_file
-try :
- file = open (test_file, "r")
- mess_ref = file.readlines()
- file.close()
-except :
- mess_error = mess_error_ref + "\nThis file does not exist.\n"
- raise Exception(mess_error)
-#
-test_file = os.path.join(Rep_Test_Resu, rep_test_file, test_file_suff)
-if os.path.isfile (test_file) :
- file = open (test_file, "r")
- mess = file.readlines()
- file.close()
-else :
- mess_error = "\nResult file: " + test_file
- mess_error += "\nThis file does not exist.\n"
- raise Exception(mess_error)
-
-nblign = len(mess_ref)
-if ( len(mess) != nblign ):
- mess_error = mess_error_ref + "\nResult file: " + test_file
- mess_error += "\nThe number of lines of the files are not the same.\n"
- raise Exception(mess_error)
-
-for num in range(nblign) :
- if (( "creation" not in mess_ref[num] ) and ( mess_ref[num] != mess[num])) :
- message_erreur = "\nRefe : " + mess_ref[num]
- message_erreur += "Test : " + mess[num][:-1]
- message_erreur += "\nThe test is different from the reference."
- raise Exception(message_erreur)
-#
-remove_dir(Rep_Test_Resu)
+n_rep_test_file = n_iter_test_file*n_boucle
+test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file)
#
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2011-2014 CEA/DEN, 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
# 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
#
#========================================================================
#========================================================================
+def test_results(Rep_Test, Test_Name, dircase, n_iter_test_file, n_rep_test_file) :
+ """
+Test of the result
+Rep_Test: repertoire des tests
+Test_Name: nom du test
+dircase: repertoire des resultats du test
+n_iter_test_file: numero de l'iteration a tester
+n_rep_test_file: numero du repertoire de l'iteration a tester
+Copyright EDF-R&D 2014
+ """
+ #
+ test_file_suff = "apad.%02d.bilan" % n_iter_test_file
+ rep_test_file = "I%02d" % n_rep_test_file
+ #
+ test_file = os.path.join(Rep_Test, Test_Name + "." + test_file_suff)
+ mess_error_ref = "\nReference file: " + test_file
+ try :
+ file = open (test_file, "r")
+ mess_ref = file.readlines()
+ file.close()
+ except :
+ mess_error = mess_error_ref + "\nThis file does not exist.\n"
+ raise Exception(mess_error)
+ #
+ test_file = os.path.join(dircase, rep_test_file, test_file_suff)
+ if os.path.isfile (test_file) :
+ file = open (test_file, "r")
+ mess = file.readlines()
+ file.close()
+ else :
+ mess_error = "\nResult file: " + test_file
+ mess_error += "\nThis file does not exist.\n"
+ raise Exception(mess_error)
+
+ nblign = len(mess_ref)
+ if ( len(mess) != nblign ):
+ mess_error = mess_error_ref + "\nResult file: " + test_file
+ mess_error += "\nThe number of lines of the files are not the same.\n"
+ raise Exception(mess_error)
+
+ for num in range(nblign) :
+ if (( "creation" not in mess_ref[num] ) and ( mess_ref[num] != mess[num])) :
+ message_erreur = "\nRefe : " + mess_ref[num]
+ message_erreur += "Test : " + mess[num][:-1]
+ message_erreur += "\nThe test is different from the reference."
+ raise Exception(message_erreur)
+ #
+ remove_dir(dircase)
+#
+ return
+#
+#========================================================================
+#========================================================================