Salome HOME
integration of modifications from Gerald Nicolas
[modules/homard.git] / src / HOMARD / HOMARD_Iteration.hxx
1 //  HOMARD HOMARD : implementaion of HOMARD idl descriptions
2 //
3 // Copyright (C) 2011-2012  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                          SetDirName( const char* NomDir );
54   std::string                   GetDirName() const;
55
56   void                          SetNumber( int NumIter );
57   int                           GetNumber() const;
58
59   void                          SetEtat( bool etat );
60   bool                          GetEtat() 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   int                           GetTimeStep() const;
72   int                           GetRank() const;
73
74   void                          SetMessFile( const char* MessFile );
75   std::string                   GetMessFile() const;
76
77 // Liens avec les autres iterations
78   void                          LinkNextIteration( const char* NomIteration );
79   void                          UnLinkNextIteration( const char* NomIteration );
80   void                          UnLinkNextIterations();
81   const std::list<std::string>& GetIterations() const;
82
83   void                          SetIterParentName( const char* iterParent );
84   std::string                   GetIterParentName() const;
85
86 // Liens avec les autres structures
87   void                          SetCaseName( const char* NomCas );
88   std::string                   GetCaseName() const;
89
90   void                          SetHypoName( const char* NomHypo );
91   std::string                   GetHypoName() const;
92
93 private:
94   std::string                   _Name;
95   bool                          _Etat;
96   int                           _NumIter;
97   std::string                   _NomMesh;
98   std::string                   _MeshFile;
99   std::string                   _FieldFile;
100   int                           _TimeStep;
101   int                           _Rank;
102   std::string                   _MessFile;
103   std::string                   _IterParent;
104   std::string                   _NomHypo;
105   std::string                   _NomCas;
106   std::string                   _NomDir;
107   std::list<std::string>        _mesIterFilles;
108 };
109
110 #endif