Le type de conformité
"""""""""""""""""""""
-Les itérations qui seront définies pour ce cas devront respecter le même comportement vis-à-vis de la conformité.
+Les itérations qui seront calculées pour ce cas devront toutes respecter le même comportement vis-à-vis de la conformité.
L'option par défaut, 'conforme', implique que les maillages produits par HOMARD seront conformes au sens des éléments finis. C'est le choix classique de la plupart des logiciels de simulation par éléments finis.
La définition des frontières est décrite dans :ref:`gui_create_boundary`.
+.. index:: single: pyramide
+
+Les options avancées
+""""""""""""""""""""
+Par défaut, aucune option avancée n'est active.
+
+Néanmoins, on peut définir une oprion avancée :
+
+.. image:: images/create_case_7.png
+ :align: center
+
+Par défaut, HOMARD sait traiter des maillages en 2 ou 3 dimensions et comportant les mailles suivantes :
+ - mailles-points
+ - segments
+ - triangles
+ - quadrangles
+ - tétraèdres
+ - hexaèdres
+ - prismes
+Si le maillage initial comporte des pyramides, il y a arrêt en erreur. Toutefois, si on est certain que les raffinements ultérieurs ne toucheront aucune des arêtes des pyramides, on cochera la case "Pyramides autorisées". Les adaptations se dérouleront normalement et les pyramides seront restituées telles quelles dans le maillage final.
L'arbre d'étude
"""""""""""""""
.. image:: images/lancement_3.png
:align: center
+
+
+.. note::
+ Par défaut, le calcul est lancé avec l'exécutable de HOMARD installé avec Salome. Si on souhaite utiliser une version privée de HOMARD, pour tester une évolution par exemple, il faut préciser où le nouvel exécutable est disponible. Pour cela, il faut renseigner deux variables d'environnement.
+ "*HOMARD_REP_EXE_PRIVATE*" définit le répertoire dans lequel se trouve l'exécutable voulu.
+ "*HOMARD_EXE_PRIVATE*" définit le nom de l'exécutable dans ce répertoire, si ce nom est différent de "*homard*".
+
Méthodes python correspondantes
"""""""""""""""""""""""""""""""
Consulter :ref:`tui_create_iteration`
============
Le logiciel HOMARD est destiné à adapter les maillages dans le cadre des codes de calculs par éléments ou volumes finis. Ce logiciel, réalisé par EDF R&D, procède par raffinement et déraffinement des maillages bidimensionnels ou tridimensionnels. Il est conçu pour être utilisé indépendamment du code de calcul auquel il est couplé.
+HOMARD sait traiter des maillages en 2 ou 3 dimensions et comportant les mailles suivantes :
+ - mailles-points
+ - segments
+ - triangles
+ - quadrangles
+ - tétraèdres
+ - hexaèdres
+ - prismes
+
+Ces mailles peuvent être présentes simultanément. Par exemple, HOMARD saura adapter un maillage comportant des triangles et des quadrangles.
+Les noeuds acceptés sont évidemment les noeuds qui sont les sommets des mailles, ce qui correspond à la description classique « en degré 1 » . Si les éléments sont décrits « en degré 2 », les noeuds complémentaires sont gérés. En revanche, il ne peut pas y avoir cohabitation de mailles décrites en degré 1 et d'autres décrites en degré 2. Enfin, HOMARD sait prendre en compte des noeuds isolés, qui n'appartiendraient à aucune définition de mailles : ils ressortiront tels quels du processus d'adaptation.
+
+Le cas des pyramides est à part. HOMARD produit des pyramides pour assurer la conformité du raffinement de maillages formés d'hexaèdres ou de prismes. En revanche, HOMARD n'adapte pas un maillage qui contiendrait des pyramides au départ, sauf cas particuliers (voir :ref:`gui_create_case`).
+
Plusieurs motivations apparaissent pour adapter un maillage :
- - on veut simplifier la réalisation du maillage d'une géométrie complexe : on par d'une version grossière et on confie à un processus automatique la charge de le raffiner.
+ - on veut simplifier la réalisation du maillage d'une géométrie complexe : on part d'un maillage grossier et on confie à un processus automatique la charge de le raffiner.
- on veut s'assurer de la convergence de la solution numérique : plutôt que de réaliser à la main des maillages de plus en plus fins, on laisse le logiciel chercher lui-même les endroits où il faudrait affiner le maillage pour augmenter la précision du résultat.
- les conditions du calcul changent au cours de son déroulement : les zones qui doivent être maillées finement se déplacent. Si on maille fin partout dès le début, le maillage est trop gros. En adaptant au fur et à mesure, le maillage ne sera fin qu'aux endroits nécessaires : sa taille sera réduite et la qualité de la solution sera bonne.
-Dans tous les cas, le principe de l'adaptation de maillage reste le même. Sur le maillage de départ, on réalise le calcul standard. A partir d'une analyse de la solution numérique obtenue, on estime l'erreur qui a été commise par rapport à la solution réelle. Cette estimation se représente par une valeur d'indicateur d'erreur dans chaque maille du calcul. A partir de là, on applique le principe suivant : les mailles où l'indicateur d'erreur est fort devraient être plus petites et réciproquement, les mailles où l'indicateur d'erreur est faible pourraient être plus grandes. Avec cette information, on alimente HOMARD qui va modifier le maillage en conséquence. Sur le nouveau maillage, on recommencera alors le calcul.
+Dans tous les cas, le principe de l'adaptation de maillage reste le même. Sur le maillage de départ, on réalise le calcul standard. Avec une analyse de la solution numérique obtenue, on estime l'erreur qui a été commise par rapport à la solution réelle. Cette estimation se représente par une valeur d'indicateur d'erreur dans chaque maille du calcul. A partir de là, on applique le principe suivant : les mailles où l'indicateur d'erreur est fort devraient être plus petites et, réciproquement, les mailles où l'indicateur d'erreur est faible pourraient être plus grandes. Avec cette information, on alimente HOMARD qui va modifier le maillage en conséquence. Sur le nouveau maillage, on recommencera alors le calcul.
Schématiquement, une itération d'adaptation de maillage se présente ainsi. Le logiciel calcule la solution numérique sur le maillage n°k, puis en déduit les valeurs de l'indicateur d'erreur sur tout le maillage. A partir de la connaissance du maillage n°k et de l'indicateur n°k, HOMARD crée le nouveau maillage n°k+1.
.. image:: images/intro_1.png
.. image:: images/intro_2.png
:align: center
-A partir de ce schéma de base, des variantes sont possibles. Si aucun calcul d'erreur n'est disponible dans le logiciel couplé, on peut utiliser un champ pour piloter l'adaptation. Un champ de contraintes en mécaniques peut être utilisé : raffiner là où les contraintes sont importantes est souvent efficace pour améliorer la qualité de la simulation. On peut également adapter en fonction du saut d'une variable d'une maille à sa voisine ou dans une zone connue a priori. Grâce à ses nombreuses options, HOMARD permet d'envisager de nombreux scénarios d'adaptation de maillage.
+Des variantes de ce schéma de base sont possibles. Si aucun calcul d'erreur n'est disponible dans le logiciel couplé, on peut utiliser un champ pour piloter l'adaptation. Un champ de contraintes en mécaniques peut être utilisé : raffiner là où les contraintes sont importantes est souvent efficace pour améliorer la qualité de la simulation. On peut également adapter en fonction du saut d'une variable d'une maille à sa voisine ou dans une zone connue a priori. Grâce à ses nombreuses options, HOMARD permet d'envisager de multiples scénarios d'adaptation de maillage.
.. note::
Pour une description plus complète, voir :download:`Description générale de HOMARD <files/HOMARD_0.pdf>`.
+
+
+Quelques illustrations de maillage adaptés
+==========================================
+
+.. image:: images/intro_3.png
+ :align: center
+
+.. image:: images/intro_4.png
+ :align: center
+
+.. image:: images/intro_5.png
+ :align: center
+
+.. image:: images/intro_6.png
+ :align: center
+
+.. image:: images/intro_7.png
+ :align: center
+
| |
| - ``conf_type`` : entier précisant le mode de conformité |
| |
-| 1. conforme |
-| 2. non conforme avec 1 noeud par maille |
-| 3. non conforme avec 1 noeud par arete de maille |
-| 4. non conforme quelconque |
+| * 1 : conforme |
+| * 2 : non conforme avec 1 noeud par maille |
+| * 3 : non conforme avec 1 noeud par arete de maille |
+| * 4 : non conforme quelconque |
+---------------------------------------------------------------+
| .. module:: GetConfType |
| |
| frontière |
+---------------------------------------------------------------+
+Les options avancées
+^^^^^^^^^^^^^^^^^^^^
+
++---------------------------------------------------------------+
++---------------------------------------------------------------+
+| .. module:: SetPyram |
+| |
+| **SetPyram(option)** |
+| |
+| - ``option`` : entier précisant le statut des pyramides |
+| éventuellement présentes dans le maillage initial |
+| |
+| * 0 : pyramides refusées (défaut) |
+| * 1 : pyramides autorisées |
++---------------------------------------------------------------+
+| .. module:: GetPyram |
+| |
+| **GetPyram()** |
+| Retourne le statut accordé aux pyramides éventuellement |
+| présentes dans le maillage initial |
++---------------------------------------------------------------+
+
Exemple
"""""""
| |
| - ``Refin`` : entier précisant si le raffinement est actif|
| |
-| 0. inactif |
-| 1. actif |
+| * 0 : inactif |
+| * 1 : actif |
| |
| - ``UnRef`` : entier précisant si déraffinement est actif |
| |
-| 0. inactif |
-| 1. actif |
+| * 0 : inactif |
+| * 1 : actif |
| |
+---------------------------------------------------------------+
| .. module:: GetAdapType |
| |
| - ``use_field`` : entier précisant l'usage du champ |
| |
-| 0. valeur par élément (défaut) |
-| 1. saut entre un élément et ses voisins |
+| * 0 : valeur par élément (défaut) |
+| * 1 : saut entre un élément et ses voisins |
+---------------------------------------------------------------+
| .. module:: SetRefinThr |
| |
| - ``type_thres`` : entier précisant le type de seuil en |
| raffinement |
| |
-| 1. valeur absolue |
-| 2. valeur relative en % |
-| 3. fraction des mailles en % |
+| * 1 : valeur absolue |
+| * 2 : valeur relative en % |
+| * 3 : fraction des mailles en % |
| |
| - ``threshold`` : valeur du seuil |
+---------------------------------------------------------------+
| - ``type_thres`` : entier précisant le type de seuil en |
| déraffinement |
| |
-| 1. valeur absolue |
-| 2. valeur relative en % |
-| 3. fraction des mailles en % |
+| * 1 : valeur absolue |
+| * 2 : valeur relative en % |
+| * 3 : fraction des mailles en % |
| |
| - ``threshold`` : valeur du seuil |
+---------------------------------------------------------------+
| |
| - ``use_comp`` : entier précisant l'usage des composantes |
| |
-| 0. norme L2 (défaut) |
-| 1. norme infinie |
-| 2. valeur relative, uniquement si une seule composante|
+| * 0 : norme L2 (défaut) |
+| * 1 : norme infinie |
+| * 2 : valeur relative, si une seule composante |
+---------------------------------------------------------------+
| .. module:: GetListComp |
| |
| Retourne la liste des groupes utilisés pour le filtrage |
+---------------------------------------------------------------+
-Les options avancéess
-^^^^^^^^^^^^^^^^^^^^^
+Les options avancées
+^^^^^^^^^^^^^^^^^^^^
+---------------------------------------------------------------+
+---------------------------------------------------------------+
| .. module:: GetNumber |
| |
| **GetNumber()** |
-| Retourne le numéro de l'itération |
+| Retourne le numéro de l'itération. |
+| |
+| L'itération 0 est celle associée au maillage initial. |
+| Ensuite, une itération de numéro N est issue de |
+| l'adaptation d'une itération de numéro N-1. |
+---------------------------------------------------------------+
| .. module:: GetIterParent |
| |
void AddBoundaryGroup(in string NomBoundary, in string Group)
raises (SALOME::SALOME_Exception);
+ void SetPyram(in long Pyram) raises (SALOME::SALOME_Exception);
+ long GetPyram() raises (SALOME::SALOME_Exception);
+
};
};
#endif
void InvalideHypo (in string HypoName) raises (SALOME::SALOME_Exception);
void InvalideIter (in string IterName) raises (SALOME::SALOME_Exception);
- boolean Compute (in string IterName, in long etatMenage)
+ long Compute (in string IterName, in long etatMenage)
raises (SALOME::SALOME_Exception);
boolean VerifieDir (in string IterName) raises (SALOME::SALOME_Exception);
void SetMessFile(in string MessFile) raises (SALOME::SALOME_Exception);
string GetMessFile() raises (SALOME::SALOME_Exception);
- boolean Compute(in long etatMenage) raises (SALOME::SALOME_Exception);
+ long Compute(in long etatMenage) raises (SALOME::SALOME_Exception);
string GetDumpPython() raises (SALOME::SALOME_Exception);
};
aScript << *it << "\")\n";
it++;
}
+ if ( _Pyram > 0 )
+ {
+ aScript << "\t" <<_NomCas << ".SetPyram(";
+ aScript << _Pyram << ")\n";
+ }
return aScript.str();
}
{
_ListBoundaryGroup.clear();
}
+//=============================================================================
+void HOMARD_Cas::SetPyram( int Pyram )
+//=============================================================================
+{
+ MESSAGE ("SetPyram, Pyram = " << Pyram );
+ _Pyram = Pyram;
+}
+//=============================================================================
+const int HOMARD_Cas::GetPyram() const
+//=============================================================================
+{
+ MESSAGE ("GetPyram, Pyram = " << _Pyram );
+ return _Pyram;
+}
const std::list<std::string>& GetBoundaryGroup() const;
void SupprBoundaryGroup();
+ void SetPyram( int Pyram );
+ const int GetPyram() const;
+
private:
std::string _NomCas;
std::string _NomDir;
std::list<std::string> _ListGroup;
std::list<std::string> _ListBoundaryGroup;
+ int _Pyram;
+
typedef std::string IterName;
typedef std::list<IterName> IterNames;
IterNames _ListIter;
for ( it = ListString.begin(); it != ListString.end(); ++it )
os << separator() << *it;
+ os << separator() << cas.GetPyram();
+
// MESSAGE( ". Fin avec "<<os.str());
return os.str();
}
cas.AddBoundaryGroup( chunk.c_str(), chunkNext.c_str() );
}
+ chunk = getNextChunk( stream, start, ok );
+ if ( !ok ) return false;
+ cas.SetPyram( atoi( chunk.c_str() ) );
+
return true;
}
//
{
aScript << "\t" <<_NomHypo << ".SetNivMax(";
aScript << _NivMax << ")\n";
+ }
+ if ( _DiamMin > 0 )
+ {
aScript << "\t" <<_NomHypo << ".SetDiamMin(";
aScript << _DiamMin << ")\n";
}
//=============================================================================
{
_DiamMin = DiamMin;
- if ( _NivMax < 0 )
+/* if ( _NivMax < 0 )
{
_NivMax = 99 ;
- }
+ }*/
}
//=============================================================================
const double HOMARD_Hypothesis::GetDiamMin() const
aScript << "\thomard.AssociateIterHypo(\"" <<_NomIter << "\", \"" << _NomHypo << "\")\n";
if (_Etat == true)
{
- aScript << "\tresult = homard.Compute(\"" <<_NomIter << "\", 1)\n";
+ aScript << "\tcodret = homard.Compute(\"" <<_NomIter << "\", 1)\n";
}
else
{
- aScript << "\t# result = homard.Compute(\"" <<_NomIter << "\", 1)\n";
+ aScript << "\t#codret = homard.Compute(\"" <<_NomIter << "\", 1)\n";
}
return aScript.str();
char* dirchar; char* execchar;
std::string dir;
std::string executable;
- if ( !(dirchar = getenv("HOMARD_REP_EXE")) )
- dir = "/local00/HOMARD_SVN/trunk/bin" ;
- else
- dir = std::string(dirchar);
- if ( !(execchar = getenv("HOMARD_EXE")) )
- executable = "HOMARD.out";
- else
- executable = std::string(execchar);
+ if ( !(dirchar = getenv("HOMARD_REP_EXE_PRIVATE")) )
+ { dirchar = getenv("HOMARD_REP_EXE") ; }
+ dir = std::string(dirchar);
+ MESSAGE("HomardDriver, dirchar ="<<dirchar<<", dir ="<<dir);
+ if ( !(execchar = getenv("HOMARD_EXE_PRIVATE")) )
+ { execchar = getenv("HOMARD_EXE"); }
+ executable = std::string(execchar);
+ MESSAGE("HomardDriver, execchar ="<<execchar<<", executable ="<<executable);
_HOMARD_Exec = dir + "/" + executable ;
- MESSAGE("Dans HomardDriver, _HOMARD_Exec ="<<_HOMARD_Exec);
+ MESSAGE("HomardDriver, _HOMARD_Exec ="<<_HOMARD_Exec);
//
_siter = siter ;
_siterp1 = siterp1 ;
////=============================================================================
void HomardDriver::TexteInit( const std::string DirCompute, const std::string DirComputePa, const std::string MessFile )
{
- MESSAGE("Dans TexteInit, MessFile ="<<MessFile);
+ MESSAGE("TexteInit, MessFile ="<<MessFile);
//
_Texte = "Action homa\n" ;
_Texte += "CCAssoci med\n" ;
////=============================================================================
void HomardDriver::TexteMaillage( const std::string NomMesh, const std::string MeshFile, int apres )
{
- MESSAGE("Dans TexteMaillage, NomMesh ="<<NomMesh<<", MeshFile ="<<MeshFile);
+ MESSAGE("TexteMaillage, NomMesh ="<<NomMesh<<", MeshFile ="<<MeshFile);
std::string saux ;
saux = "P1" ;
if ( apres < 1 ) { saux = "__" ; }
////=============================================================================
void HomardDriver::TexteConfRaffDera( int ConfType, int TypeAdap, int TypeRaff, int TypeDera )
{
- MESSAGE("Dans TexteConfRaffDera, ConfType ="<<ConfType);
- MESSAGE("Dans TexteConfRaffDera, TypeAdap ="<<TypeAdap<<", TypeRaff ="<<TypeRaff<<", TypeDera ="<<TypeDera);
+ MESSAGE("TexteConfRaffDera, ConfType ="<<ConfType);
+ MESSAGE("TexteConfRaffDera, TypeAdap ="<<TypeAdap<<", TypeRaff ="<<TypeRaff<<", TypeDera ="<<TypeDera);
//
// Type de conformite
//
////=============================================================================
void HomardDriver::TexteCompo( int NumeComp, const std::string NompCompo)
{
- MESSAGE("Dans TexteCompo, NumeComp = "<<NumeComp<<", NompCompo = "<<NompCompo);
+ MESSAGE("TexteCompo, NumeComp = "<<NumeComp<<", NompCompo = "<<NompCompo);
_Texte +="CCCoChaI \"" + NompCompo + "\"\n" ;
}
int TypeThR, double ThreshR, int TypeThC, double ThreshC,
int UsField, int UsCmpI )
{
- MESSAGE("Dans TexteField, FieldName = "<<FieldName<<", FieldFile = "<<FieldFile);
- MESSAGE("Dans TexteField, TimeStep = "<<TimeStep<<", Rank = "<<Rank);
+ MESSAGE("TexteField, FieldName = "<<FieldName<<", FieldFile = "<<FieldFile);
+ MESSAGE("TexteField, TimeStep = "<<TimeStep<<", Rank = "<<Rank);
std::string saux, saux2 ;
//
////=============================================================================
void HomardDriver::TexteGroup( const std::string GroupName )
{
- MESSAGE("Dans TexteGroup, GroupName = "<<GroupName);
+ MESSAGE("TexteGroup, GroupName = "<<GroupName);
//
_Texte += "CCGroAda " + GroupName + "\n" ;
//
////=============================================================================
void HomardDriver::TexteBoundaryOption( int BoundaryOption )
{
- MESSAGE("Dans TexteBoundaryOption, BoundaryOption = "<<BoundaryOption);
+ MESSAGE("TexteBoundaryOption, BoundaryOption = "<<BoundaryOption);
//
// Type de suivi de frontiere
//
////=============================================================================
void HomardDriver::TexteBoundaryDi( const std::string MeshName, const std::string MeshFile )
{
- MESSAGE("Dans TexteBoundaryDi, MeshName = "<<MeshName);
- MESSAGE("Dans TexteBoundaryDi, MeshFile = "<<MeshFile);
+ MESSAGE("TexteBoundaryDi, MeshName = "<<MeshName);
+ MESSAGE("TexteBoundaryDi, MeshFile = "<<MeshFile);
//
_Texte += "CCNoMFro " + MeshName + "\n" ;
_Texte += "CCFronti " + MeshFile + "\n" ;
////=============================================================================
void HomardDriver::TexteBoundaryDiGr( const std::string GroupName )
{
- MESSAGE("Dans TexteBoundaryDiGr, GroupName = "<<GroupName);
+ MESSAGE("TexteBoundaryDiGr, GroupName = "<<GroupName);
//
_Texte += "CCGroFro " + GroupName + "\n" ;
//
////=============================================================================
void HomardDriver::TexteBoundaryAn( const std::string NameBoundary, int NumeBoundary, int BoundaryType, double x0, double x1, double x2, double x3, double x4, double x5, double x6 )
{
- MESSAGE("Dans TexteBoundaryAn, NameBoundary = "<<NameBoundary);
-// MESSAGE("Dans TexteBoundaryAn, NumeBoundary = "<<NumeBoundary);
- MESSAGE("Dans TexteBoundaryAn, BoundaryType = "<<BoundaryType);
-// MESSAGE("Dans TexteBoundaryAn, coor = "<< x0<<","<<x1<< ","<< x2<< ","<< x3<<","<<x4<<","<<x5<<","<<x6);
+ MESSAGE("TexteBoundaryAn, NameBoundary = "<<NameBoundary);
+// MESSAGE("TexteBoundaryAn, NumeBoundary = "<<NumeBoundary);
+ MESSAGE("TexteBoundaryAn, BoundaryType = "<<BoundaryType);
+// MESSAGE("TexteBoundaryAn, coor = "<< x0<<","<<x1<< ","<< x2<< ","<< x3<<","<<x4<<","<<x5<<","<<x6);
//
std::string saux, saux2 ;
//
////=============================================================================
void HomardDriver::TexteBoundaryAnGr( const std::string NameBoundary, int NumeBoundary, const std::string GroupName )
{
- MESSAGE("Dans TexteBoundaryAnGr, NameBoundary = "<<NameBoundary);
-// MESSAGE("Dans TexteBoundaryAnGr, NumeBoundary = "<<NumeBoundary);
-// MESSAGE("Dans TexteBoundaryAnGr, GroupName = "<<GroupName);
+ MESSAGE("TexteBoundaryAnGr, NameBoundary = "<<NameBoundary);
+// MESSAGE("TexteBoundaryAnGr, NumeBoundary = "<<NumeBoundary);
+// MESSAGE("TexteBoundaryAnGr, GroupName = "<<GroupName);
//
// Commentaires
//
////=============================================================================
void HomardDriver::TexteFieldInterp( int TypeFieldInterp, const std::string FieldFile, const std::string MeshFile, int TimeStep, int Rank )
{
- MESSAGE("Dans TexteFieldInterp, TypeFieldInterp = "<<TypeFieldInterp);
- MESSAGE("Dans TexteFieldInterp, FieldFile = "<<FieldFile<<", MeshFile = "<<MeshFile);
- MESSAGE("Dans TexteFieldInterp, TimeStep = "<<TimeStep<<", Rank = "<<Rank);
+ MESSAGE("TexteFieldInterp, TypeFieldInterp = "<<TypeFieldInterp);
+ MESSAGE("TexteFieldInterp, FieldFile = "<<FieldFile<<", MeshFile = "<<MeshFile);
+ MESSAGE("TexteFieldInterp, TimeStep = "<<TimeStep<<", Rank = "<<Rank);
//
// Type d'interpolation
//
////=============================================================================
void HomardDriver::TexteFieldInterpName( int NumeChamp, const std::string FieldName)
{
- MESSAGE("Dans TexteFieldInterpName, NumeChamp = "<<NumeChamp<<", FieldName = "<<FieldName);
+ MESSAGE("TexteFieldInterpName, NumeChamp = "<<NumeChamp<<", FieldName = "<<FieldName);
std::stringstream saux1 ;
saux1 << NumeChamp+1 ;
std::string saux = saux1.str() ;
}
}
////=============================================================================
-void HomardDriver::TexteAdvanced( int NivMax, double DiamMin)
+void HomardDriver::TexteAdvanced( int Pyram, int NivMax, double DiamMin )
{
- MESSAGE("Dans TexteAdvanced, NivMax ="<<NivMax<<", DiamMin ="<<DiamMin);
+ MESSAGE("TexteAdvanced, Pyram ="<<Pyram<<", NivMax ="<<NivMax<<", DiamMin ="<<DiamMin);
std::string saux ;
- _Texte += "# Niveaux extremes\n" ;
- { std::stringstream saux1 ;
- saux1 << NivMax ;
- std::string saux2 = saux1.str() ;
- _Texte += "NiveauMa " + saux2 + "\n" ;
+ if ( Pyram > 0 )
+ {
+ _Texte += "# Autorisation de pyramides dans le maillage initial\n" ;
+ { _Texte += "TypeElem ignore_pyra\n" ; }
}
+ if ( NivMax > 0 )
{
- std::stringstream saux1 ;
- saux1 << DiamMin ;
- std::string saux2 = saux1.str() ;
- _Texte += "DiametMi " + saux2 + "\n" ;
+ _Texte += "# Niveaux extremes\n" ;
+ { std::stringstream saux1 ;
+ saux1 << NivMax ;
+ std::string saux2 = saux1.str() ;
+ _Texte += "NiveauMa " + saux2 + "\n" ;
+ }
+ }
+ if ( DiamMin > 0 )
+ {
+ _Texte += "# Diametre minimal\n" ;
+ { std::stringstream saux1 ;
+ saux1 << DiamMin ;
+ std::string saux2 = saux1.str() ;
+ _Texte += "DiametMi " + saux2 + "\n" ;
+ }
}
}
void TexteFieldInterp( int TypeFieldInterp, const std::string FieldFile, const std::string MeshFile,
int TimeStep, int Rank );
void TexteFieldInterpName( int NumeChamp, const std::string FieldName);
- void TexteAdvanced( int NivMax, double DiamMin);
+ void TexteAdvanced( int Pyram, int NivMax, double DiamMin);
void CloseFichier();
//
int ExecuteHomard();
/********************************************************************************
-** Form generated from reading ui file 'CreateCase.ui'
+** Form generated from reading UI file 'CreateCase.ui'
**
-** Created: Fri Oct 28 11:27:32 2011
-** by: Qt User Interface Compiler version 4.2.1
+** Created: Wed Feb 15 18:15:40 2012
+** by: Qt User Interface Compiler version 4.6.3
**
-** WARNING! All changes made in this file will be lost when recompiling ui file!
+** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef CREATECASE_H
#include <QtGui/QCheckBox>
#include <QtGui/QComboBox>
#include <QtGui/QDialog>
+#include <QtGui/QFormLayout>
#include <QtGui/QGridLayout>
#include <QtGui/QGroupBox>
#include <QtGui/QHBoxLayout>
+#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QRadioButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QTableWidget>
-#include <QtGui/QWidget>
+
+QT_BEGIN_NAMESPACE
class Ui_CreateCase
{
public:
- QGridLayout *gridLayout;
- QGroupBox *GBBoundaryA;
- QTableWidget *TWBoundary;
- QWidget *layoutWidget;
- QGridLayout *gridLayout1;
- QPushButton *PBBoundaryAnEdit;
- QPushButton *PBBoundaryAnNew;
- QPushButton *PBBoundaryAnHelp;
- QGroupBox *GBBoundaryD;
- QGridLayout *gridLayout2;
- QPushButton *PBBoundaryDiEdit;
- QPushButton *PBBoundaryDiNew;
- QComboBox *CBBoundaryDi;
- QSpacerItem *spacerItem;
- QPushButton *PBBoundaryDiHelp;
- QGroupBox *GroupButtons;
- QGridLayout *gridLayout3;
- QPushButton *buttonHelp;
- QPushButton *buttonCancel;
- QPushButton *buttonApply;
- QPushButton *buttonOk;
+ QGridLayout *gridLayout_2;
QHBoxLayout *hboxLayout;
- QCheckBox *CBBoundaryD;
- QCheckBox *CBBoundaryA;
- QHBoxLayout *hboxLayout1;
QLabel *Name;
QLineEdit *LECaseName;
- QHBoxLayout *hboxLayout2;
+ QHBoxLayout *hboxLayout1;
QLabel *Directory;
QPushButton *PushDir;
QLineEdit *LEDirName;
- QHBoxLayout *hboxLayout3;
+ QSpacerItem *spacerItem;
+ QHBoxLayout *hboxLayout2;
QLabel *Mesh_2;
QPushButton *PushFichier;
QLineEdit *LEFileName;
QSpacerItem *spacerItem1;
QGroupBox *GBTypeConf;
- QHBoxLayout *hboxLayout4;
+ QHBoxLayout *hboxLayout3;
QRadioButton *RBConforme;
QRadioButton *RBNonConforme;
QSpacerItem *spacerItem2;
QGroupBox *GBTypeNoConf;
- QHBoxLayout *hboxLayout5;
+ QHBoxLayout *hboxLayout4;
QRadioButton *RB1NpM;
QRadioButton *RB1NpA;
QRadioButton *RBQuelconque;
QSpacerItem *spacerItem3;
+ QHBoxLayout *hboxLayout5;
+ QCheckBox *CBBoundaryD;
+ QCheckBox *CBBoundaryA;
QSpacerItem *spacerItem4;
+ QGroupBox *GBBoundaryD;
+ QGridLayout *gridLayout;
+ QPushButton *PBBoundaryDiEdit;
+ QPushButton *PBBoundaryDiNew;
+ QComboBox *CBBoundaryDi;
QSpacerItem *spacerItem5;
+ QPushButton *PBBoundaryDiHelp;
+ QGroupBox *GBBoundaryA;
+ QFormLayout *formLayout;
+ QTableWidget *TWBoundary;
+ QGridLayout *gridLayout1;
+ QPushButton *PBBoundaryAnEdit;
+ QPushButton *PBBoundaryAnNew;
+ QPushButton *PBBoundaryAnHelp;
+ QSpacerItem *spacer;
+ QCheckBox *CBAdvanced;
+ QGroupBox *GBAdvancedOptions;
+ QGridLayout *gridLayout2;
+ QCheckBox *CBPyramid;
+ QSpacerItem *spacer_3;
+ QSpacerItem *spacer_4;
+ QGroupBox *GroupButtons;
+ QGridLayout *gridLayout3;
+ QPushButton *buttonHelp;
+ QPushButton *buttonApply;
+ QPushButton *buttonOk;
+ QPushButton *buttonCancel;
+ QSpacerItem *spacer_2;
void setupUi(QDialog *CreateCase)
{
- CreateCase->setObjectName(QString::fromUtf8("CreateCase"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(0), static_cast<QSizePolicy::Policy>(0));
- sizePolicy.setHorizontalStretch(0);
- sizePolicy.setVerticalStretch(0);
- sizePolicy.setHeightForWidth(CreateCase->sizePolicy().hasHeightForWidth());
- CreateCase->setSizePolicy(sizePolicy);
- CreateCase->setAutoFillBackground(true);
- gridLayout = new QGridLayout(CreateCase);
- gridLayout->setSpacing(6);
- gridLayout->setMargin(9);
- gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
- GBBoundaryA = new QGroupBox(CreateCase);
- GBBoundaryA->setObjectName(QString::fromUtf8("GBBoundaryA"));
- GBBoundaryA->setMinimumSize(QSize(548, 200));
- TWBoundary = new QTableWidget(GBBoundaryA);
- TWBoundary->setObjectName(QString::fromUtf8("TWBoundary"));
- TWBoundary->setGeometry(QRect(4, 20, 371, 161));
- TWBoundary->setEditTriggers(QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::NoEditTriggers|QAbstractItemView::SelectedClicked);
- TWBoundary->setShowGrid(true);
- TWBoundary->setRowCount(0);
- TWBoundary->setColumnCount(1);
- layoutWidget = new QWidget(GBBoundaryA);
- layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
- layoutWidget->setGeometry(QRect(430, 40, 77, 95));
- gridLayout1 = new QGridLayout(layoutWidget);
- gridLayout1->setSpacing(6);
- gridLayout1->setMargin(0);
- gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
- PBBoundaryAnEdit = new QPushButton(layoutWidget);
- PBBoundaryAnEdit->setObjectName(QString::fromUtf8("PBBoundaryAnEdit"));
- PBBoundaryAnEdit->setAutoDefault(false);
-
- gridLayout1->addWidget(PBBoundaryAnEdit, 1, 0, 1, 1);
-
- PBBoundaryAnNew = new QPushButton(layoutWidget);
- PBBoundaryAnNew->setObjectName(QString::fromUtf8("PBBoundaryAnNew"));
- PBBoundaryAnNew->setAutoDefault(false);
+ if (CreateCase->objectName().isEmpty())
+ CreateCase->setObjectName(QString::fromUtf8("CreateCase"));
+ CreateCase->resize(601, 1070);
+ QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ sizePolicy.setHorizontalStretch(0);
+ sizePolicy.setVerticalStretch(0);
+ sizePolicy.setHeightForWidth(CreateCase->sizePolicy().hasHeightForWidth());
+ CreateCase->setSizePolicy(sizePolicy);
+ CreateCase->setAutoFillBackground(true);
+ gridLayout_2 = new QGridLayout(CreateCase);
+ 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->setObjectName(QString::fromUtf8("Name"));
+
+ hboxLayout->addWidget(Name);
+
+ LECaseName = new QLineEdit(CreateCase);
+ LECaseName->setObjectName(QString::fromUtf8("LECaseName"));
+ LECaseName->setMinimumSize(QSize(382, 21));
+
+ hboxLayout->addWidget(LECaseName);
- gridLayout1->addWidget(PBBoundaryAnNew, 0, 0, 1, 1);
- PBBoundaryAnHelp = new QPushButton(layoutWidget);
- PBBoundaryAnHelp->setObjectName(QString::fromUtf8("PBBoundaryAnHelp"));
- PBBoundaryAnHelp->setAutoDefault(false);
+ gridLayout_2->addLayout(hboxLayout, 0, 0, 1, 4);
- gridLayout1->addWidget(PBBoundaryAnHelp, 2, 0, 1, 1);
+ hboxLayout1 = new QHBoxLayout();
+#ifndef Q_OS_MAC
+ hboxLayout1->setSpacing(6);
+#endif
+ hboxLayout1->setContentsMargins(0, 0, 0, 0);
+ hboxLayout1->setObjectName(QString::fromUtf8("hboxLayout1"));
+ Directory = new QLabel(CreateCase);
+ Directory->setObjectName(QString::fromUtf8("Directory"));
+ hboxLayout1->addWidget(Directory);
- gridLayout->addWidget(GBBoundaryA, 12, 0, 1, 2);
+ PushDir = new QPushButton(CreateCase);
+ PushDir->setObjectName(QString::fromUtf8("PushDir"));
+ PushDir->setAutoDefault(false);
- GBBoundaryD = new QGroupBox(CreateCase);
- GBBoundaryD->setObjectName(QString::fromUtf8("GBBoundaryD"));
- QSizePolicy sizePolicy1(static_cast<QSizePolicy::Policy>(0), static_cast<QSizePolicy::Policy>(0));
- sizePolicy1.setHorizontalStretch(0);
- sizePolicy1.setVerticalStretch(0);
- sizePolicy1.setHeightForWidth(GBBoundaryD->sizePolicy().hasHeightForWidth());
- GBBoundaryD->setSizePolicy(sizePolicy1);
- gridLayout2 = new QGridLayout(GBBoundaryD);
- gridLayout2->setSpacing(6);
- gridLayout2->setMargin(9);
- gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
- PBBoundaryDiEdit = new QPushButton(GBBoundaryD);
- PBBoundaryDiEdit->setObjectName(QString::fromUtf8("PBBoundaryDiEdit"));
- PBBoundaryDiEdit->setAutoDefault(false);
+ hboxLayout1->addWidget(PushDir);
- gridLayout2->addWidget(PBBoundaryDiEdit, 0, 3, 1, 1);
+ LEDirName = new QLineEdit(CreateCase);
+ LEDirName->setObjectName(QString::fromUtf8("LEDirName"));
+ LEDirName->setMinimumSize(QSize(382, 21));
- PBBoundaryDiNew = new QPushButton(GBBoundaryD);
- PBBoundaryDiNew->setObjectName(QString::fromUtf8("PBBoundaryDiNew"));
- PBBoundaryDiNew->setAutoDefault(false);
+ hboxLayout1->addWidget(LEDirName);
- gridLayout2->addWidget(PBBoundaryDiNew, 0, 2, 1, 1);
- CBBoundaryDi = new QComboBox(GBBoundaryD);
- CBBoundaryDi->setObjectName(QString::fromUtf8("CBBoundaryDi"));
- CBBoundaryDi->setSizeAdjustPolicy(QComboBox::AdjustToContents);
+ gridLayout_2->addLayout(hboxLayout1, 1, 0, 1, 4);
- gridLayout2->addWidget(CBBoundaryDi, 0, 0, 1, 1);
+ spacerItem = new QSpacerItem(20, 18, QSizePolicy::Minimum, QSizePolicy::Expanding);
- spacerItem = new QSpacerItem(40, 13, QSizePolicy::Fixed, QSizePolicy::Minimum);
+ gridLayout_2->addItem(spacerItem, 2, 1, 1, 1);
- gridLayout2->addItem(spacerItem, 0, 1, 1, 1);
+ hboxLayout2 = new QHBoxLayout();
+#ifndef Q_OS_MAC
+ hboxLayout2->setSpacing(6);
+#endif
+ hboxLayout2->setContentsMargins(0, 0, 0, 0);
+ hboxLayout2->setObjectName(QString::fromUtf8("hboxLayout2"));
+ Mesh_2 = new QLabel(CreateCase);
+ Mesh_2->setObjectName(QString::fromUtf8("Mesh_2"));
- PBBoundaryDiHelp = new QPushButton(GBBoundaryD);
- PBBoundaryDiHelp->setObjectName(QString::fromUtf8("PBBoundaryDiHelp"));
- PBBoundaryDiHelp->setAutoDefault(false);
+ hboxLayout2->addWidget(Mesh_2);
- gridLayout2->addWidget(PBBoundaryDiHelp, 0, 4, 1, 1);
+ PushFichier = new QPushButton(CreateCase);
+ PushFichier->setObjectName(QString::fromUtf8("PushFichier"));
+ PushFichier->setAutoDefault(false);
+ hboxLayout2->addWidget(PushFichier);
- gridLayout->addWidget(GBBoundaryD, 11, 0, 1, 1);
+ LEFileName = new QLineEdit(CreateCase);
+ LEFileName->setObjectName(QString::fromUtf8("LEFileName"));
+ LEFileName->setMinimumSize(QSize(382, 21));
- GroupButtons = new QGroupBox(CreateCase);
- GroupButtons->setObjectName(QString::fromUtf8("GroupButtons"));
- gridLayout3 = new QGridLayout(GroupButtons);
- gridLayout3->setSpacing(6);
- gridLayout3->setMargin(9);
- gridLayout3->setObjectName(QString::fromUtf8("gridLayout3"));
- buttonHelp = new QPushButton(GroupButtons);
- buttonHelp->setObjectName(QString::fromUtf8("buttonHelp"));
- buttonHelp->setAutoDefault(false);
+ hboxLayout2->addWidget(LEFileName);
- gridLayout3->addWidget(buttonHelp, 0, 3, 1, 1);
- buttonCancel = new QPushButton(GroupButtons);
- buttonCancel->setObjectName(QString::fromUtf8("buttonCancel"));
- buttonCancel->setAutoDefault(false);
+ gridLayout_2->addLayout(hboxLayout2, 3, 0, 1, 4);
- gridLayout3->addWidget(buttonCancel, 0, 2, 1, 1);
+ spacerItem1 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
- buttonApply = new QPushButton(GroupButtons);
- buttonApply->setObjectName(QString::fromUtf8("buttonApply"));
- buttonApply->setAutoDefault(false);
+ gridLayout_2->addItem(spacerItem1, 4, 1, 1, 3);
- gridLayout3->addWidget(buttonApply, 0, 1, 1, 1);
+ GBTypeConf = new QGroupBox(CreateCase);
+ GBTypeConf->setObjectName(QString::fromUtf8("GBTypeConf"));
+ hboxLayout3 = new QHBoxLayout(GBTypeConf);
+#ifndef Q_OS_MAC
+ hboxLayout3->setSpacing(6);
+#endif
+#ifndef Q_OS_MAC
+ hboxLayout3->setContentsMargins(9, 9, 9, 9);
+#endif
+ hboxLayout3->setObjectName(QString::fromUtf8("hboxLayout3"));
+ RBConforme = new QRadioButton(GBTypeConf);
+ RBConforme->setObjectName(QString::fromUtf8("RBConforme"));
+ RBConforme->setChecked(true);
- buttonOk = new QPushButton(GroupButtons);
- buttonOk->setObjectName(QString::fromUtf8("buttonOk"));
- buttonOk->setAutoDefault(false);
+ hboxLayout3->addWidget(RBConforme);
- gridLayout3->addWidget(buttonOk, 0, 0, 1, 1);
+ RBNonConforme = new QRadioButton(GBTypeConf);
+ RBNonConforme->setObjectName(QString::fromUtf8("RBNonConforme"));
+ hboxLayout3->addWidget(RBNonConforme);
- gridLayout->addWidget(GroupButtons, 13, 0, 1, 1);
- hboxLayout = new QHBoxLayout();
- hboxLayout->setSpacing(6);
- hboxLayout->setMargin(0);
- hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
- CBBoundaryD = new QCheckBox(CreateCase);
- CBBoundaryD->setObjectName(QString::fromUtf8("CBBoundaryD"));
+ gridLayout_2->addWidget(GBTypeConf, 5, 0, 1, 1);
- hboxLayout->addWidget(CBBoundaryD);
+ spacerItem2 = new QSpacerItem(20, 1, QSizePolicy::Minimum, QSizePolicy::Expanding);
- CBBoundaryA = new QCheckBox(CreateCase);
- CBBoundaryA->setObjectName(QString::fromUtf8("CBBoundaryA"));
+ gridLayout_2->addItem(spacerItem2, 6, 1, 1, 1);
- hboxLayout->addWidget(CBBoundaryA);
+ GBTypeNoConf = new QGroupBox(CreateCase);
+ GBTypeNoConf->setObjectName(QString::fromUtf8("GBTypeNoConf"));
+ hboxLayout4 = new QHBoxLayout(GBTypeNoConf);
+#ifndef Q_OS_MAC
+ hboxLayout4->setSpacing(6);
+#endif
+#ifndef Q_OS_MAC
+ hboxLayout4->setContentsMargins(9, 9, 9, 9);
+#endif
+ hboxLayout4->setObjectName(QString::fromUtf8("hboxLayout4"));
+ RB1NpM = new QRadioButton(GBTypeNoConf);
+ RB1NpM->setObjectName(QString::fromUtf8("RB1NpM"));
+ hboxLayout4->addWidget(RB1NpM);
- gridLayout->addLayout(hboxLayout, 9, 0, 1, 1);
+ RB1NpA = new QRadioButton(GBTypeNoConf);
+ RB1NpA->setObjectName(QString::fromUtf8("RB1NpA"));
- hboxLayout1 = new QHBoxLayout();
- hboxLayout1->setSpacing(6);
- hboxLayout1->setMargin(0);
- hboxLayout1->setObjectName(QString::fromUtf8("hboxLayout1"));
- Name = new QLabel(CreateCase);
- Name->setObjectName(QString::fromUtf8("Name"));
+ hboxLayout4->addWidget(RB1NpA);
- hboxLayout1->addWidget(Name);
+ RBQuelconque = new QRadioButton(GBTypeNoConf);
+ RBQuelconque->setObjectName(QString::fromUtf8("RBQuelconque"));
- LECaseName = new QLineEdit(CreateCase);
- LECaseName->setObjectName(QString::fromUtf8("LECaseName"));
- LECaseName->setMinimumSize(QSize(382, 21));
+ hboxLayout4->addWidget(RBQuelconque);
- hboxLayout1->addWidget(LECaseName);
+ gridLayout_2->addWidget(GBTypeNoConf, 7, 0, 1, 3);
- gridLayout->addLayout(hboxLayout1, 0, 0, 1, 2);
+ spacerItem3 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
- hboxLayout2 = new QHBoxLayout();
- hboxLayout2->setSpacing(6);
- hboxLayout2->setMargin(0);
- hboxLayout2->setObjectName(QString::fromUtf8("hboxLayout2"));
- Directory = new QLabel(CreateCase);
- Directory->setObjectName(QString::fromUtf8("Directory"));
+ gridLayout_2->addItem(spacerItem3, 8, 1, 1, 3);
- hboxLayout2->addWidget(Directory);
+ hboxLayout5 = new QHBoxLayout();
+#ifndef Q_OS_MAC
+ hboxLayout5->setSpacing(6);
+#endif
+ hboxLayout5->setContentsMargins(0, 0, 0, 0);
+ hboxLayout5->setObjectName(QString::fromUtf8("hboxLayout5"));
+ CBBoundaryD = new QCheckBox(CreateCase);
+ CBBoundaryD->setObjectName(QString::fromUtf8("CBBoundaryD"));
- PushDir = new QPushButton(CreateCase);
- PushDir->setObjectName(QString::fromUtf8("PushDir"));
- PushDir->setAutoDefault(false);
+ hboxLayout5->addWidget(CBBoundaryD);
- hboxLayout2->addWidget(PushDir);
+ CBBoundaryA = new QCheckBox(CreateCase);
+ CBBoundaryA->setObjectName(QString::fromUtf8("CBBoundaryA"));
- LEDirName = new QLineEdit(CreateCase);
- LEDirName->setObjectName(QString::fromUtf8("LEDirName"));
- LEDirName->setMinimumSize(QSize(382, 21));
+ hboxLayout5->addWidget(CBBoundaryA);
- hboxLayout2->addWidget(LEDirName);
+ gridLayout_2->addLayout(hboxLayout5, 9, 0, 1, 2);
- gridLayout->addLayout(hboxLayout2, 1, 0, 1, 1);
+ spacerItem4 = new QSpacerItem(20, 2, QSizePolicy::Minimum, QSizePolicy::Expanding);
- hboxLayout3 = new QHBoxLayout();
- hboxLayout3->setSpacing(6);
- hboxLayout3->setMargin(0);
- hboxLayout3->setObjectName(QString::fromUtf8("hboxLayout3"));
- Mesh_2 = new QLabel(CreateCase);
- Mesh_2->setObjectName(QString::fromUtf8("Mesh_2"));
+ gridLayout_2->addItem(spacerItem4, 10, 1, 1, 1);
- hboxLayout3->addWidget(Mesh_2);
+ GBBoundaryD = new QGroupBox(CreateCase);
+ GBBoundaryD->setObjectName(QString::fromUtf8("GBBoundaryD"));
+ sizePolicy.setHeightForWidth(GBBoundaryD->sizePolicy().hasHeightForWidth());
+ GBBoundaryD->setSizePolicy(sizePolicy);
+ gridLayout = new QGridLayout(GBBoundaryD);
+#ifndef Q_OS_MAC
+ gridLayout->setSpacing(6);
+#endif
+#ifndef Q_OS_MAC
+ gridLayout->setContentsMargins(9, 9, 9, 9);
+#endif
+ gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
+ PBBoundaryDiEdit = new QPushButton(GBBoundaryD);
+ PBBoundaryDiEdit->setObjectName(QString::fromUtf8("PBBoundaryDiEdit"));
+ PBBoundaryDiEdit->setAutoDefault(false);
- PushFichier = new QPushButton(CreateCase);
- PushFichier->setObjectName(QString::fromUtf8("PushFichier"));
- PushFichier->setAutoDefault(false);
+ gridLayout->addWidget(PBBoundaryDiEdit, 0, 3, 1, 1);
- hboxLayout3->addWidget(PushFichier);
+ PBBoundaryDiNew = new QPushButton(GBBoundaryD);
+ PBBoundaryDiNew->setObjectName(QString::fromUtf8("PBBoundaryDiNew"));
+ PBBoundaryDiNew->setAutoDefault(false);
- LEFileName = new QLineEdit(CreateCase);
- LEFileName->setObjectName(QString::fromUtf8("LEFileName"));
- LEFileName->setMinimumSize(QSize(382, 21));
+ gridLayout->addWidget(PBBoundaryDiNew, 0, 2, 1, 1);
- hboxLayout3->addWidget(LEFileName);
+ CBBoundaryDi = new QComboBox(GBBoundaryD);
+ CBBoundaryDi->setObjectName(QString::fromUtf8("CBBoundaryDi"));
+ CBBoundaryDi->setSizeAdjustPolicy(QComboBox::AdjustToContents);
+ gridLayout->addWidget(CBBoundaryDi, 0, 0, 1, 1);
- gridLayout->addLayout(hboxLayout3, 3, 0, 1, 2);
+ spacerItem5 = new QSpacerItem(40, 13, QSizePolicy::Fixed, QSizePolicy::Minimum);
- spacerItem1 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ gridLayout->addItem(spacerItem5, 0, 1, 1, 1);
- gridLayout->addItem(spacerItem1, 4, 0, 1, 1);
+ PBBoundaryDiHelp = new QPushButton(GBBoundaryD);
+ PBBoundaryDiHelp->setObjectName(QString::fromUtf8("PBBoundaryDiHelp"));
+ PBBoundaryDiHelp->setAutoDefault(false);
- GBTypeConf = new QGroupBox(CreateCase);
- GBTypeConf->setObjectName(QString::fromUtf8("GBTypeConf"));
- hboxLayout4 = new QHBoxLayout(GBTypeConf);
- hboxLayout4->setSpacing(6);
- hboxLayout4->setMargin(9);
- hboxLayout4->setObjectName(QString::fromUtf8("hboxLayout4"));
- RBConforme = new QRadioButton(GBTypeConf);
- RBConforme->setObjectName(QString::fromUtf8("RBConforme"));
- RBConforme->setChecked(true);
+ gridLayout->addWidget(PBBoundaryDiHelp, 0, 4, 1, 1);
- hboxLayout4->addWidget(RBConforme);
- RBNonConforme = new QRadioButton(GBTypeConf);
- RBNonConforme->setObjectName(QString::fromUtf8("RBNonConforme"));
+ gridLayout_2->addWidget(GBBoundaryD, 11, 0, 1, 3);
- hboxLayout4->addWidget(RBNonConforme);
+ GBBoundaryA = new QGroupBox(CreateCase);
+ GBBoundaryA->setObjectName(QString::fromUtf8("GBBoundaryA"));
+ GBBoundaryA->setMinimumSize(QSize(548, 200));
+ formLayout = new QFormLayout(GBBoundaryA);
+ formLayout->setObjectName(QString::fromUtf8("formLayout"));
+ TWBoundary = new QTableWidget(GBBoundaryA);
+ if (TWBoundary->columnCount() < 1)
+ TWBoundary->setColumnCount(1);
+ QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem();
+ TWBoundary->setHorizontalHeaderItem(0, __qtablewidgetitem);
+ TWBoundary->setObjectName(QString::fromUtf8("TWBoundary"));
+ TWBoundary->setEditTriggers(QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked);
+ TWBoundary->setShowGrid(true);
+ TWBoundary->setRowCount(0);
+ TWBoundary->setColumnCount(1);
+
+ formLayout->setWidget(0, QFormLayout::LabelRole, TWBoundary);
+
+ gridLayout1 = new QGridLayout();
+#ifndef Q_OS_MAC
+ gridLayout1->setSpacing(6);
+#endif
+ gridLayout1->setContentsMargins(0, 0, 0, 0);
+ gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
+ PBBoundaryAnEdit = new QPushButton(GBBoundaryA);
+ PBBoundaryAnEdit->setObjectName(QString::fromUtf8("PBBoundaryAnEdit"));
+ PBBoundaryAnEdit->setAutoDefault(false);
+
+ gridLayout1->addWidget(PBBoundaryAnEdit, 1, 0, 1, 1);
+
+ PBBoundaryAnNew = new QPushButton(GBBoundaryA);
+ PBBoundaryAnNew->setObjectName(QString::fromUtf8("PBBoundaryAnNew"));
+ PBBoundaryAnNew->setAutoDefault(false);
+
+ gridLayout1->addWidget(PBBoundaryAnNew, 0, 0, 1, 1);
+
+ PBBoundaryAnHelp = new QPushButton(GBBoundaryA);
+ PBBoundaryAnHelp->setObjectName(QString::fromUtf8("PBBoundaryAnHelp"));
+ PBBoundaryAnHelp->setAutoDefault(false);
+
+ gridLayout1->addWidget(PBBoundaryAnHelp, 2, 0, 1, 1);
+
+
+ formLayout->setLayout(0, QFormLayout::FieldRole, gridLayout1);
- gridLayout->addWidget(GBTypeConf, 5, 0, 1, 2);
+ gridLayout_2->addWidget(GBBoundaryA, 12, 0, 1, 4);
- spacerItem2 = new QSpacerItem(20, 1, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ spacer = new QSpacerItem(239, 41, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout->addItem(spacerItem2, 6, 0, 1, 1);
+ gridLayout_2->addItem(spacer, 13, 0, 1, 1);
- GBTypeNoConf = new QGroupBox(CreateCase);
- GBTypeNoConf->setObjectName(QString::fromUtf8("GBTypeNoConf"));
- hboxLayout5 = new QHBoxLayout(GBTypeNoConf);
- hboxLayout5->setSpacing(6);
- hboxLayout5->setMargin(9);
- hboxLayout5->setObjectName(QString::fromUtf8("hboxLayout5"));
- RB1NpM = new QRadioButton(GBTypeNoConf);
- RB1NpM->setObjectName(QString::fromUtf8("RB1NpM"));
+ CBAdvanced = new QCheckBox(CreateCase);
+ CBAdvanced->setObjectName(QString::fromUtf8("CBAdvanced"));
- hboxLayout5->addWidget(RB1NpM);
+ gridLayout_2->addWidget(CBAdvanced, 14, 0, 1, 1);
- RB1NpA = new QRadioButton(GBTypeNoConf);
- RB1NpA->setObjectName(QString::fromUtf8("RB1NpA"));
+ GBAdvancedOptions = new QGroupBox(CreateCase);
+ GBAdvancedOptions->setObjectName(QString::fromUtf8("GBAdvancedOptions"));
+ gridLayout2 = new QGridLayout(GBAdvancedOptions);
+ gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
+ CBPyramid = new QCheckBox(GBAdvancedOptions);
+ CBPyramid->setObjectName(QString::fromUtf8("CBPyramid"));
- hboxLayout5->addWidget(RB1NpA);
+ gridLayout2->addWidget(CBPyramid, 0, 0, 1, 1);
- RBQuelconque = new QRadioButton(GBTypeNoConf);
- RBQuelconque->setObjectName(QString::fromUtf8("RBQuelconque"));
- hboxLayout5->addWidget(RBQuelconque);
+ gridLayout_2->addWidget(GBAdvancedOptions, 15, 0, 1, 2);
+ spacer_3 = new QSpacerItem(128, 13, QSizePolicy::Fixed, QSizePolicy::Minimum);
- gridLayout->addWidget(GBTypeNoConf, 7, 0, 1, 2);
+ gridLayout_2->addItem(spacer_3, 15, 2, 1, 2);
- spacerItem3 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ spacer_4 = new QSpacerItem(239, 41, QSizePolicy::Minimum, QSizePolicy::Expanding);
- gridLayout->addItem(spacerItem3, 8, 0, 1, 1);
+ gridLayout_2->addItem(spacer_4, 16, 0, 1, 2);
- spacerItem4 = new QSpacerItem(20, 2, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ GroupButtons = new QGroupBox(CreateCase);
+ GroupButtons->setObjectName(QString::fromUtf8("GroupButtons"));
+ gridLayout3 = new QGridLayout(GroupButtons);
+#ifndef Q_OS_MAC
+ gridLayout3->setSpacing(6);
+#endif
+#ifndef Q_OS_MAC
+ gridLayout3->setContentsMargins(9, 9, 9, 9);
+#endif
+ gridLayout3->setObjectName(QString::fromUtf8("gridLayout3"));
+ buttonHelp = new QPushButton(GroupButtons);
+ buttonHelp->setObjectName(QString::fromUtf8("buttonHelp"));
+ buttonHelp->setAutoDefault(false);
- gridLayout->addItem(spacerItem4, 10, 0, 1, 1);
+ gridLayout3->addWidget(buttonHelp, 0, 4, 1, 1);
- spacerItem5 = new QSpacerItem(20, 18, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ buttonApply = new QPushButton(GroupButtons);
+ buttonApply->setObjectName(QString::fromUtf8("buttonApply"));
+ buttonApply->setAutoDefault(false);
- gridLayout->addItem(spacerItem5, 2, 1, 1, 1);
+ gridLayout3->addWidget(buttonApply, 0, 1, 1, 1);
+ buttonOk = new QPushButton(GroupButtons);
+ buttonOk->setObjectName(QString::fromUtf8("buttonOk"));
+ buttonOk->setAutoDefault(false);
- retranslateUi(CreateCase);
+ gridLayout3->addWidget(buttonOk, 0, 0, 1, 1);
- QSize size(601, 843);
- size = size.expandedTo(CreateCase->minimumSizeHint());
- CreateCase->resize(size);
+ buttonCancel = new QPushButton(GroupButtons);
+ buttonCancel->setObjectName(QString::fromUtf8("buttonCancel"));
+ buttonCancel->setAutoDefault(false);
+ gridLayout3->addWidget(buttonCancel, 0, 2, 1, 1);
- CBBoundaryDi->setCurrentIndex(-1);
+ gridLayout_2->addWidget(GroupButtons, 17, 0, 1, 3);
- QMetaObject::connectSlotsByName(CreateCase);
+ spacer_2 = new QSpacerItem(128, 25, QSizePolicy::Fixed, QSizePolicy::Minimum);
+
+ gridLayout_2->addItem(spacer_2, 17, 3, 1, 1);
+
+
+ retranslateUi(CreateCase);
+
+ CBBoundaryDi->setCurrentIndex(-1);
+
+
+ QMetaObject::connectSlotsByName(CreateCase);
} // setupUi
void retranslateUi(QDialog *CreateCase)
{
- CreateCase->setWindowTitle(QApplication::translate("CreateCase", "Create a case", 0, QApplication::UnicodeUTF8));
- GBBoundaryA->setTitle(QApplication::translate("CreateCase", "Analytical boundary", 0, QApplication::UnicodeUTF8));
- if (TWBoundary->columnCount() < 1)
- TWBoundary->setColumnCount(1);
-
- QTableWidgetItem *__colItem = new QTableWidgetItem();
- __colItem->setText(QApplication::translate("CreateCase", "a_virer", 0, QApplication::UnicodeUTF8));
- TWBoundary->setHorizontalHeaderItem(0, __colItem);
- PBBoundaryAnEdit->setText(QApplication::translate("CreateCase", "Edit", 0, QApplication::UnicodeUTF8));
- PBBoundaryAnNew->setText(QApplication::translate("CreateCase", "New", 0, QApplication::UnicodeUTF8));
- PBBoundaryAnHelp->setText(QApplication::translate("CreateCase", "Help", 0, QApplication::UnicodeUTF8));
- GBBoundaryD->setTitle(QApplication::translate("CreateCase", "Discrete boundary", 0, QApplication::UnicodeUTF8));
- PBBoundaryDiEdit->setText(QApplication::translate("CreateCase", "Edit", 0, QApplication::UnicodeUTF8));
- PBBoundaryDiNew->setText(QApplication::translate("CreateCase", "New", 0, QApplication::UnicodeUTF8));
- PBBoundaryDiHelp->setText(QApplication::translate("CreateCase", "Help", 0, QApplication::UnicodeUTF8));
- GroupButtons->setTitle(QString());
- buttonHelp->setText(QApplication::translate("CreateCase", "Help", 0, QApplication::UnicodeUTF8));
- buttonCancel->setText(QApplication::translate("CreateCase", "Cancel", 0, QApplication::UnicodeUTF8));
- buttonApply->setText(QApplication::translate("CreateCase", "Apply", 0, QApplication::UnicodeUTF8));
- buttonOk->setText(QApplication::translate("CreateCase", "OK", 0, QApplication::UnicodeUTF8));
- CBBoundaryD->setText(QApplication::translate("CreateCase", "Discrete boundary", 0, QApplication::UnicodeUTF8));
- CBBoundaryA->setText(QApplication::translate("CreateCase", "Analytical boundary", 0, QApplication::UnicodeUTF8));
- Name->setText(QApplication::translate("CreateCase", "Name", 0, QApplication::UnicodeUTF8));
- Directory->setText(QApplication::translate("CreateCase", "Directory", 0, QApplication::UnicodeUTF8));
- PushDir->setText(QString());
- Mesh_2->setText(QApplication::translate("CreateCase", "Mesh", 0, QApplication::UnicodeUTF8));
- PushFichier->setText(QString());
- GBTypeConf->setTitle(QApplication::translate("CreateCase", "Conformity type", 0, QApplication::UnicodeUTF8));
- RBConforme->setText(QApplication::translate("CreateCase", "Conformal", 0, QApplication::UnicodeUTF8));
- RBNonConforme->setText(QApplication::translate("CreateCase", "Non conformal", 0, QApplication::UnicodeUTF8));
- GBTypeNoConf->setTitle(QApplication::translate("CreateCase", "Non conformal option", 0, QApplication::UnicodeUTF8));
- RB1NpM->setText(QApplication::translate("CreateCase", "1 hanging node per mesh", 0, QApplication::UnicodeUTF8));
- RB1NpA->setText(QApplication::translate("CreateCase", "1 node per edge", 0, QApplication::UnicodeUTF8));
- RBQuelconque->setText(QApplication::translate("CreateCase", "Free", 0, QApplication::UnicodeUTF8));
- Q_UNUSED(CreateCase);
+ CreateCase->setWindowTitle(QApplication::translate("CreateCase", "Create a case", 0, QApplication::UnicodeUTF8));
+ Name->setText(QApplication::translate("CreateCase", "Name", 0, QApplication::UnicodeUTF8));
+ Directory->setText(QApplication::translate("CreateCase", "Directory", 0, QApplication::UnicodeUTF8));
+ PushDir->setText(QString());
+ Mesh_2->setText(QApplication::translate("CreateCase", "Mesh", 0, QApplication::UnicodeUTF8));
+ PushFichier->setText(QString());
+ GBTypeConf->setTitle(QApplication::translate("CreateCase", "Conformity type", 0, QApplication::UnicodeUTF8));
+ RBConforme->setText(QApplication::translate("CreateCase", "Conformal", 0, QApplication::UnicodeUTF8));
+ RBNonConforme->setText(QApplication::translate("CreateCase", "Non conformal", 0, QApplication::UnicodeUTF8));
+ GBTypeNoConf->setTitle(QApplication::translate("CreateCase", "Non conformal option", 0, QApplication::UnicodeUTF8));
+ RB1NpM->setText(QApplication::translate("CreateCase", "1 hanging node per mesh", 0, QApplication::UnicodeUTF8));
+ RB1NpA->setText(QApplication::translate("CreateCase", "1 node per edge", 0, QApplication::UnicodeUTF8));
+ RBQuelconque->setText(QApplication::translate("CreateCase", "Free", 0, QApplication::UnicodeUTF8));
+ CBBoundaryD->setText(QApplication::translate("CreateCase", "Discrete boundary", 0, QApplication::UnicodeUTF8));
+ CBBoundaryA->setText(QApplication::translate("CreateCase", "Analytical boundary", 0, QApplication::UnicodeUTF8));
+ GBBoundaryD->setTitle(QApplication::translate("CreateCase", "Discrete boundary", 0, QApplication::UnicodeUTF8));
+ PBBoundaryDiEdit->setText(QApplication::translate("CreateCase", "Edit", 0, QApplication::UnicodeUTF8));
+ PBBoundaryDiNew->setText(QApplication::translate("CreateCase", "New", 0, QApplication::UnicodeUTF8));
+ PBBoundaryDiHelp->setText(QApplication::translate("CreateCase", "Help", 0, QApplication::UnicodeUTF8));
+ GBBoundaryA->setTitle(QApplication::translate("CreateCase", "Analytical boundary", 0, QApplication::UnicodeUTF8));
+ QTableWidgetItem *___qtablewidgetitem = TWBoundary->horizontalHeaderItem(0);
+ ___qtablewidgetitem->setText(QApplication::translate("CreateCase", "a_virer", 0, QApplication::UnicodeUTF8));
+ PBBoundaryAnEdit->setText(QApplication::translate("CreateCase", "Edit", 0, QApplication::UnicodeUTF8));
+ PBBoundaryAnNew->setText(QApplication::translate("CreateCase", "New", 0, QApplication::UnicodeUTF8));
+ PBBoundaryAnHelp->setText(QApplication::translate("CreateCase", "Help", 0, QApplication::UnicodeUTF8));
+ CBAdvanced->setText(QApplication::translate("CreateCase", "Advanced options", 0, QApplication::UnicodeUTF8));
+ GBAdvancedOptions->setTitle(QApplication::translate("CreateCase", "Advanced options", 0, QApplication::UnicodeUTF8));
+ CBPyramid->setText(QApplication::translate("CreateCase", "Authorized pyramids", 0, QApplication::UnicodeUTF8));
+ GroupButtons->setTitle(QString());
+ buttonHelp->setText(QApplication::translate("CreateCase", "Help", 0, QApplication::UnicodeUTF8));
+ buttonApply->setText(QApplication::translate("CreateCase", "Apply", 0, QApplication::UnicodeUTF8));
+ buttonOk->setText(QApplication::translate("CreateCase", "OK", 0, QApplication::UnicodeUTF8));
+ buttonCancel->setText(QApplication::translate("CreateCase", "Cancel", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
class CreateCase: public Ui_CreateCase {};
} // namespace Ui
+QT_END_NAMESPACE
+
#endif // CREATECASE_H
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>CreateCase</class>
- <widget class="QDialog" name="CreateCase" >
- <property name="geometry" >
+ <widget class="QDialog" name="CreateCase">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>601</width>
- <height>843</height>
+ <height>1070</height>
</rect>
</property>
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Create a case</string>
</property>
- <property name="autoFillBackground" >
+ <property name="autoFillBackground">
<bool>true</bool>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="12" column="0" colspan="2" >
- <widget class="QGroupBox" name="GBBoundaryA" >
- <property name="minimumSize" >
- <size>
- <width>548</width>
- <height>200</height>
- </size>
- </property>
- <property name="title" >
- <string>Analytical boundary</string>
- </property>
- <widget class="QTableWidget" name="TWBoundary" >
- <property name="geometry" >
- <rect>
- <x>4</x>
- <y>20</y>
- <width>371</width>
- <height>161</height>
- </rect>
- </property>
- <property name="editTriggers" >
- <set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::NoEditTriggers|QAbstractItemView::SelectedClicked</set>
- </property>
- <property name="showGrid" >
- <bool>true</bool>
- </property>
- <property name="rowCount" >
- <number>0</number>
- </property>
- <property name="columnCount" >
- <number>1</number>
- </property>
- <column>
- <property name="text" >
- <string>a_virer</string>
- </property>
- </column>
- </widget>
- <widget class="QWidget" name="layoutWidget" >
- <property name="geometry" >
- <rect>
- <x>430</x>
- <y>40</y>
- <width>77</width>
- <height>95</height>
- </rect>
- </property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="1" column="0" >
- <widget class="QPushButton" name="PBBoundaryAnEdit" >
- <property name="text" >
- <string>Edit</string>
- </property>
- <property name="autoDefault" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="0" >
- <widget class="QPushButton" name="PBBoundaryAnNew" >
- <property name="text" >
- <string>New</string>
- </property>
- <property name="autoDefault" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="0" >
- <widget class="QPushButton" name="PBBoundaryAnHelp" >
- <property name="text" >
- <string>Help</string>
- </property>
- <property name="autoDefault" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item row="11" column="0" >
- <widget class="QGroupBox" name="GBBoundaryD" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title" >
- <string>Discrete boundary</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="PBBoundaryDiEdit" >
- <property name="text" >
- <string>Edit</string>
- </property>
- <property name="autoDefault" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QPushButton" name="PBBoundaryDiNew" >
- <property name="text" >
- <string>New</string>
- </property>
- <property name="autoDefault" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="0" >
- <widget class="QComboBox" name="CBBoundaryDi" >
- <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" >
- <size>
- <width>40</width>
- <height>13</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="4" >
- <widget class="QPushButton" name="PBBoundaryDiHelp" >
- <property name="text" >
- <string>Help</string>
- </property>
- <property name="autoDefault" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="13" 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="3" >
- <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="2" >
- <widget class="QPushButton" name="buttonCancel" >
- <property name="text" >
- <string>Cancel</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>
- </layout>
- </widget>
- </item>
- <item row="9" column="0" >
- <layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" colspan="4">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
<number>6</number>
</property>
- <item>
- <widget class="QCheckBox" name="CBBoundaryD" >
- <property name="text" >
- <string>Discrete boundary</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="CBBoundaryA" >
- <property name="text" >
- <string>Analytical boundary</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="0" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <property name="margin" >
+ <property name="margin">
<number>0</number>
</property>
- <property name="spacing" >
- <number>6</number>
- </property>
<item>
- <widget class="QLabel" name="Name" >
- <property name="text" >
+ <widget class="QLabel" name="Name">
+ <property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="LECaseName" >
- <property name="minimumSize" >
+ <widget class="QLineEdit" name="LECaseName">
+ <property name="minimumSize">
<size>
<width>382</width>
<height>21</height>
</item>
</layout>
</item>
- <item row="1" column="0" >
- <layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
+ <item row="1" column="0" colspan="4">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
<number>6</number>
</property>
+ <property name="margin">
+ <number>0</number>
+ </property>
<item>
- <widget class="QLabel" name="Directory" >
- <property name="text" >
+ <widget class="QLabel" name="Directory">
+ <property name="text">
<string>Directory</string>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="PushDir" >
- <property name="text" >
+ <widget class="QPushButton" name="PushDir">
+ <property name="text">
<string/>
</property>
- <property name="autoDefault" >
+ <property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="LEDirName" >
- <property name="minimumSize" >
+ <widget class="QLineEdit" name="LEDirName">
+ <property name="minimumSize">
<size>
<width>382</width>
<height>21</height>
</item>
</layout>
</item>
- <item row="3" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
+ <item row="2" column="1">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
</property>
- <property name="spacing" >
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>18</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
<number>6</number>
</property>
+ <property name="margin">
+ <number>0</number>
+ </property>
<item>
- <widget class="QLabel" name="Mesh_2" >
- <property name="text" >
+ <widget class="QLabel" name="Mesh_2">
+ <property name="text">
<string>Mesh</string>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="PushFichier" >
- <property name="text" >
+ <widget class="QPushButton" name="PushFichier">
+ <property name="text">
<string/>
</property>
- <property name="autoDefault" >
+ <property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="LEFileName" >
- <property name="minimumSize" >
+ <widget class="QLineEdit" name="LEFileName">
+ <property name="minimumSize">
<size>
<width>382</width>
<height>21</height>
</item>
</layout>
</item>
- <item row="4" column="0" >
+ <item row="4" column="1" colspan="3">
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</property>
</spacer>
</item>
- <item row="5" column="0" colspan="2" >
- <widget class="QGroupBox" name="GBTypeConf" >
- <property name="title" >
+ <item row="5" column="0">
+ <widget class="QGroupBox" name="GBTypeConf">
+ <property name="title">
<string>Conformity type</string>
</property>
- <layout class="QHBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
+ <layout class="QHBoxLayout">
+ <property name="spacing">
<number>6</number>
</property>
+ <property name="margin">
+ <number>9</number>
+ </property>
<item>
- <widget class="QRadioButton" name="RBConforme" >
- <property name="text" >
+ <widget class="QRadioButton" name="RBConforme">
+ <property name="text">
<string>Conformal</string>
</property>
- <property name="checked" >
+ <property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="RBNonConforme" >
- <property name="text" >
+ <widget class="QRadioButton" name="RBNonConforme">
+ <property name="text">
<string>Non conformal</string>
</property>
</widget>
</layout>
</widget>
</item>
- <item row="6" column="0" >
+ <item row="6" column="1">
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</property>
</spacer>
</item>
- <item row="7" column="0" colspan="2" >
- <widget class="QGroupBox" name="GBTypeNoConf" >
- <property name="title" >
+ <item row="7" column="0" colspan="3">
+ <widget class="QGroupBox" name="GBTypeNoConf">
+ <property name="title">
<string>Non conformal option</string>
</property>
- <layout class="QHBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
+ <layout class="QHBoxLayout">
+ <property name="spacing">
<number>6</number>
</property>
+ <property name="margin">
+ <number>9</number>
+ </property>
<item>
- <widget class="QRadioButton" name="RB1NpM" >
- <property name="text" >
+ <widget class="QRadioButton" name="RB1NpM">
+ <property name="text">
<string>1 hanging node per mesh</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="RB1NpA" >
- <property name="text" >
+ <widget class="QRadioButton" name="RB1NpA">
+ <property name="text">
<string>1 node per edge</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="RBQuelconque" >
- <property name="text" >
+ <widget class="QRadioButton" name="RBQuelconque">
+ <property name="text">
<string>Free</string>
</property>
</widget>
</layout>
</widget>
</item>
- <item row="8" column="0" >
+ <item row="8" column="1" colspan="3">
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</property>
</spacer>
</item>
- <item row="10" column="0" >
+ <item row="9" column="0" colspan="2">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="CBBoundaryD">
+ <property name="text">
+ <string>Discrete boundary</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="CBBoundaryA">
+ <property name="text">
+ <string>Analytical boundary</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="10" column="1">
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>2</height>
</property>
</spacer>
</item>
- <item row="2" column="1" >
- <spacer>
- <property name="orientation" >
+ <item row="11" column="0" colspan="3">
+ <widget class="QGroupBox" name="GBBoundaryD">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Discrete boundary</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="PBBoundaryDiEdit">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="PBBoundaryDiNew">
+ <property name="text">
+ <string>New</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QComboBox" name="CBBoundaryDi">
+ <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="4">
+ <widget class="QPushButton" name="PBBoundaryDiHelp">
+ <property name="text">
+ <string>Help</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="12" column="0" colspan="4">
+ <widget class="QGroupBox" name="GBBoundaryA">
+ <property name="minimumSize">
+ <size>
+ <width>548</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Analytical boundary</string>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QTableWidget" name="TWBoundary">
+ <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>1</number>
+ </property>
+ <column>
+ <property name="text">
+ <string>a_virer</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <layout class="QGridLayout">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="1" column="0">
+ <widget class="QPushButton" name="PBBoundaryAnEdit">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QPushButton" name="PBBoundaryAnNew">
+ <property name="text">
+ <string>New</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QPushButton" name="PBBoundaryAnHelp">
+ <property name="text">
+ <string>Help</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="13" column="0">
+ <spacer name="spacer">
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0">
<size>
- <width>20</width>
- <height>18</height>
+ <width>239</width>
+ <height>41</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="14" column="0">
+ <widget class="QCheckBox" name="CBAdvanced">
+ <property name="text">
+ <string>Advanced options</string>
+ </property>
+ </widget>
+ </item>
+ <item row="15" column="0" colspan="2">
+ <widget class="QGroupBox" name="GBAdvancedOptions">
+ <property name="title">
+ <string>Advanced options</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="CBPyramid">
+ <property name="text">
+ <string>Authorized pyramids</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="15" column="2" colspan="2">
+ <spacer name="spacer_3">
+ <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>13</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="16" column="0" colspan="2">
+ <spacer name="spacer_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>239</width>
+ <height>41</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="17" column="0" colspan="3">
+ <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="17" column="3">
+ <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>
<source>Advanced options</source>
<translation>Options avancées</translation>
</message>
+ <message>
+ <source>Authorized pyramids</source>
+ <translation>Pyramides autorisées</translation>
+ </message>
<message>
<source>Minimal diameter</source>
<translation>Diamètre minimal</translation>
*/
:
Ui_CreateCase(),
- _aCaseName(""),_aDirName(""), _ConfType(1)
- {
+ _aCaseName(""),_aDirName(""),
+ _ConfType(1),
+ _Pyram(0)
+{
_myHomardGen=HOMARD::HOMARD_Gen::_duplicate(myHomardGen);
setupUi(this);
setModal(modal);
GBBoundaryD->setVisible(0);
GBTypeNoConf->setVisible(0);
adjustSize();
- }
+ GBAdvancedOptions->setVisible(0);
+ CBPyramid->setChecked(false);
+}
// ------------------------------------------------------------------------
MonCreateCase::~MonCreateCase()
connect( PBBoundaryAnEdit, SIGNAL(pressed()), this, SLOT(PushBoundaryAnEdit()) );
connect( PBBoundaryAnHelp, SIGNAL(pressed()), this, SLOT(PushBoundaryAnHelp()) );
+ connect( CBAdvanced, SIGNAL(stateChanged(int)), this, SLOT(SetAdvanced()));
+
connect( buttonOk, SIGNAL(pressed()), this, SLOT(PushOnOK()));
connect( buttonApply, SIGNAL(pressed()), this, SLOT(PushOnApply()));
connect( buttonCancel, SIGNAL(pressed()), this, SLOT(close()));
}
}
+// Options avancees
+ if (CBAdvanced->isChecked())
+ {
+// Autorisation des pyramides
+ if (CBPyramid->isChecked()) { _Pyram = 1 ; }
+ }
+
HOMARD_UTILS::updateObjBrowser();
return true;
}
PushFichier->show();
}
}
+// ------------------------------------------------------------------------
+void MonCreateCase::SetAdvanced()
+// ------------------------------------------------------------------------
+{
+ MESSAGE("Debut de SetAdvanced ");
+ if (CBAdvanced->isChecked()) { GBAdvancedOptions->setVisible(1); }
+ else
+ { GBAdvancedOptions->setVisible(0);
+ CBPyramid->setChecked(false);
+ _Pyram = 0 ;
+ }
+ adjustSize();
+}
int _ConfType;
+ int _Pyram;
+
HOMARD::HOMARD_Cas_var aCase ;
HOMARD::HOMARD_Gen_var _myHomardGen;
virtual void PushBoundaryAnEdit();
virtual void PushBoundaryAnHelp();
+ virtual void SetAdvanced();
+
virtual void PushOnOK();
virtual bool PushOnApply();
virtual void PushOnHelp();
void MonEditCase::InitValEdit()
// ------------------------------
{
- MESSAGE("Debut de MonEditCase::InitValEdit");
+ MESSAGE("InitValEdit");
LECaseName->setText(_aCaseName);
LECaseName->setReadOnly(true);
PBBoundaryDiNew->setVisible(0);
PBBoundaryDiHelp->setVisible(0); }
}
+//
+// Les options avancees (non modifiables)
+ CBAdvanced->setVisible(0) ;
+ CBAdvanced->setEnabled(false) ;
+ int Pyram = aCase->GetPyram();
+ MESSAGE("Pyram "<<Pyram);
+ if ( Pyram > 0 )
+ { GBAdvancedOptions->setVisible(1);
+ CBPyramid->setChecked(true);
+ CBPyramid->setEnabled(false);
+ }
+ else
+ { GBAdvancedOptions->setVisible(0);
+ CBPyramid->setChecked(false);
+ }
//
adjustSize();
}
// -------------------------------------
{
return true ;
-
};
CBAdvanced->setVisible(0) ;
int NivMax = _aHypothesis->GetNivMax();
double DiamMin = _aHypothesis->GetDiamMin();
- if ( NivMax > 0 )
+ if ( NivMax > 0 or DiamMin > 0 )
{ GBAdvancedOptions->setVisible(1);
- spinBoxNivMax->setValue(NivMax);
- spinBoxNivMax->setDisabled(true);
- doubleSpinBoxDiamMin->setValue(DiamMin);
- doubleSpinBoxDiamMin->setDisabled(true);
+ if ( NivMax > 0 )
+ { spinBoxNivMax->setValue(NivMax);
+ spinBoxNivMax->setDisabled(true); }
+ else
+ { TLMaximalLevel->setVisible(0);
+ spinBoxNivMax->setVisible(0); }
+ if ( DiamMin > 0 )
+ { doubleSpinBoxDiamMin->setValue(DiamMin);
+ doubleSpinBoxDiamMin->setDisabled(true); }
+ else
+ { TLMinimalDiameter->setVisible(0);
+ doubleSpinBoxDiamMin->setVisible(0); }
}
else
{ GBAdvancedOptions->setVisible(0); }
//=============================================================================
void HOMARD_Cas_i::AddBoundaryGroup( const char* Boundary, const char* Group)
{
- MESSAGE ("Dans AddBoundaryGroup");
+ MESSAGE ("AddBoundaryGroup");
ASSERT( myHomardCas );
myHomardCas->AddBoundaryGroup( Boundary, Group );
}
//=============================================================================
HOMARD::ListBoundaryGroupType* HOMARD_Cas_i::GetBoundaryGroup()
{
- MESSAGE ("Dans GetBoundaryGroup");
+ MESSAGE ("GetBoundaryGroup");
ASSERT(myHomardCas );
const std::list<std::string>& ListString = myHomardCas->GetBoundaryGroup();
HOMARD::ListBoundaryGroupType_var aResult = new HOMARD::ListBoundaryGroupType();
return aResult._retn();
}
+//=============================================================================
+void HOMARD_Cas_i::SetPyram( CORBA::Long Pyram )
+{
+ MESSAGE ("SetPyram, Pyram = " << Pyram );
+ ASSERT( myHomardCas );
+ myHomardCas->SetPyram( Pyram );
+}
+//=============================================================================
+CORBA::Long HOMARD_Cas_i::GetPyram()
+{
+ MESSAGE ("GetPyram");
+ ASSERT( myHomardCas );
+ return myHomardCas->GetPyram();
+}
//=============================================================================
std::string HOMARD_Cas_i::Dump() const
{
HOMARD::ListBoundaryGroupType* GetBoundaryGroup();
void AddBoundaryGroup( const char* Boundary, const char* Group);
+ void SetPyram( CORBA::Long Pyram );
+ CORBA::Long GetPyram();
+
std::string Dump() const;
bool Restore( const std::string& stream );
//
PublishResultInSmesh(MeshFile, 0);
+// Valeurs par defaut des filtrages
+ myCase->SetPyram(0);
+
return HOMARD::HOMARD_Cas::_duplicate(myCase);
}
throw SALOME::SALOME_Exception(es);
return 0;
};
+
return HOMARD::HOMARD_Cas::_duplicate(myCase);
}
//=============================================================================
-CORBA::Boolean HOMARD_Gen_i::Compute(const char* nomIteration, CORBA::Long etatMenage)
+CORBA::Long HOMARD_Gen_i::Compute(const char* nomIteration, CORBA::Long etatMenage)
{
MESSAGE ( "Compute : calcul de " << nomIteration );
IsValidStudy () ;
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 0;
+ return 1;
};
// on verifie qu il y a une hypothese (erreur improbable);
es.type = SALOME::BAD_PARAM;
es.text= "This iteration does not have any associated hypothesis.";
throw SALOME::SALOME_Exception(es);
- return 0;
+ return 2;
}
HOMARD::HOMARD_Hypothesis_var myHypo = myContextMap[GetCurrentStudyID()]._mesHypotheses[nomHypo];
ASSERT(!CORBA::is_nil(myHypo));
throw SALOME::SALOME_Exception(es);
return 0;
*/
- Compute(nomIterationParent, etatMenage);
+ int codret = Compute(nomIterationParent, etatMenage);
+ if (codret != 0)
+ {
+ // GERALD -- QMESSAGE BOX
+ ASSERT("Pb au calcul de l'iteration precedente" == 0);
+ }
};
const char* nomCas = myIteration->GetCaseName();
std::string text = "Directory : " + DirCompute.str() + "is not empty";
es.text = CORBA::string_dup(text.c_str());
throw SALOME::SALOME_Exception(es);
- return false;
+ return 3;
}
}
}
std::string text = "MeshFile : " + std::string(MeshFile) + " already exists ";
es.text = CORBA::string_dup(text.c_str());
throw SALOME::SALOME_Exception(es);
- return false;
+ return 4;
}
else
{
std::string text = "PB with meshfile destruction ";
es.text = CORBA::string_dup(text.c_str());
throw SALOME::SALOME_Exception(es);
- return false;
+ return 5;
}
}
}
}
}
// E.7. Ajout des options avancees
+ int Pyram = myCase->GetPyram();
+ MESSAGE ( ". Pyram = " << Pyram );
int NivMax = myHypo->GetNivMax();
MESSAGE ( ". NivMax = " << NivMax );
- if ( NivMax > 0 )
- {
- double DiamMin = myHypo->GetDiamMin();
- MESSAGE ( ". DiamMin = " << DiamMin );
- myDriver->TexteAdvanced(NivMax, DiamMin);
- }
+ double DiamMin = myHypo->GetDiamMin() ;
+ MESSAGE ( ". DiamMin = " << DiamMin );
+ myDriver->TexteAdvanced(Pyram, NivMax, DiamMin);
// F. Ecriture du texte dans le fichier
if (codret == 0)
// G. Execution
//
- int codretexec = 1 ;
+ int codretexec = 12 ;
if (codret == 0)
{
codretexec = myDriver->ExecuteHomard();
//
+ MESSAGE ( "Erreur en executant HOMARD : " << codretexec );
if (codretexec == 0)
{
SetEtatIter(nomIteration,true);
delete myDriver;
}
//
- if (codret == 0) { return true; }
- else { return false; }
+ return codretexec ;
}
//===========================================================================
char* GetCaseName(const char* nomIteration);
- CORBA::Boolean Compute(const char* nomIteration, CORBA::Long etatMenage);
+ CORBA::Long Compute(const char* nomIteration, CORBA::Long etatMenage);
CORBA::Boolean VerifieDir(const char* nomDir);
void PublishResultInSmesh(const char* NomFich, CORBA::Long IconeType);
}
//=============================================================================
-CORBA::Boolean HOMARD_Iteration_i::Compute(CORBA::Long etatMenage)
+CORBA::Long HOMARD_Iteration_i::Compute(CORBA::Long etatMenage)
{
MESSAGE ( "Compute : calcul d'une iteration" );
ASSERT( myHomardIteration );
void SetHypoName( const char* NomHypo );
char* GetHypoName();
- CORBA::Boolean Compute(CORBA::Long etatMenage);
+ CORBA::Long Compute(CORBA::Long etatMenage);
std::string Dump() const;
bool Restore( const std::string& stream );