1 // SMESH SMESH : implementaion of SMESH idl descriptions
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : SMESH_MaxElementArea.cxx
25 // Author : Paul RASCLE, EDF
31 #include "SMESH_MaxElementArea.hxx"
32 #include "utilities.h"
34 //=============================================================================
38 //=============================================================================
40 SMESH_MaxElementArea::SMESH_MaxElementArea(int hypId, int studyId, SMESH_Gen* gen)
41 : SMESH_Hypothesis(hypId, studyId, gen)
44 _name = "MaxElementArea";
49 //=============================================================================
53 //=============================================================================
55 SMESH_MaxElementArea::~SMESH_MaxElementArea()
59 //=============================================================================
63 //=============================================================================
65 void SMESH_MaxElementArea::SetMaxArea(double maxArea)
66 throw (SALOME_Exception)
68 double oldArea = _maxArea;
70 throw SALOME_Exception(LOCALIZED("maxArea must be positive"));
72 if (_maxArea != oldArea)
73 NotifySubMeshesHypothesisModification();
76 //=============================================================================
80 //=============================================================================
82 double SMESH_MaxElementArea::GetMaxArea() const
87 //=============================================================================
91 //=============================================================================
93 ostream & SMESH_MaxElementArea::SaveTo(ostream & save)
98 //=============================================================================
102 //=============================================================================
104 istream & SMESH_MaxElementArea::LoadFrom(istream & load)
106 return load >> (*this);
109 //=============================================================================
113 //=============================================================================
115 ostream & operator << (ostream & save, SMESH_MaxElementArea & hyp)
117 save << hyp._maxArea;
121 //=============================================================================
125 //=============================================================================
127 istream & operator >> (istream & load, SMESH_MaxElementArea & hyp)
132 if (isOK) hyp._maxArea = a;
133 else load.clear(ios::badbit | load.rdstate());