]> SALOME platform Git repositories - plugins/ghs3dplugin.git/blob - src/GHS3DPlugin/GHS3DPlugin_OptimizerHypothesis_i.hxx
Salome HOME
IMP23373: [CEA 1170] Optimization of a 3D mesh using MG-Tetra
[plugins/ghs3dplugin.git] / src / GHS3DPlugin / GHS3DPlugin_OptimizerHypothesis_i.hxx
1 // Copyright (C) 2004-2016  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 // File      : GHS3DPlugin_OptimizerHypothesis_i.hxx
20 // Created   : Tue Nov  1 17:36:05 2016
21
22 #ifndef __GHS3DPlugin_OptimizerHypothesis_i_HXX__
23 #define __GHS3DPlugin_OptimizerHypothesis_i_HXX__
24
25 #include "GHS3DPlugin_Defs.hxx"
26
27 #include <SALOMEconfig.h>
28 #include CORBA_SERVER_HEADER(GHS3DPlugin_Algorithm)
29
30 #include "GHS3DPlugin_OptimizerHypothesis.hxx"
31 #include "GHS3DPlugin_Hypothesis_i.hxx"
32 #include "SMESH_Hypothesis_i.hxx"
33
34 class SMESH_Gen;
35
36 // GHS3DPlugin Optimization Parameters hypothesis
37
38 class GHS3DPLUGIN_EXPORT GHS3DPlugin_OptimizerHypothesis_i:
39   public virtual POA_GHS3DPlugin::GHS3DPlugin_OptimizerHypothesis,
40   public virtual GHS3DPlugin_Hypothesis_i
41 {
42  public:
43   GHS3DPlugin_OptimizerHypothesis_i (PortableServer::POA_ptr thePOA,
44                                      int                     theStudyId,
45                                      ::SMESH_Gen*            theGenImpl);
46   // inherited params:
47   // 1 - create new nodes
48   // 2 - optimization level
49   // 3 - init and max memory
50   // 4 - work dir
51   // 5 - verbosity
52   // 6 - log to file
53   // 7 - keep work files
54   // 8 - remove log file
55   // 9 - advanced options
56
57   void SetOptimization( GHS3DPlugin::Mode mode );
58   GHS3DPlugin::Mode GetOptimization();
59
60   void SetSplitOverConstrained( GHS3DPlugin::Mode mode );
61   GHS3DPlugin::Mode GetSplitOverConstrained();
62
63   void SetSmoothOffSlivers( CORBA::Boolean toSmooth );
64   CORBA::Boolean GetSmoothOffSlivers();
65
66   void SetPThreadsMode( GHS3DPlugin::PThreadsMode mode );
67   GHS3DPlugin::PThreadsMode GetPThreadsMode();
68
69   void SetMaximalNumberOfThreads( CORBA::Short nb );
70   CORBA::Short GetMaximalNumberOfThreads();
71
72
73   // Get implementation
74   ::GHS3DPlugin_OptimizerHypothesis* GetImpl();
75   
76   // Verify whether hypothesis supports given entity type 
77   CORBA::Boolean IsDimSupported( SMESH::Dimension type );
78   
79 };
80
81 #endif