From: Gerald Nicolas Date: Mon, 16 Jun 2014 07:23:21 +0000 (+0200) Subject: Enrichissement des possibilités de sortie : niveau, diamètre et X-Git-Tag: V7_5_0a1~8^2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=259960aae337825d77ff62b057f0a0d9773f5eb2;p=modules%2Fhomard.git Enrichissement des possibilités de sortie : niveau, diamètre et qualité des mailles. La variable LevelOutput en 0/1 devient ExtraOutput en 1 (rien par defaut), ou multiple de 2, 3, 5 --- diff --git a/doc/en/gui_create_hypothese.rst b/doc/en/gui_create_hypothese.rst index 3fa177ce..2cf83d8a 100644 --- a/doc/en/gui_create_hypothese.rst +++ b/doc/en/gui_create_hypothese.rst @@ -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 diff --git a/doc/en/tui_create_hypothese.rst b/doc/en/tui_create_hypothese.rst index c4f73933..63fb554b 100644 --- a/doc/en/tui_create_hypothese.rst +++ b/doc/en/tui_create_hypothese.rst @@ -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 | +---------------------------------------------------------------+ diff --git a/doc/fr/gui_create_hypothese.rst b/doc/fr/gui_create_hypothese.rst index da6fe33a..9f594b99 100644 --- a/doc/fr/gui_create_hypothese.rst +++ b/doc/fr/gui_create_hypothese.rst @@ -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 diff --git a/doc/fr/tui_create_hypothese.rst b/doc/fr/tui_create_hypothese.rst index bfa4cf93..6a33a38b 100644 --- a/doc/fr/tui_create_hypothese.rst +++ b/doc/fr/tui_create_hypothese.rst @@ -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 | +---------------------------------------------------------------+ diff --git a/idl/HOMARD_Hypothesis.idl b/idl/HOMARD_Hypothesis.idl index 508c0db4..bb57ac3c 100644 --- a/idl/HOMARD_Hypothesis.idl +++ b/idl/HOMARD_Hypothesis.idl @@ -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); diff --git a/src/HOMARD/HOMARD_DriverTools.cxx b/src/HOMARD/HOMARD_DriverTools.cxx index 64ccd34b..7e464eb8 100644 --- a/src/HOMARD/HOMARD_DriverTools.cxx +++ b/src/HOMARD/HOMARD_DriverTools.cxx @@ -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 "< _ListIter; std::list _ListZone; diff --git a/src/HOMARD/HomardDriver.cxx b/src/HOMARD/HomardDriver.cxx index 4a9e7fd3..40595039 100644 --- a/src/HOMARD/HomardDriver.cxx +++ b/src/HOMARD/HomardDriver.cxx @@ -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 ="<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)); diff --git a/src/HOMARDGUI/CreateHypothesis.ui b/src/HOMARDGUI/CreateHypothesis.ui index 98f0c334..d97cb575 100644 --- a/src/HOMARDGUI/CreateHypothesis.ui +++ b/src/HOMARDGUI/CreateHypothesis.ui @@ -7,7 +7,7 @@ 0 0 848 - 1550 + 1600 @@ -46,13 +46,13 @@ 0 0 844 - 1546 + 1596 true - + @@ -76,7 +76,7 @@ - + Qt::Horizontal @@ -128,7 +128,7 @@ - + Qt::Horizontal @@ -148,7 +148,7 @@ - + Qt::Horizontal @@ -193,7 +193,7 @@ - + Qt::Horizontal @@ -238,7 +238,7 @@ - + @@ -690,7 +690,7 @@ - + @@ -878,7 +878,7 @@ - + Qt::Horizontal @@ -898,7 +898,7 @@ - + Qt::Horizontal @@ -916,7 +916,7 @@ Advanced options - + @@ -997,16 +997,30 @@ - + Output of the level of refinement + + + + Output of the qualities + + + + + + + Output of the diameters + + + - + Qt::Horizontal diff --git a/src/HOMARDGUI/HOMARD_msg_fr.ts b/src/HOMARDGUI/HOMARD_msg_fr.ts index 6c474ad2..3216f739 100644 --- a/src/HOMARDGUI/HOMARD_msg_fr.ts +++ b/src/HOMARDGUI/HOMARD_msg_fr.ts @@ -423,6 +423,14 @@ Output of the level of refinement Sortie du niveau de raffinement + + Output of the qualities + Sortie des qualités + + + Output of the diameters + Sortie des diamètres + Create an iteration Création d'une itération diff --git a/src/HOMARDGUI/HOMARD_msg_ja.ts b/src/HOMARDGUI/HOMARD_msg_ja.ts index e2d7e54a..c816e7d0 100644 --- a/src/HOMARDGUI/HOMARD_msg_ja.ts +++ b/src/HOMARDGUI/HOMARD_msg_ja.ts @@ -83,14 +83,14 @@ HOM_TOP_COMPUTE 計算します - - HOM_TOP_EDIT - 編集 - HOM_TOP_COMPUTE_PUBLISH Compute and publish + + HOM_TOP_EDIT + 編集 + HOM_TOP_DELETE 削除 diff --git a/src/HOMARDGUI/MonCreateHypothesis.cxx b/src/HOMARDGUI/MonCreateHypothesis.cxx index f3be9366..86b8d39b 100644 --- a/src/HOMARDGUI/MonCreateHypothesis.cxx +++ b/src/HOMARDGUI/MonCreateHypothesis.cxx @@ -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(); diff --git a/src/HOMARDGUI/MonCreateHypothesis.h b/src/HOMARDGUI/MonCreateHypothesis.h index 453d810c..9c7468e5 100644 --- a/src/HOMARDGUI/MonCreateHypothesis.h +++ b/src/HOMARDGUI/MonCreateHypothesis.h @@ -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; diff --git a/src/HOMARDGUI/MonEditHypothesis.cxx b/src/HOMARDGUI/MonEditHypothesis.cxx index 6d0ef796..04f169e7 100644 --- a/src/HOMARDGUI/MonEditHypothesis.cxx +++ b/src/HOMARDGUI/MonEditHypothesis.cxx @@ -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); } diff --git a/src/HOMARD_I/HOMARD_Gen_i.cxx b/src/HOMARD_I/HOMARD_Gen_i.cxx index e66f02ff..66833694 100755 --- a/src/HOMARD_I/HOMARD_Gen_i.cxx +++ b/src/HOMARD_I/HOMARD_Gen_i.cxx @@ -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(); diff --git a/src/HOMARD_I/HOMARD_Hypothesis_i.cxx b/src/HOMARD_I/HOMARD_Hypothesis_i.cxx index 5e688c1e..ad815c3b 100644 --- a/src/HOMARD_I/HOMARD_Hypothesis_i.cxx +++ b/src/HOMARD_I/HOMARD_Hypothesis_i.cxx @@ -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) diff --git a/src/HOMARD_I/HOMARD_Hypothesis_i.hxx b/src/HOMARD_I/HOMARD_Hypothesis_i.hxx index 734bb041..997788c6 100644 --- a/src/HOMARD_I/HOMARD_Hypothesis_i.hxx +++ b/src/HOMARD_I/HOMARD_Hypothesis_i.hxx @@ -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 );