1 // Copyright (C) 2007-2008 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
20 // File : BLSURFPlugin_Hypothesis.hxx
21 // Authors : Francis KLOSS (OCC) & Patrick LAUG (INRIA) & Lioka RAZAFINDRAZAKA (CEA)
22 // Size maps developement: Nicolas GEIMER (OCC) & Gilles DAVID (EURIWARE)
25 #ifndef _BLSURFPlugin_Hypothesis_i_HXX_
26 #define _BLSURFPlugin_Hypothesis_i_HXX_
28 #include <SALOMEconfig.h>
29 #include CORBA_SERVER_HEADER(BLSURFPlugin_Algorithm)
31 #include "SMESH_Hypothesis_i.hxx"
32 #include "BLSURFPlugin_Hypothesis.hxx"
37 // BLSURFPlugin parameters hypothesis
39 class BLSURFPlugin_Hypothesis_i:
40 public virtual POA_BLSURFPlugin::BLSURFPlugin_Hypothesis,
41 public virtual SMESH_Hypothesis_i
45 BLSURFPlugin_Hypothesis_i (PortableServer::POA_ptr thePOA,
47 ::SMESH_Gen* theGenImpl);
49 virtual ~BLSURFPlugin_Hypothesis_i();
51 void SetTopology(CORBA::Long theValue);
52 CORBA::Long GetTopology();
54 void SetPhysicalMesh(CORBA::Long theValue);
55 CORBA::Long GetPhysicalMesh();
57 void SetPhySize(CORBA::Double theValue);
58 CORBA::Double GetPhySize();
60 void SetPhyMin(CORBA::Double theMinSize);
61 CORBA::Double GetPhyMin();
63 void SetPhyMax(CORBA::Double theMaxSize);
64 CORBA::Double GetPhyMax();
66 void SetGeometricMesh(CORBA::Long theValue);
67 CORBA::Long GetGeometricMesh();
69 void SetAngleMeshS(CORBA::Double theValue);
70 CORBA::Double GetAngleMeshS();
72 void SetAngleMeshC(CORBA::Double angle);
73 CORBA::Double GetAngleMeshC();
75 void SetGeoMin(CORBA::Double theMinSize);
76 CORBA::Double GetGeoMin();
78 void SetGeoMax(CORBA::Double theMaxSize);
79 CORBA::Double GetGeoMax();
81 void SetGradation(CORBA::Double theValue);
82 CORBA::Double GetGradation();
84 void SetQuadAllowed(CORBA::Boolean theValue);
85 CORBA::Boolean GetQuadAllowed();
87 void SetDecimesh(CORBA::Boolean theValue);
88 CORBA::Boolean GetDecimesh();
90 void SetVerbosity(CORBA::Short theVal) throw (SALOME::SALOME_Exception);
91 CORBA::Short GetVerbosity();
93 void SetOptionValue(const char* optionName,
94 const char* optionValue) throw (SALOME::SALOME_Exception);
95 char* GetOptionValue(const char* optionName) throw (SALOME::SALOME_Exception);
97 void UnsetOption(const char* optionName);
99 BLSURFPlugin::string_array* GetOptionValues();
101 void SetOptionValues(const BLSURFPlugin::string_array& options) throw (SALOME::SALOME_Exception);
103 void SetSizeMapEntry(const char* entry,const char* sizeMap ) throw (SALOME::SALOME_Exception);
105 char* GetSizeMapEntry(const char* entry) throw (SALOME::SALOME_Exception);
107 void UnsetEntry(const char* entry);
109 BLSURFPlugin::string_array* GetSizeMapEntries();
111 void SetSizeMapEntries(const BLSURFPlugin::string_array& options) throw (SALOME::SALOME_Exception);
113 void SetSizeMap(GEOM::GEOM_Object_ptr GeomObj, const char* sizeMap);
115 void UnsetSizeMap(GEOM::GEOM_Object_ptr GeomObj);
117 void ClearSizeMaps();
120 void SetAttractor(GEOM::GEOM_Object_ptr GeomObj, const char* attractor);
122 void UnsetAttractor(GEOM::GEOM_Object_ptr GeomObj);
124 void SetAttractorEntry(const char* entry,const char* attractor ) throw (SALOME::SALOME_Exception);
126 char* GetAttractorEntry(const char* entry) throw (SALOME::SALOME_Exception);
128 BLSURFPlugin::string_array* GetAttractorEntries();
132 void SetCustomSizeMap(GEOM::GEOM_Object_ptr GeomObj, const char* sizeMap);
134 void UnsetCustomSizeMap(GEOM::GEOM_Object_ptr GeomObj);
136 void SetCustomSizeMapEntry(const char* entry,const char* sizeMap ) throw (SALOME::SALOME_Exception);
138 char* GetCustomSizeMapEntry(const char* entry) throw (SALOME::SALOME_Exception);
140 BLSURFPlugin::string_array* GetCustomSizeMapEntries();
143 // Get implementation
144 ::BLSURFPlugin_Hypothesis* GetImpl();
146 // Verify whether hypothesis supports given entity type
147 CORBA::Boolean IsDimSupported( SMESH::Dimension type );