Salome HOME
version 5_1_4 HOMARD_SRC
[modules/homard.git] / src / HOMARD / HOMARD_Hypothesis.hxx
1 //  HOMARD HOMARD : implementaion of HOMARD idl descriptions
2 //
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 //  This library is free software; you can redistribute it and/or
7 //  modify it under the terms of the GNU Lesser General Public
8 //  License as published by the Free Software Foundation; either
9 //  version 2.1 of the License.
10 //
11 //  This library is distributed in the hope that it will be useful,
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 //  Lesser General Public License for more details.
15 //
16 //  You should have received a copy of the GNU Lesser General Public
17 //  License along with this library; if not, write to the Free Software
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
21 //
22 //
23 //
24 //  File   : HOMARD_Hypothesis.hxx
25 //  Author : Paul RASCLE, EDF
26 //  Module : HOMARD
27
28 #ifndef _HOMARD_HYPOTHESIS_HXX_
29 #define _HOMARD_HYPOTHESIS_HXX_
30
31 #include <string>
32 #include <list>
33
34 class HOMARD_Hypothesis
35 {
36 public:
37   HOMARD_Hypothesis();
38   ~HOMARD_Hypothesis();
39
40   void                          SetName( const char* NomHypo );
41   std::string                   GetName() const;
42   void                          SetCaseCreation( const char* NomCasCreation );
43   std::string                   GetCaseCreation() const;
44   std::string                   GetDumpPython() const;
45
46   void                          SetAdapType( int TypeAdap );
47   int                           GetAdapType() const;
48
49   void                          SetRefinTypeDera( int TypeRaff, int TypeDera );
50   int                           GetRefinType() const;
51   int                           GetUnRefType() const;
52
53   void                          SetField( const char* FieldName );
54   void                          SetRefinThr( int TypeThR, double ThreshR );
55   void                          SetUnRefThr( int TypeThC, double ThreshC );
56   void                          SetUseComp( int UsCmpI );
57   void                          SetUseField( int UsField );
58   std::string                   GetFieldName() const;
59   int                           GetRefinThrType()   const;
60   double                        GetThreshR()   const;
61   int                           GetUnRefThrType()   const;
62   double                        GetThreshC()   const;
63   int                           GetUseCompI()    const;
64
65   void                          AddComp( const char* NomComposant );
66   void                          SupprComp();
67   const std::list<std::string>& GetListComp() const;
68
69   void                          AddIteration( const char* NomIter );
70   void                          SupprIterations();
71   const std::list<std::string>& GetIterations() const;
72
73   void                          AddZone( const char* NomZone );
74   void                          SupprZone( const char* NomZone );
75   void                          SupprZones();
76   const std::list<std::string>& GetZones() const;
77
78   void                          AddGroup( const char* LeGroupe);
79   void                          SetGroups(const std::list<std::string>& ListGroup );
80   const std::list<std::string>& GetGroups() const;
81
82   void                          SetTypeFieldInterp( int TypeFieldInterp );
83   int                           GetTypeFieldInterp() const;
84   void                          AddFieldInterp( const char* FieldInterp );
85   void                          SupprFieldInterp();
86   const std::list<std::string>& GetListFieldInterp() const;
87
88
89
90
91 private:
92   std::string                   _NomHypo;
93   std::string                   _NomCasCreation;
94
95   int                           _TypeAdap; // -1 pour une adapation Uniforme, 
96                                            //  0 si l adaptation depend des zones, 
97                                            //  1 pour des champs
98
99   int                           _TypeRaff;
100   int                           _TypeDera;
101
102   std::string                   _Field;
103   int                           _TypeThR;
104   int                           _TypeThC;
105   double                        _ThreshR;
106   double                        _ThreshC;
107   int                           _UsCmpI;
108   int                           _TypeFieldInterp; // 0 pour aucune interpolation, 
109                                                   // 1 pour interpolation de tous les champs, 
110                                                   // 2 pour une liste
111
112   std::list<std::string>        _ListIter;
113   std::list<std::string>        _ListZone;
114   std::list<std::string>        _ListComposant;
115   std::list<std::string>        _ListGroupSelected;
116   std::list<std::string>        _ListFieldInterp;
117 };
118
119 #endif