X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_MaxElementVolume.cxx;h=cb25383d7859f6e84ee2e7d39ea068d720ecded4;hp=cd77ebe8eaf2036c9d3a6e407bc27d3a700b9824;hb=faa1c8f2bc27c5244a34fe03584826de59cb17b3;hpb=cf8c1dc99ee5029f8374a7ddff34854bfafe066b diff --git a/src/SMESH/SMESH_MaxElementVolume.cxx b/src/SMESH/SMESH_MaxElementVolume.cxx index cd77ebe8e..cb25383d7 100644 --- a/src/SMESH/SMESH_MaxElementVolume.cxx +++ b/src/SMESH/SMESH_MaxElementVolume.cxx @@ -27,3 +27,111 @@ // $Header$ using namespace std; + +#include "SMESH_MaxElementVolume.hxx" +#include "utilities.h" + +//============================================================================= +/*! + * + */ +//============================================================================= + +SMESH_MaxElementVolume::SMESH_MaxElementVolume(int hypId, int studyId, SMESH_Gen* gen) + : SMESH_Hypothesis(hypId, studyId, gen) +{ + _maxVolume =1.; + _name = "MaxElementVolume"; +// SCRUTE(_name); + SCRUTE(&_name); +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +SMESH_MaxElementVolume::~SMESH_MaxElementVolume() +{ + MESSAGE("SMESH_MaxElementVolume::~SMESH_MaxElementVolume"); +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +void SMESH_MaxElementVolume::SetMaxVolume(double maxVolume) + throw (SALOME_Exception) +{ + double oldVolume = _maxVolume; + if (maxVolume <= 0) + throw SALOME_Exception(LOCALIZED("maxVolume must be positive")); + _maxVolume = maxVolume; + if (_maxVolume != oldVolume) + NotifySubMeshesHypothesisModification(); +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +double SMESH_MaxElementVolume::GetMaxVolume() const +{ + return _maxVolume; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +ostream & SMESH_MaxElementVolume::SaveTo(ostream & save) +{ + return save << this; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +istream & SMESH_MaxElementVolume::LoadFrom(istream & load) +{ + return load >> (*this); +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +ostream & operator << (ostream & save, SMESH_MaxElementVolume & hyp) +{ + save << hyp._maxVolume; + return save; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +istream & operator >> (istream & load, SMESH_MaxElementVolume & hyp) +{ + bool isOK = true; + double a; + isOK = (load >> a); + if (isOK) hyp._maxVolume = a; + else load.clear(ios::badbit | load.rdstate()); + return load; +} +