Salome HOME
7c41d56c62a3591650d006d8d281a83347330aff
[modules/smesh.git] / idl / SMESH_Homard.idl
1 // Copyright (C) 2011-2021  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 _SMESH_HOMARD_IDL
21 #define _SMESH_HOMARD_IDL
22
23 #include "SMESH_Mesh.idl"
24
25 #include "SALOME_Exception.idl"
26 #include "SALOMEDS.idl"
27
28 module SMESHHOMARD
29 {
30   typedef sequence<double> double_array;
31   typedef sequence<double> extrema;
32   typedef sequence<string> ListGroupType;
33   typedef sequence<string> ListBoundaryGroupType;
34   typedef sequence<string> listeBoundarys;
35
36   interface HOMARD_Boundary : SALOME::GenericObj
37   {
38     // Generalites
39     void     SetName(in string Name)         raises (SALOME::SALOME_Exception);
40     string   GetName()                       raises (SALOME::SALOME_Exception);
41
42     string   GetDumpPython()                 raises (SALOME::SALOME_Exception);
43
44     // Caracteristiques
45     void     SetType (in long Type)          raises (SALOME::SALOME_Exception);
46     long     GetType()                       raises (SALOME::SALOME_Exception);
47
48     void     SetDataFile(in string DataFile) raises (SALOME::SALOME_Exception);
49     string   GetDataFile()                   raises (SALOME::SALOME_Exception);
50
51     void     SetMeshName(in string MeshName) raises (SALOME::SALOME_Exception);
52     string   GetMeshName()                   raises (SALOME::SALOME_Exception);
53
54     void     SetCylinder (in double Xcentre, in double Ycentre, in double Zcentre,
55                           in double Xaxe, in double Yaxe, in double Zaxe, in double rayon)
56       raises (SALOME::SALOME_Exception);
57
58     void     SetSphere (in double Xcentre, in double Ycentre, in double Zcentre, in double rayon)
59       raises (SALOME::SALOME_Exception);
60
61     void     SetConeR (in double Xcentre1, in double Ycentre1, in double Zcentre1,
62                        in double Rayon1,
63                        in double Xcentre2, in double Ycentre2, in double Zcentre2,
64                        in double Rayon2) raises (SALOME::SALOME_Exception);
65
66     void     SetConeA(in double Xaxe, in double Yaxe, in double Zaxe, in double Angle,
67                       in double Xcentre, in double Ycentre, in double ZCentre)
68       raises (SALOME::SALOME_Exception);
69
70     void     SetTorus (in double Xcentre, in double Ycentre, in double Zcentre,
71                        in double Xaxe, in double Yaxe, in double Zaxe,
72                        in double rayonRev, in double rayonPri)
73       raises (SALOME::SALOME_Exception);
74
75     SMESHHOMARD::double_array GetCoords() raises (SALOME::SALOME_Exception);
76
77     void     SetLimit (in double Xincr, in double Yincr, in double Zincr)
78       raises (SALOME::SALOME_Exception);
79     SMESHHOMARD::double_array GetLimit() raises (SALOME::SALOME_Exception);
80
81     void       AddGroup(in string LeGroupe)                raises (SALOME::SALOME_Exception);
82     void       SetGroups(in ListGroupType ListGroup)       raises (SALOME::SALOME_Exception);
83     ListGroupType GetGroups()                              raises (SALOME::SALOME_Exception);
84
85     // Liens avec les autres iterations
86     void     SetCaseCreation(in string NomCas)             raises (SALOME::SALOME_Exception);
87     string   GetCaseCreation()                             raises (SALOME::SALOME_Exception);
88   };
89
90   interface HOMARD_Iteration : SALOME::GenericObj
91   {
92     // Generalites
93     void     SetName(in string Name) raises (SALOME::SALOME_Exception);
94     string   GetName()               raises (SALOME::SALOME_Exception);
95
96     // Caracteristiques
97     void     SetDirNameLoc(in string NomDir) raises (SALOME::SALOME_Exception);
98     string   GetDirNameLoc()                 raises (SALOME::SALOME_Exception);
99
100     string   GetDirName() raises (SALOME::SALOME_Exception);
101
102     void     SetNumber(in long NumIter) raises (SALOME::SALOME_Exception);
103     long     GetNumber()                raises (SALOME::SALOME_Exception);
104
105     void     SetState(in long State)                       raises (SALOME::SALOME_Exception);
106     long     GetState()                                    raises (SALOME::SALOME_Exception);
107
108     void     SetMeshName(in string NomMesh)                raises (SALOME::SALOME_Exception);
109     string   GetMeshName()                                 raises (SALOME::SALOME_Exception);
110
111     void     SetMeshFile(in string MeshFile)               raises (SALOME::SALOME_Exception);
112     string   GetMeshFile()                                 raises (SALOME::SALOME_Exception);
113
114     // Fichier des messages
115     void     SetLogFile(in string LogFile)                 raises (SALOME::SALOME_Exception);
116     string   GetLogFile()                                  raises (SALOME::SALOME_Exception);
117
118     void     SetFileInfo(in string FileInfo) raises (SALOME::SALOME_Exception);
119     string   GetFileInfo()                   raises (SALOME::SALOME_Exception);
120
121     // Liens avec les autres iterations
122     void     LinkNextIteration(in string NomIter)          raises (SALOME::SALOME_Exception);
123     void     UnLinkNextIteration(in string NomIter)        raises (SALOME::SALOME_Exception);
124
125     void     SetIterParentName(in string NomIterParent)    raises (SALOME::SALOME_Exception);
126     string   GetIterParentName()                           raises (SALOME::SALOME_Exception);
127
128     // Liens avec les autres structures
129     void     SetCaseName(in string NomCas)                 raises (SALOME::SALOME_Exception);
130     string   GetCaseName()                                 raises (SALOME::SALOME_Exception);
131
132     void     SetHypoName(in string NomHypo)                raises (SALOME::SALOME_Exception);
133
134     // Drivers
135     void     SetInfoCompute(in long MessInfo)              raises (SALOME::SALOME_Exception);
136     long     GetInfoCompute()                              raises (SALOME::SALOME_Exception);
137   };
138
139   interface HOMARD_Cas : SALOME::GenericObj
140   {
141     string GetName() raises (SALOME::SALOME_Exception);
142     string GetDumpPython() raises (SALOME::SALOME_Exception);
143
144     // Caracteristiques
145     void     SetDirName(in string NomDir) raises (SALOME::SALOME_Exception);
146     string   GetDirName()                 raises (SALOME::SALOME_Exception);
147
148     void     SetConfType(in long ConfType) raises (SALOME::SALOME_Exception);
149     long     GetConfType()                 raises (SALOME::SALOME_Exception);
150
151     void     SetBoundingBox(in extrema LesExtremes)        raises (SALOME::SALOME_Exception);
152     extrema  GetBoundingBox()                              raises (SALOME::SALOME_Exception);
153
154     void     AddGroup(in string Group)                     raises (SALOME::SALOME_Exception);
155     void     SetGroups(in ListGroupType ListGroup)         raises (SALOME::SALOME_Exception);
156     ListGroupType GetGroups()                              raises (SALOME::SALOME_Exception);
157
158     void     AddBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
159     void     AddBoundaryGroup(in string BoundaryName,
160                               in string Group) raises (SALOME::SALOME_Exception);
161     ListBoundaryGroupType GetBoundaryGroup() raises (SALOME::SALOME_Exception);
162     void SupprBoundaryGroup() raises (SALOME::SALOME_Exception);
163
164     void AddIteration (in string IterName) raises (SALOME::SALOME_Exception);
165   };
166
167   interface HOMARD_Hypothesis : SALOME::GenericObj
168   {
169     // Generalites
170     void     SetExtraOutput(in long ExtraOutput)           raises (SALOME::SALOME_Exception);
171     long     GetExtraOutput()                              raises (SALOME::SALOME_Exception);
172
173     void     LinkIteration(in string NomIteration)         raises (SALOME::SALOME_Exception);
174     void     UnLinkIteration(in string NomIteration)       raises (SALOME::SALOME_Exception);
175   };
176
177   interface HOMARD_Gen : SALOME::GenericObj
178   {
179     HOMARD_Boundary CreateBoundaryCAO (in string BoundaryName, in string FileName)
180       raises(SALOME::SALOME_Exception);
181     HOMARD_Boundary CreateBoundaryDi (in string BoundaryName, in string MeshName,
182                                       in string FileName)
183       raises(SALOME::SALOME_Exception);
184     HOMARD_Boundary CreateBoundaryCylinder (in string BoundaryName,
185                                             in double Xcentre, in double Ycentre, in double Zcentre,
186                                             in double Xaxis, in double Yaxis, in double Zaxis,
187                                             in double Radius)
188       raises (SALOME::SALOME_Exception);
189     HOMARD_Boundary CreateBoundarySphere (in string BoundaryName,
190                                           in double Xcentre, in double Ycentre, in double Zcentre,
191                                           in double Radius)
192       raises(SALOME::SALOME_Exception);
193     HOMARD_Boundary CreateBoundaryConeR (in string BoundaryName,
194                                          in double Xcentre1, in double Ycentre1, in double Zcentre1,
195                                          in double Radius1,
196                                          in double Xcentre2, in double Ycentre2, in double Zcentre2,
197                                          in double Radius2)
198       raises(SALOME::SALOME_Exception);
199     HOMARD_Boundary CreateBoundaryConeA (in string BoundaryName,
200                                          in double Xaxis, in double Yaxis, in double Zaxis,
201                                          in double Angle,
202                                          in double Xcentre, in double Ycentre, in double Zcentre)
203       raises(SALOME::SALOME_Exception);
204     HOMARD_Boundary CreateBoundaryTorus (in string BoundaryName,
205                                          in double Xcentre, in double Ycentre, in double Zcentre,
206                                          in double Xaxis, in double Yaxis, in double Zaxis,
207                                          in double RadiusRev, in double RadiusPri)
208       raises (SALOME::SALOME_Exception);
209
210     // CreateCase
211     HOMARD_Cas CreateCaseOnMesh(in string MeshName,
212                                 in SMESH::SMESH_Mesh smeshMesh,
213                                 in string theWorkingDir) raises(SALOME::SALOME_Exception);
214     HOMARD_Cas CreateCase(in string MeshName,
215                           in string FileName,
216                           in string theWorkingDir) raises(SALOME::SALOME_Exception);
217
218     // A.2. Information
219     HOMARD_Boundary  GetBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
220     HOMARD_Cas       GetCase() raises (SALOME::SALOME_Exception);
221     HOMARD_Iteration GetIteration(in long numIter) raises (SALOME::SALOME_Exception);
222     listeBoundarys   GetAllBoundarysName()  raises (SALOME::SALOME_Exception);
223
224     // B. CreateIteration
225     HOMARD_Iteration CreateIteration() raises (SALOME::SALOME_Exception);
226
227     void InvalideBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
228
229     long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
230     long DeleteCase() raises (SALOME::SALOME_Exception);
231
232     long Compute() raises (SALOME::SALOME_Exception);
233
234     string CreateDirNameIter (in string NomDir, in long num)
235       raises (SALOME::SALOME_Exception);
236
237     void PublishResultInSmesh (in string FileName, in long Option)
238       raises (SALOME::SALOME_Exception);
239
240     //  Preferences
241     void SetKeepMedOUT (in boolean theKeepMedOUT);
242     void SetPublishMeshOUT (in boolean thePublishMeshOUT);
243     void SetMeshNameOUT (in string theMeshName) raises (SALOME::SALOME_Exception);
244     void SetMeshFileOUT (in string theFileName) raises (SALOME::SALOME_Exception);
245
246     void SetVerboseLevel (in long theLevel);
247     void SetKeepWorkingFiles (in boolean theKeepWorkingFiles);
248     void SetLogInFile (in boolean theLogInFile);
249     void SetLogFile (in string theFileName) raises (SALOME::SALOME_Exception);
250     void SetRemoveLogOnSuccess (in boolean theRemoveLogOnSuccess);
251   };
252
253 }; // module SMESHHOMARD
254
255 #endif