1 // Copyright (C) 2007-2013 CEA/DEN, EDF R&D
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 // File : HexoticPlugin_Algorithm.idl
22 // Author : Lioka RAZAFINDRAZAKA (CEA)
25 #ifndef _SMESH_HexoticALGORITHM_IDL_
26 #define _SMESH_HexoticALGORITHM_IDL_
28 #include "SMESH_Hypothesis.idl"
29 #include "GEOM_Gen.idl"
32 * HexoticPlugin: interfaces to Hexotic related hypotheses and algorithms
37 * Type definitions for the size maps
39 struct HexoticPluginSizeMap {
44 typedef sequence<HexoticPluginSizeMap> HexoticPluginSizeMapsList;
47 * HexoticPlugin_Hexotic: interface of Hexotic algorithm
49 interface HexoticPlugin_Hexotic : SMESH::SMESH_3D_Algo
54 * HexoticPlugin_Hypothesis: interface of "Hexotic parameters" hypothesis
56 interface HexoticPlugin_Hypothesis : SMESH::SMESH_Hypothesis
58 void SetHexesMinLevel(in long value);
59 long GetHexesMinLevel();
61 void SetHexesMaxLevel(in long value);
62 long GetHexesMaxLevel();
64 void SetMinSize(in double value);
67 void SetMaxSize(in double value);
70 void SetHexoticIgnoreRidges(in boolean value);
71 boolean GetHexoticIgnoreRidges();
73 void SetHexoticInvalidElements(in boolean value);
74 boolean GetHexoticInvalidElements();
76 void SetHexoticSharpAngleThreshold(in double value);
77 double GetHexoticSharpAngleThreshold();
79 void SetHexoticNbProc(in long value);
80 long GetHexoticNbProc();
82 void SetHexoticWorkingDirectory(in string path) raises (SALOME::SALOME_Exception);
83 string GetHexoticWorkingDirectory();
85 void SetHexoticSdMode(in long value);
86 long GetHexoticSdMode();
88 void SetHexoticVerbosity(in long value);
89 long GetHexoticVerbosity();
91 void SetHexoticMaxMemory(in long value);
92 long GetHexoticMaxMemory();
94 void SetSizeMapEntry(in string entry,
96 void UnsetSizeMapEntry(in string entry);
98 void SetSizeMap(in GEOM::GEOM_Object GeomObj,
100 void UnsetSizeMap(in GEOM::GEOM_Object GeomObj);
102 HexoticPluginSizeMapsList GetSizeMaps();