Salome HOME
3becace8b9c8e23dcbac9f7fd3403bb7c50ef94b
[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
33 module HOMARD
34 {
35   typedef sequence<string> listeHypotheses;
36   typedef sequence<string> listeZones;
37   typedef sequence<string> listeIterations;
38   typedef sequence<string> listeCases;
39   typedef sequence<string> listeBoundarys;
40
41   interface HOMARD_Gen : Engines::EngineComponent, SALOMEDS::Driver
42   {
43 //
44 // A. Les methodes qui suivent sont celles que l'on retrouvera dans
45 //    le fichier resources/HOMARDCatalog.xml.in pour definir le composant HOMARD dans YACS
46 //    A priori, ce sont les seules sont l'utilisateur doit connaitre l'existence.
47 //
48 // A.1. Les creations
49 //
50     HOMARD_Boundary   CreateBoundaryDi (in string BoundaryName, in string MeshName, in string FileName)
51                                                            raises (SALOME::SALOME_Exception);
52     HOMARD_Boundary   CreateBoundaryCylinder (in string BoundaryName,
53                                       in double Xcentre, in double Ycentre, in double Zcentre,
54                                       in double Xaxis, in double Yaxis, in double Zaxis,
55                                       in double Radius)
56                                                            raises (SALOME::SALOME_Exception);
57     HOMARD_Boundary   CreateBoundarySphere (in string BoundaryName,
58                                       in double Xcentre, in double Ycentre, in double Zcentre,
59                                       in double Radius)
60                                                            raises (SALOME::SALOME_Exception);
61     HOMARD_Boundary   CreateBoundaryConeR (in string BoundaryName,
62                                       in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Radius1,
63                                       in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Radius2)
64                                                            raises (SALOME::SALOME_Exception);
65     HOMARD_Boundary   CreateBoundaryConeA (in string BoundaryName,
66                                       in double Xaxis, in double Yaxis, in double Zaxis, in double Angle,
67                                       in double Xcentre, in double Ycentre, in double Zcentre)
68                                                            raises (SALOME::SALOME_Exception);
69     HOMARD_Cas        CreateCase(in string CaseName, in string MeshName, in string FileName )
70                                                            raises (SALOME::SALOME_Exception);
71     HOMARD_Cas        CreateCaseFromIteration(in string CaseName, in string DirNameStart )
72                                                            raises (SALOME::SALOME_Exception);
73     HOMARD_Cas        CreateCaseFromCaseLastIteration(in string CaseName, in string DirNameStart )
74                                                            raises (SALOME::SALOME_Exception);
75     HOMARD_Cas        CreateCaseFromCaseIteration(in string CaseName, in string DirNameStart, in long Number )
76                                                            raises (SALOME::SALOME_Exception);
77     HOMARD_Hypothesis CreateHypothesis(in string HypoName )
78                                                            raises (SALOME::SALOME_Exception);
79     HOMARD_Zone       CreateZoneBox (in string ZoneName,
80                                      in double Xmini, in double Xmaxi,
81                                      in double Ymini, in double Ymaxi,
82                                      in double Zmini, in double Zmaxi)
83                                                            raises (SALOME::SALOME_Exception);
84     HOMARD_Zone       CreateZoneBox2D (in string ZoneName,
85                                        in double Umini, in double Umaxi,
86                                        in double Vmini, in double Vmaxi,
87                                        in long Orient)
88                                                            raises (SALOME::SALOME_Exception);
89     HOMARD_Zone       CreateZoneCylinder (in string ZoneName,
90                                           in double Xcentre, in double Ycentre, in double Zcentre,
91                                           in double Xaxis, in double Yaxis, in double Zaxis,
92                                           in double Radius, in double Height)
93                                                            raises (SALOME::SALOME_Exception);
94     HOMARD_Zone       CreateZoneDisk (in string ZoneName,
95                                       in double Ucentre, in double Vcentre,
96                                       in double Radius, in long Orient)
97                                                            raises (SALOME::SALOME_Exception);
98     HOMARD_Zone       CreateZoneDiskWithHole (in string ZoneName,
99                                               in double Ucentre, in double Vcentre,
100                                               in double Radius, in double InternalRadius,
101                                               in long Orient)
102                                                            raises (SALOME::SALOME_Exception);
103     HOMARD_Zone       CreateZonePipe (in string ZoneName,
104                                       in double Xcentre, in double Ycentre, in double Zcentre,
105                                       in double Xaxis, in double Yaxis, in double Zaxis,
106                                       in double Radius, in double Height, in double InternalRadius)
107                                                            raises (SALOME::SALOME_Exception);
108     HOMARD_Zone       CreateZoneSphere (in string ZoneName,
109                                         in double Xcentre, in double Ycentre, in double Zcentre,
110                                         in double Radius)
111                                                            raises (SALOME::SALOME_Exception);
112 //
113 // A.2. Les informations
114 //
115     HOMARD_Boundary   GetBoundary(in string BoundaryName)  raises (SALOME::SALOME_Exception);
116     HOMARD_Cas        GetCase(in string CaseName)          raises (SALOME::SALOME_Exception);
117     HOMARD_Hypothesis GetHypothesis(in string HypoName)    raises (SALOME::SALOME_Exception);
118     HOMARD_Iteration  GetIteration(in string IterName)     raises (SALOME::SALOME_Exception);
119     HOMARD_Zone       GetZone(in string ZoneName)          raises (SALOME::SALOME_Exception);
120
121     listeBoundarys  GetAllBoundarysName()                  raises (SALOME::SALOME_Exception);
122     listeCases      GetAllCasesName()                      raises (SALOME::SALOME_Exception);
123     listeHypotheses GetAllHypothesesName()                 raises (SALOME::SALOME_Exception);
124     listeIterations GetAllIterationsName()                 raises (SALOME::SALOME_Exception);
125     listeZones      GetAllZonesName()                      raises (SALOME::SALOME_Exception);
126
127     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 )
128                                                            raises (SALOME::SALOME_Exception);
129
130     HOMARD_Iteration LastIteration(in string CaseName)     raises (SALOME::SALOME_Exception);
131 //
132 // A.3. L'etude
133 //
134     void     SetCurrentStudy(in SALOMEDS::Study theStudy)  raises (SALOME::SALOME_Exception);
135     SALOMEDS::Study GetCurrentStudy()                      raises (SALOME::SALOME_Exception);
136     long     GetCurrentStudyID()                           raises (SALOME::SALOME_Exception);
137 //
138 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
139 //    L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
140 //
141     HOMARD_Iteration  CreateIteration(in string IterName, in string PreviousIterName )
142                                                            raises (SALOME::SALOME_Exception);
143 //
144     void InvalideBoundary (in string BoundaryName)         raises (SALOME::SALOME_Exception);
145     void InvalideHypo (in string HypoName)                 raises (SALOME::SALOME_Exception);
146     void InvalideIter (in string IterName)                 raises (SALOME::SALOME_Exception);
147     void InvalideIterOption (in string IterName, in long Option)
148                                                            raises (SALOME::SALOME_Exception);
149     void InvalideZone (in string ZoneName)                 raises (SALOME::SALOME_Exception);
150
151     long DeleteBoundary (in string BoundaryName)           raises (SALOME::SALOME_Exception);
152     long DeleteCase(in string CaseName, in long Option)
153                                                            raises (SALOME::SALOME_Exception);
154     long DeleteHypo(in string HypoName)                    raises (SALOME::SALOME_Exception);
155     long DeleteIteration(in string IterName, in long Option)
156                                                            raises (SALOME::SALOME_Exception);
157     long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
158                                                            raises (SALOME::SALOME_Exception);
159     long DeleteZone (in string ZoneName)                   raises (SALOME::SALOME_Exception);
160 //
161     void AssociateIterHypo(in string IterName, in string HypoName)
162                                                            raises (SALOME::SALOME_Exception);
163
164 //
165     void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
166                                                            raises (SALOME::SALOME_Exception);
167     void DissociateHypoZone(in string HypoName, in string ZoneName)
168                                                            raises (SALOME::SALOME_Exception);
169
170     long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
171                                                            raises (SALOME::SALOME_Exception);
172
173 //
174     string CreateDirNameIter(in string NomDir, in long option )
175                                                            raises (SALOME::SALOME_Exception);
176
177     boolean VerifieDir (in string IterName)                raises (SALOME::SALOME_Exception);
178
179 //
180     void  PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
181                                                            raises (SALOME::SALOME_Exception);
182     void  PublishBoundaryUnderCase(in string CaseName, in string BoundaryName);
183     void  PublishResultInSmesh(in string FileName, in long Option)
184                                                            raises (SALOME::SALOME_Exception);
185
186   };
187 };
188
189 #endif
190