Salome HOME
PAL10953. Make fields of parameters protected
[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_AutomaticLength: interface of "Automatic length" hypothesis
58    */
59   interface StdMeshers_AutomaticLength : SMESH::SMESH_Hypothesis
60   {
61     /*!
62      * Sets Fineness parameter value
63      */
64     void SetFineness(in double theFineness)
65       raises (SALOME::SALOME_Exception);
66
67     /*!
68      * Returns <Fineness> parameter value
69      */
70     double GetFineness();
71   };
72
73   /*!
74    * StdMeshers_NumberOfSegments: interface of "Nb. Segments" hypothesis
75    */
76   interface StdMeshers_NumberOfSegments : SMESH::SMESH_Hypothesis
77   {
78     /*!
79      * Sets <number of segments> parameter value
80      */
81     void SetNumberOfSegments(in long segmentsNumber) 
82       raises (SALOME::SALOME_Exception);
83
84     /*!
85      * Returns <number of segments> parameter value
86      */
87     long GetNumberOfSegments();
88
89     /*!
90      * Sets <distribution type> parameter value
91      */
92     void SetDistrType(in long typ)
93       raises (SALOME::SALOME_Exception);
94
95     /*!
96      * Returns <distribution type> parameter value
97      */
98     long GetDistrType();
99
100     /*!
101      * Sets <scale factor> parameter value
102      */
103     void SetScaleFactor(in double scaleFactor)
104       raises (SALOME::SALOME_Exception);
105
106     /*!
107      * Returns <scale factor> parameter value
108      */
109     double GetScaleFactor()
110       raises (SALOME::SALOME_Exception);
111
112     /*!
113      * Sets <table function> parameter value for distribution DT_TabFunc
114      */
115     void SetTableFunction(in SMESH::double_array table)
116       raises (SALOME::SALOME_Exception);
117
118     /*!
119      * Returns <table function> parameter value for distribution DT_TabFunc
120      */
121     SMESH::double_array GetTableFunction()
122       raises (SALOME::SALOME_Exception);
123
124     /*!
125      * Sets <expression function> parameter value for distribution DT_ExprFunc
126      */
127     void SetExpressionFunction(in string expr)
128       raises (SALOME::SALOME_Exception);
129
130     /*!
131      * Returns <expression function> parameter value for distribution DT_ExprFunc
132      */
133     string GetExpressionFunction()
134       raises (SALOME::SALOME_Exception);
135
136     /*!
137      * Sets <exponent mode> parameter value for functional distributions
138      */
139     void SetExponentMode(in boolean isExponent)
140       raises (SALOME::SALOME_Exception);
141
142     /*!
143      * Returns <exponent mode> parameter value for functional distributions
144      */
145     boolean IsExponentMode()
146       raises (SALOME::SALOME_Exception);
147   };
148
149   /*!
150    * StdMeshers_Arithmetic1D: interface of "Arithmetic 1D" hypothesis
151    */
152   interface StdMeshers_Arithmetic1D : SMESH::SMESH_Hypothesis
153   {
154     /*!
155      * Sets <start segment length> or <end segment length> parameter value
156      */
157     void SetLength(in double length, in boolean isStartLength) 
158       raises (SALOME::SALOME_Exception);
159
160     /*!
161      * Returns <start segment length> or <end segment length> parameter value
162      */
163     double GetLength(in boolean isStartLength);
164   };
165
166   /*!
167    * StdMeshers_MaxElementArea: interface of "Max. Triangle Area" hypothesis
168    */
169   interface StdMeshers_MaxElementArea : SMESH::SMESH_Hypothesis
170   {
171     /*!
172      * Sets <maximum element area> parameter value
173      */
174     void SetMaxElementArea(in double area) 
175       raises (SALOME::SALOME_Exception);
176
177     /*!
178      * Returns <maximum element area> parameter value
179      */
180     double GetMaxElementArea();
181   };
182
183   /*!
184    * StdMeshers_LengthFromEdges: interface of "Length From Edges (2D Hyp. for Triangulator)" hypothesis
185    */
186   interface StdMeshers_LengthFromEdges : SMESH::SMESH_Hypothesis
187   {
188     /*!
189      * Sets <mode> parameter value
190      */
191     void SetMode(in long mode) 
192       raises (SALOME::SALOME_Exception);
193
194     /*!
195      * Returns <mode> parameter value
196      */
197     long GetMode();
198   };
199
200   /*!
201    * StdMeshers_StartEndLength: interface of "Start and End Length" hypothesis
202    */
203   interface StdMeshers_StartEndLength : SMESH::SMESH_Hypothesis
204   {
205     /*!
206      * Sets <start segment length> or <end segment length> parameter value
207      */
208     void SetLength(in double length, in boolean isStartLength) 
209       raises (SALOME::SALOME_Exception);
210
211     /*!
212      * Returns <start segment length> or <end segment length> parameter value
213      */
214     double GetLength(in boolean isStartLength);
215   };
216
217
218   /*!
219    * StdMeshers_Deflection1D: interface of "Deflection 1D" hypothesis
220    */
221   interface StdMeshers_Deflection1D : SMESH::SMESH_Hypothesis
222   {
223     /*!
224      * Sets <deflection> parameter value
225      */
226     void SetDeflection(in double deflection)
227       raises (SALOME::SALOME_Exception);
228
229     /*!
230      * Returns <deflection> parameter value
231      */
232     double GetDeflection();
233   };
234
235
236   /*!
237    * StdMeshers_MaxElementVolume: interface of "Max. Hexahedron or Tetrahedron Volume" hypothesis
238    */
239   interface StdMeshers_MaxElementVolume : SMESH::SMESH_Hypothesis
240   {
241     /*!
242      * Sets <maximum element volume> parameter value
243      */
244     void SetMaxElementVolume(in double volume) 
245       raises (SALOME::SALOME_Exception);
246
247     /*!
248      * Returns <maximum element volume> parameter value
249      */
250     double GetMaxElementVolume();
251   };
252
253   /*!
254    * StdMeshers_NotConformAllowed: interface of "Not Conform Mesh Allowed" hypothesis.
255    * Presence of this hypothesis permits to algorithm generation of not conform mesh.
256    */
257   interface StdMeshers_NotConformAllowed : SMESH::SMESH_Hypothesis
258   {
259   };
260
261   /*!
262    * StdMeshers_Propagation: interface of "Propagation" hypothesis.
263    * Presence of this hypothesis on any edge propagates any other 1D
264    * hypothesis from this edge on all edges, opposite to it.
265    * It concerns only edges of quadrangle faces.
266    */
267   interface StdMeshers_Propagation : SMESH::SMESH_Hypothesis
268   {
269   };
270
271   /*!
272    * StdMeshers_QuadranglePreference: interface of "QuadranglePreference" hypothesis.
273    * This hypothesis is used by StdMeshers_Quadrangle_2D algorithm.
274    * Presence of this hypothesis forces construction of quadrangles if the number
275    * of nodes on opposite edges is not the same in the case where the global number
276    * of nodes on edges is even
277    */
278   interface StdMeshers_QuadranglePreference : SMESH::SMESH_Hypothesis
279   {
280   };
281
282
283   /*!
284    * StdMeshers_Regular_1D: interface of "Wire discretisation" algorithm
285    */
286   interface StdMeshers_Regular_1D : SMESH::SMESH_1D_Algo
287   {
288   };
289
290   /*!
291    * StdMeshers_MEFISTO_2D: interface of "Triangle (Mefisto)" algorithm
292    */
293   interface StdMeshers_MEFISTO_2D : SMESH::SMESH_2D_Algo
294   {
295   };
296
297   /*!
298    * StdMeshers_Quadrangle_2D: interface of "Quadrangle (Mapping)" algorithm
299    */
300   interface StdMeshers_Quadrangle_2D : SMESH::SMESH_2D_Algo
301   {
302   };
303
304   /*!
305    * StdMeshers_Hexa_3D: interface of "Hexahedron (i,j,k)" algorithm
306    */
307   interface StdMeshers_Hexa_3D : SMESH::SMESH_3D_Algo
308   {
309   };
310
311 };
312
313 #endif