Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[plugins/netgenplugin.git] / idl / NETGENPlugin_Algorithm.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.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 //
20 //
21 //
22 //  File   : NETGENPlugin_Algorithm.idl
23 //  Author : Julia DOROVSKIKH
24 //  $Header$
25
26 #ifndef _SMESH_NETGENALGORITHM_IDL_
27 #define _SMESH_NETGENALGORITHM_IDL_
28
29 #include "SMESH_Hypothesis.idl"
30
31 /*!
32  * NETGENPlugin: interfaces to NETGEN related hypotheses and algorithms
33  */
34 module NETGENPlugin
35 {
36   /*!
37    * NETGENPlugin_NETGEN_3D: interface of "Tetrahedron (Netgen)" algorithm
38    */
39   interface NETGENPlugin_NETGEN_3D : SMESH::SMESH_3D_Algo
40   {
41   };
42
43   /*!
44    * NETGENPlugin_NETGEN_2D: interface of "Netgen 1D-2D" algorithm
45    */
46   interface NETGENPlugin_NETGEN_2D : SMESH::SMESH_2D_Algo
47   {
48   };
49
50   /*!
51    * NETGENPlugin_NETGEN_2D3D: interface of "Netgen 1D-2D-3D" algorithm
52    */
53   interface NETGENPlugin_NETGEN_2D3D : SMESH::SMESH_3D_Algo
54   {
55   };
56
57   /*!
58    * NETGENPlugin_NETGEN_2D_ONLY: interface of "Netgen 2D" algorithm,
59    * generating 2D elements on a geometrical face taking
60    * into account pre-existing nodes on face boundaries
61    */
62   interface NETGENPlugin_NETGEN_2D_ONLY : SMESH::SMESH_2D_Algo
63   {
64   };
65
66   /*!
67    * NETGENPlugin_Hypothesis: interface of "NETGEN parameters" hypothesis
68    */
69   interface NETGENPlugin_Hypothesis : SMESH::SMESH_Hypothesis
70   {
71     void SetMaxSize(in double value);
72     double GetMaxSize();
73
74     void SetSecondOrder(in boolean value);
75     boolean GetSecondOrder();
76
77     void SetOptimize(in boolean value);
78     boolean GetOptimize();
79
80     void SetFineness(in long value);
81     long GetFineness();
82
83     void SetGrowthRate(in double value);
84     double GetGrowthRate();
85
86     void SetNbSegPerEdge(in double value);
87     double GetNbSegPerEdge();
88
89     void SetNbSegPerRadius(in double value);
90     double GetNbSegPerRadius();
91   };
92
93   /*!
94    * NETGENPlugin_Hypothesis_2D: interface of "NETGEN 2D parameters" hypothesis
95    */
96   interface NETGENPlugin_Hypothesis_2D : NETGENPlugin_Hypothesis
97   {
98     void SetQuadAllowed(in boolean value);
99     boolean GetQuadAllowed();
100   };
101
102 };
103
104 #endif