Salome HOME
5780c4289eea042eea8c654d0b8c0d116ca02381
[modules/homard.git] / idl / HOMARD_Gen.idl
1 // Copyright (C) 2011-2012  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 //
48 // A.1. Les creations
49 //
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,
55                                       in double Radius)
56                                                            raises (SALOME::SALOME_Exception);
57     HOMARD_Boundary   CreateBoundarySphere (in string BoundaryName,
58                                       in double Xcentre, in double Ycentre, in double Zcentre,
59                                       in double Radius)
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,
73                                        in long Orient)
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,
87                                               in long Orient)
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,
96                                         in double Radius)
97                                                            raises (SALOME::SALOME_Exception);
98 //
99 // A.2. Les informations
100 //
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);
106
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);
112
113     HOMARD_Iteration LastIteration(in string CaseName)     raises (SALOME::SALOME_Exception);
114 //
115 // A.3. L'etude
116 //
117     void     SetCurrentStudy(in SALOMEDS::Study theStudy)  raises (SALOME::SALOME_Exception);
118     SALOMEDS::Study GetCurrentStudy()                      raises (SALOME::SALOME_Exception);
119     long     GetCurrentStudyID()                           raises (SALOME::SALOME_Exception);
120 //
121 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
122 //    L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
123 //
124     HOMARD_Iteration  CreateIteration(in string IterName, in string PreviousIterName )
125                                                            raises (SALOME::SALOME_Exception);
126 //
127     void InvalideBoundary (in string BoundaryName)         raises (SALOME::SALOME_Exception);
128     void InvalideHypo (in string HypoName)                 raises (SALOME::SALOME_Exception);
129     void InvalideIter (in string IterName)                 raises (SALOME::SALOME_Exception);
130     void InvalideZone (in string ZoneName)                 raises (SALOME::SALOME_Exception);
131
132     long DeleteBoundary (in string BoundaryName)           raises (SALOME::SALOME_Exception);
133     long DeleteCase(in string CaseName)                    raises (SALOME::SALOME_Exception);
134     long DeleteHypo(in string HypoName)                    raises (SALOME::SALOME_Exception);
135     long DeleteIteration(in string IterName)               raises (SALOME::SALOME_Exception);
136     long DeleteIterationOption(in string IterName, in long Option)
137                                                            raises (SALOME::SALOME_Exception);
138     long DeleteZone (in string ZoneName)                   raises (SALOME::SALOME_Exception);
139 //
140     void AssociateIterHypo(in string IterName, in string HypoName)
141                                                            raises (SALOME::SALOME_Exception);
142
143 //
144     void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
145                                                            raises (SALOME::SALOME_Exception);
146     void DissociateHypoZone(in string HypoName, in string ZoneName)
147                                                            raises (SALOME::SALOME_Exception);
148
149     long Compute (in string IterName, in long CleanOption) raises (SALOME::SALOME_Exception);
150
151     boolean  VerifieDir (in string IterName)               raises (SALOME::SALOME_Exception);
152
153     void  PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
154                                                            raises (SALOME::SALOME_Exception);
155     void  PublishBoundaryUnderCase(in string CaseName, in string BoundaryName);
156     void  PublishResultInSmesh(in string FileName, in long IconeType)
157                                                            raises (SALOME::SALOME_Exception);
158
159   };
160 };
161
162 #endif
163