Salome HOME
Merge from BR_V5_DEV 16Feb09
[plugins/ghs3dplugin.git] / idl / GHS3DPlugin_Algorithm.idl
1 //  Copyright (C) 2004-2008  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.
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 //  File   : GHS3D_Algorithm.idl
20 //  Author : Julia DOROVSKIKH
21 //  $Header$
22 //
23 #ifndef _GHS3D_Algorithm_IDL_
24 #define _GHS3D_Algorithm_IDL_
25
26 #include "SALOME_Exception.idl"
27 #include "SMESH_Hypothesis.idl"
28
29 /*!
30  * GHS3DPlugin: interfaces to GHS3D related hypotheses and algorithms
31  */
32 module GHS3DPlugin
33 {
34   /*!
35    * GHS3DPlugin_GHS3D: interface of "Tetrahedron (GHS3D)" algorithm
36    */
37   interface GHS3DPlugin_GHS3D : SMESH::SMESH_3D_Algo
38   {
39   };
40
41   /*!
42    * Parameters of "Tetrahedron (GHS3D)" algorithm
43    */
44   interface GHS3DPlugin_Hypothesis : SMESH::SMESH_Hypothesis
45   {
46     /*!
47      * To mesh "holes" in a solid or not. Default is to mesh.
48      */
49     void SetToMeshHoles(in boolean toMesh);
50     boolean GetToMeshHoles();
51     /*!
52      * Maximal size of memory to be used by the algorithm (in Megabytes).
53      * Negative value means not to use this option
54      */
55     void SetMaximumMemory(in short MB) raises (SALOME::SALOME_Exception);
56     short GetMaximumMemory();
57     /*!
58      * Initial size of memory to be used by the algorithm (in Megabytes) in
59      * automatic memory adjustment mode. Default is zero.
60      * Negative value means not to use this option
61      */
62     void SetInitialMemory(in short MB) raises (SALOME::SALOME_Exception);
63     short GetInitialMemory();
64     /*!
65      * Optimization level: 0-none, 1-light, 2-medium, 3-strong. Default is medium
66      */
67     void SetOptimizationLevel(in short level) raises (SALOME::SALOME_Exception);
68     short GetOptimizationLevel();
69     /*!
70      * Path to working directory
71      */
72     void SetWorkingDirectory(in string path) raises (SALOME::SALOME_Exception);
73     string GetWorkingDirectory();
74     /*!
75      * To keep working files or remove them. Log file remains in case of errors anyway.
76      */
77     void SetKeepFiles(in boolean toKeep);
78     boolean GetKeepFiles();
79     /*!
80      * Verbose level [0-10]
81      *  0 - no standard output,
82      *  2 - prints the data, quality statistics of the skin and final meshes and
83      *     indicates when the final mesh is being saved. In addition the software
84      *     gives indication regarding the CPU time.
85      * 10 - same as 2 plus the main steps in the computation, quality statistics
86      *     histogram of the skin mesh, quality statistics histogram together with
87      *     the characteristics of the final mesh.
88      */
89     void SetVerboseLevel(in short level);
90     short GetVerboseLevel();
91     /*!
92      * To create new nodes
93      */
94     void SetToCreateNewNodes(in boolean toCreate);
95     boolean GetToCreateNewNodes();
96     /*!
97      * To use boundary recovery version which tries to create mesh on a very poor
98      * quality surface mesh
99      */
100     void SetToUseBoundaryRecoveryVersion(in boolean toUse);
101     boolean GetToUseBoundaryRecoveryVersion();
102     /*!
103      * To set hiden/undocumented/advanced options
104      */
105     void SetTextOption(in string option);
106     string GetTextOption();
107   };
108 };
109
110 #endif