Salome HOME
Merge V8_4_BR 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                               int                     theStudyId,
44                               ::SMESH_Gen*            theGenImpl)
45   : SALOME::GenericObj_i( thePOA ),
46     SMESH_Hypothesis_i( thePOA ),
47     NETGENPlugin_Hypothesis_i( thePOA, theStudyId, theGenImpl )
48 {
49   if (myBaseImpl)
50     delete (::NETGENPlugin_Hypothesis*)myBaseImpl;
51   myBaseImpl = new ::NETGENPlugin_Hypothesis_2D (theGenImpl->GetANewId(),
52                                                  theStudyId,
53                                                  theGenImpl);
54 }
55
56 //=============================================================================
57 /*!
58  *  NETGENPlugin_Hypothesis_2D_i::~NETGENPlugin_Hypothesis_2D_i
59  *
60  *  Destructor
61  */
62 //=============================================================================
63 NETGENPlugin_Hypothesis_2D_i::~NETGENPlugin_Hypothesis_2D_i()
64 {
65 }
66
67 //=============================================================================
68 /*!
69  *  NETGENPlugin_Hypothesis_2D_i::GetImpl
70  *
71  *  Get implementation
72  */
73 //=============================================================================
74 ::NETGENPlugin_Hypothesis_2D* NETGENPlugin_Hypothesis_2D_i::GetImpl()
75 {
76   return (::NETGENPlugin_Hypothesis_2D*)myBaseImpl;
77 }
78
79 //================================================================================
80 /*!
81  * \brief Verify whether hypothesis supports given entity type 
82   * \param type - dimension (see SMESH::Dimension enumeration)
83   * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
84  * 
85  * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
86  */
87 //================================================================================  
88 CORBA::Boolean NETGENPlugin_Hypothesis_2D_i::IsDimSupported( SMESH::Dimension type )
89 {
90   return type == SMESH::DIM_2D;
91 }
92
93
94 //=============================================================================
95 /*!
96  *  NETGENPlugin_RemesherHypothesis_2D_i::NETGENPlugin_RemesherHypothesis_2D_i
97  *
98  *  Constructor
99  */
100 //=============================================================================
101 NETGENPlugin_RemesherHypothesis_2D_i::
102 NETGENPlugin_RemesherHypothesis_2D_i (PortableServer::POA_ptr thePOA,
103                                       int                     theStudyId,
104                                       ::SMESH_Gen*            theGenImpl)
105   : SALOME::GenericObj_i( thePOA ),
106     SMESH_Hypothesis_i( thePOA ),
107     NETGENPlugin_Hypothesis_2D_i( thePOA, theStudyId, theGenImpl )
108 {
109   myBaseImpl = new ::NETGENPlugin_RemesherHypothesis_2D (theGenImpl->GetANewId(),
110                                                          theStudyId,
111                                                          theGenImpl);
112 }
113
114 //================================================================================
115 /*!
116  * \brief Verify whether hypothesis supports given entity type
117  * \param type - dimension (see SMESH::Dimension enumeration)
118  * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
119  *
120  * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
121  */
122 //================================================================================
123 CORBA::Boolean NETGENPlugin_RemesherHypothesis_2D_i::IsDimSupported( SMESH::Dimension type )
124 {
125   return type == SMESH::DIM_2D;
126 }
127
128 //=============================================================================
129 /*!
130  *  NETGENPlugin_RemesherHypothesis_2D_i::GetImpl
131  *
132  *  Get implementation
133  */
134 //=============================================================================
135 ::NETGENPlugin_RemesherHypothesis_2D* NETGENPlugin_RemesherHypothesis_2D_i::GetImpl()
136 {
137   return (::NETGENPlugin_RemesherHypothesis_2D*)myBaseImpl;
138 }
139
140 //================================================================================
141 /*!
142  * \brief Set ridge angle
143  */
144 //================================================================================
145
146 void NETGENPlugin_RemesherHypothesis_2D_i::SetRidgeAngle( CORBA::Double angle )
147 {
148   GetImpl()->SetRidgeAngle( angle );
149
150   SMESH::TPythonDump() << _this() << ".SetRidgeAngle( " << SMESH::TVar(angle) << " )";
151 }
152
153 //================================================================================
154 /*!
155  * \brief Return ridge angle
156  */
157 //================================================================================
158
159 CORBA::Double NETGENPlugin_RemesherHypothesis_2D_i::GetRidgeAngle()
160 {
161   return GetImpl()->GetRidgeAngle();
162 }