Salome HOME
automatisation FronTrack - sources modifiés
[modules/homard.git] / idl / HOMARD_Gen.idl
1 // Copyright (C) 2011-2016  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   CreateBoundaryCAO (in string BoundaryName, in string FileName)
55     raises(SALOME::SALOME_Exception);
56     HOMARD_Boundary   CreateBoundaryDi (in string BoundaryName, in string MeshName, in string FileName)
57     raises(SALOME::SALOME_Exception);
58     HOMARD_Boundary   CreateBoundaryCylinder (in string BoundaryName,
59                                       in double Xcentre, in double Ycentre, in double Zcentre,
60                                       in double Xaxis, in double Yaxis, in double Zaxis,
61                                       in double Radius)
62     raises (SALOME::SALOME_Exception);
63     HOMARD_Boundary   CreateBoundarySphere (in string BoundaryName,
64                                       in double Xcentre, in double Ycentre, in double Zcentre,
65                                       in double Radius)
66     raises(SALOME::SALOME_Exception);
67     HOMARD_Boundary   CreateBoundaryConeR (in string BoundaryName,
68                                       in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Radius1,
69                                       in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Radius2)
70     raises(SALOME::SALOME_Exception);
71     HOMARD_Boundary   CreateBoundaryConeA (in string BoundaryName,
72                                       in double Xaxis, in double Yaxis, in double Zaxis, in double Angle,
73                                       in double Xcentre, in double Ycentre, in double Zcentre)
74     raises(SALOME::SALOME_Exception);
75     HOMARD_Boundary   CreateBoundaryTorus (in string BoundaryName,
76                                       in double Xcentre, in double Ycentre, in double Zcentre,
77                                       in double Xaxis, in double Yaxis, in double Zaxis,
78                                       in double RadiusRev, in double RadiusPri)
79     raises (SALOME::SALOME_Exception);
80     HOMARD_Cas        CreateCase(in string CaseName, in string MeshName, in string FileName )
81     raises(SALOME::SALOME_Exception);
82     HOMARD_Cas        CreateCaseFromIteration(in string CaseName, in string DirNameStart )
83     raises(SALOME::SALOME_Exception);
84     HOMARD_Cas        CreateCaseFromCaseLastIteration(in string CaseName, in string DirNameStart )
85     raises(SALOME::SALOME_Exception);
86     HOMARD_Cas        CreateCaseFromCaseIteration(in string CaseName, in string DirNameStart, in long Number )
87     raises(SALOME::SALOME_Exception);
88     HOMARD_Hypothesis CreateHypothesis(in string HypoName )
89     raises(SALOME::SALOME_Exception);
90     HOMARD_Zone       CreateZoneBox (in string ZoneName,
91                                      in double Xmini, in double Xmaxi,
92                                      in double Ymini, in double Ymaxi,
93                                      in double Zmini, in double Zmaxi)
94     raises(SALOME::SALOME_Exception);
95     HOMARD_Zone       CreateZoneBox2D (in string ZoneName,
96                                        in double Umini, in double Umaxi,
97                                        in double Vmini, in double Vmaxi,
98                                        in long Orient)
99     raises(SALOME::SALOME_Exception);
100     HOMARD_Zone       CreateZoneCylinder (in string ZoneName,
101                                           in double Xcentre, in double Ycentre, in double Zcentre,
102                                           in double Xaxis, in double Yaxis, in double Zaxis,
103                                           in double Radius, in double Height)
104     raises(SALOME::SALOME_Exception);
105     HOMARD_Zone       CreateZoneDisk (in string ZoneName,
106                                       in double Ucentre, in double Vcentre,
107                                       in double Radius, in long Orient)
108     raises(SALOME::SALOME_Exception);
109     HOMARD_Zone       CreateZoneDiskWithHole (in string ZoneName,
110                                               in double Ucentre, in double Vcentre,
111                                               in double Radius, in double InternalRadius,
112                                               in long Orient)
113     raises(SALOME::SALOME_Exception);
114     HOMARD_Zone       CreateZonePipe (in string ZoneName,
115                                       in double Xcentre, in double Ycentre, in double Zcentre,
116                                       in double Xaxis, in double Yaxis, in double Zaxis,
117                                       in double Radius, in double Height, in double InternalRadius)
118     raises(SALOME::SALOME_Exception);
119     HOMARD_Zone       CreateZoneSphere (in string ZoneName,
120                                         in double Xcentre, in double Ycentre, in double Zcentre,
121                                         in double Radius)
122     raises(SALOME::SALOME_Exception);
123 //
124 // A.2. Les informations
125 //
126     HOMARD_Boundary   GetBoundary(in string BoundaryName)  raises (SALOME::SALOME_Exception);
127     HOMARD_Cas        GetCase(in string CaseName)          raises (SALOME::SALOME_Exception);
128     HOMARD_Hypothesis GetHypothesis(in string HypoName)    raises (SALOME::SALOME_Exception);
129     HOMARD_Iteration  GetIteration(in string IterName)     raises (SALOME::SALOME_Exception);
130     HOMARD_YACS       GetYACS(in string YACSName)          raises (SALOME::SALOME_Exception);
131     HOMARD_Zone       GetZone(in string ZoneName)          raises (SALOME::SALOME_Exception);
132
133     listeBoundarys  GetAllBoundarysName()                  raises (SALOME::SALOME_Exception);
134     listeCases      GetAllCasesName()                      raises (SALOME::SALOME_Exception);
135     listeHypotheses GetAllHypothesesName()                 raises (SALOME::SALOME_Exception);
136     listeIterations GetAllIterationsName()                 raises (SALOME::SALOME_Exception);
137     listeYACSs      GetAllYACSsName()                      raises (SALOME::SALOME_Exception);
138     listeZones      GetAllZonesName()                      raises (SALOME::SALOME_Exception);
139
140     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 )
141     raises(SALOME::SALOME_Exception);
142
143     HOMARD_Iteration LastIteration(in string CaseName)     raises (SALOME::SALOME_Exception);
144 //
145 // A.3. L'etude
146 //
147     void SetCurrentStudy(in SALOMEDS::Study theStudy)      raises (SALOME::SALOME_Exception);
148     SALOMEDS::Study GetCurrentStudy()                      raises (SALOME::SALOME_Exception);
149     long GetCurrentStudyID()                               raises (SALOME::SALOME_Exception);
150 //
151 // A.4. Les caracteristiques generales
152 //
153     void SetLanguageShort (in string LanguageShort)        raises (SALOME::SALOME_Exception);
154     string GetLanguageShort ()                             raises (SALOME::SALOME_Exception);
155 //
156 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
157 //    L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
158 //
159     HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
160     raises(SALOME::SALOME_Exception);
161 //
162     void InvalideBoundary (in string BoundaryName)         raises (SALOME::SALOME_Exception);
163     void InvalideHypo (in string HypoName)                 raises (SALOME::SALOME_Exception);
164     void InvalideIter (in string IterName)                 raises (SALOME::SALOME_Exception);
165     void InvalideIterOption (in string IterName, in long Option)
166     raises(SALOME::SALOME_Exception);
167     void InvalideYACS (in string YacsName)                 raises (SALOME::SALOME_Exception);
168     void InvalideZone (in string ZoneName)                 raises (SALOME::SALOME_Exception);
169
170     long DeleteBoundary (in string BoundaryName)           raises (SALOME::SALOME_Exception);
171     long DeleteCase(in string CaseName, in long Option)
172     raises(SALOME::SALOME_Exception);
173     long DeleteHypo(in string HypoName)                    raises (SALOME::SALOME_Exception);
174     long DeleteIteration(in string IterName, in long Option)
175     raises(SALOME::SALOME_Exception);
176     long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
177     raises(SALOME::SALOME_Exception);
178     long DeleteYACS(in string YacsName, in long Option)    raises (SALOME::SALOME_Exception);
179     long DeleteZone (in string ZoneName)                   raises (SALOME::SALOME_Exception);
180 //
181     void AssociateIterHypo(in string IterName, in string HypoName)
182     raises(SALOME::SALOME_Exception);
183
184 //
185     void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
186     raises(SALOME::SALOME_Exception);
187     void DissociateHypoZone(in string HypoName, in string ZoneName)
188     raises(SALOME::SALOME_Exception);
189
190     long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
191     raises(SALOME::SALOME_Exception);
192
193 //
194     string CreateDirNameIter(in string NomDir, in long option )
195     raises(SALOME::SALOME_Exception);
196
197     string VerifieDir (in string NomDir)                   raises (SALOME::SALOME_Exception);
198
199 //
200     void PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
201     raises(SALOME::SALOME_Exception);
202     void PublishBoundaryUnderCase(in string CaseName, in string BoundaryName)
203     raises(SALOME::SALOME_Exception);
204     void PublishResultInSmesh(in string FileName, in long Option)
205     raises(SALOME::SALOME_Exception);
206     void PublishMeshIterInSmesh (in string IterName)       raises(SALOME::SALOME_Exception);
207
208 //
209
210 //
211 //  La creation des schemas YACS
212     HOMARD_YACS CreateYACSSchema(in string YACSName, in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
213     raises(SALOME::SALOME_Exception);
214     long YACSWrite (in string YACSName)                    raises (SALOME::SALOME_Exception);
215     long YACSWriteOnFile (in string YACSName, in string YACSFile)
216     raises(SALOME::SALOME_Exception);
217
218 //
219 //  Les preferences
220     void SetPublisMesh (in long PublisMeshIN, in long PublisMeshOUT)
221     raises (SALOME::SALOME_Exception);
222     long GetPublisMeshIN ()                                raises (SALOME::SALOME_Exception);
223     long GetPublisMeshOUT ()                               raises (SALOME::SALOME_Exception);
224     void SetYACSMaximum(in long YACSMaxIter, in long YACSMaxNode, in long YACSMaxElem)
225     raises (SALOME::SALOME_Exception);
226     long GetYACSMaxIter()                                  raises (SALOME::SALOME_Exception);
227     long GetYACSMaxNode()                                  raises (SALOME::SALOME_Exception);
228     long GetYACSMaxElem()                                  raises (SALOME::SALOME_Exception);
229     void SetYACSConvergenceType(in long TypeTest)          raises (SALOME::SALOME_Exception);
230     long GetYACSConvergenceType()                          raises (SALOME::SALOME_Exception);
231   };
232 };
233
234 #endif
235