Salome HOME
Filtrage des types de fichiers dans la sélection
[modules/homard.git] / idl / HOMARD_Gen.idl
1 // Copyright (C) 2011-2013  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.
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_Cas        CreateCase(in string CaseName, in string MeshName, in string FileName )
74     raises(SALOME::SALOME_Exception);
75     HOMARD_Cas        CreateCaseFromIteration(in string CaseName, in string DirNameStart )
76     raises(SALOME::SALOME_Exception);
77     HOMARD_Cas        CreateCaseFromCaseLastIteration(in string CaseName, in string DirNameStart )
78     raises(SALOME::SALOME_Exception);
79     HOMARD_Cas        CreateCaseFromCaseIteration(in string CaseName, in string DirNameStart, in long Number )
80     raises(SALOME::SALOME_Exception);
81     HOMARD_Hypothesis CreateHypothesis(in string HypoName )
82     raises(SALOME::SALOME_Exception);
83     HOMARD_Zone       CreateZoneBox (in string ZoneName,
84                                      in double Xmini, in double Xmaxi,
85                                      in double Ymini, in double Ymaxi,
86                                      in double Zmini, in double Zmaxi)
87     raises(SALOME::SALOME_Exception);
88     HOMARD_Zone       CreateZoneBox2D (in string ZoneName,
89                                        in double Umini, in double Umaxi,
90                                        in double Vmini, in double Vmaxi,
91                                        in long Orient)
92     raises(SALOME::SALOME_Exception);
93     HOMARD_Zone       CreateZoneCylinder (in string ZoneName,
94                                           in double Xcentre, in double Ycentre, in double Zcentre,
95                                           in double Xaxis, in double Yaxis, in double Zaxis,
96                                           in double Radius, in double Height)
97     raises(SALOME::SALOME_Exception);
98     HOMARD_Zone       CreateZoneDisk (in string ZoneName,
99                                       in double Ucentre, in double Vcentre,
100                                       in double Radius, in long Orient)
101     raises(SALOME::SALOME_Exception);
102     HOMARD_Zone       CreateZoneDiskWithHole (in string ZoneName,
103                                               in double Ucentre, in double Vcentre,
104                                               in double Radius, in double InternalRadius,
105                                               in long Orient)
106     raises(SALOME::SALOME_Exception);
107     HOMARD_Zone       CreateZonePipe (in string ZoneName,
108                                       in double Xcentre, in double Ycentre, in double Zcentre,
109                                       in double Xaxis, in double Yaxis, in double Zaxis,
110                                       in double Radius, in double Height, in double InternalRadius)
111     raises(SALOME::SALOME_Exception);
112     HOMARD_Zone       CreateZoneSphere (in string ZoneName,
113                                         in double Xcentre, in double Ycentre, in double Zcentre,
114                                         in double Radius)
115     raises(SALOME::SALOME_Exception);
116 //
117 // A.2. Les informations
118 //
119     HOMARD_Boundary   GetBoundary(in string BoundaryName)  raises (SALOME::SALOME_Exception);
120     HOMARD_Cas        GetCase(in string CaseName)          raises (SALOME::SALOME_Exception);
121     HOMARD_Hypothesis GetHypothesis(in string HypoName)    raises (SALOME::SALOME_Exception);
122     HOMARD_Iteration  GetIteration(in string IterName)     raises (SALOME::SALOME_Exception);
123     HOMARD_YACS       GetYACS(in string YACSName)          raises (SALOME::SALOME_Exception);
124     HOMARD_Zone       GetZone(in string ZoneName)          raises (SALOME::SALOME_Exception);
125
126     listeBoundarys  GetAllBoundarysName()                  raises (SALOME::SALOME_Exception);
127     listeCases      GetAllCasesName()                      raises (SALOME::SALOME_Exception);
128     listeHypotheses GetAllHypothesesName()                 raises (SALOME::SALOME_Exception);
129     listeIterations GetAllIterationsName()                 raises (SALOME::SALOME_Exception);
130     listeYACSs      GetAllYACSsName()                      raises (SALOME::SALOME_Exception);
131     listeZones      GetAllZonesName()                      raises (SALOME::SALOME_Exception);
132
133     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 )
134     raises(SALOME::SALOME_Exception);
135
136     HOMARD_Iteration LastIteration(in string CaseName)     raises (SALOME::SALOME_Exception);
137 //
138 // A.3. L'etude
139 //
140     void SetCurrentStudy(in SALOMEDS::Study theStudy)      raises (SALOME::SALOME_Exception);
141     SALOMEDS::Study GetCurrentStudy()                      raises (SALOME::SALOME_Exception);
142     long GetCurrentStudyID()                               raises (SALOME::SALOME_Exception);
143 //
144 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
145 //    L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
146 //
147     HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
148     raises(SALOME::SALOME_Exception);
149 //
150     void InvalideBoundary (in string BoundaryName)         raises (SALOME::SALOME_Exception);
151     void InvalideHypo (in string HypoName)                 raises (SALOME::SALOME_Exception);
152     void InvalideIter (in string IterName)                 raises (SALOME::SALOME_Exception);
153     void InvalideIterOption (in string IterName, in long Option)
154     raises(SALOME::SALOME_Exception);
155     void InvalideZone (in string ZoneName)                 raises (SALOME::SALOME_Exception);
156
157     long DeleteBoundary (in string BoundaryName)           raises (SALOME::SALOME_Exception);
158     long DeleteCase(in string CaseName, in long Option)
159     raises(SALOME::SALOME_Exception);
160     long DeleteHypo(in string HypoName)                    raises (SALOME::SALOME_Exception);
161     long DeleteIteration(in string IterName, in long Option)
162     raises(SALOME::SALOME_Exception);
163     long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
164     raises(SALOME::SALOME_Exception);
165     long DeleteYACS(in string YacsName, in long Option)    raises (SALOME::SALOME_Exception);
166     long DeleteZone (in string ZoneName)                   raises (SALOME::SALOME_Exception);
167 //
168     void AssociateIterHypo(in string IterName, in string HypoName)
169     raises(SALOME::SALOME_Exception);
170
171 //
172     void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
173     raises(SALOME::SALOME_Exception);
174     void DissociateHypoZone(in string HypoName, in string ZoneName)
175     raises(SALOME::SALOME_Exception);
176
177     long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
178     raises(SALOME::SALOME_Exception);
179
180 //
181     string CreateDirNameIter(in string NomDir, in long option )
182     raises(SALOME::SALOME_Exception);
183
184     string VerifieDir (in string NomDir)                   raises (SALOME::SALOME_Exception);
185
186 //
187     void PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
188     raises(SALOME::SALOME_Exception);
189     void PublishBoundaryUnderCase(in string CaseName, in string BoundaryName)
190     raises(SALOME::SALOME_Exception);
191     void PublishResultInSmesh(in string FileName, in long Option)
192     raises(SALOME::SALOME_Exception);
193     void PublishMeshIterInSmesh (in string IterName)       raises(SALOME::SALOME_Exception);
194
195 //
196
197 //
198     HOMARD_YACS CreateYACSSchema(in string YACSName, in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
199     raises(SALOME::SALOME_Exception);
200     long YACSWrite (in string YACSName)                    raises (SALOME::SALOME_Exception);
201     long YACSWriteOnFile (in string YACSName, in string YACSFile)
202     raises(SALOME::SALOME_Exception);
203
204 //
205     void SetLanguageShort (in string LanguageShort)        raises (SALOME::SALOME_Exception);
206     string GetLanguageShort ()                             raises (SALOME::SALOME_Exception);
207     void SetPublisMesh (in long PublisMeshIN, in long PublisMeshOUT)
208     raises (SALOME::SALOME_Exception);
209     long GetPublisMeshIN ()                                raises (SALOME::SALOME_Exception);
210     long GetPublisMeshOUT ()                               raises (SALOME::SALOME_Exception);
211   };
212 };
213
214 #endif
215