1 // Copyright (C) 2011-2012 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.
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 __HOMARD_GEN__
21 #define __HOMARD_GEN__
23 #include "SALOME_Component.idl"
24 #include "SALOME_Exception.idl"
25 #include "SALOMEDS.idl"
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"
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;
41 interface HOMARD_Gen : Engines::EngineComponent, SALOMEDS::Driver
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.
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,
56 raises (SALOME::SALOME_Exception);
57 HOMARD_Boundary CreateBoundarySphere (in string BoundaryName,
58 in double Xcentre, in double Ycentre, in double Zcentre,
60 raises (SALOME::SALOME_Exception);
61 HOMARD_Cas CreateCase(in string CaseName, in string MeshName, in string FileName )
62 raises (SALOME::SALOME_Exception);
63 HOMARD_Hypothesis CreateHypothesis(in string HypoName )
64 raises (SALOME::SALOME_Exception);
65 HOMARD_Zone CreateZoneBox (in string ZoneName,
66 in double Xmini, in double Xmaxi,
67 in double Ymini, in double Ymaxi,
68 in double Zmini, in double Zmaxi)
69 raises (SALOME::SALOME_Exception);
70 HOMARD_Zone CreateZoneBox2D (in string ZoneName,
71 in double Umini, in double Umaxi,
72 in double Vmini, in double Vmaxi,
74 raises (SALOME::SALOME_Exception);
75 HOMARD_Zone CreateZoneCylinder (in string ZoneName,
76 in double Xcentre, in double Ycentre, in double Zcentre,
77 in double Xaxis, in double Yaxis, in double Zaxis,
78 in double Radius, in double Height)
79 raises (SALOME::SALOME_Exception);
80 HOMARD_Zone CreateZoneDisk (in string ZoneName,
81 in double Ucentre, in double Vcentre,
82 in double Radius, in long Orient)
83 raises (SALOME::SALOME_Exception);
84 HOMARD_Zone CreateZoneDiskWithHole (in string ZoneName,
85 in double Ucentre, in double Vcentre,
86 in double Radius, in double InternalRadius,
88 raises (SALOME::SALOME_Exception);
89 HOMARD_Zone CreateZonePipe (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, in double InternalRadius)
93 raises (SALOME::SALOME_Exception);
94 HOMARD_Zone CreateZoneSphere (in string ZoneName,
95 in double Xcentre, in double Ycentre, in double Zcentre,
97 raises (SALOME::SALOME_Exception);
99 // A.2. Les informations
101 HOMARD_Boundary GetBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
102 HOMARD_Cas GetCase(in string CaseName) raises (SALOME::SALOME_Exception);
103 HOMARD_Hypothesis GetHypothesis(in string HypoName) raises (SALOME::SALOME_Exception);
104 HOMARD_Iteration GetIteration(in string IterName) raises (SALOME::SALOME_Exception);
105 HOMARD_Zone GetZone(in string ZoneName) raises (SALOME::SALOME_Exception);
107 listeBoundarys GetAllBoundarysName() raises (SALOME::SALOME_Exception);
108 listeCases GetAllCasesName() raises (SALOME::SALOME_Exception);
109 listeHypotheses GetAllHypothesesName() raises (SALOME::SALOME_Exception);
110 listeIterations GetAllIterationsName() raises (SALOME::SALOME_Exception);
111 listeZones GetAllZonesName() raises (SALOME::SALOME_Exception);
113 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 )
114 raises (SALOME::SALOME_Exception);
116 HOMARD_Iteration LastIteration(in string CaseName) raises (SALOME::SALOME_Exception);
120 void SetCurrentStudy(in SALOMEDS::Study theStudy) raises (SALOME::SALOME_Exception);
121 SALOMEDS::Study GetCurrentStudy() raises (SALOME::SALOME_Exception);
122 long GetCurrentStudyID() raises (SALOME::SALOME_Exception);
124 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
125 // L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
127 HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
128 raises (SALOME::SALOME_Exception);
130 void InvalideBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
131 void InvalideHypo (in string HypoName) raises (SALOME::SALOME_Exception);
132 void InvalideIter (in string IterName) raises (SALOME::SALOME_Exception);
133 void InvalideIterOption (in string IterName, in long Option)
134 raises (SALOME::SALOME_Exception);
135 void InvalideZone (in string ZoneName) raises (SALOME::SALOME_Exception);
137 long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
138 long DeleteCase(in string CaseName) raises (SALOME::SALOME_Exception);
139 long DeleteHypo(in string HypoName) raises (SALOME::SALOME_Exception);
140 long DeleteIteration(in string IterName, in long Option)
141 raises (SALOME::SALOME_Exception);
142 long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
143 raises (SALOME::SALOME_Exception);
144 long DeleteZone (in string ZoneName) raises (SALOME::SALOME_Exception);
146 void AssociateIterHypo(in string IterName, in string HypoName)
147 raises (SALOME::SALOME_Exception);
150 void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
151 raises (SALOME::SALOME_Exception);
152 void DissociateHypoZone(in string HypoName, in string ZoneName)
153 raises (SALOME::SALOME_Exception);
155 long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option)
156 raises (SALOME::SALOME_Exception);
158 boolean VerifieDir (in string IterName) raises (SALOME::SALOME_Exception);
160 void PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
161 raises (SALOME::SALOME_Exception);
162 void PublishBoundaryUnderCase(in string CaseName, in string BoundaryName);
163 void PublishResultInSmesh(in string FileName, in long Option)
164 raises (SALOME::SALOME_Exception);