]> SALOME platform Git repositories - modules/homard.git/blob - idl/HOMARD_Gen.idl
Salome HOME
Création automatique de schémas YACS à partir d'un cas
[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 //    ATTENTION : si les noms des arguments changent dans les Createxxxx, il faudra les changer
48 //                dans YACSDriver pour assurer la coherence
49 //
50 // A.1. Les creations
51 //
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,
57                                       in double Radius)
58                                                            raises (SALOME::SALOME_Exception);
59     HOMARD_Boundary   CreateBoundarySphere (in string BoundaryName,
60                                       in double Xcentre, in double Ycentre, in double Zcentre,
61                                       in double Radius)
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,
89                                        in long Orient)
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,
103                                               in long Orient)
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,
112                                         in double Radius)
113                                                            raises (SALOME::SALOME_Exception);
114 //
115 // A.2. Les informations
116 //
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);
122
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);
128
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);
131
132     HOMARD_Iteration LastIteration(in string CaseName)     raises (SALOME::SALOME_Exception);
133 //
134 // A.3. L'etude
135 //
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);
139 //
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)
142 //
143     HOMARD_Iteration  CreateIteration(in string IterName, in string PreviousIterName )
144                                                            raises (SALOME::SALOME_Exception);
145 //
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);
152
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);
162 //
163     void AssociateIterHypo(in string IterName, in string HypoName)
164                                                            raises (SALOME::SALOME_Exception);
165
166 //
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);
171
172     long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
173                                                            raises (SALOME::SALOME_Exception);
174
175 //
176     string CreateDirNameIter(in string NomDir, in long option )
177                                                            raises (SALOME::SALOME_Exception);
178
179     boolean VerifieDir (in string IterName)                raises (SALOME::SALOME_Exception);
180
181 //
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);
187
188 //
189     long   WriteYACSSchema(in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
190                                                            raises (SALOME::SALOME_Exception);
191
192   };
193 };
194
195 #endif
196