Salome HOME
#BOS 37851: cast tuple types for compilation on FD38
[plugins/netgenplugin.git] / src / NETGENPlugin / NETGENPlugin_Hypothesis_2D_i.hxx
1 // Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22
23 //  NETGENPlugin : C++ implementation
24 // File      : NETGENPlugin_Hypothesis_2D_i.hxx
25 // Author    : Michael Sazonov (OCN)
26 // Date      : 03/04/2006
27 // Project   : SALOME
28 //=============================================================================
29 //
30 #ifndef _NETGENPlugin_Hypothesis_2D_i_HXX_
31 #define _NETGENPlugin_Hypothesis_2D_i_HXX_
32
33 #include "NETGENPlugin_Defs.hxx"
34
35 #include <SALOMEconfig.h>
36 #include CORBA_SERVER_HEADER(NETGENPlugin_Algorithm)
37
38 #include "NETGENPlugin_Hypothesis_i.hxx"
39 #include "NETGENPlugin_Hypothesis_2D.hxx"
40
41 class SMESH_Gen;
42
43 // NETGENPlugin parameters hypothesis (2D case)
44
45 class NETGENPLUGIN_EXPORT  NETGENPlugin_Hypothesis_2D_i:
46   public virtual POA_NETGENPlugin::NETGENPlugin_Hypothesis_2D,
47   public NETGENPlugin_Hypothesis_i
48 {
49  public:
50   // Constructor
51   NETGENPlugin_Hypothesis_2D_i (PortableServer::POA_ptr thePOA,
52                                 ::SMESH_Gen*            theGenImpl);
53   // Destructor
54   virtual ~NETGENPlugin_Hypothesis_2D_i();
55
56   // Get implementation
57   ::NETGENPlugin_Hypothesis_2D* GetImpl();
58   
59   // Verify whether hypothesis supports given entity type 
60   CORBA::Boolean IsDimSupported( SMESH::Dimension type );
61
62  protected:
63
64   // to remember whether a parameter is already set (issue 0021364)
65   // enum SettingMethod
66   // {
67   //   METH_SetQuadAllowed = NETGENPlugin_Hypothesis_i::METH_LAST * 2,
68   //   METH_LAST           = METH_SetQuadAllowed
69   // };
70 };
71
72 // NETGENPlugin_Remesher_2D parameters hypothesis
73
74 class NETGENPLUGIN_EXPORT  NETGENPlugin_RemesherHypothesis_2D_i:
75   public virtual POA_NETGENPlugin::NETGENPlugin_RemesherHypothesis_2D,
76   public NETGENPlugin_Hypothesis_2D_i
77 {
78  public:
79   // Constructor
80   NETGENPlugin_RemesherHypothesis_2D_i( PortableServer::POA_ptr thePOA,
81                                         ::SMESH_Gen*            theGenImpl);
82
83   void SetRidgeAngle( CORBA::Double angle );
84   CORBA::Double GetRidgeAngle();
85
86   void SetEdgeCornerAngle( CORBA::Double angle );
87   CORBA::Double GetEdgeCornerAngle();
88
89   void SetChartAngle( CORBA::Double angle );
90   CORBA::Double GetChartAngle();
91
92   void SetOuterChartAngle( CORBA::Double angle );
93   CORBA::Double GetOuterChartAngle();
94
95   void SetRestHChartDistFactor( CORBA::Double f );
96   CORBA::Double GetRestHChartDistFactor();
97
98   void SetRestHChartDistEnable( CORBA::Boolean enable );
99   CORBA::Boolean GetRestHChartDistEnable();
100
101   void SetRestHLineLengthFactor( CORBA::Double f );
102   CORBA::Double GetRestHLineLengthFactor();
103
104   void SetRestHLineLengthEnable( CORBA::Boolean enable );
105   CORBA::Boolean GetRestHLineLengthEnable();
106
107   void SetRestHCloseEdgeFactor( CORBA::Double f );
108   CORBA::Double GetRestHCloseEdgeFactor();
109
110   void SetRestHCloseEdgeEnable( CORBA::Boolean enable );
111   CORBA::Boolean GetRestHCloseEdgeEnable();
112
113   void SetRestHSurfCurvFactor( CORBA::Double f );
114   CORBA::Double GetRestHSurfCurvFactor();
115
116   void SetRestHSurfCurvEnable( CORBA::Boolean enable );
117   CORBA::Boolean GetRestHSurfCurvEnable();
118
119   void SetRestHEdgeAngleFactor( CORBA::Double f );
120   CORBA::Double GetRestHEdgeAngleFactor();
121
122   void SetRestHEdgeAngleEnable( CORBA::Boolean enable );
123   CORBA::Boolean GetRestHEdgeAngleEnable();
124
125   void SetRestHSurfMeshCurvFactor( CORBA::Double f );
126   CORBA::Double GetRestHSurfMeshCurvFactor();
127
128   void SetRestHSurfMeshCurvEnable( CORBA::Boolean enable );
129   CORBA::Boolean GetRestHSurfMeshCurvEnable();
130
131   void SetKeepExistingEdges( CORBA::Boolean toKeep );
132   CORBA::Boolean GetKeepExistingEdges();
133
134   void SetMakeGroupsOfSurfaces( CORBA::Boolean toMake );
135   CORBA::Boolean GetMakeGroupsOfSurfaces();
136
137   void SetFixedEdgeGroup( SMESH::SMESH_GroupBase_ptr edgeGroup );
138   SMESH::SMESH_GroupBase_ptr GetFixedEdgeGroup( SMESH::SMESH_Mesh_ptr mesh );
139
140   void SetLoadMeshOnCancel( CORBA::Boolean toLoad );
141   CORBA::Boolean GetLoadMeshOnCancel();
142
143
144   // Get implementation
145   ::NETGENPlugin_RemesherHypothesis_2D* GetImpl();
146
147   // Verify whether hypothesis supports given entity type
148   CORBA::Boolean IsDimSupported( SMESH::Dimension type );
149 };
150
151 #endif