Salome HOME
mise a jour pour la poursuite d'iterations
[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)                    raises (SALOME::SALOME_Exception);
153     long DeleteHypo(in string HypoName)                    raises (SALOME::SALOME_Exception);
154     long DeleteIteration(in string IterName, in long Option)
155                                                            raises (SALOME::SALOME_Exception);
156     long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
157                                                            raises (SALOME::SALOME_Exception);
158     long DeleteZone (in string ZoneName)                   raises (SALOME::SALOME_Exception);
159 //
160     void AssociateIterHypo(in string IterName, in string HypoName)
161                                                            raises (SALOME::SALOME_Exception);
162
163 //
164     void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
165                                                            raises (SALOME::SALOME_Exception);
166     void DissociateHypoZone(in string HypoName, in string ZoneName)
167                                                            raises (SALOME::SALOME_Exception);
168
169     long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
170                                                            raises (SALOME::SALOME_Exception);
171
172     boolean  VerifieDir (in string IterName)               raises (SALOME::SALOME_Exception);
173
174     void  PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
175                                                            raises (SALOME::SALOME_Exception);
176     void  PublishBoundaryUnderCase(in string CaseName, in string BoundaryName);
177     void  PublishResultInSmesh(in string FileName, in long Option)
178                                                            raises (SALOME::SALOME_Exception);
179
180   };
181 };
182
183 #endif
184