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* NomComposant );
68 const std::list<std::string>& GetListComp() const;
70 void SetRefinThr( int TypeThR, double ThreshR );
71 int GetRefinThrType() const;
72 double GetThreshR() const;
73 void SetUnRefThr( int TypeThC, double ThreshC );
74 int GetUnRefThrType() const;
75 double GetThreshC() const;
77 void SetNivMax( int NivMax );
78 const int GetNivMax() const;
80 void SetDiamMin( double DiamMin );
81 const double GetDiamMin() const;
83 void SetAdapInit( int AdapInit );
84 const int GetAdapInit() const;
86 void SetLevelOutput( int LevelOutput );
87 const int GetLevelOutput() const;
89 void AddGroup( const char* LeGroupe);
90 void SetGroups(const std::list<std::string>& ListGroup );
91 const std::list<std::string>& GetGroups() const;
93 void SetTypeFieldInterp( int TypeFieldInterp );
94 int GetTypeFieldInterp() const;
95 void AddFieldInterp( const char* FieldInterp );
96 void SupprFieldInterp();
97 const std::list<std::string>& GetListFieldInterp() const;
99 // Liens avec les autres structures
100 void SetCaseCreation( const char* NomCasCreation );
101 std::string GetCaseCreation() const;
103 void LinkIteration( const char* NomIter );
104 void UnLinkIteration( const char* NomIter );
105 void UnLinkIterations();
106 const std::list<std::string>& GetIterations() const;
108 void AddZone( const char* NomZone, int TypeUse );
109 void SupprZone( const char* NomZone );
111 const std::list<std::string>& GetZones() const;
115 std::string _NomCasCreation;
117 int _TypeAdap; // -1 pour une adapation Uniforme,
118 // 0 si l adaptation depend des zones,
131 int _TypeFieldInterp; // 0 pour aucune interpolation,
132 // 1 pour interpolation de tous les champs,
139 std::list<std::string> _ListIter;
140 std::list<std::string> _ListZone;
141 std::list<std::string> _ListComposant;
142 std::list<std::string> _ListGroupSelected;
143 std::list<std::string> _ListFieldInterp;