1 // HOMARD HOMARD : implementation of HOMARD idl descriptions
3 // Copyright (C) 2011-2013 CEA/DEN, EDF R&D
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.
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.
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
19 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 // File : HOMARD_Hypothesis.hxx
22 // Author : Paul RASCLE, EDF
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
32 // Quand les 2 fonctions Setxxx et Getxxx sont presentes, Setxxx est decrit en premier
34 #ifndef _HOMARD_HYPOTHESIS_HXX_
35 #define _HOMARD_HYPOTHESIS_HXX_
40 class HOMARD_Hypothesis
47 void SetName( const char* Name );
48 std::string GetName() const;
50 std::string GetDumpPython() const;
53 void SetAdapType( int TypeAdap );
54 int GetAdapType() const;
55 void SetRefinTypeDera( int TypeRaff, int TypeDera );
56 int GetRefinType() const;
57 int GetUnRefType() const;
59 void SetField( const char* FieldName );
60 std::string GetFieldName() const;
61 void SetUseField( int UsField );
62 int GetUseField() const;
64 void SetUseComp( int UsCmpI );
65 int GetUseComp() const;
66 void AddComp( const char* NomComp );
67 void SupprComp( const char* NomComp );
69 const std::list<std::string>& GetComps() const;
71 void SetRefinThr( int TypeThR, double ThreshR );
72 int GetRefinThrType() const;
73 double GetThreshR() const;
74 void SetUnRefThr( int TypeThC, double ThreshC );
75 int GetUnRefThrType() const;
76 double GetThreshC() const;
78 void SetNivMax( int NivMax );
79 const int GetNivMax() const;
81 void SetDiamMin( double DiamMin );
82 const double GetDiamMin() const;
84 void SetAdapInit( int AdapInit );
85 const int GetAdapInit() const;
87 void SetLevelOutput( int LevelOutput );
88 const int GetLevelOutput() const;
90 void AddGroup( const char* LeGroupe);
91 void SetGroups(const std::list<std::string>& ListGroup );
92 const std::list<std::string>& GetGroups() const;
94 void SetTypeFieldInterp( int TypeFieldInterp );
95 int GetTypeFieldInterp() const;
96 void AddFieldInterpType( const char* FieldInterp, int TypeInterp );
97 void SupprFieldInterp( const char* FieldInterp );
98 void SupprFieldInterps();
99 const std::list<std::string>& GetFieldInterps() const;
101 // Liens avec les autres structures
102 void SetCaseCreation( const char* NomCasCreation );
103 std::string GetCaseCreation() const;
105 void LinkIteration( const char* NomIter );
106 void UnLinkIteration( const char* NomIter );
107 void UnLinkIterations();
108 const std::list<std::string>& GetIterations() const;
110 void AddZone( const char* NomZone, int TypeUse );
111 void SupprZone( const char* NomZone );
113 const std::list<std::string>& GetZones() const;
117 std::string _NomCasCreation;
119 int _TypeAdap; // -1 pour une adapation Uniforme,
120 // 0 si l adaptation depend des zones,
133 int _TypeFieldInterp; // 0 pour aucune interpolation,
134 // 1 pour interpolation de tous les champs,
141 std::list<std::string> _ListIter;
142 std::list<std::string> _ListZone;
143 std::list<std::string> _ListComp;
144 std::list<std::string> _ListGroupSelected;
145 std::list<std::string> _ListFieldInterp;