Salome HOME
Revert "Synchronize adm files"
[plugins/hexoticplugin.git] / idl / HexoticPlugin_Algorithm.idl
1 // Copyright (C) 2007-2014  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, or (at your option) any later version.
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
20 // ---
21 // File   : HexoticPlugin_Algorithm.idl
22 // Author : Lioka RAZAFINDRAZAKA (CEA)
23 // ---
24 //
25 #ifndef _SMESH_HexoticALGORITHM_IDL_
26 #define _SMESH_HexoticALGORITHM_IDL_
27
28 #include "SMESH_Hypothesis.idl"
29 #include "GEOM_Gen.idl"
30
31 /*!
32  * HexoticPlugin: interfaces to Hexotic related hypotheses and algorithms
33  */
34 module HexoticPlugin
35 {
36   /*!
37    * Type definitions for the size maps
38    */
39   struct HexoticPluginSizeMap {
40   string entry;
41   double size;
42   };
43   
44   typedef sequence<HexoticPluginSizeMap> HexoticPluginSizeMapsList;  
45
46   /*!
47    * HexoticPlugin_Hexotic: interface of Hexotic algorithm
48    */
49   interface HexoticPlugin_Hexotic : SMESH::SMESH_3D_Algo
50   {
51   };
52
53   /*!
54    * HexoticPlugin_Hypothesis: interface of "Hexotic parameters" hypothesis
55    */
56   interface HexoticPlugin_Hypothesis : SMESH::SMESH_Hypothesis
57   {
58     void SetHexesMinLevel(in long value);
59     long GetHexesMinLevel();
60
61     void SetHexesMaxLevel(in long value);
62     long GetHexesMaxLevel();
63     
64     void SetMinSize(in double value);
65     double GetMinSize();
66
67     void SetMaxSize(in double value);
68     double GetMaxSize();
69
70     void SetHexoticIgnoreRidges(in boolean value);
71     boolean GetHexoticIgnoreRidges();
72
73     void SetHexoticInvalidElements(in boolean value);
74     boolean GetHexoticInvalidElements();
75    
76     void SetHexoticSharpAngleThreshold(in double value);
77     double GetHexoticSharpAngleThreshold();
78    
79     void SetHexoticNbProc(in long value);
80     long GetHexoticNbProc();
81
82     void SetHexoticWorkingDirectory(in string path) raises (SALOME::SALOME_Exception);
83     string GetHexoticWorkingDirectory();
84    
85     void SetHexoticSdMode(in long value);
86     long GetHexoticSdMode();
87    
88     void SetHexoticVerbosity(in long value);
89     long GetHexoticVerbosity();
90
91     void SetHexoticMaxMemory(in long value);
92     long GetHexoticMaxMemory();
93
94     void SetSizeMapEntry(in string entry, 
95                          in double size);
96     void UnsetSizeMapEntry(in string entry);
97
98     void SetSizeMap(in GEOM::GEOM_Object GeomObj, 
99                     in double size);
100     void UnsetSizeMap(in GEOM::GEOM_Object GeomObj);
101
102     HexoticPluginSizeMapsList GetSizeMaps();
103   };
104 };
105
106 #endif