]> SALOME platform Git repositories - plugins/hexoticplugin.git/blob - idl/HexoticPlugin_Algorithm.idl
Salome HOME
0023102: [CEA 1486 ] Add the parameters for defining the boundary layers
[plugins/hexoticplugin.git] / idl / HexoticPlugin_Algorithm.idl
1 // Copyright (C) 2007-2015  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 "SMESH_Mesh.idl"
30 #include "GEOM_Gen.idl"
31
32 /*!
33  * HexoticPlugin: interfaces to Hexotic related hypotheses and algorithms
34  */
35 module HexoticPlugin
36 {
37   /*!
38    * Type definitions for the size maps
39    */
40   struct HexoticPluginSizeMap {
41   string entry;
42   double size;
43   };
44   
45   typedef sequence<HexoticPluginSizeMap> HexoticPluginSizeMapsList;  
46
47   /*!
48    * HexoticPlugin_Hexotic: interface of Hexotic algorithm
49    */
50   interface HexoticPlugin_Hexotic : SMESH::SMESH_3D_Algo
51   {
52   };
53
54   /*!
55    * HexoticPlugin_Hypothesis: interface of "Hexotic parameters" hypothesis
56    */
57   interface HexoticPlugin_Hypothesis : SMESH::SMESH_Hypothesis
58   {
59     void SetHexesMinLevel(in long value);
60     long GetHexesMinLevel();
61
62     void SetHexesMaxLevel(in long value);
63     long GetHexesMaxLevel();
64     
65     void SetMinSize(in double value);
66     double GetMinSize();
67
68     void SetMaxSize(in double value);
69     double GetMaxSize();
70
71     void SetHexoticIgnoreRidges(in boolean value);
72     boolean GetHexoticIgnoreRidges();
73
74     void SetHexoticInvalidElements(in boolean value);
75     boolean GetHexoticInvalidElements();
76    
77     void SetHexoticSharpAngleThreshold(in double value);
78     double GetHexoticSharpAngleThreshold();
79    
80     void SetHexoticNbProc(in long value);
81     long GetHexoticNbProc();
82
83     void SetHexoticWorkingDirectory(in string path) raises (SALOME::SALOME_Exception);
84     string GetHexoticWorkingDirectory();
85    
86     void SetHexoticSdMode(in long value);
87     long GetHexoticSdMode();
88    
89     void SetHexoticVerbosity(in long value);
90     long GetHexoticVerbosity();
91
92     void SetHexoticMaxMemory(in long value);
93     long GetHexoticMaxMemory();
94
95     void SetSizeMapEntry(in string entry, 
96                          in double size);
97     void UnsetSizeMapEntry(in string entry);
98
99     void SetSizeMap(in GEOM::GEOM_Object GeomObj, 
100                     in double size);
101     void UnsetSizeMap(in GEOM::GEOM_Object GeomObj);
102
103     HexoticPluginSizeMapsList GetSizeMaps();
104     
105     void SetNbLayers(in long theVal);
106     long GetNbLayers();
107
108     void SetFirstLayerSize(in double theVal);
109     double GetFirstLayerSize();
110
111     void SetDirection(in boolean theVal);
112     boolean GetDirection();
113
114     void SetGrowth(in double theVal);
115     double GetGrowth();
116
117     void SetFacesWithLayers(in SMESH::long_array theVal);
118     SMESH::long_array GetFacesWithLayers();
119
120     void SetImprintedFaces(in SMESH::long_array theVal);
121     SMESH::long_array GetImprintedFaces();
122   };
123 };
124
125 #endif