Salome HOME
c2814faad55a0dafb0e28ef7b0193195e1a334a4
[modules/homard.git] / src / HOMARD / HOMARD_YACS.hxx
1 //  HOMARD HOMARD : implementation of HOMARD idl descriptions
2 //
3 // Copyright (C) 2011-2021  CEA/DEN, EDF R&D
4 //
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License, or (at your option) any later version.
9 //
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 // Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this library; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18 //
19 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 //
21 //  File   : HOMARD_YACS.hxx
22 //  Author : Gerald NICOLAS, EDF
23 //  Module : HOMARD
24 //
25 // Remarques :
26 // L'ordre de description des fonctions est le meme dans tous les fichiers
27 // HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
28 // 1. Les generalites : Name, Delete, DumpPython, Dump, Restore
29 // 2. Les caracteristiques
30 // 3. Le lien avec les autres structures
31 //
32 // Quand les 2 fonctions Setxxx et Getxxx sont presentes, Setxxx est decrit en premier
33
34 #ifndef _HOMARD_YACS_HXX_
35 #define _HOMARD_YACS_HXX_
36
37 #include "HOMARD.hxx"
38
39 #include <string>
40 #include <list>
41
42 class HOMARDIMPL_EXPORT HOMARD_YACS
43 {
44 public:
45   HOMARD_YACS();
46   ~HOMARD_YACS();
47
48 // Generalites
49   void                          SetName( const char* Name );
50   std::string                   GetName() const;
51
52   std::string                   GetDumpPython() const;
53
54 // Caracteristiques
55   void                          SetType( int Type );
56   int                           GetType() const;
57
58   void                          SetMaxIter( int MaxIter );
59   int                           GetMaxIter() const;
60   void                          SetMaxNode( int MaxNode );
61   int                           GetMaxNode() const;
62   void                          SetMaxElem( int MaxElem );
63   int                           GetMaxElem() const;
64
65   void                          SetTestConvergence( int TypeTest, double VRef );
66   int                           GetTestConvergenceType() const;
67   double                        GetTestConvergenceVRef() const;
68
69   void                          SetDirName( const char* NomDir );
70   std::string                   GetDirName() const;
71
72   void                          SetMeshFile( const char* MeshFile );
73   std::string                   GetMeshFile() const;
74
75   void                          SetScriptFile( const char* ScriptFile );
76   std::string                   GetScriptFile() const;
77
78   void                          SetXMLFile( const char* XMLFile );
79   std::string                   GetXMLFile() const;
80
81 // Liens avec les autres structures
82   void                          SetCaseName( const char* NomCas );
83   std::string                   GetCaseName() const;
84
85
86 // Divers
87
88 private:
89   std::string                   _Name;
90   std::string                   _NomCas;
91   std::string                   _NomDir;
92   std::string                   _MeshFile;
93   std::string                   _ScriptFile;
94   int                           _Type;
95   int                           _MaxIter;
96   int                           _MaxNode;
97   int                           _MaxElem;
98   int                           _TypeTest;
99   double                        _VRef;
100   std::string                   _XMLFile;
101 };
102
103 #endif