1 // Copyright (C) 2011-2021 CEA/DEN, EDF R&D
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef _SMESH_HOMARD_IDL
21 #define _SMESH_HOMARD_IDL
23 #include "SALOME_Component.idl"
24 #include "SALOME_Exception.idl"
25 #include "SALOMEDS.idl"
29 typedef sequence<double> double_array;
30 typedef sequence<double> extrema;
31 typedef sequence<string> ListGroupType;
32 typedef sequence<string> ListBoundaryGroupType;
33 typedef sequence<string> listeIterFilles;
34 typedef sequence<string> listeFieldInterpsIter;
35 typedef sequence<string> listeFieldInterpTSRsIter;
36 typedef sequence<string> listeFieldInterpsHypo;
37 typedef sequence<string> listeIters;
38 typedef sequence<string> listeComposantsHypo;
39 typedef sequence<long> listeTypes;
41 typedef sequence<string> listeHypotheses;
42 typedef sequence<string> listeIterations;
43 typedef sequence<string> listeCases;
44 typedef sequence<string> listeBoundarys;
57 interface HOMARD_Boundary : Engines::EngineComponent
60 void SetName(in string Name) raises (SALOME::SALOME_Exception);
61 string GetName() raises (SALOME::SALOME_Exception);
63 long Delete() raises (SALOME::SALOME_Exception);
65 string GetDumpPython() raises (SALOME::SALOME_Exception);
68 void SetType (in long Type) raises (SALOME::SALOME_Exception);
69 long GetType() raises (SALOME::SALOME_Exception);
71 void SetDataFile(in string DataFile) raises (SALOME::SALOME_Exception);
72 string GetDataFile() raises (SALOME::SALOME_Exception);
74 void SetMeshName(in string MeshName) raises (SALOME::SALOME_Exception);
75 string GetMeshName() raises (SALOME::SALOME_Exception);
77 void SetCylinder (in double Xcentre, in double Ycentre, in double Zcentre,
78 in double Xaxe, in double Yaxe, in double Zaxe, in double rayon)
79 raises (SALOME::SALOME_Exception);
81 void SetSphere (in double Xcentre, in double Ycentre, in double Zcentre, in double rayon)
82 raises (SALOME::SALOME_Exception);
84 void SetConeR (in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Rayon1,
85 in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Rayon2)
86 raises (SALOME::SALOME_Exception);
88 void SetConeA(in double Xaxe,in double Yaxe,in double Zaxe,in double Angle,
89 in double Xcentre,in double Ycentre,in double ZCentre)
90 raises (SALOME::SALOME_Exception);
92 void SetTorus (in double Xcentre, in double Ycentre, in double Zcentre,
93 in double Xaxe, in double Yaxe, in double Zaxe,
94 in double rayonRev, in double rayonPri)
95 raises (SALOME::SALOME_Exception);
98 SMESHHOMARD::double_array GetCoords() raises (SALOME::SALOME_Exception);
100 void SetLimit (in double Xincr, in double Yincr, in double Zincr)
101 raises (SALOME::SALOME_Exception);
102 SMESHHOMARD::double_array GetLimit() raises (SALOME::SALOME_Exception);
104 void AddGroup(in string LeGroupe) raises (SALOME::SALOME_Exception);
105 void SetGroups(in ListGroupType ListGroup) raises (SALOME::SALOME_Exception);
106 ListGroupType GetGroups() raises (SALOME::SALOME_Exception);
108 // Liens avec les autres iterations
109 void SetCaseCreation(in string NomCas) raises (SALOME::SALOME_Exception);
110 string GetCaseCreation() raises (SALOME::SALOME_Exception);
114 interface HOMARD_Iteration : Engines::EngineComponent
117 void SetName(in string Name) raises (SALOME::SALOME_Exception);
118 string GetName() raises (SALOME::SALOME_Exception);
120 long Delete(in long Option,
121 in boolean doRemoveWorkingFiles) raises (SALOME::SALOME_Exception);
123 string GetDumpPython() raises (SALOME::SALOME_Exception);
126 void SetDirNameLoc(in string NomDir) raises (SALOME::SALOME_Exception);
127 string GetDirNameLoc() raises (SALOME::SALOME_Exception);
129 string GetDirName() raises (SALOME::SALOME_Exception);
131 void SetNumber(in long NumIter) raises (SALOME::SALOME_Exception);
132 long GetNumber() raises (SALOME::SALOME_Exception);
134 void SetState(in long State) raises (SALOME::SALOME_Exception);
135 long GetState() raises (SALOME::SALOME_Exception);
137 void SetMeshName(in string NomMesh) raises (SALOME::SALOME_Exception);
138 string GetMeshName() raises (SALOME::SALOME_Exception);
140 void SetMeshFile(in string MeshFile) raises (SALOME::SALOME_Exception);
141 string GetMeshFile() raises (SALOME::SALOME_Exception);
143 void SetFieldFile(in string FieldFile) raises (SALOME::SALOME_Exception);
144 string GetFieldFile() raises (SALOME::SALOME_Exception);
146 // Instants pour le champ de pilotage
147 void SetTimeStep(in long TimeStep) raises (SALOME::SALOME_Exception);
148 void SetTimeStepRank(in long TimeStep, in long Rank)
149 raises (SALOME::SALOME_Exception);
150 void SetTimeStepRankLast() raises (SALOME::SALOME_Exception);
151 long GetTimeStep() raises (SALOME::SALOME_Exception);
152 long GetRank() raises (SALOME::SALOME_Exception);
154 // Instants pour un champ a interpoler
155 void SetFieldInterpTimeStep(in string FieldInterp, in long TimeStep)
156 raises (SALOME::SALOME_Exception);
157 void SetFieldInterpTimeStepRank(in string FieldInterp, in long TimeStep, in long Rank)
158 raises (SALOME::SALOME_Exception);
159 listeFieldInterpTSRsIter GetFieldInterpsTimeStepRank() raises (SALOME::SALOME_Exception);
160 void SetFieldInterp(in string FieldInterp) raises (SALOME::SALOME_Exception);
161 listeFieldInterpsIter GetFieldInterps() raises (SALOME::SALOME_Exception);
162 void SupprFieldInterps() raises (SALOME::SALOME_Exception);
164 // Fichier des messages
165 void SetLogFile(in string LogFile) raises (SALOME::SALOME_Exception);
166 string GetLogFile() raises (SALOME::SALOME_Exception);
168 long Compute(in long etatMenage, in long Option) raises (SALOME::SALOME_Exception);
170 void MeshInfo(in long Qual, in long Diam, in long Conn, in long Tail, in long Inte)
171 raises (SALOME::SALOME_Exception);
172 void MeshInfoOption(in long Qual, in long Diam, in long Conn, in long Tail, in long Inte, in long Option)
173 raises (SALOME::SALOME_Exception);
175 void SetFileInfo(in string FileInfo) raises (SALOME::SALOME_Exception);
176 string GetFileInfo() raises (SALOME::SALOME_Exception);
178 // Liens avec les autres iterations
179 HOMARD_Iteration NextIteration(in string NomIter) raises (SALOME::SALOME_Exception);
181 void LinkNextIteration(in string NomIter) raises (SALOME::SALOME_Exception);
182 void UnLinkNextIteration(in string NomIter) raises (SALOME::SALOME_Exception);
183 listeIterFilles GetIterations() raises (SALOME::SALOME_Exception);
185 void SetIterParentName(in string NomIterParent) raises (SALOME::SALOME_Exception);
186 string GetIterParentName() raises (SALOME::SALOME_Exception);
187 HOMARD_Iteration GetIterParent() raises (SALOME::SALOME_Exception);
189 // Liens avec les autres structures
190 void SetCaseName(in string NomCas) raises (SALOME::SALOME_Exception);
191 string GetCaseName() raises (SALOME::SALOME_Exception);
193 void AssociateHypo(in string NomHypo) raises (SALOME::SALOME_Exception);
194 void SetHypoName(in string NomHypo) raises (SALOME::SALOME_Exception);
195 string GetHypoName() raises (SALOME::SALOME_Exception);
198 void SetInfoCompute(in long MessInfo) raises (SALOME::SALOME_Exception);
199 long GetInfoCompute() raises (SALOME::SALOME_Exception);
202 interface HOMARD_Cas : Engines::EngineComponent
205 void SetName(in string Name) raises (SALOME::SALOME_Exception);
206 string GetName() raises (SALOME::SALOME_Exception);
208 long Delete(in long Option) raises (SALOME::SALOME_Exception);
210 string GetDumpPython() raises (SALOME::SALOME_Exception);
213 void SetDirName(in string NomDir) raises (SALOME::SALOME_Exception);
214 string GetDirName() raises (SALOME::SALOME_Exception);
216 long GetState() raises (SALOME::SALOME_Exception);
218 long GetNumberofIter() raises (SALOME::SALOME_Exception);
220 void SetConfType(in long ConfType) raises (SALOME::SALOME_Exception);
221 long GetConfType() raises (SALOME::SALOME_Exception);
223 void SetExtType(in long ExtType) raises (SALOME::SALOME_Exception);
224 long GetExtType() raises (SALOME::SALOME_Exception);
226 void SetBoundingBox(in extrema LesExtremes) raises (SALOME::SALOME_Exception);
227 extrema GetBoundingBox() raises (SALOME::SALOME_Exception);
229 void AddGroup(in string Group) raises (SALOME::SALOME_Exception);
230 void SetGroups(in ListGroupType ListGroup) raises (SALOME::SALOME_Exception);
231 ListGroupType GetGroups() raises (SALOME::SALOME_Exception);
233 void AddBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
234 void AddBoundaryGroup(in string BoundaryName, in string Group)
235 raises (SALOME::SALOME_Exception);
236 ListBoundaryGroupType GetBoundaryGroup() raises (SALOME::SALOME_Exception);
237 void SupprBoundaryGroup() raises (SALOME::SALOME_Exception);
239 void SetPyram(in long Pyram) raises (SALOME::SALOME_Exception);
240 long GetPyram() raises (SALOME::SALOME_Exception);
242 void MeshInfo(in long Qual, in long Diam, in long Conn, in long Tail, in long Inte)
243 raises (SALOME::SALOME_Exception);
245 // Liens avec les autres structures
246 string GetIter0Name () raises (SALOME::SALOME_Exception);
247 HOMARD_Iteration GetIter0 () raises (SALOME::SALOME_Exception);
249 HOMARD_Iteration NextIteration(in string IterName) raises (SALOME::SALOME_Exception);
251 HOMARD_Iteration LastIteration() raises (SALOME::SALOME_Exception);
253 void AddIteration (in string IterName) raises (SALOME::SALOME_Exception);
256 interface HOMARD_Hypothesis : Engines::EngineComponent
259 void SetName(in string Name) raises (SALOME::SALOME_Exception);
260 string GetName() raises (SALOME::SALOME_Exception);
262 long Delete() raises (SALOME::SALOME_Exception);
264 string GetDumpPython() raises (SALOME::SALOME_Exception);
267 void SetUnifRefinUnRef(in long RaffDera) raises (SALOME::SALOME_Exception);
268 listeTypes GetAdapRefinUnRef() raises (SALOME::SALOME_Exception);
269 long GetAdapType() raises (SALOME::SALOME_Exception);
270 long GetRefinType() raises (SALOME::SALOME_Exception);
271 long GetUnRefType() raises (SALOME::SALOME_Exception);
273 void SetField(in string FieldName) raises (SALOME::SALOME_Exception);
274 string GetFieldName() raises (SALOME::SALOME_Exception);
275 void SetUseField(in long UsField) raises (SALOME::SALOME_Exception);
276 InfosHypo GetField() raises (SALOME::SALOME_Exception);
278 void SetUseComp(in long UsCmpI) raises (SALOME::SALOME_Exception);
279 void AddComp(in string NomComp) raises (SALOME::SALOME_Exception);
280 void SupprComp(in string NomComp) raises (SALOME::SALOME_Exception);
281 void SupprComps() raises (SALOME::SALOME_Exception);
282 listeComposantsHypo GetComps() raises (SALOME::SALOME_Exception);
284 void SetRefinThr(in long TypeThR, in double ThreshR) raises (SALOME::SALOME_Exception);
285 long GetRefinThrType() raises (SALOME::SALOME_Exception);
286 void SetUnRefThr(in long TypeThC, in double ThreshC) raises (SALOME::SALOME_Exception);
287 long GetUnRefThrType() raises (SALOME::SALOME_Exception);
289 void SetNivMax(in long NivMax) raises (SALOME::SALOME_Exception);
290 long GetNivMax() raises (SALOME::SALOME_Exception);
292 void SetDiamMin(in double DiamMin) raises (SALOME::SALOME_Exception);
293 double GetDiamMin() raises (SALOME::SALOME_Exception);
295 void SetAdapInit(in long AdapInit) raises (SALOME::SALOME_Exception);
296 long GetAdapInit() raises (SALOME::SALOME_Exception);
298 void SetExtraOutput(in long ExtraOutput) raises (SALOME::SALOME_Exception);
299 long GetExtraOutput() raises (SALOME::SALOME_Exception);
301 void AddGroup(in string LeGroupe) raises (SALOME::SALOME_Exception);
302 void SupprGroup(in string LeGroupe) raises (SALOME::SALOME_Exception);
303 void SupprGroups() raises (SALOME::SALOME_Exception);
304 void SetGroups(in ListGroupType ListGroup) raises (SALOME::SALOME_Exception);
305 ListGroupType GetGroups() raises (SALOME::SALOME_Exception);
307 void SetTypeFieldInterp(in long TypeFieldInterp) raises (SALOME::SALOME_Exception);
308 long GetTypeFieldInterp() raises (SALOME::SALOME_Exception);
309 void AddFieldInterp(in string FieldInterp) raises (SALOME::SALOME_Exception);
310 void AddFieldInterpType(in string FieldInterp, in long TypeInterp)
311 raises (SALOME::SALOME_Exception);
312 void SupprFieldInterp(in string FieldInterp) raises (SALOME::SALOME_Exception);
313 void SupprFieldInterps() raises (SALOME::SALOME_Exception);
314 listeFieldInterpsHypo GetFieldInterps() raises (SALOME::SALOME_Exception);
316 // Liens avec les autres structures
317 void SetCaseCreation(in string NomCas) raises (SALOME::SALOME_Exception);
318 string GetCaseCreation() raises (SALOME::SALOME_Exception);
320 void LinkIteration(in string NomIteration) raises (SALOME::SALOME_Exception);
321 void UnLinkIteration(in string NomIteration) raises (SALOME::SALOME_Exception);
322 listeIters GetIterations() raises (SALOME::SALOME_Exception);
325 interface HOMARD_Gen : SALOME::GenericObj
330 HOMARD_Boundary CreateBoundaryCAO (in string BoundaryName, in string FileName)
331 raises(SALOME::SALOME_Exception);
332 HOMARD_Boundary CreateBoundaryDi (in string BoundaryName, in string MeshName, in string FileName)
333 raises(SALOME::SALOME_Exception);
334 HOMARD_Boundary CreateBoundaryCylinder (in string BoundaryName,
335 in double Xcentre, in double Ycentre, in double Zcentre,
336 in double Xaxis, in double Yaxis, in double Zaxis,
338 raises (SALOME::SALOME_Exception);
339 HOMARD_Boundary CreateBoundarySphere (in string BoundaryName,
340 in double Xcentre, in double Ycentre, in double Zcentre,
342 raises(SALOME::SALOME_Exception);
343 HOMARD_Boundary CreateBoundaryConeR (in string BoundaryName,
344 in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Radius1,
345 in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Radius2)
346 raises(SALOME::SALOME_Exception);
347 HOMARD_Boundary CreateBoundaryConeA (in string BoundaryName,
348 in double Xaxis, in double Yaxis, in double Zaxis, in double Angle,
349 in double Xcentre, in double Ycentre, in double Zcentre)
350 raises(SALOME::SALOME_Exception);
351 HOMARD_Boundary CreateBoundaryTorus (in string BoundaryName,
352 in double Xcentre, in double Ycentre, in double Zcentre,
353 in double Xaxis, in double Yaxis, in double Zaxis,
354 in double RadiusRev, in double RadiusPri)
355 raises (SALOME::SALOME_Exception);
356 HOMARD_Cas CreateCase(in string CaseName, in string MeshName, in string FileName )
357 raises(SALOME::SALOME_Exception);
358 HOMARD_Hypothesis CreateHypothesis(in string HypoName )
359 raises(SALOME::SALOME_Exception);
362 // A.2. Les informations
364 HOMARD_Boundary GetBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
365 HOMARD_Cas GetCase(in string CaseName) raises (SALOME::SALOME_Exception);
366 HOMARD_Hypothesis GetHypothesis(in string HypoName) raises (SALOME::SALOME_Exception);
367 HOMARD_Iteration GetIteration(in string IterName) raises (SALOME::SALOME_Exception);
369 listeBoundarys GetAllBoundarysName() raises (SALOME::SALOME_Exception);
370 listeCases GetAllCasesName() raises (SALOME::SALOME_Exception);
371 listeHypotheses GetAllHypothesesName() raises (SALOME::SALOME_Exception);
372 listeIterations GetAllIterationsName() raises (SALOME::SALOME_Exception);
374 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 )
375 raises(SALOME::SALOME_Exception);
377 HOMARD_Iteration LastIteration(in string CaseName) raises (SALOME::SALOME_Exception);
379 // A.4. Les caracteristiques generales
381 void SetLanguageShort (in string LanguageShort) raises (SALOME::SALOME_Exception);
382 string GetLanguageShort () raises (SALOME::SALOME_Exception);
384 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
385 // L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
387 HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
388 raises(SALOME::SALOME_Exception);
390 void InvalideBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
391 void InvalideHypo (in string HypoName) raises (SALOME::SALOME_Exception);
392 void InvalideIter (in string IterName) raises (SALOME::SALOME_Exception);
393 void InvalideIterOption (in string IterName, in long Option,
394 in boolean doRemoveWorkingFiles) raises(SALOME::SALOME_Exception);
396 long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
397 long DeleteCase(in string CaseName, in long Option) raises(SALOME::SALOME_Exception);
398 long DeleteHypo(in string HypoName) raises (SALOME::SALOME_Exception);
399 long DeleteIteration(in string IterName, in long Option,
400 in boolean doRemoveWorkingFiles) raises(SALOME::SALOME_Exception);
401 long DeleteIterationOption(in string IterName,
402 in long Option1, in long Option2,
403 in boolean doRemoveWorkingFiles) raises(SALOME::SALOME_Exception);
405 void AssociateIterHypo(in string IterName, in string HypoName)
406 raises(SALOME::SALOME_Exception);
408 long Compute (in string IterName, in long CleanOption, in long modeHOMARD,
409 in long Option1, in long Option2)
410 raises(SALOME::SALOME_Exception);
412 string CreateDirNameIter(in string NomDir, in long option )
413 raises(SALOME::SALOME_Exception);
414 string VerifieDir (in string NomDir) raises (SALOME::SALOME_Exception);
416 void PublishResultInSmesh(in string FileName, in long Option)
417 raises(SALOME::SALOME_Exception);
418 void PublishMeshIterInSmesh (in string IterName) raises(SALOME::SALOME_Exception);
422 void SetPublisMesh (in long PublisMeshIN, in long PublisMeshOUT)
423 raises (SALOME::SALOME_Exception);
424 long GetPublisMeshIN () raises (SALOME::SALOME_Exception);
425 long GetPublisMeshOUT () raises (SALOME::SALOME_Exception);
428 }; // module SMESHHOMARD