1 // Copyright (C) 2011-2013 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.
47 // ATTENTION : si les noms des arguments changent dans les Createxxxx, il faudra les changer
48 // dans YACSDriver pour assurer la coherence
52 HOMARD_Boundary CreateBoundaryDi (in string BoundaryName, in string MeshName, in string FileName)
53 raises (SALOME::SALOME_Exception);
54 HOMARD_Boundary CreateBoundaryCylinder (in string BoundaryName,
55 in double Xcentre, in double Ycentre, in double Zcentre,
56 in double Xaxis, in double Yaxis, in double Zaxis,
58 raises (SALOME::SALOME_Exception);
59 HOMARD_Boundary CreateBoundarySphere (in string BoundaryName,
60 in double Xcentre, in double Ycentre, in double Zcentre,
62 raises (SALOME::SALOME_Exception);
63 HOMARD_Boundary CreateBoundaryConeR (in string BoundaryName,
64 in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Radius1,
65 in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Radius2)
66 raises (SALOME::SALOME_Exception);
67 HOMARD_Boundary CreateBoundaryConeA (in string BoundaryName,
68 in double Xaxis, in double Yaxis, in double Zaxis, in double Angle,
69 in double Xcentre, in double Ycentre, in double Zcentre)
70 raises (SALOME::SALOME_Exception);
71 HOMARD_Cas CreateCase(in string CaseName, in string MeshName, in string FileName )
72 raises (SALOME::SALOME_Exception);
73 HOMARD_Cas CreateCaseFromIteration(in string CaseName, in string DirNameStart )
74 raises (SALOME::SALOME_Exception);
75 HOMARD_Cas CreateCaseFromCaseLastIteration(in string CaseName, in string DirNameStart )
76 raises (SALOME::SALOME_Exception);
77 HOMARD_Cas CreateCaseFromCaseIteration(in string CaseName, in string DirNameStart, in long Number )
78 raises (SALOME::SALOME_Exception);
79 HOMARD_Hypothesis CreateHypothesis(in string HypoName )
80 raises (SALOME::SALOME_Exception);
81 HOMARD_Zone CreateZoneBox (in string ZoneName,
82 in double Xmini, in double Xmaxi,
83 in double Ymini, in double Ymaxi,
84 in double Zmini, in double Zmaxi)
85 raises (SALOME::SALOME_Exception);
86 HOMARD_Zone CreateZoneBox2D (in string ZoneName,
87 in double Umini, in double Umaxi,
88 in double Vmini, in double Vmaxi,
90 raises (SALOME::SALOME_Exception);
91 HOMARD_Zone CreateZoneCylinder (in string ZoneName,
92 in double Xcentre, in double Ycentre, in double Zcentre,
93 in double Xaxis, in double Yaxis, in double Zaxis,
94 in double Radius, in double Height)
95 raises (SALOME::SALOME_Exception);
96 HOMARD_Zone CreateZoneDisk (in string ZoneName,
97 in double Ucentre, in double Vcentre,
98 in double Radius, in long Orient)
99 raises (SALOME::SALOME_Exception);
100 HOMARD_Zone CreateZoneDiskWithHole (in string ZoneName,
101 in double Ucentre, in double Vcentre,
102 in double Radius, in double InternalRadius,
104 raises (SALOME::SALOME_Exception);
105 HOMARD_Zone CreateZonePipe (in string ZoneName,
106 in double Xcentre, in double Ycentre, in double Zcentre,
107 in double Xaxis, in double Yaxis, in double Zaxis,
108 in double Radius, in double Height, in double InternalRadius)
109 raises (SALOME::SALOME_Exception);
110 HOMARD_Zone CreateZoneSphere (in string ZoneName,
111 in double Xcentre, in double Ycentre, in double Zcentre,
113 raises (SALOME::SALOME_Exception);
115 // A.2. Les informations
117 HOMARD_Boundary GetBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
118 HOMARD_Cas GetCase(in string CaseName) raises (SALOME::SALOME_Exception);
119 HOMARD_Hypothesis GetHypothesis(in string HypoName) raises (SALOME::SALOME_Exception);
120 HOMARD_Iteration GetIteration(in string IterName) raises (SALOME::SALOME_Exception);
121 HOMARD_Zone GetZone(in string ZoneName) raises (SALOME::SALOME_Exception);
123 listeBoundarys GetAllBoundarysName() raises (SALOME::SALOME_Exception);
124 listeCases GetAllCasesName() raises (SALOME::SALOME_Exception);
125 listeHypotheses GetAllHypothesesName() raises (SALOME::SALOME_Exception);
126 listeIterations GetAllIterationsName() raises (SALOME::SALOME_Exception);
127 listeZones GetAllZonesName() raises (SALOME::SALOME_Exception);
129 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 )
130 raises (SALOME::SALOME_Exception);
132 HOMARD_Iteration LastIteration(in string CaseName) raises (SALOME::SALOME_Exception);
136 void SetCurrentStudy(in SALOMEDS::Study theStudy) raises (SALOME::SALOME_Exception);
137 SALOMEDS::Study GetCurrentStudy() raises (SALOME::SALOME_Exception);
138 long GetCurrentStudyID() raises (SALOME::SALOME_Exception);
140 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
141 // L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
143 HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
144 raises (SALOME::SALOME_Exception);
146 void InvalideBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
147 void InvalideHypo (in string HypoName) raises (SALOME::SALOME_Exception);
148 void InvalideIter (in string IterName) raises (SALOME::SALOME_Exception);
149 void InvalideIterOption (in string IterName, in long Option)
150 raises (SALOME::SALOME_Exception);
151 void InvalideZone (in string ZoneName) raises (SALOME::SALOME_Exception);
153 long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
154 long DeleteCase(in string CaseName, in long Option)
155 raises (SALOME::SALOME_Exception);
156 long DeleteHypo(in string HypoName) raises (SALOME::SALOME_Exception);
157 long DeleteIteration(in string IterName, in long Option)
158 raises (SALOME::SALOME_Exception);
159 long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
160 raises (SALOME::SALOME_Exception);
161 long DeleteZone (in string ZoneName) raises (SALOME::SALOME_Exception);
163 void AssociateIterHypo(in string IterName, in string HypoName)
164 raises (SALOME::SALOME_Exception);
167 void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
168 raises (SALOME::SALOME_Exception);
169 void DissociateHypoZone(in string HypoName, in string ZoneName)
170 raises (SALOME::SALOME_Exception);
172 long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
173 raises (SALOME::SALOME_Exception);
176 string CreateDirNameIter(in string NomDir, in long option )
177 raises (SALOME::SALOME_Exception);
179 boolean VerifieDir (in string IterName) raises (SALOME::SALOME_Exception);
182 void PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
183 raises (SALOME::SALOME_Exception);
184 void PublishBoundaryUnderCase(in string CaseName, in string BoundaryName);
185 void PublishResultInSmesh(in string FileName, in long Option)
186 raises (SALOME::SALOME_Exception);
189 long WriteYACSSchema(in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
190 raises (SALOME::SALOME_Exception);