Salome HOME
5013783dadee40f01639bd4f218322b9b96aa80f
[modules/homard.git] / src / HOMARD / HOMARD_Iteration.hxx
1 //  HOMARD HOMARD : implementation of HOMARD idl descriptions
2 //
3 // Copyright (C) 2011-2013  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.
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_Iteration.hxx
22 //  Author : Paul RASCLE, 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_ITER_HXX_
35 #define _HOMARD_ITER_HXX_
36
37 #include <string>
38 #include <list>
39
40 class  HOMARD_Iteration
41 {
42 public:
43   HOMARD_Iteration();
44   ~HOMARD_Iteration();
45
46 // Generalites
47   void                          SetName( const char* Name );
48   std::string                   GetName() const;
49
50   std::string                   GetDumpPython() const;
51
52 // Caracteristiques
53   void                          SetDirNameLoc( const char* NomDir );
54   std::string                   GetDirNameLoc() const;
55
56   void                          SetNumber( int NumIter );
57   int                           GetNumber() const;
58
59   void                          SetState( int etat );
60   int                           GetState() const;
61
62   void                          SetMeshName( const char* NomMesh );
63   std::string                   GetMeshName() const;
64
65   void                          SetMeshFile( const char* MeshFile );
66   std::string                   GetMeshFile() const;
67
68   void                          SetFieldFile( const char* FieldFile );
69   std::string                   GetFieldFile() const;
70   void                          SetTimeStepRank( int TimeStep, int Rank );
71   void                          SetTimeStepRankLast();
72   int                           GetTimeStep() const;
73   int                           GetRank() const;
74
75   void                          SetLogFile( const char* LogFile );
76   std::string                   GetLogFile() const;
77
78   void                          SetFileInfo( const char* FileInfo );
79   std::string                   GetFileInfo() const;
80
81 // Liens avec les autres iterations
82   void                          LinkNextIteration( const char* NomIteration );
83   void                          UnLinkNextIteration( const char* NomIteration );
84   void                          UnLinkNextIterations();
85   const std::list<std::string>& GetIterations() const;
86
87   void                          SetIterParentName( const char* iterParent );
88   std::string                   GetIterParentName() const;
89
90 // Liens avec les autres structures
91   void                          SetCaseName( const char* NomCas );
92   std::string                   GetCaseName() const;
93
94   void                          SetHypoName( const char* NomHypo );
95   std::string                   GetHypoName() const;
96
97 // Divers
98   void                          SetInfoCompute( int MessInfo );
99   int                           GetInfoCompute() const;
100
101 private:
102   std::string                   _Name;
103   int                           _Etat;
104   int                           _NumIter;
105   std::string                   _NomMesh;
106   std::string                   _MeshFile;
107   std::string                   _FieldFile;
108   int                           _TimeStep;
109   int                           _Rank;
110   std::string                   _LogFile;
111   std::string                   _IterParent;
112   std::string                   _NomHypo;
113   std::string                   _NomCas;
114   std::string                   _NomDir;
115   std::list<std::string>        _mesIterFilles;
116   std::string                   _FileInfo;
117   int                           _MessInfo;
118 };
119
120 #endif