Salome HOME
Enrichissement des possibilités de sortie : niveau, diamètre et
authorGerald Nicolas <D68518@dsp0677846.(none)>
Mon, 16 Jun 2014 07:23:21 +0000 (09:23 +0200)
committerGerald Nicolas <D68518@dsp0677846.(none)>
Mon, 16 Jun 2014 07:23:21 +0000 (09:23 +0200)
qualité des mailles.
La variable LevelOutput en 0/1 devient ExtraOutput en 1 (rien par defaut),
ou multiple de 2, 3, 5

19 files changed:
doc/en/gui_create_hypothese.rst
doc/en/tui_create_hypothese.rst
doc/fr/gui_create_hypothese.rst
doc/fr/tui_create_hypothese.rst
idl/HOMARD_Hypothesis.idl
src/HOMARD/HOMARD_DriverTools.cxx
src/HOMARD/HOMARD_Hypothesis.cxx
src/HOMARD/HOMARD_Hypothesis.hxx
src/HOMARD/HomardDriver.cxx
src/HOMARDGUI/CreateHypothesis.h
src/HOMARDGUI/CreateHypothesis.ui
src/HOMARDGUI/HOMARD_msg_fr.ts
src/HOMARDGUI/HOMARD_msg_ja.ts
src/HOMARDGUI/MonCreateHypothesis.cxx
src/HOMARDGUI/MonCreateHypothesis.h
src/HOMARDGUI/MonEditHypothesis.cxx
src/HOMARD_I/HOMARD_Gen_i.cxx
src/HOMARD_I/HOMARD_Hypothesis_i.cxx
src/HOMARD_I/HOMARD_Hypothesis_i.hxx

index 3fa177ceeaf6d0c92dd802b6f880f0e6c88c0d5d..2cf83d8a82d33f7b247c9bf019e50f939b775ece 100644 (file)
@@ -115,7 +115,7 @@ A first series of options concern the maximal sharpness of mesh which we do not
 
 The second series of options has interest only in case the adaptation is driven by a field and in case this field is not defined everywhere in the mesh. It arrives for example when we build a field based on a distance in a plan while the domain is 3D: the field will not be defined on nodes outside the plan. For such fields, this option allows to specify the behavior which we wish in the regions where the field is not defined. By default, there is nothing: elements are kept as they are. We can choose two other variants: to refine all the elements will a priori be cut, or to unrefine all the elements will be candidate in the unefinement.
 
-The last choice concerns an additional output of the adaptation. If the compartment is checked, the file MED in output will contain a field containing the level of refinement of every element. The convention is the one of HOMARD: a element of the initial mesh is of level 0, a element stemming from a refinement of an initial element carries the level 1, etc. The elements of transition which are produced between two level elements different, n and n+1, are affected by the half-level n+0,5. By default, the compartment is not checked and the field is not produced.
+The last choice concerns an additional output of the adaptation. By default, nothing is checked and no field is produced. If at least one compartment is checked, the output file MED will contain some extra fields. The first choice represents the level of refinement of every element. The convention is the one of HOMARD: an element of the initial mesh is of level 0, an element produced by the refinement of an initial element carries the level 1, etc. The elements of transition which are produced between two different levels, n and n+1, are affected by the half-level n+0,5. The second choice is for the quality of the elements. The third choice is for the diameters of the elements.
 
 .. image:: images/create_hypothese_av_1.png
    :align: center
index c4f739339cd2151a5cae78af38834c8227706324..63fb554ba5f32c01b651f4d4d1299a10f3c19fce 100644 (file)
@@ -410,22 +410,23 @@ Advanced options
 |     Returns the treatment of the elements where the field that|
 |     governs the adaptation is not defined                     |
 +---------------------------------------------------------------+
-| .. module:: SetLevelOutput                                    |
+| .. module:: SetExtraOutput                                    |
 |                                                               |
-| **SetLevelOutput(option)**                                    |
-|     Acts if the level of refinement is returned as a field in |
-|     the output MED file                                       |
+| **SetExtraOutput(option)**                                    |
+|     Acts if some extra information are required into the      |
+|     output MED file. The option is a product of 2, 3, 5.      |
 |                                                               |
 |     - ``option``: integer as follows:                         |
 |                                                               |
-|         *  0: no effect (default)                             |
-|         *  1: the field is produced                           |
+|         *  1 : no effect (default)                            |
+|         *  2x : the refinement level of every mesh is produced|
+|         *  3x : the quality of every mesh                     |
+|         *  5x : the diameter of every mesh                    |
 +---------------------------------------------------------------+
-| .. module:: GetLevelOutput                                    |
+| .. module:: GetExtraOutput                                    |
 |                                                               |
-| **GetLevelOutput()**                                          |
-|     Returns the choice for the output of the level of         |
-|     refinement                                                |
+| **GetExtraOutput()**                                          |
+|     Returns the choice for the output of extra information    |
 +---------------------------------------------------------------+
 
 
index da6fe33a47b0f25e69476a343ddbf34cd08c1c72..9f594b99ef27c24e60bba042f85132a79d0e4c86 100644 (file)
@@ -116,7 +116,7 @@ Une premi
 
 La deuxième série d'options n'a d'intérêt que dans le cas où l'adaptation est piloté par un champ et que ce champ n'est pas défini partout dans le maillage. Cela arrive par exemple quand on construit un champ basé sur une distance dans un plan alors que le domaine est 3D : le champ ne sera pas défini sur les noeuds hors du plan. Pour de tels champs, cette option permet de préciser le comportement que l'on souhaite dans les régions où le champ n'est pas défini. Par défaut, il ne se passe rien : les mailles sont gardées telles quelles. On peut choisir les deux autres variantes : raffiner, toutes les mailles seront a priori coupées, ou déraffiner, toutes les mailles seront candidates au déraffinement.
 
-Le dernier choix porte sur une sortie supplémentaire de l'adaptation. Si la case est cochée, le fichier MED en sortie contiendra un champ contenant le niveau de raffinement de chaque maille. La convention est celle de HOMARD : une maille du maillage initial est de niveau 0, une maille issue d'un raffinement d'une maille initiale porte le niveau 1, etc. Les mailles de transition qui sont produites entre deux mailles de niveau différents, n et n+1, sont affectées du demi-niveau n+0,5. Par défaut, la case n'est pas cochée et le champ n'est pas produit.
+Le dernier choix porte sur des sorties supplémentaires de l'adaptation. Par défaut, aucune case n'est cochée et aucun champ n'est produit. Si l'une des cases est cochée, le fichier MED en sortie contiendra des champs supplémentaires. Le premier choix représente le niveau de raffinement de chaque maille. La convention est celle de HOMARD : une maille du maillage initial est de niveau 0, une maille issue d'un raffinement d'une maille initiale porte le niveau 1, etc. Les mailles de transition qui sont produites entre deux mailles de niveau différents, n et n+1, sont affectées du demi-niveau n+0,5. Le deuxième choix porte sur la qualité des mailles. Le troisième choix produira le diamètre des mailles.
 
 .. image:: images/create_hypothese_av_1.png
    :align: center
index bfa4cf93c5bd9c87f78b552059996118e57eb88e..6a33a38b1e20bf4cd318c963490135db01be82d0 100644 (file)
@@ -413,22 +413,25 @@ Les options avanc
 |     Retourne le type de traitement à appliquer aux mailles où |
 |     le champ de pilotage de l'adaptation n'est pas défini     |
 +---------------------------------------------------------------+
-| .. module:: SetLevelOutput                                    |
+| .. module:: SetExtraOutput                                    |
 |                                                               |
-| **SetLevelOutput(option)**                                    |
-|     Précise si on veut récupérer le niveau de raffinement des |
-|     mailles sous la forme d'un champ                          |
+| **SetExtraOutput(option)**                                    |
+|     Précise quelles sorties supplémentaires sur les mailles on|
+|     veut récupérer dans le fichier MED de sortie. C'est un    |
+|     entier multiple ou non de 2, 3, 5.                        |
 |                                                               |
 |     - ``option`` : entier précisant le choix retenu           |
 |                                                               |
-|         *  0 : aucun effet (défaut)                           |
-|         *  1 : le champ est produit                           |
+|         *  1 : aucun effet (défaut)                           |
+|         *  2x : le niveau de raffinement de chaque maille     |
+|         *  3x : la qualité de chaque maille                   |
+|         *  5x : le diamètre de chaque maille                  |
 +---------------------------------------------------------------+
-| .. module:: GetLevelOutput                                    |
+| .. module:: GetExtraOutput                                    |
 |                                                               |
-| **GetLevelOutput()**                                          |
-|     Retourne le choix retenu pour la récupération du niveau   |
-|     de raffinement                                            |
+| **GetExtraOutput()**                                          |
+|     Retourne le choix retenu pour la récupération des sorties |
+|     supplémentaires                                           |
 +---------------------------------------------------------------+
 
 
index 508c0db4a481d274a2a37244006e3ec337e00522..bb57ac3cd9d80adcacac237c64fb8d2688f902d2 100644 (file)
@@ -99,8 +99,8 @@ module HOMARD
     void     SetAdapInit(in long AdapInit)                 raises (SALOME::SALOME_Exception);
     long     GetAdapInit()                                 raises (SALOME::SALOME_Exception);
 
-    void     SetLevelOutput(in long LevelOutput)           raises (SALOME::SALOME_Exception);
-    long     GetLevelOutput()                              raises (SALOME::SALOME_Exception);
+    void     SetExtraOutput(in long ExtraOutput)           raises (SALOME::SALOME_Exception);
+    long     GetExtraOutput()                              raises (SALOME::SALOME_Exception);
 
     void     AddGroup(in string LeGroupe)                  raises (SALOME::SALOME_Exception);
     void     SupprGroup(in string LeGroupe)                raises (SALOME::SALOME_Exception);
index 64ccd34bebbded8970cb846709d6e6ab613cea0e..7e464eb8c846adfe99ac4ee3172698600302094e 100644 (file)
@@ -238,7 +238,7 @@ namespace HOMARD
     os << separator() << hypothesis.GetNivMax();
     os << separator() << hypothesis.GetDiamMin();
     os << separator() << hypothesis.GetAdapInit();
-    os << separator() << hypothesis.GetLevelOutput();
+    os << separator() << hypothesis.GetExtraOutput();
 
     saux = os.str();
 //     MESSAGE( ". Fin avec "<<saux);
@@ -637,7 +637,7 @@ namespace HOMARD
 
     chunk = getNextChunk( stream, start, ok );
     if ( !ok ) return false;
-    hypothesis.SetLevelOutput( strtod( chunk.c_str(), 0 ) );
+    hypothesis.SetExtraOutput( strtod( chunk.c_str(), 0 ) );
 
     return true;
   }
index cfccb10e6c453cb6e0c0e89037e499a64176d778..0b04c2fdf9518ac36409ed90ae999c99c5ef3d86 100644 (file)
@@ -154,9 +154,9 @@ std::string HOMARD_Hypothesis::GetDumpPython() const
   {
     aScript << "\t" <<_Name << ".SetAdapInit(" << _AdapInit << ")\n";
   }
-  if ( _LevelOutput != 0 )
+  if ( _ExtraOutput != 1 )
   {
-    aScript << "\t" <<_Name << ".SetLevelOutput(" << _LevelOutput << ")\n";
+    aScript << "\t" <<_Name << ".SetExtraOutput(" << _ExtraOutput << ")\n";
   }
 
   return aScript.str();
@@ -327,16 +327,16 @@ const int HOMARD_Hypothesis::GetAdapInit() const
   return _AdapInit;
 }
 //=============================================================================
-void HOMARD_Hypothesis::SetLevelOutput( int LevelOutput )
+void HOMARD_Hypothesis::SetExtraOutput( int ExtraOutput )
 //=============================================================================
 {
-  _LevelOutput = LevelOutput;
+  _ExtraOutput = ExtraOutput;
 }
 //=============================================================================
-const int HOMARD_Hypothesis::GetLevelOutput() const
+const int HOMARD_Hypothesis::GetExtraOutput() const
 //=============================================================================
 {
-  return _LevelOutput;
+  return _ExtraOutput;
 }
 //=============================================================================
 void HOMARD_Hypothesis::AddGroup( const char* Group)
index 33650da11949e4b61d1dcbed254d5982286fe318..1bf049c8cc5e86dddb14a91463f66c0353ef8513 100644 (file)
@@ -90,8 +90,8 @@ public:
   void                          SetAdapInit( int AdapInit );
   const int                     GetAdapInit() const;
 
-  void                          SetLevelOutput( int LevelOutput );
-  const int                     GetLevelOutput() const;
+  void                          SetExtraOutput( int ExtraOutput );
+  const int                     GetExtraOutput() const;
 
   void                          AddGroup( const char* Group);
   void                          SupprGroup( const char* Group );
@@ -144,7 +144,7 @@ private:
   int                           _NivMax;
   double                        _DiamMin;
   int                           _AdapInit;
-  int                           _LevelOutput;
+  int                           _ExtraOutput;
 
   std::list<std::string>        _ListIter;
   std::list<std::string>        _ListZone;
index 4a9e7fd31ed5c97dde22deae7c8ffa3c64ec7a70..40595039e2ed2ac9ea2454b0381b84aee4992f08 100644 (file)
@@ -940,9 +940,9 @@ void HomardDriver::TexteFieldInterpNameType( int NumeChamp, const std::string Fi
 //===============================================================================
 // F. Les options avancees
 //===============================================================================
-void HomardDriver::TexteAdvanced( int Pyram, int NivMax, double DiamMin, int AdapInit, int LevelOutput )
+void HomardDriver::TexteAdvanced( int Pyram, int NivMax, double DiamMin, int AdapInit, int ExtraOutput )
 {
-  MESSAGE("TexteAdvanced, Pyram ="<<Pyram<<", NivMax ="<<NivMax<<", DiamMin ="<<DiamMin<<", AdapInit ="<<AdapInit<<", LevelOutput ="<<LevelOutput);
+  MESSAGE("TexteAdvanced, Pyram ="<<Pyram<<", NivMax ="<<NivMax<<", DiamMin ="<<DiamMin<<", AdapInit ="<<AdapInit<<", ExtraOutput ="<<ExtraOutput);
 
   if ( Pyram > 0 )
   {
@@ -977,11 +977,21 @@ void HomardDriver::TexteAdvanced( int Pyram, int NivMax, double DiamMin, int Ada
       _Texte += "AdapInit " + saux1.str() + "\n" ;
     }
   }
-  if ( LevelOutput != 0 )
+  if ( ExtraOutput % 2 == 0 )
   {
     _Texte += "# Sortie des niveaux de raffinement\n" ;
     _Texte += "NCNiveau NIVEAU\n" ;
   }
+  if ( ExtraOutput % 3 == 0 )
+  {
+    _Texte += "# Sortie des qualités des mailles\n" ;
+    _Texte += "NCQualit QUAL\n" ;
+  }
+  if ( ExtraOutput % 5 == 0 )
+  {
+    _Texte += "# Sortie des diamètres des mailles\n" ;
+    _Texte += "NCDiamet DIAM\n" ;
+  }
 }
 //===============================================================================
 // G. Les messages
index dc3ef61167968d15d2fb7d7492ba6a2ffacf5dbf..673a1a335f130af405c56121ae189457e45979e5 100644 (file)
@@ -1,7 +1,7 @@
 /********************************************************************************
 ** Form generated from reading UI file 'CreateHypothesis.ui'
 **
-** Created: Wed Jan 15 08:44:19 2014
+** Created: Fri Jun 13 09:26:59 2014
 **      by: Qt User Interface Compiler version 4.6.3
 **
 ** WARNING! All changes made in this file will be lost when recompiling UI file!
@@ -38,7 +38,7 @@ class Ui_CreateHypothesis
 {
 public:
     QWidget *scrollAreaWidgetContents;
-    QGridLayout *gridLayout_3;
+    QGridLayout *gridLayout_5;
     QWidget *WName;
     QGridLayout *gridLayout;
     QLabel *Name;
@@ -119,7 +119,7 @@ public:
     QCheckBox *CBAdvanced;
     QSpacerItem *horizontalSpacer_4;
     QGroupBox *GBAdvancedOptions;
-    QGridLayout *gridLayout_1;
+    QGridLayout *gridLayout_3;
     QLabel *TLMinimalDiameter;
     QDoubleSpinBox *doubleSpinBoxDiamMin;
     QLabel *TLMaximalLevel;
@@ -129,7 +129,9 @@ public:
     QRadioButton *RBAIN;
     QRadioButton *RBAIR;
     QRadioButton *RBAID;
-    QCheckBox *CBLevelOutput;
+    QCheckBox *CBOutputLevel;
+    QCheckBox *CBOutputQuality;
+    QCheckBox *CBOutputDiameter;
     QSpacerItem *horizontalSpacer_3;
     QGroupBox *GBButtons;
     QGridLayout *gridLayout8;
@@ -143,7 +145,7 @@ public:
     {
         if (CreateHypothesis->objectName().isEmpty())
             CreateHypothesis->setObjectName(QString::fromUtf8("CreateHypothesis"));
-        CreateHypothesis->resize(848, 1550);
+        CreateHypothesis->resize(848, 1600);
         QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
         sizePolicy.setHorizontalStretch(0);
         sizePolicy.setVerticalStretch(0);
@@ -155,10 +157,10 @@ public:
         CreateHypothesis->setWidgetResizable(true);
         scrollAreaWidgetContents = new QWidget();
         scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
-        scrollAreaWidgetContents->setGeometry(QRect(0, 0, 844, 1546));
+        scrollAreaWidgetContents->setGeometry(QRect(0, 0, 844, 1596));
         scrollAreaWidgetContents->setProperty("sizeGripEnabled", QVariant(true));
-        gridLayout_3 = new QGridLayout(scrollAreaWidgetContents);
-        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
+        gridLayout_5 = new QGridLayout(scrollAreaWidgetContents);
+        gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5"));
         WName = new QWidget(scrollAreaWidgetContents);
         WName->setObjectName(QString::fromUtf8("WName"));
         gridLayout = new QGridLayout(WName);
@@ -175,11 +177,11 @@ public:
         gridLayout->addWidget(LEName, 0, 1, 1, 1);
 
 
-        gridLayout_3->addWidget(WName, 0, 0, 1, 1);
+        gridLayout_5->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);
+        gridLayout_5->addItem(horizontalSpacer_9, 0, 1, 1, 2);
 
         GBTypeAdaptation = new QGroupBox(scrollAreaWidgetContents);
         GBTypeAdaptation->setObjectName(QString::fromUtf8("GBTypeAdaptation"));
@@ -208,20 +210,20 @@ public:
         hboxLayout->addWidget(RBZone);
 
 
-        gridLayout_3->addWidget(GBTypeAdaptation, 1, 0, 1, 2);
+        gridLayout_5->addWidget(GBTypeAdaptation, 1, 0, 1, 2);
 
         horizontalSpacer_6 = new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
 
-        gridLayout_3->addItem(horizontalSpacer_6, 1, 2, 1, 1);
+        gridLayout_5->addItem(horizontalSpacer_6, 1, 3, 1, 1);
 
         CBGroupe = new QCheckBox(scrollAreaWidgetContents);
         CBGroupe->setObjectName(QString::fromUtf8("CBGroupe"));
 
-        gridLayout_3->addWidget(CBGroupe, 2, 0, 1, 1);
+        gridLayout_5->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);
+        gridLayout_5->addItem(horizontalSpacer_8, 2, 3, 1, 1);
 
         GBUniform = new QGroupBox(scrollAreaWidgetContents);
         GBUniform->setObjectName(QString::fromUtf8("GBUniform"));
@@ -245,11 +247,11 @@ public:
         gridLayout1->addWidget(RBUniRaff, 0, 0, 1, 1);
 
 
-        gridLayout_3->addWidget(GBUniform, 3, 0, 1, 1);
+        gridLayout_5->addWidget(GBUniform, 3, 0, 1, 1);
 
         horizontalSpacer_7 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
 
-        gridLayout_3->addItem(horizontalSpacer_7, 3, 2, 1, 1);
+        gridLayout_5->addItem(horizontalSpacer_7, 3, 3, 1, 1);
 
         GBFieldFile = new QGroupBox(scrollAreaWidgetContents);
         GBFieldFile->setObjectName(QString::fromUtf8("GBFieldFile"));
@@ -273,7 +275,7 @@ public:
         gridLayout2->addWidget(LEFieldFile, 0, 1, 1, 1);
 
 
-        gridLayout_3->addWidget(GBFieldFile, 4, 0, 1, 2);
+        gridLayout_5->addWidget(GBFieldFile, 4, 0, 1, 2);
 
         GBFieldManagement = new QGroupBox(scrollAreaWidgetContents);
         GBFieldManagement->setObjectName(QString::fromUtf8("GBFieldManagement"));
@@ -555,7 +557,7 @@ public:
         gridLayout3->addLayout(hboxLayout4, 2, 0, 1, 1);
 
 
-        gridLayout_3->addWidget(GBFieldManagement, 5, 0, 1, 3);
+        gridLayout_5->addWidget(GBFieldManagement, 5, 0, 1, 4);
 
         GBAreaManagement = new QGroupBox(scrollAreaWidgetContents);
         GBAreaManagement->setObjectName(QString::fromUtf8("GBAreaManagement"));
@@ -625,7 +627,7 @@ public:
         gridLayout_4->addLayout(vboxLayout1, 0, 2, 1, 1);
 
 
-        gridLayout_3->addWidget(GBAreaManagement, 6, 0, 1, 2);
+        gridLayout_5->addWidget(GBAreaManagement, 6, 0, 1, 3);
 
         GBField = new QGroupBox(scrollAreaWidgetContents);
         GBField->setObjectName(QString::fromUtf8("GBField"));
@@ -678,38 +680,38 @@ public:
         gridLayout6->addWidget(TWField, 1, 0, 1, 1);
 
 
-        gridLayout_3->addWidget(GBField, 7, 0, 1, 1);
+        gridLayout_5->addWidget(GBField, 7, 0, 1, 1);
 
         horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
 
-        gridLayout_3->addItem(horizontalSpacer_5, 7, 2, 1, 1);
+        gridLayout_5->addItem(horizontalSpacer_5, 7, 3, 1, 1);
 
         CBAdvanced = new QCheckBox(scrollAreaWidgetContents);
         CBAdvanced->setObjectName(QString::fromUtf8("CBAdvanced"));
 
-        gridLayout_3->addWidget(CBAdvanced, 8, 0, 1, 1);
+        gridLayout_5->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);
+        gridLayout_5->addItem(horizontalSpacer_4, 8, 3, 1, 1);
 
         GBAdvancedOptions = new QGroupBox(scrollAreaWidgetContents);
         GBAdvancedOptions->setObjectName(QString::fromUtf8("GBAdvancedOptions"));
-        gridLayout_1 = new QGridLayout(GBAdvancedOptions);
-        gridLayout_1->setObjectName(QString::fromUtf8("gridLayout_1"));
+        gridLayout_3 = new QGridLayout(GBAdvancedOptions);
+        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
         TLMinimalDiameter = new QLabel(GBAdvancedOptions);
         TLMinimalDiameter->setObjectName(QString::fromUtf8("TLMinimalDiameter"));
         sizePolicy1.setHeightForWidth(TLMinimalDiameter->sizePolicy().hasHeightForWidth());
         TLMinimalDiameter->setSizePolicy(sizePolicy1);
         TLMinimalDiameter->setWordWrap(false);
 
-        gridLayout_1->addWidget(TLMinimalDiameter, 0, 0, 1, 1);
+        gridLayout_3->addWidget(TLMinimalDiameter, 0, 0, 1, 1);
 
         doubleSpinBoxDiamMin = new QDoubleSpinBox(GBAdvancedOptions);
         doubleSpinBoxDiamMin->setObjectName(QString::fromUtf8("doubleSpinBoxDiamMin"));
         doubleSpinBoxDiamMin->setDecimals(7);
 
-        gridLayout_1->addWidget(doubleSpinBoxDiamMin, 0, 1, 1, 1);
+        gridLayout_3->addWidget(doubleSpinBoxDiamMin, 0, 1, 1, 1);
 
         TLMaximalLevel = new QLabel(GBAdvancedOptions);
         TLMaximalLevel->setObjectName(QString::fromUtf8("TLMaximalLevel"));
@@ -717,13 +719,13 @@ public:
         TLMaximalLevel->setSizePolicy(sizePolicy1);
         TLMaximalLevel->setWordWrap(false);
 
-        gridLayout_1->addWidget(TLMaximalLevel, 1, 0, 1, 1);
+        gridLayout_3->addWidget(TLMaximalLevel, 1, 0, 1, 1);
 
         SpinBoxNivMax = new QSpinBox(GBAdvancedOptions);
         SpinBoxNivMax->setObjectName(QString::fromUtf8("SpinBoxNivMax"));
         SpinBoxNivMax->setValue(99);
 
-        gridLayout_1->addWidget(SpinBoxNivMax, 1, 1, 1, 1);
+        gridLayout_3->addWidget(SpinBoxNivMax, 1, 1, 1, 1);
 
         GBAdapInit = new QGroupBox(GBAdvancedOptions);
         GBAdapInit->setObjectName(QString::fromUtf8("GBAdapInit"));
@@ -746,19 +748,29 @@ public:
         gridLayout_2->addWidget(RBAID, 0, 2, 1, 1);
 
 
-        gridLayout_1->addWidget(GBAdapInit, 2, 0, 1, 2);
+        gridLayout_3->addWidget(GBAdapInit, 2, 0, 1, 2);
+
+        CBOutputLevel = new QCheckBox(GBAdvancedOptions);
+        CBOutputLevel->setObjectName(QString::fromUtf8("CBOutputLevel"));
+
+        gridLayout_3->addWidget(CBOutputLevel, 3, 0, 1, 1);
+
+        CBOutputQuality = new QCheckBox(GBAdvancedOptions);
+        CBOutputQuality->setObjectName(QString::fromUtf8("CBOutputQuality"));
+
+        gridLayout_3->addWidget(CBOutputQuality, 4, 0, 1, 1);
 
-        CBLevelOutput = new QCheckBox(GBAdvancedOptions);
-        CBLevelOutput->setObjectName(QString::fromUtf8("CBLevelOutput"));
+        CBOutputDiameter = new QCheckBox(GBAdvancedOptions);
+        CBOutputDiameter->setObjectName(QString::fromUtf8("CBOutputDiameter"));
 
-        gridLayout_1->addWidget(CBLevelOutput, 3, 0, 1, 1);
+        gridLayout_3->addWidget(CBOutputDiameter, 5, 0, 1, 1);
 
 
-        gridLayout_3->addWidget(GBAdvancedOptions, 9, 0, 1, 1);
+        gridLayout_5->addWidget(GBAdvancedOptions, 9, 0, 1, 1);
 
         horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
 
-        gridLayout_3->addItem(horizontalSpacer_3, 9, 2, 1, 1);
+        gridLayout_5->addItem(horizontalSpacer_3, 9, 3, 1, 1);
 
         GBButtons = new QGroupBox(scrollAreaWidgetContents);
         GBButtons->setObjectName(QString::fromUtf8("GBButtons"));
@@ -791,11 +803,11 @@ public:
         gridLayout8->addWidget(buttonHelp, 0, 3, 1, 1);
 
 
-        gridLayout_3->addWidget(GBButtons, 10, 0, 1, 2);
+        gridLayout_5->addWidget(GBButtons, 10, 0, 1, 2);
 
         horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
 
-        gridLayout_3->addItem(horizontalSpacer_2, 10, 2, 1, 1);
+        gridLayout_5->addItem(horizontalSpacer_2, 10, 2, 1, 1);
 
         CreateHypothesis->setWidget(scrollAreaWidgetContents);
 
@@ -869,7 +881,9 @@ public:
         RBAIN->setText(QApplication::translate("CreateHypothesis", "Nothing", 0, QApplication::UnicodeUTF8));
         RBAIR->setText(QApplication::translate("CreateHypothesis", "Refinement", 0, QApplication::UnicodeUTF8));
         RBAID->setText(QApplication::translate("CreateHypothesis", "Coarsening", 0, QApplication::UnicodeUTF8));
-        CBLevelOutput->setText(QApplication::translate("CreateHypothesis", "Output of the level of refinement", 0, QApplication::UnicodeUTF8));
+        CBOutputLevel->setText(QApplication::translate("CreateHypothesis", "Output of the level of refinement", 0, QApplication::UnicodeUTF8));
+        CBOutputQuality->setText(QApplication::translate("CreateHypothesis", "Output of the qualities", 0, QApplication::UnicodeUTF8));
+        CBOutputDiameter->setText(QApplication::translate("CreateHypothesis", "Output of the diameters", 0, QApplication::UnicodeUTF8));
         GBButtons->setTitle(QString());
         buttonOk->setText(QApplication::translate("CreateHypothesis", "OK", 0, QApplication::UnicodeUTF8));
         buttonApply->setText(QApplication::translate("CreateHypothesis", "Apply", 0, QApplication::UnicodeUTF8));
index 98f0c334227db2d0dadb1a4aee27d4d78bbebed2..d97cb575be07ccda642d60128efeaa50d89b2ffe 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>848</width>
-    <height>1550</height>
+    <height>1600</height>
    </rect>
   </property>
   <property name="sizePolicy">
      <x>0</x>
      <y>0</y>
      <width>844</width>
-     <height>1546</height>
+     <height>1596</height>
     </rect>
    </property>
    <property name="sizeGripEnabled" stdset="0">
     <bool>true</bool>
    </property>
-   <layout class="QGridLayout" name="gridLayout_3">
+   <layout class="QGridLayout" name="gridLayout_5">
     <item row="0" column="0">
      <widget class="QWidget" name="WName" native="true">
       <layout class="QGridLayout" name="gridLayout">
@@ -76,7 +76,7 @@
       </layout>
      </widget>
     </item>
-    <item row="0" column="1">
+    <item row="0" column="1" colspan="2">
      <spacer name="horizontalSpacer_9">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       </layout>
      </widget>
     </item>
-    <item row="1" column="2">
+    <item row="1" column="3">
      <spacer name="horizontalSpacer_6">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       </property>
      </widget>
     </item>
-    <item row="2" column="2">
+    <item row="2" column="3">
      <spacer name="horizontalSpacer_8">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       </layout>
      </widget>
     </item>
-    <item row="3" column="2">
+    <item row="3" column="3">
      <spacer name="horizontalSpacer_7">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       </layout>
      </widget>
     </item>
-    <item row="5" column="0" colspan="3">
+    <item row="5" column="0" colspan="4">
      <widget class="QGroupBox" name="GBFieldManagement">
       <property name="sizePolicy">
        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
       </layout>
      </widget>
     </item>
-    <item row="6" column="0" colspan="2">
+    <item row="6" column="0" colspan="3">
      <widget class="QGroupBox" name="GBAreaManagement">
       <property name="sizePolicy">
        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
       </layout>
      </widget>
     </item>
-    <item row="7" column="2">
+    <item row="7" column="3">
      <spacer name="horizontalSpacer_5">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       </property>
      </widget>
     </item>
-    <item row="8" column="2">
+    <item row="8" column="3">
      <spacer name="horizontalSpacer_4">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       <property name="title">
        <string>Advanced options</string>
       </property>
-      <layout class="QGridLayout" name="gridLayout_1">
+      <layout class="QGridLayout" name="gridLayout_3">
        <item row="0" column="0">
         <widget class="QLabel" name="TLMinimalDiameter">
          <property name="sizePolicy">
         </widget>
        </item>
        <item row="3" column="0">
-        <widget class="QCheckBox" name="CBLevelOutput">
+        <widget class="QCheckBox" name="CBOutputLevel">
          <property name="text">
           <string>Output of the level of refinement</string>
          </property>
         </widget>
        </item>
+       <item row="4" column="0">
+        <widget class="QCheckBox" name="CBOutputQuality">
+         <property name="text">
+          <string>Output of the qualities</string>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="0">
+        <widget class="QCheckBox" name="CBOutputDiameter">
+         <property name="text">
+          <string>Output of the diameters</string>
+         </property>
+        </widget>
+       </item>
       </layout>
      </widget>
     </item>
-    <item row="9" column="2">
+    <item row="9" column="3">
      <spacer name="horizontalSpacer_3">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
index 6c474ad2929ee45b00c75251574e524a3df5c98d..3216f739173895aee4f1ec68b4bc5f0996947785 100644 (file)
         <source>Output of the level of refinement</source>
         <translation>Sortie du niveau de raffinement</translation>
     </message>
+    <message>
+        <source>Output of the qualities</source>
+        <translation>Sortie des qualités</translation>
+    </message>
+    <message>
+        <source>Output of the diameters</source>
+        <translation>Sortie des diamètres</translation>
+    </message>
     <message>
         <source>Create an iteration</source>
         <translation>Création d&apos;une itération</translation>
index e2d7e54ad19057690efc704bcc82448b6cebb041..c816e7d05cc69ecf68e2f6716765e19ad8282776 100644 (file)
         <source>HOM_TOP_COMPUTE</source>
         <translation>計算します</translation>
     </message>
-    <message>
-        <source>HOM_TOP_EDIT</source>
-        <translation>編集</translation>
-    </message>
     <message>
         <source>HOM_TOP_COMPUTE_PUBLISH</source>
         <translation>Compute and publish</translation>
     </message>
+    <message>
+        <source>HOM_TOP_EDIT</source>
+        <translation>編集</translation>
+    </message>
     <message>
         <source>HOM_TOP_DELETE</source>
         <translation>削除</translation>
index f3be9366d01f019fc41372e338f5f44ce157d64d..86b8d39b9816b2e588ba5c9828805ac1cd4928fb 100644 (file)
@@ -52,7 +52,7 @@ MonCreateHypothesis::MonCreateHypothesis(MonCreateIteration* parent, bool modal,
     _NivMax(-1),
     _DiamMin(-1.),
     _AdapInit(0),
-    _LevelOutput(0)
+    _ExtraOutput(1)
 
 {
       MESSAGE("Constructeur") ;
@@ -74,7 +74,10 @@ MonCreateHypothesis::MonCreateHypothesis(MonCreateIteration* parent, bool modal,
       }
       SetFieldNo();
       GBAdvancedOptions->setVisible(0);
-      CBLevelOutput->setChecked(false);
+      CBOutputLevel->setChecked(false);
+      CBOutputQuality->setChecked(false);
+      CBOutputDiameter->setChecked(false);
+      _ExtraOutput = 1 ;
 //
       adjustSize();
 }
@@ -191,9 +194,12 @@ bool MonCreateHypothesis::PushOnApply()
     aHypothesis->SetDiamMin(_DiamMin);
 // Enregistrement de l'intialisation de l'adaptation
     aHypothesis->SetAdapInit(_AdapInit);
-// Sortie des niveaux de raffinement
-    if (CBLevelOutput->isChecked()) { _LevelOutput = 1 ; }
-    aHypothesis->SetLevelOutput(_LevelOutput);
+// Sortie optionnelle des niveaux de raffinement, des diametres, des qualites
+    _ExtraOutput = 1 ;
+    if (CBOutputLevel->isChecked())    { _ExtraOutput = 2 ; }
+    if (CBOutputQuality->isChecked())  { _ExtraOutput = 3*_ExtraOutput ; }
+    if (CBOutputDiameter->isChecked()) { _ExtraOutput = 5*_ExtraOutput ; }
+    aHypothesis->SetExtraOutput(_ExtraOutput);
   }
 
   HOMARD_UTILS::updateObjBrowser() ;
@@ -894,20 +900,18 @@ void MonCreateHypothesis::SetAdvanced()
   MESSAGE("Debut de SetAdvanced ");
   if (CBAdvanced->isChecked())
   { GBAdvancedOptions->setVisible(1);
-    if (_aFieldFile != QString(""))
-    { GBAdapInit->setVisible(1) ;
-    }
-    else
-    { GBAdapInit->setVisible(0) ;
-    }
+    if (_aFieldFile != QString("")) { GBAdapInit->setVisible(1) ; }
+    else                            { GBAdapInit->setVisible(0) ; }
   }
   else
   { GBAdvancedOptions->setVisible(0);
     _NivMax = -1 ;
     _DiamMin = -1. ;
     _AdapInit = 0 ;
-    CBLevelOutput->setChecked(false);
-    _LevelOutput = 0 ;
+    CBOutputLevel->setChecked(false);
+    CBOutputQuality->setChecked(false);
+    CBOutputDiameter->setChecked(false);
+    _ExtraOutput = 1 ;
   }
 //
   adjustSize();
index 453d810c84dcea8bf3fd556ca33f10e078be1647..9c7468e56ea48d658153a38e48173c974cb78fc5 100644 (file)
@@ -72,7 +72,7 @@ protected :
     int _NivMax;
     double _DiamMin;
     int _AdapInit;
-    int _LevelOutput;
+    int _ExtraOutput;
 
     HOMARD::HOMARD_Hypothesis_var aHypothesis;
     HOMARD::HOMARD_Gen_var myHomardGen;
index 6d0ef7968caa8aa87de253d6a36df59993109559..04f169e77460b7804be774fc28ee639669322655 100644 (file)
@@ -103,8 +103,8 @@ void MonEditHypothesis::InitValEdit()
   int NivMax = aHypothesis->GetNivMax();
   double DiamMin = aHypothesis->GetDiamMin();
   int AdapInit = aHypothesis->GetAdapInit();
-  int LevelOutput = aHypothesis->GetLevelOutput();
-  if ( NivMax > 0 || DiamMin > 0 || AdapInit != 0 || LevelOutput != 0 )
+  int ExtraOutput = aHypothesis->GetExtraOutput();
+  if ( NivMax > 0 || DiamMin > 0 || AdapInit != 0 || ExtraOutput != 1 )
   { GBAdvancedOptions->setVisible(1);
     if ( NivMax > 0 )
     { SpinBoxNivMax->setValue(NivMax);
@@ -131,14 +131,24 @@ void MonEditHypothesis::InitValEdit()
     else
     { GBAdapInit->setVisible(0) ;
     }
-    if ( LevelOutput != 0 )
+    if ( ExtraOutput % 2 == 0 )
     {
-      CBLevelOutput->setChecked(true);
-      CBLevelOutput->setEnabled(false);
+      CBOutputLevel->setChecked(true);
+      CBOutputLevel->setEnabled(false);
     }
-    else
-    { CBLevelOutput->setVisible(0) ;
+    else { CBOutputLevel->setVisible(0) ; }
+    if ( ExtraOutput % 3 == 0 )
+    {
+      CBOutputQuality->setChecked(true);
+      CBOutputQuality->setEnabled(false);
+    }
+    else { CBOutputQuality->setVisible(0) ; }
+    if ( ExtraOutput % 5 == 0 )
+    {
+      CBOutputDiameter->setChecked(true);
+      CBOutputDiameter->setEnabled(false);
     }
+    else { CBOutputDiameter->setVisible(0) ; }
   }
   else
   { GBAdvancedOptions->setVisible(0); }
index e66f02ff48897ba9e420739bf207ce026a2c9665..6683369435315cf51105911da7724feec111820d 100755 (executable)
@@ -1798,7 +1798,7 @@ HOMARD::HOMARD_Hypothesis_ptr HOMARD_Gen_i::CreateHypothesis(const char* nomHypo
   myHypothesis->SetNivMax(-1);
   myHypothesis->SetDiamMin(-1.0);
   myHypothesis->SetAdapInit(0);
-  myHypothesis->SetLevelOutput(0);
+  myHypothesis->SetExtraOutput(1);
 
   return HOMARD::HOMARD_Hypothesis::_duplicate(myHypothesis);
 }
@@ -2784,9 +2784,9 @@ CORBA::Long HOMARD_Gen_i::ComputeAdap(HOMARD::HOMARD_Cas_var myCase, HOMARD::HOM
   MESSAGE ( ". DiamMin = " << DiamMin );
   int AdapInit = myHypo->GetAdapInit();
   MESSAGE ( ". AdapInit = " << AdapInit );
-  int LevelOutput = myHypo->GetLevelOutput();
-  MESSAGE ( ". LevelOutput = " << LevelOutput );
-  myDriver->TexteAdvanced(Pyram, NivMax, DiamMin, AdapInit, LevelOutput);
+  int ExtraOutput = myHypo->GetExtraOutput();
+  MESSAGE ( ". ExtraOutput = " << ExtraOutput );
+  myDriver->TexteAdvanced(Pyram, NivMax, DiamMin, AdapInit, ExtraOutput);
 
   // E.7. Ajout des informations sur le deroulement de l'execution
   int MessInfo = myIteration->GetInfoCompute();
index 5e688c1e98871f6be570efd26e932b94f5fc47bf..ad815c3b4bcad43e5e1d9e17aa43e275b666dd3c 100644 (file)
@@ -299,16 +299,16 @@ CORBA::Long HOMARD_Hypothesis_i::GetAdapInit()
   return myHomardHypothesis->GetAdapInit();
 }
 //=============================================================================
-void HOMARD_Hypothesis_i::SetLevelOutput( CORBA::Long LevelOutput )
+void HOMARD_Hypothesis_i::SetExtraOutput( CORBA::Long ExtraOutput )
 {
   ASSERT( myHomardHypothesis );
-  myHomardHypothesis->SetLevelOutput( LevelOutput );
+  myHomardHypothesis->SetExtraOutput( ExtraOutput );
 }
 //=============================================================================
-CORBA::Long HOMARD_Hypothesis_i::GetLevelOutput()
+CORBA::Long HOMARD_Hypothesis_i::GetExtraOutput()
 {
   ASSERT( myHomardHypothesis );
-  return myHomardHypothesis->GetLevelOutput();
+  return myHomardHypothesis->GetExtraOutput();
 }
 //=============================================================================
 void HOMARD_Hypothesis_i::AddGroup( const char* Group)
index 734bb041b5a24d0492459f4e57cdfcd10187cc8c..997788c64a94f897380ab250dc46635bb715501b 100644 (file)
@@ -97,8 +97,8 @@ public:
   void                   SetAdapInit( CORBA::Long AdapInit );
   CORBA::Long            GetAdapInit();
 
-  void                   SetLevelOutput( CORBA::Long LevelOutput );
-  CORBA::Long            GetLevelOutput();
+  void                   SetExtraOutput( CORBA::Long ExtraOutput );
+  CORBA::Long            GetExtraOutput();
 
   void                   AddGroup( const char* Group);
   void                   SupprGroup( const char* Group );