1 // GHS3DPlugin : C++ implementation
3 // Copyright (C) 2006 OPEN CASCADE, CEA/DEN, EDF R&D
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License.
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // Lesser General Public License for more details.
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this library; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // File : GHS3DPlugin_Hypothesis_i.hxx
26 #ifndef _GHS3DPlugin_Hypothesis_i_HXX_
27 #define _GHS3DPlugin_Hypothesis_i_HXX_
29 #include "GHS3DPlugin_Defs.hxx"
31 #include <SALOMEconfig.h>
32 #include CORBA_SERVER_HEADER(GHS3DPlugin_Algorithm)
34 #include "SMESH_Hypothesis_i.hxx"
35 #include "GHS3DPlugin_Hypothesis.hxx"
39 // GHS3DPlugin parameters hypothesis
41 class GHS3DPLUGIN_EXPORT GHS3DPlugin_Hypothesis_i:
42 public virtual POA_GHS3DPlugin::GHS3DPlugin_Hypothesis,
43 public virtual SMESH_Hypothesis_i
47 GHS3DPlugin_Hypothesis_i (PortableServer::POA_ptr thePOA,
49 ::SMESH_Gen* theGenImpl);
51 virtual ~GHS3DPlugin_Hypothesis_i();
54 * To mesh "holes" in a solid or not. Default is to mesh.
56 void SetToMeshHoles(CORBA::Boolean toMesh);
57 CORBA::Boolean GetToMeshHoles();
59 * Maximal size of memory to be used by the algorithm (in Megabytes)
61 void SetMaximumMemory(CORBA::Short MB) throw ( SALOME::SALOME_Exception );
62 CORBA::Short GetMaximumMemory();
64 * Initial size of memory to be used by the algorithm (in Megabytes) in
65 * automatic memory adjustment mode. Default is zero
67 void SetInitialMemory(CORBA::Short MB) throw ( SALOME::SALOME_Exception );
68 CORBA::Short GetInitialMemory();
70 * Optimization level: 0-none, 1-light, 2-medium, 3-strong. Default is medium
72 void SetOptimizationLevel(CORBA::Short level) throw ( SALOME::SALOME_Exception );
73 CORBA::Short GetOptimizationLevel();
75 * Path to working directory
77 void SetWorkingDirectory(const char* path) throw ( SALOME::SALOME_Exception );
78 char* GetWorkingDirectory();
80 * To keep working files or remove them. Log file remains in case of errors anyway.
82 void SetKeepFiles(CORBA::Boolean toKeep);
83 CORBA::Boolean GetKeepFiles();
85 * Verbose level [0-10]
86 * 0 - no standard output,
87 * 2 - prints the data, quality statistics of the skin and final meshes and
88 * indicates when the final mesh is being saved. In addition the software
89 * gives indication regarding the CPU time.
90 * 10 - same as 2 plus the main steps in the computation, quality statistics
91 * histogram of the skin mesh, quality statistics histogram together with
92 * the characteristics of the final mesh.
94 void SetVerboseLevel(CORBA::Short level) throw ( SALOME::SALOME_Exception );
95 CORBA::Short GetVerboseLevel();
99 void SetToCreateNewNodes(CORBA::Boolean toCreate);
100 CORBA::Boolean GetToCreateNewNodes();
102 * To use boundary recovery version which tries to create mesh on a very poor
103 * quality surface mesh
105 void SetToUseBoundaryRecoveryVersion(CORBA::Boolean toUse);
106 CORBA::Boolean GetToUseBoundaryRecoveryVersion();
108 * To set hiden/undocumented/advanced options
110 void SetTextOption(const char* option);
111 char* GetTextOption();
113 // Get implementation
114 ::GHS3DPlugin_Hypothesis* GetImpl();
116 // Verify whether hypothesis supports given entity type
117 CORBA::Boolean IsDimSupported( SMESH::Dimension type );