Salome HOME
Merge 'master' branch into 'V9_dev' branch.
[plugins/netgenplugin.git] / src / NETGENPlugin / NETGENPlugin_Hypothesis_2D_i.cxx
1 // Copyright (C) 2007-2016  CEA/DEN, EDF R&D, 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.cxx
25 // Author    : Michael Sazonov (OCN)
26 // Date      : 03/04/2006
27 // Project   : SALOME
28 //=============================================================================
29 //
30 #include "NETGENPlugin_Hypothesis_2D_i.hxx"
31 #include "SMESH_Gen.hxx"
32 #include "SMESH_PythonDump.hxx"
33
34 //=============================================================================
35 /*!
36  *  NETGENPlugin_Hypothesis_2D_i::NETGENPlugin_Hypothesis_2D_i
37  *
38  *  Constructor
39  */
40 //=============================================================================
41 NETGENPlugin_Hypothesis_2D_i::
42 NETGENPlugin_Hypothesis_2D_i (PortableServer::POA_ptr thePOA,
43                               ::SMESH_Gen*            theGenImpl)
44   : SALOME::GenericObj_i( thePOA ),
45     SMESH_Hypothesis_i( thePOA ),
46     NETGENPlugin_Hypothesis_i( thePOA, theGenImpl )
47 {
48   if (myBaseImpl)
49     delete (::NETGENPlugin_Hypothesis*)myBaseImpl;
50   myBaseImpl = new ::NETGENPlugin_Hypothesis_2D (theGenImpl->GetANewId(),
51                                                  theGenImpl);
52 }
53
54 //=============================================================================
55 /*!
56  *  NETGENPlugin_Hypothesis_2D_i::~NETGENPlugin_Hypothesis_2D_i
57  *
58  *  Destructor
59  */
60 //=============================================================================
61 NETGENPlugin_Hypothesis_2D_i::~NETGENPlugin_Hypothesis_2D_i()
62 {
63 }
64
65 //=============================================================================
66 /*!
67  *  NETGENPlugin_Hypothesis_2D_i::GetImpl
68  *
69  *  Get implementation
70  */
71 //=============================================================================
72 ::NETGENPlugin_Hypothesis_2D* NETGENPlugin_Hypothesis_2D_i::GetImpl()
73 {
74   return (::NETGENPlugin_Hypothesis_2D*)myBaseImpl;
75 }
76
77 //================================================================================
78 /*!
79  * \brief Verify whether hypothesis supports given entity type 
80   * \param type - dimension (see SMESH::Dimension enumeration)
81   * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
82  * 
83  * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
84  */
85 //================================================================================  
86 CORBA::Boolean NETGENPlugin_Hypothesis_2D_i::IsDimSupported( SMESH::Dimension type )
87 {
88   return type == SMESH::DIM_2D;
89 }
90
91
92 //=============================================================================
93 /*!
94  *  NETGENPlugin_RemesherHypothesis_2D_i::NETGENPlugin_RemesherHypothesis_2D_i
95  *
96  *  Constructor
97  */
98 //=============================================================================
99 NETGENPlugin_RemesherHypothesis_2D_i::
100 NETGENPlugin_RemesherHypothesis_2D_i (PortableServer::POA_ptr thePOA,
101                                       ::SMESH_Gen*            theGenImpl)
102   : SALOME::GenericObj_i( thePOA ),
103     SMESH_Hypothesis_i( thePOA ),
104     NETGENPlugin_Hypothesis_2D_i( thePOA, theGenImpl )
105 {
106   myBaseImpl = new ::NETGENPlugin_RemesherHypothesis_2D (theGenImpl->GetANewId(),
107                                                          theGenImpl);
108 }
109
110 //================================================================================
111 /*!
112  * \brief Verify whether hypothesis supports given entity type
113  * \param type - dimension (see SMESH::Dimension enumeration)
114  * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
115  *
116  * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
117  */
118 //================================================================================
119 CORBA::Boolean NETGENPlugin_RemesherHypothesis_2D_i::IsDimSupported( SMESH::Dimension type )
120 {
121   return type == SMESH::DIM_2D;
122 }
123
124 //=============================================================================
125 /*!
126  *  NETGENPlugin_RemesherHypothesis_2D_i::GetImpl
127  *
128  *  Get implementation
129  */
130 //=============================================================================
131 ::NETGENPlugin_RemesherHypothesis_2D* NETGENPlugin_RemesherHypothesis_2D_i::GetImpl()
132 {
133   return (::NETGENPlugin_RemesherHypothesis_2D*)myBaseImpl;
134 }
135
136 //================================================================================
137 /*!
138  * \brief Set ridge angle
139  */
140 //================================================================================
141
142 void NETGENPlugin_RemesherHypothesis_2D_i::SetRidgeAngle( CORBA::Double angle )
143 {
144   GetImpl()->SetRidgeAngle( angle );
145
146   SMESH::TPythonDump() << _this() << ".SetRidgeAngle( " << SMESH::TVar(angle) << " )";
147 }
148
149 //================================================================================
150 /*!
151  * \brief Return ridge angle
152  */
153 //================================================================================
154
155 CORBA::Double NETGENPlugin_RemesherHypothesis_2D_i::GetRidgeAngle()
156 {
157   return GetImpl()->GetRidgeAngle();
158 }