1 // Copyright (C) 2011-2021 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, or (at your option) any later version.
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 _SMESH_HOMARD_IDL
21 #define _SMESH_HOMARD_IDL
23 #include "SMESH_Mesh.idl"
25 #include "SALOME_Exception.idl"
26 #include "SALOMEDS.idl"
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;
36 interface HOMARD_Boundary : SALOME::GenericObj
39 void SetName(in string Name) raises (SALOME::SALOME_Exception);
40 string GetName() raises (SALOME::SALOME_Exception);
43 void SetType (in long Type) raises (SALOME::SALOME_Exception);
44 long GetType() raises (SALOME::SALOME_Exception);
46 void SetDataFile(in string DataFile) raises (SALOME::SALOME_Exception);
47 string GetDataFile() raises (SALOME::SALOME_Exception);
49 void SetMeshName(in string MeshName) raises (SALOME::SALOME_Exception);
50 string GetMeshName() raises (SALOME::SALOME_Exception);
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);
56 void SetSphere (in double Xcentre, in double Ycentre, in double Zcentre, in double rayon)
57 raises (SALOME::SALOME_Exception);
59 void SetConeR (in double Xcentre1, in double Ycentre1, in double Zcentre1,
61 in double Xcentre2, in double Ycentre2, in double Zcentre2,
62 in double Rayon2) raises (SALOME::SALOME_Exception);
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);
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);
73 SMESHHOMARD::double_array GetCoords() raises (SALOME::SALOME_Exception);
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);
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);
83 string GetDumpPython() raises (SALOME::SALOME_Exception);
86 interface HOMARD_Cas : SALOME::GenericObj
88 void SetDirName(in string NomDir) raises (SALOME::SALOME_Exception);
89 string GetDirName() raises (SALOME::SALOME_Exception);
91 void SetBoundingBox(in extrema LesExtremes) raises (SALOME::SALOME_Exception);
92 extrema GetBoundingBox() raises (SALOME::SALOME_Exception);
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);
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);
104 string GetDumpPython() raises (SALOME::SALOME_Exception);
107 interface HOMARD_Gen : SALOME::GenericObj
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,
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,
119 raises (SALOME::SALOME_Exception);
120 HOMARD_Boundary CreateBoundarySphere (in string BoundaryName,
121 in double Xcentre, in double Ycentre, in double Zcentre,
123 raises(SALOME::SALOME_Exception);
124 HOMARD_Boundary CreateBoundaryConeR (in string BoundaryName,
125 in double Xcentre1, in double Ycentre1, in double Zcentre1,
127 in double Xcentre2, in double Ycentre2, in double Zcentre2,
129 raises(SALOME::SALOME_Exception);
130 HOMARD_Boundary CreateBoundaryConeA (in string BoundaryName,
131 in double Xaxis, in double Yaxis, in double Zaxis,
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);
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,
147 in string theWorkingDir) raises(SALOME::SALOME_Exception);
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);
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);
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);
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);
173 long Compute() raises (SALOME::SALOME_Exception);
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);
181 }; // module SMESHHOMARD