Salome HOME
Update of CheckDone
[modules/smesh.git] / idl / SMESH_Homard.idl
1 // Copyright (C) 2011-2022  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, or (at your option) any later version.
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 _SMESH_HOMARD_IDL
21 #define _SMESH_HOMARD_IDL
22
23 #include "SMESH_Mesh.idl"
24
25 #include "SALOME_Exception.idl"
26 #include "SALOMEDS.idl"
27
28 module SMESHHOMARD
29 {
30   typedef sequence<double> double_array;
31   typedef sequence<double> extrema;
32   typedef sequence<string> ListGroupType;
33   typedef sequence<string> ListBoundaryGroupType;
34   typedef sequence<string> listeBoundarys;
35
36   interface HOMARD_Boundary : SALOME::GenericObj
37   {
38     // Generalites
39     void     SetName(in string Name)         raises (SALOME::SALOME_Exception);
40     string   GetName()                       raises (SALOME::SALOME_Exception);
41
42     // Caracteristiques
43     void     SetType (in long Type)          raises (SALOME::SALOME_Exception);
44     long     GetType()                       raises (SALOME::SALOME_Exception);
45
46     void     SetDataFile(in string DataFile) raises (SALOME::SALOME_Exception);
47     string   GetDataFile()                   raises (SALOME::SALOME_Exception);
48
49     void     SetMeshName(in string MeshName) raises (SALOME::SALOME_Exception);
50     string   GetMeshName()                   raises (SALOME::SALOME_Exception);
51
52     void     SetCylinder (in double Xcentre, in double Ycentre, in double Zcentre,
53                           in double Xaxe, in double Yaxe, in double Zaxe, in double rayon)
54       raises (SALOME::SALOME_Exception);
55
56     void     SetSphere (in double Xcentre, in double Ycentre, in double Zcentre, in double rayon)
57       raises (SALOME::SALOME_Exception);
58
59     void     SetConeR (in double Xcentre1, in double Ycentre1, in double Zcentre1,
60                        in double Rayon1,
61                        in double Xcentre2, in double Ycentre2, in double Zcentre2,
62                        in double Rayon2) raises (SALOME::SALOME_Exception);
63
64     void     SetConeA(in double Xaxe, in double Yaxe, in double Zaxe, in double Angle,
65                       in double Xcentre, in double Ycentre, in double ZCentre)
66       raises (SALOME::SALOME_Exception);
67
68     void     SetTorus (in double Xcentre, in double Ycentre, in double Zcentre,
69                        in double Xaxe, in double Yaxe, in double Zaxe,
70                        in double rayonRev, in double rayonPri)
71       raises (SALOME::SALOME_Exception);
72
73     SMESHHOMARD::double_array GetCoords() raises (SALOME::SALOME_Exception);
74
75     void     SetLimit (in double Xincr, in double Yincr, in double Zincr)
76       raises (SALOME::SALOME_Exception);
77     SMESHHOMARD::double_array GetLimit() raises (SALOME::SALOME_Exception);
78
79     void       AddGroup(in string LeGroupe)                raises (SALOME::SALOME_Exception);
80     void       SetGroups(in ListGroupType ListGroup)       raises (SALOME::SALOME_Exception);
81     ListGroupType GetGroups()                              raises (SALOME::SALOME_Exception);
82
83     string   GetDumpPython()                 raises (SALOME::SALOME_Exception);
84   };
85
86   interface HOMARD_Cas : SALOME::GenericObj
87   {
88     void     SetDirName(in string NomDir) raises (SALOME::SALOME_Exception);
89     string   GetDirName()                 raises (SALOME::SALOME_Exception);
90
91     void     SetBoundingBox(in extrema LesExtremes)        raises (SALOME::SALOME_Exception);
92     extrema  GetBoundingBox()                              raises (SALOME::SALOME_Exception);
93
94     void     AddGroup(in string Group)                     raises (SALOME::SALOME_Exception);
95     void     SetGroups(in ListGroupType ListGroup)         raises (SALOME::SALOME_Exception);
96     ListGroupType GetGroups()                              raises (SALOME::SALOME_Exception);
97
98     void     AddBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
99     void     AddBoundaryGroup(in string BoundaryName,
100                               in string Group) raises (SALOME::SALOME_Exception);
101     ListBoundaryGroupType GetBoundaryGroup() raises (SALOME::SALOME_Exception);
102     void SupprBoundaryGroup() raises (SALOME::SALOME_Exception);
103
104     string GetDumpPython() raises (SALOME::SALOME_Exception);
105   };
106
107   interface HOMARD_Gen : SALOME::GenericObj
108   {
109     // Create boundaries
110     HOMARD_Boundary CreateBoundaryCAO (in string BoundaryName, in string FileName)
111       raises(SALOME::SALOME_Exception);
112     HOMARD_Boundary CreateBoundaryDi (in string BoundaryName, in string MeshName,
113                                       in string FileName)
114       raises(SALOME::SALOME_Exception);
115     HOMARD_Boundary CreateBoundaryCylinder (in string BoundaryName,
116                                             in double Xcentre, in double Ycentre, in double Zcentre,
117                                             in double Xaxis, in double Yaxis, in double Zaxis,
118                                             in double Radius)
119       raises (SALOME::SALOME_Exception);
120     HOMARD_Boundary CreateBoundarySphere (in string BoundaryName,
121                                           in double Xcentre, in double Ycentre, in double Zcentre,
122                                           in double Radius)
123       raises(SALOME::SALOME_Exception);
124     HOMARD_Boundary CreateBoundaryConeR (in string BoundaryName,
125                                          in double Xcentre1, in double Ycentre1, in double Zcentre1,
126                                          in double Radius1,
127                                          in double Xcentre2, in double Ycentre2, in double Zcentre2,
128                                          in double Radius2)
129       raises(SALOME::SALOME_Exception);
130     HOMARD_Boundary CreateBoundaryConeA (in string BoundaryName,
131                                          in double Xaxis, in double Yaxis, in double Zaxis,
132                                          in double Angle,
133                                          in double Xcentre, in double Ycentre, in double Zcentre)
134       raises(SALOME::SALOME_Exception);
135     HOMARD_Boundary CreateBoundaryTorus (in string BoundaryName,
136                                          in double Xcentre, in double Ycentre, in double Zcentre,
137                                          in double Xaxis, in double Yaxis, in double Zaxis,
138                                          in double RadiusRev, in double RadiusPri)
139       raises (SALOME::SALOME_Exception);
140
141     // Set mesh (SMESH_Mesh object or MED file) and working directory
142     HOMARD_Cas CreateCaseOnMesh(in string MeshName,
143                                 in SMESH::SMESH_Mesh smeshMesh,
144                                 in string theWorkingDir) raises(SALOME::SALOME_Exception);
145     HOMARD_Cas CreateCase(in string MeshName,
146                           in string FileName,
147                           in string theWorkingDir) raises(SALOME::SALOME_Exception);
148
149     // Associate boundaries to groups
150     void AddBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
151     void AddBoundaryGroup(in string BoundaryName,
152                           in string Group) raises (SALOME::SALOME_Exception);
153
154     // Information
155     HOMARD_Boundary  GetBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
156     HOMARD_Cas       GetCase() raises (SALOME::SALOME_Exception);
157     listeBoundarys   GetAllBoundarysName()  raises (SALOME::SALOME_Exception);
158
159     //  Preferences
160     void SetConfType(in long ConfType) raises (SALOME::SALOME_Exception);
161     void SetKeepMedOUT (in boolean theKeepMedOUT);
162     void SetPublishMeshOUT (in boolean thePublishMeshOUT);
163     void SetMeshNameOUT (in string theMeshName) raises (SALOME::SALOME_Exception);
164     void SetMeshFileOUT (in string theFileName) raises (SALOME::SALOME_Exception);
165
166     void SetVerboseLevel (in long theLevel);
167     void SetKeepWorkingFiles (in boolean theKeepWorkingFiles);
168     void SetLogInFile (in boolean theLogInFile);
169     void SetLogFile (in string theFileName) raises (SALOME::SALOME_Exception);
170     void SetRemoveLogOnSuccess (in boolean theRemoveLogOnSuccess);
171
172     // Computation
173     long Compute() raises (SALOME::SALOME_Exception);
174
175     // Clean data
176     void InvalideBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
177     long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
178     void DeleteCase() raises (SALOME::SALOME_Exception);
179   };
180
181 }; // module SMESHHOMARD
182
183 #endif