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 : StdMeshers_MaxElementVolume.cxx
25 // Moved here from SMESH_MaxElementVolume.cxx
26 // Author : Paul RASCLE, EDF
32 #include "StdMeshers_MaxElementVolume.hxx"
33 #include "utilities.h"
35 //=============================================================================
39 //=============================================================================
41 StdMeshers_MaxElementVolume::StdMeshers_MaxElementVolume(int hypId, int studyId, SMESH_Gen* gen)
42 : SMESH_Hypothesis(hypId, studyId, gen)
45 _name = "MaxElementVolume";
51 //=============================================================================
55 //=============================================================================
57 StdMeshers_MaxElementVolume::~StdMeshers_MaxElementVolume()
59 MESSAGE("StdMeshers_MaxElementVolume::~StdMeshers_MaxElementVolume");
62 //=============================================================================
66 //=============================================================================
68 void StdMeshers_MaxElementVolume::SetMaxVolume(double maxVolume)
69 throw (SALOME_Exception)
71 double oldVolume = _maxVolume;
73 throw SALOME_Exception(LOCALIZED("maxVolume must be positive"));
74 _maxVolume = maxVolume;
75 if (_maxVolume != oldVolume)
76 NotifySubMeshesHypothesisModification();
79 //=============================================================================
83 //=============================================================================
85 double StdMeshers_MaxElementVolume::GetMaxVolume() const
90 //=============================================================================
94 //=============================================================================
96 ostream & StdMeshers_MaxElementVolume::SaveTo(ostream & save)
98 save << this->_maxVolume;
102 //=============================================================================
106 //=============================================================================
108 istream & StdMeshers_MaxElementVolume::LoadFrom(istream & load)
114 this->_maxVolume = a;
116 load.clear(ios::badbit | load.rdstate());
120 //=============================================================================
124 //=============================================================================
126 ostream & operator << (ostream & save, StdMeshers_MaxElementVolume & hyp)
128 return hyp.SaveTo( save );
131 //=============================================================================
135 //=============================================================================
137 istream & operator >> (istream & load, StdMeshers_MaxElementVolume & hyp)
139 return hyp.LoadFrom( load );