Salome HOME
Merge from V6_3_BR 06/06/2011
[modules/homard.git] / src / HOMARD / HOMARD_Hypothesis.hxx
1 //  HOMARD HOMARD : implementaion of HOMARD idl descriptions
2 //
3 // Copyright (C) 2011  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                           GetUseCompI()    const;
61
62   void                          AddComp( const char* NomComposant );
63   void                          SupprComp();
64   const std::list<std::string>& GetListComp() const;
65
66   void                          AddIteration( const char* NomIter );
67   void                          SupprIterations();
68   const std::list<std::string>& GetIterations() const;
69
70   void                          AddZone( const char* NomZone );
71   void                          SupprZone( const char* NomZone );
72   void                          SupprZones();
73   const std::list<std::string>& GetZones() const;
74
75   void                          AddGroup( const char* LeGroupe);
76   void                          SetGroups(const std::list<std::string>& ListGroup );
77   const std::list<std::string>& GetGroups() const;
78
79   void                          SetTypeFieldInterp( int TypeFieldInterp );
80   int                           GetTypeFieldInterp() const;
81   void                          AddFieldInterp( const char* FieldInterp );
82   void                          SupprFieldInterp();
83   const std::list<std::string>& GetListFieldInterp() const;
84
85
86
87
88 private:
89   std::string                   _NomHypo;
90   std::string                   _NomCasCreation;
91
92   int                           _TypeAdap; // -1 pour une adapation Uniforme, 
93                                            //  0 si l adaptation depend des zones, 
94                                            //  1 pour des champs
95
96   int                           _TypeRaff;
97   int                           _TypeDera;
98
99   std::string                   _Field;
100   int                           _TypeThR;
101   int                           _TypeThC;
102   double                        _ThreshR;
103   double                        _ThreshC;
104   int                           _UsCmpI;
105   int                           _TypeFieldInterp; // 0 pour aucune interpolation, 
106                                                   // 1 pour interpolation de tous les champs, 
107                                                   // 2 pour une liste
108
109   std::list<std::string>        _ListIter;
110   std::list<std::string>        _ListZone;
111   std::list<std::string>        _ListComposant;
112   std::list<std::string>        _ListGroupSelected;
113   std::list<std::string>        _ListFieldInterp;
114 };
115
116 #endif