Salome HOME
0358e0f42218c29503607fa2b22ed1cc35857bef
[plugins/ghs3dplugin.git] / src / GHS3DPlugin / GHS3DPlugin_OptimizerHypothesis_i.hxx
1 // Copyright (C) 2004-2021  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                                      ::SMESH_Gen*            theGenImpl);
45   // inherited params:
46   // 1 - create new nodes
47   // 2 - optimization level
48   // 3 - init and max memory
49   // 4 - work dir
50   // 5 - verbosity
51   // 6 - log to file
52   // 7 - keep work files
53   // 8 - remove log file
54   // 9 - advanced options
55
56   void SetOptimization( GHS3DPlugin::Mode mode );
57   GHS3DPlugin::Mode GetOptimization();
58
59   void SetSplitOverConstrained( GHS3DPlugin::Mode mode );
60   GHS3DPlugin::Mode GetSplitOverConstrained();
61
62   void SetSmoothOffSlivers( CORBA::Boolean toSmooth );
63   CORBA::Boolean GetSmoothOffSlivers();
64
65   void SetPThreadsMode( GHS3DPlugin::PThreadsMode mode );
66   GHS3DPlugin::PThreadsMode GetPThreadsMode();
67
68   void SetMaximalNumberOfThreads( CORBA::Short nb );
69   CORBA::Short GetMaximalNumberOfThreads();
70
71
72   // Get implementation
73   ::GHS3DPlugin_OptimizerHypothesis* GetImpl();
74   
75   // Verify whether hypothesis supports given entity type 
76   CORBA::Boolean IsDimSupported( SMESH::Dimension type );
77   
78 };
79
80 #endif