]> SALOME platform Git repositories - modules/homard.git/blob - idl/HOMARD_Gen.idl
Salome HOME
32b7353da0db529f84d6396b0e0211383dd3635a
[modules/homard.git] / idl / HOMARD_Gen.idl
1 // Copyright (C) 2011-2014  CEA/DEN, EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 #ifndef __HOMARD_GEN__
21 #define __HOMARD_GEN__
22
23 #include "SALOME_Component.idl"
24 #include "SALOME_Exception.idl"
25 #include "SALOMEDS.idl"
26
27 #include "HOMARD_Cas.idl"
28 #include "HOMARD_Hypothesis.idl"
29 #include "HOMARD_Iteration.idl"
30 #include "HOMARD_Zone.idl"
31 #include "HOMARD_Boundary.idl"
32 #include "HOMARD_YACS.idl"
33
34 module HOMARD
35 {
36   typedef sequence<string> listeHypotheses;
37   typedef sequence<string> listeZones;
38   typedef sequence<string> listeIterations;
39   typedef sequence<string> listeCases;
40   typedef sequence<string> listeBoundarys;
41   typedef sequence<string> listeYACSs;
42
43   interface HOMARD_Gen : Engines::EngineComponent, SALOMEDS::Driver
44   {
45 //
46 // A. Les methodes qui suivent sont celles que l'on retrouvera dans
47 //    le fichier resources/HOMARDCatalog.xml.in pour definir le composant HOMARD dans YACS
48 //    A priori, ce sont les seules sont l'utilisateur doit connaitre l'existence.
49 //    ATTENTION : si les noms des arguments changent dans les Createxxxx, il faudra les changer
50 //                dans YACSDriver pour assurer la coherence
51 //
52 // A.1. Les creations
53 //
54     HOMARD_Boundary   CreateBoundaryDi (in string BoundaryName, in string MeshName, in string FileName)
55     raises(SALOME::SALOME_Exception);
56     HOMARD_Boundary   CreateBoundaryCylinder (in string BoundaryName,
57                                       in double Xcentre, in double Ycentre, in double Zcentre,
58                                       in double Xaxis, in double Yaxis, in double Zaxis,
59                                       in double Radius)
60     raises (SALOME::SALOME_Exception);
61     HOMARD_Boundary   CreateBoundarySphere (in string BoundaryName,
62                                       in double Xcentre, in double Ycentre, in double Zcentre,
63                                       in double Radius)
64     raises(SALOME::SALOME_Exception);
65     HOMARD_Boundary   CreateBoundaryConeR (in string BoundaryName,
66                                       in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Radius1,
67                                       in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Radius2)
68     raises(SALOME::SALOME_Exception);
69     HOMARD_Boundary   CreateBoundaryConeA (in string BoundaryName,
70                                       in double Xaxis, in double Yaxis, in double Zaxis, in double Angle,
71                                       in double Xcentre, in double Ycentre, in double Zcentre)
72     raises(SALOME::SALOME_Exception);
73     HOMARD_Boundary   CreateBoundaryTorus (in string BoundaryName,
74                                       in double Xcentre, in double Ycentre, in double Zcentre,
75                                       in double Xaxis, in double Yaxis, in double Zaxis,
76                                       in double RadiusRev, in double RadiusPri)
77     raises (SALOME::SALOME_Exception);
78     HOMARD_Cas        CreateCase(in string CaseName, in string MeshName, in string FileName )
79     raises(SALOME::SALOME_Exception);
80     HOMARD_Cas        CreateCaseFromIteration(in string CaseName, in string DirNameStart )
81     raises(SALOME::SALOME_Exception);
82     HOMARD_Cas        CreateCaseFromCaseLastIteration(in string CaseName, in string DirNameStart )
83     raises(SALOME::SALOME_Exception);
84     HOMARD_Cas        CreateCaseFromCaseIteration(in string CaseName, in string DirNameStart, in long Number )
85     raises(SALOME::SALOME_Exception);
86     HOMARD_Hypothesis CreateHypothesis(in string HypoName )
87     raises(SALOME::SALOME_Exception);
88     HOMARD_Zone       CreateZoneBox (in string ZoneName,
89                                      in double Xmini, in double Xmaxi,
90                                      in double Ymini, in double Ymaxi,
91                                      in double Zmini, in double Zmaxi)
92     raises(SALOME::SALOME_Exception);
93     HOMARD_Zone       CreateZoneBox2D (in string ZoneName,
94                                        in double Umini, in double Umaxi,
95                                        in double Vmini, in double Vmaxi,
96                                        in long Orient)
97     raises(SALOME::SALOME_Exception);
98     HOMARD_Zone       CreateZoneCylinder (in string ZoneName,
99                                           in double Xcentre, in double Ycentre, in double Zcentre,
100                                           in double Xaxis, in double Yaxis, in double Zaxis,
101                                           in double Radius, in double Height)
102     raises(SALOME::SALOME_Exception);
103     HOMARD_Zone       CreateZoneDisk (in string ZoneName,
104                                       in double Ucentre, in double Vcentre,
105                                       in double Radius, in long Orient)
106     raises(SALOME::SALOME_Exception);
107     HOMARD_Zone       CreateZoneDiskWithHole (in string ZoneName,
108                                               in double Ucentre, in double Vcentre,
109                                               in double Radius, in double InternalRadius,
110                                               in long Orient)
111     raises(SALOME::SALOME_Exception);
112     HOMARD_Zone       CreateZonePipe (in string ZoneName,
113                                       in double Xcentre, in double Ycentre, in double Zcentre,
114                                       in double Xaxis, in double Yaxis, in double Zaxis,
115                                       in double Radius, in double Height, in double InternalRadius)
116     raises(SALOME::SALOME_Exception);
117     HOMARD_Zone       CreateZoneSphere (in string ZoneName,
118                                         in double Xcentre, in double Ycentre, in double Zcentre,
119                                         in double Radius)
120     raises(SALOME::SALOME_Exception);
121 //
122 // A.2. Les informations
123 //
124     HOMARD_Boundary   GetBoundary(in string BoundaryName)  raises (SALOME::SALOME_Exception);
125     HOMARD_Cas        GetCase(in string CaseName)          raises (SALOME::SALOME_Exception);
126     HOMARD_Hypothesis GetHypothesis(in string HypoName)    raises (SALOME::SALOME_Exception);
127     HOMARD_Iteration  GetIteration(in string IterName)     raises (SALOME::SALOME_Exception);
128     HOMARD_YACS       GetYACS(in string YACSName)          raises (SALOME::SALOME_Exception);
129     HOMARD_Zone       GetZone(in string ZoneName)          raises (SALOME::SALOME_Exception);
130
131     listeBoundarys  GetAllBoundarysName()                  raises (SALOME::SALOME_Exception);
132     listeCases      GetAllCasesName()                      raises (SALOME::SALOME_Exception);
133     listeHypotheses GetAllHypothesesName()                 raises (SALOME::SALOME_Exception);
134     listeIterations GetAllIterationsName()                 raises (SALOME::SALOME_Exception);
135     listeYACSs      GetAllYACSsName()                      raises (SALOME::SALOME_Exception);
136     listeZones      GetAllZonesName()                      raises (SALOME::SALOME_Exception);
137
138     void MeshInfo(in string CaseName, in string MeshName, in string FileName,  in string DirName, in long Qual, in long Diam, in long Conn, in long Tail, in long Inte )
139     raises(SALOME::SALOME_Exception);
140
141     HOMARD_Iteration LastIteration(in string CaseName)     raises (SALOME::SALOME_Exception);
142 //
143 // A.3. L'etude
144 //
145     void SetCurrentStudy(in SALOMEDS::Study theStudy)      raises (SALOME::SALOME_Exception);
146     SALOMEDS::Study GetCurrentStudy()                      raises (SALOME::SALOME_Exception);
147     long GetCurrentStudyID()                               raises (SALOME::SALOME_Exception);
148 //
149 // A.4. Les caracteristiques generales
150 //
151     void SetLanguageShort (in string LanguageShort)        raises (SALOME::SALOME_Exception);
152     string GetLanguageShort ()                             raises (SALOME::SALOME_Exception);
153 //
154 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
155 //    L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
156 //
157     HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
158     raises(SALOME::SALOME_Exception);
159 //
160     void InvalideBoundary (in string BoundaryName)         raises (SALOME::SALOME_Exception);
161     void InvalideHypo (in string HypoName)                 raises (SALOME::SALOME_Exception);
162     void InvalideIter (in string IterName)                 raises (SALOME::SALOME_Exception);
163     void InvalideIterOption (in string IterName, in long Option)
164     raises(SALOME::SALOME_Exception);
165     void InvalideYACS (in string YacsName)                 raises (SALOME::SALOME_Exception);
166     void InvalideZone (in string ZoneName)                 raises (SALOME::SALOME_Exception);
167
168     long DeleteBoundary (in string BoundaryName)           raises (SALOME::SALOME_Exception);
169     long DeleteCase(in string CaseName, in long Option)
170     raises(SALOME::SALOME_Exception);
171     long DeleteHypo(in string HypoName)                    raises (SALOME::SALOME_Exception);
172     long DeleteIteration(in string IterName, in long Option)
173     raises(SALOME::SALOME_Exception);
174     long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
175     raises(SALOME::SALOME_Exception);
176     long DeleteYACS(in string YacsName, in long Option)    raises (SALOME::SALOME_Exception);
177     long DeleteZone (in string ZoneName)                   raises (SALOME::SALOME_Exception);
178 //
179     void AssociateIterHypo(in string IterName, in string HypoName)
180     raises(SALOME::SALOME_Exception);
181
182 //
183     void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
184     raises(SALOME::SALOME_Exception);
185     void DissociateHypoZone(in string HypoName, in string ZoneName)
186     raises(SALOME::SALOME_Exception);
187
188     long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
189     raises(SALOME::SALOME_Exception);
190
191 //
192     string CreateDirNameIter(in string NomDir, in long option )
193     raises(SALOME::SALOME_Exception);
194
195     string VerifieDir (in string NomDir)                   raises (SALOME::SALOME_Exception);
196
197 //
198     void PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
199     raises(SALOME::SALOME_Exception);
200     void PublishBoundaryUnderCase(in string CaseName, in string BoundaryName)
201     raises(SALOME::SALOME_Exception);
202     void PublishResultInSmesh(in string FileName, in long Option)
203     raises(SALOME::SALOME_Exception);
204     void PublishMeshIterInSmesh (in string IterName)       raises(SALOME::SALOME_Exception);
205
206 //
207
208 //
209 //  La creation des schemas YACS
210     HOMARD_YACS CreateYACSSchema(in string YACSName, in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
211     raises(SALOME::SALOME_Exception);
212     long YACSWrite (in string YACSName)                    raises (SALOME::SALOME_Exception);
213     long YACSWriteOnFile (in string YACSName, in string YACSFile)
214     raises(SALOME::SALOME_Exception);
215
216 //
217 //  Les preferences
218     void SetPublisMesh (in long PublisMeshIN, in long PublisMeshOUT)
219     raises (SALOME::SALOME_Exception);
220     long GetPublisMeshIN ()                                raises (SALOME::SALOME_Exception);
221     long GetPublisMeshOUT ()                               raises (SALOME::SALOME_Exception);
222     void SetYACSMaximum(in long YACSMaxIter, in long YACSMaxNode, in long YACSMaxElem)
223     raises (SALOME::SALOME_Exception);
224     long GetYACSMaxIter()                                  raises (SALOME::SALOME_Exception);
225     long GetYACSMaxNode()                                  raises (SALOME::SALOME_Exception);
226     long GetYACSMaxElem()                                  raises (SALOME::SALOME_Exception);
227     void SetYACSConvergenceType(in long TypeTest)          raises (SALOME::SALOME_Exception);
228     long GetYACSConvergenceType()                          raises (SALOME::SALOME_Exception);
229   };
230 };
231
232 #endif
233