Salome HOME
Modifications to avoid compilation errors with Qt and STL strings.
[modules/smesh.git] / idl / SMESH_BasicHypothesis.idl
1 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
3 // 
4 //  This library is free software; you can redistribute it and/or 
5 //  modify it under the terms of the GNU Lesser General Public 
6 //  License as published by the Free Software Foundation; either 
7 //  version 2.1 of the License. 
8 // 
9 //  This library is distributed in the hope that it will be useful, 
10 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 //  Lesser General Public License for more details. 
13 // 
14 //  You should have received a copy of the GNU Lesser General Public 
15 //  License along with this library; if not, write to the Free Software 
16 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
17 // 
18 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
19 //
20 //
21 //
22 //  File   : SMESH_BasicHypothesis.idl
23 //  Author : Paul RASCLE, EDF
24 //  $Header$
25
26 #ifndef _SMESH_BASICHYPOTHESIS_IDL_
27 #define _SMESH_BASICHYPOTHESIS_IDL_
28
29 #include "SALOME_Exception.idl"
30 #include "SMESH_Hypothesis.idl"
31 #include "SMESH_Mesh.idl"
32
33
34 /*!
35  * StdMeshers: interfaces to standard hypotheses and algorithms
36  */
37 module StdMeshers
38 {
39   /*!
40    * StdMeshers_LocalLength: interface of "Average length" hypothesis
41    */
42   interface StdMeshers_LocalLength : SMESH::SMESH_Hypothesis
43   {
44     /*!
45      * Sets <length> parameter value
46      */
47     void SetLength(in double length) 
48       raises (SALOME::SALOME_Exception);
49
50     /*!
51      * Returns <length> parameter value
52      */
53     double GetLength();
54   };
55
56   /*!
57    * StdMeshers_NumberOfSegments: interface of "Nb. Segments" hypothesis
58    */
59   interface StdMeshers_NumberOfSegments : SMESH::SMESH_Hypothesis
60   {
61     /*!
62      * Sets <number of segments> parameter value
63      */
64     void SetNumberOfSegments(in long segmentsNumber) 
65       raises (SALOME::SALOME_Exception);
66
67     /*!
68      * Returns <number of segments> parameter value
69      */
70     long GetNumberOfSegments();
71
72     /*!
73      * Sets <distribution type> parameter value
74      */
75     void SetDistrType(in long typ)
76       raises (SALOME::SALOME_Exception);
77
78     /*!
79      * Returns <distribution type> parameter value
80      */
81     long GetDistrType();
82
83     /*!
84      * Sets <scale factor> parameter value
85      */
86     void SetScaleFactor(in double scaleFactor)
87       raises (SALOME::SALOME_Exception);
88
89     /*!
90      * Returns <scale factor> parameter value
91      */
92     double GetScaleFactor()
93       raises (SALOME::SALOME_Exception);
94
95     /*!
96      * Sets <table function> parameter value for distribution DT_TabFunc
97      */
98     void SetTableFunction(in SMESH::double_array table)
99       raises (SALOME::SALOME_Exception);
100
101     /*!
102      * Returns <table function> parameter value for distribution DT_TabFunc
103      */
104     SMESH::double_array GetTableFunction()
105       raises (SALOME::SALOME_Exception);
106
107     /*!
108      * Sets <expression function> parameter value for distribution DT_ExprFunc
109      */
110     void SetExpressionFunction(in string expr)
111       raises (SALOME::SALOME_Exception);
112
113     /*!
114      * Returns <expression function> parameter value for distribution DT_ExprFunc
115      */
116     string GetExpressionFunction()
117       raises (SALOME::SALOME_Exception);
118
119     /*!
120      * Sets <exponent mode> parameter value for functional distributions
121      */
122     void SetExponentMode(in boolean isExponent)
123       raises (SALOME::SALOME_Exception);
124
125     /*!
126      * Returns <exponent mode> parameter value for functional distributions
127      */
128     boolean IsExponentMode()
129       raises (SALOME::SALOME_Exception);
130   };
131
132   /*!
133    * StdMeshers_Arithmetic1D: interface of "Arithmetic 1D" hypothesis
134    */
135   interface StdMeshers_Arithmetic1D : SMESH::SMESH_Hypothesis
136   {
137     /*!
138      * Sets <start segment length> or <end segment length> parameter value
139      */
140     void SetLength(in double length, in boolean isStartLength) 
141       raises (SALOME::SALOME_Exception);
142
143     /*!
144      * Returns <start segment length> or <end segment length> parameter value
145      */
146     double GetLength(in boolean isStartLength);
147   };
148
149   /*!
150    * StdMeshers_MaxElementArea: interface of "Max. Triangle Area" hypothesis
151    */
152   interface StdMeshers_MaxElementArea : SMESH::SMESH_Hypothesis
153   {
154     /*!
155      * Sets <maximum element area> parameter value
156      */
157     void SetMaxElementArea(in double area) 
158       raises (SALOME::SALOME_Exception);
159
160     /*!
161      * Returns <maximum element area> parameter value
162      */
163     double GetMaxElementArea();
164   };
165
166   /*!
167    * StdMeshers_LengthFromEdges: interface of "Length From Edges (2D Hyp. for Triangulator)" hypothesis
168    */
169   interface StdMeshers_LengthFromEdges : SMESH::SMESH_Hypothesis
170   {
171     /*!
172      * Sets <mode> parameter value
173      */
174     void SetMode(in long mode) 
175       raises (SALOME::SALOME_Exception);
176
177     /*!
178      * Returns <mode> parameter value
179      */
180     long GetMode();
181   };
182
183   /*!
184    * StdMeshers_StartEndLength: interface of "Start and End Length" hypothesis
185    */
186   interface StdMeshers_StartEndLength : SMESH::SMESH_Hypothesis
187   {
188     /*!
189      * Sets <start segment length> or <end segment length> parameter value
190      */
191     void SetLength(in double length, in boolean isStartLength) 
192       raises (SALOME::SALOME_Exception);
193
194     /*!
195      * Returns <start segment length> or <end segment length> parameter value
196      */
197     double GetLength(in boolean isStartLength);
198   };
199
200
201   /*!
202    * StdMeshers_Deflection1D: interface of "Deflection 1D" hypothesis
203    */
204   interface StdMeshers_Deflection1D : SMESH::SMESH_Hypothesis
205   {
206     /*!
207      * Sets <deflection> parameter value
208      */
209     void SetDeflection(in double deflection)
210       raises (SALOME::SALOME_Exception);
211
212     /*!
213      * Returns <deflection> parameter value
214      */
215     double GetDeflection();
216   };
217
218
219   /*!
220    * StdMeshers_MaxElementVolume: interface of "Max. Hexahedron or Tetrahedron Volume" hypothesis
221    */
222   interface StdMeshers_MaxElementVolume : SMESH::SMESH_Hypothesis
223   {
224     /*!
225      * Sets <maximum element volume> parameter value
226      */
227     void SetMaxElementVolume(in double volume) 
228       raises (SALOME::SALOME_Exception);
229
230     /*!
231      * Returns <maximum element volume> parameter value
232      */
233     double GetMaxElementVolume();
234   };
235
236   /*!
237    * StdMeshers_NotConformAllowed: interface of "Not Conform Mesh Allowed" hypothesis.
238    * Presence of this hypothesis permits to algorithm generation of not conform mesh.
239    */
240   interface StdMeshers_NotConformAllowed : SMESH::SMESH_Hypothesis
241   {
242   };
243
244   /*!
245    * StdMeshers_Propagation: interface of "Propagation" hypothesis.
246    * Presence of this hypothesis on any edge propagates any other 1D
247    * hypothesis from this edge on all edges, opposite to it.
248    * It concerns only edges of quadrangle faces.
249    */
250   interface StdMeshers_Propagation : SMESH::SMESH_Hypothesis
251   {
252   };
253
254   /*!
255    * StdMeshers_Regular_1D: interface of "Wire discretisation" algorithm
256    */
257   interface StdMeshers_Regular_1D : SMESH::SMESH_1D_Algo
258   {
259   };
260
261   /*!
262    * StdMeshers_MEFISTO_2D: interface of "Triangle (Mefisto)" algorithm
263    */
264   interface StdMeshers_MEFISTO_2D : SMESH::SMESH_2D_Algo
265   {
266   };
267
268   /*!
269    * StdMeshers_Quadrangle_2D: interface of "Quadrangle (Mapping)" algorithm
270    */
271   interface StdMeshers_Quadrangle_2D : SMESH::SMESH_2D_Algo
272   {
273   };
274
275   /*!
276    * StdMeshers_Hexa_3D: interface of "Hexahedron (i,j,k)" algorithm
277    */
278   interface StdMeshers_Hexa_3D : SMESH::SMESH_3D_Algo
279   {
280   };
281
282 };
283
284 #endif