Salome HOME
Merge from V6_main 13/12/2012
[modules/homard.git] / src / HOMARD / HOMARD_Hypothesis.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_Hypothesis.hxx
22 //  Author : Paul RASCLE, EDF
23 //  Module : HOMARD
24
25 #ifndef _HOMARD_HYPOTHESIS_HXX_
26 #define _HOMARD_HYPOTHESIS_HXX_
27
28 #include <string>
29 #include <list>
30
31 class HOMARD_Hypothesis
32 {
33 public:
34   HOMARD_Hypothesis();
35   ~HOMARD_Hypothesis();
36
37   void                          SetName( const char* NomHypo );
38   std::string                   GetName() const;
39   void                          SetCaseCreation( const char* NomCasCreation );
40   std::string                   GetCaseCreation() const;
41   std::string                   GetDumpPython() const;
42
43   void                          SetAdapType( int TypeAdap );
44   int                           GetAdapType() const;
45
46   void                          SetRefinTypeDera( int TypeRaff, int TypeDera );
47   int                           GetRefinType() const;
48   int                           GetUnRefType() const;
49
50   void                          SetField( const char* FieldName );
51   void                          SetRefinThr( int TypeThR, double ThreshR );
52   void                          SetUnRefThr( int TypeThC, double ThreshC );
53   void                          SetUseComp( int UsCmpI );
54   void                          SetUseField( int UsField );
55   std::string                   GetFieldName() const;
56   int                           GetRefinThrType()   const;
57   double                        GetThreshR()   const;
58   int                           GetUnRefThrType()   const;
59   double                        GetThreshC()   const;
60   int                           GetUseField()    const;
61   int                           GetUseCompI()    const;
62
63   void                          AddComp( const char* NomComposant );
64   void                          SupprComp();
65   const std::list<std::string>& GetListComp() const;
66
67   void                          AddIteration( const char* NomIter );
68   void                          SupprIterations();
69   const std::list<std::string>& GetIterations() const;
70
71   void                          AddZone( const char* NomZone, int TypeUse );
72   void                          SupprZone( const char* NomZone );
73   void                          SupprZones();
74   const std::list<std::string>& GetZones() const;
75
76   void                          AddGroup( const char* LeGroupe);
77   void                          SetGroups(const std::list<std::string>& ListGroup );
78   const std::list<std::string>& GetGroups() const;
79
80   void                          SetTypeFieldInterp( int TypeFieldInterp );
81   int                           GetTypeFieldInterp() const;
82   void                          AddFieldInterp( const char* FieldInterp );
83   void                          SupprFieldInterp();
84   const std::list<std::string>& GetListFieldInterp() const;
85
86   void                          SetNivMax( int NivMax );
87   const int                     GetNivMax() const;
88   void                          SetDiamMin( double DiamMin );
89   const double                  GetDiamMin() const;
90   void                          SetAdapInit( int AdapInit );
91   const int                     GetAdapInit() const;
92   void                          SetLevelOutput( int LevelOutput );
93   const int                     GetLevelOutput() const;
94
95
96 private:
97   std::string                   _NomHypo;
98   std::string                   _NomCasCreation;
99
100   int                           _TypeAdap; // -1 pour une adapation Uniforme,
101                                            //  0 si l adaptation depend des zones,
102                                            //  1 pour des champs
103
104   int                           _TypeRaff;
105   int                           _TypeDera;
106
107   std::string                   _Field;
108   int                           _TypeThR;
109   int                           _TypeThC;
110   double                        _ThreshR;
111   double                        _ThreshC;
112   int                           _UsField;
113   int                           _UsCmpI;
114   int                           _TypeFieldInterp; // 0 pour aucune interpolation,
115                                                   // 1 pour interpolation de tous les champs,
116                                                   // 2 pour une liste
117   int                           _NivMax;
118   double                        _DiamMin;
119   int                           _AdapInit;
120   int                           _LevelOutput;
121
122   std::list<std::string>        _ListIter;
123   std::list<std::string>        _ListZone;
124   std::list<std::string>        _ListComposant;
125   std::list<std::string>        _ListGroupSelected;
126   std::list<std::string>        _ListFieldInterp;
127 };
128
129 #endif