1 // HOMARD HOMARD : implementation of HOMARD idl descriptions
3 // Copyright (C) 2011-2014 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, or (at your option) any later version.
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_
43 #pragma warning ( disable: 4251 )
46 class HOMARDIMPL_EXPORT HOMARD_Hypothesis
53 void SetName( const char* Name );
54 std::string GetName() const;
56 std::string GetDumpPython() const;
59 void SetAdapType( int TypeAdap );
60 int GetAdapType() const;
61 void SetRefinTypeDera( int TypeRaff, int TypeDera );
62 int GetRefinType() const;
63 int GetUnRefType() const;
65 void SetField( const char* FieldName );
66 std::string GetFieldName() const;
67 void SetUseField( int UsField );
68 int GetUseField() const;
70 void SetUseComp( int UsCmpI );
71 int GetUseComp() const;
72 void AddComp( const char* NomComp );
73 void SupprComp( const char* NomComp );
75 const std::list<std::string>& GetComps() const;
77 void SetRefinThr( int TypeThR, double ThreshR );
78 int GetRefinThrType() const;
79 double GetThreshR() const;
80 void SetUnRefThr( int TypeThC, double ThreshC );
81 int GetUnRefThrType() const;
82 double GetThreshC() const;
84 void SetNivMax( int NivMax );
85 const int GetNivMax() const;
87 void SetDiamMin( double DiamMin );
88 const double GetDiamMin() const;
90 void SetAdapInit( int AdapInit );
91 const int GetAdapInit() const;
93 void SetLevelOutput( int LevelOutput );
94 const int GetLevelOutput() const;
96 void AddGroup( const char* LeGroupe);
97 void SetGroups(const std::list<std::string>& ListGroup );
98 const std::list<std::string>& GetGroups() const;
100 void SetTypeFieldInterp( int TypeFieldInterp );
101 int GetTypeFieldInterp() const;
102 void AddFieldInterpType( const char* FieldInterp, int TypeInterp );
103 void SupprFieldInterp( const char* FieldInterp );
104 void SupprFieldInterps();
105 const std::list<std::string>& GetFieldInterps() const;
107 // Liens avec les autres structures
108 void SetCaseCreation( const char* NomCasCreation );
109 std::string GetCaseCreation() const;
111 void LinkIteration( const char* NomIter );
112 void UnLinkIteration( const char* NomIter );
113 void UnLinkIterations();
114 const std::list<std::string>& GetIterations() const;
116 void AddZone( const char* NomZone, int TypeUse );
117 void SupprZone( const char* NomZone );
119 const std::list<std::string>& GetZones() const;
123 std::string _NomCasCreation;
125 int _TypeAdap; // -1 pour une adapation Uniforme,
126 // 0 si l adaptation depend des zones,
139 int _TypeFieldInterp; // 0 pour aucune interpolation,
140 // 1 pour interpolation de tous les champs,
147 std::list<std::string> _ListIter;
148 std::list<std::string> _ListZone;
149 std::list<std::string> _ListComp;
150 std::list<std::string> _ListGroupSelected;
151 std::list<std::string> _ListFieldInterp;