X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_NumberOfSegments.cxx;h=0e5d6c4d2b885fb558b55464cfd303b6e9cc5cb6;hp=2a2ae6b3e2884097b2e496e877d0ab44e46dd259;hb=0273fe09c6ef581ae93aaa4fe652676fa42f997e;hpb=0b959120c59670d73c0a1f6d46bfa72a6ceb49cf diff --git a/src/SMESH/SMESH_NumberOfSegments.cxx b/src/SMESH/SMESH_NumberOfSegments.cxx index 2a2ae6b3e..0e5d6c4d2 100644 --- a/src/SMESH/SMESH_NumberOfSegments.cxx +++ b/src/SMESH/SMESH_NumberOfSegments.cxx @@ -1,14 +1,32 @@ -using namespace std; -//============================================================================= -// File : SMESH_NumberOfSegments.cxx -// Created : sam mai 18 08:11:15 CEST 2002 -// Author : Paul RASCLE, EDF -// Project : SALOME -// Copyright : EDF 2002 -// $Header$ -//============================================================================= -using namespace std; +// SMESH SMESH : implementaion of SMESH idl descriptions +// +// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// +// +// +// File : SMESH_NumberOfSegments.cxx +// Author : Paul RASCLE, EDF +// Module : SMESH +// $Header$ +using namespace std; #include "SMESH_NumberOfSegments.hxx" //============================================================================= @@ -17,11 +35,12 @@ using namespace std; */ //============================================================================= -SMESH_NumberOfSegments::SMESH_NumberOfSegments(int hypId, int studyId, SMESH_Gen* gen) - : SMESH_Hypothesis(hypId, studyId, gen) +SMESH_NumberOfSegments::SMESH_NumberOfSegments(int hypId, int studyId, + SMESH_Gen * gen):SMESH_Hypothesis(hypId, studyId, gen) { - _numberOfSegments = 1; - _name = "NumberOfSegments"; + _numberOfSegments = 1; + _scaleFactor = 1.0; + _name = "NumberOfSegments"; } //============================================================================= @@ -41,15 +60,43 @@ SMESH_NumberOfSegments::~SMESH_NumberOfSegments() //============================================================================= void SMESH_NumberOfSegments::SetNumberOfSegments(int segmentsNumber) - throw (SALOME_Exception) +throw(SALOME_Exception) +{ + int oldNumberOfSegments = _numberOfSegments; + if (segmentsNumber <= 0) + throw + SALOME_Exception(LOCALIZED("number of segments must be positive")); + _numberOfSegments = segmentsNumber; + + if (oldNumberOfSegments != _numberOfSegments) + NotifySubMeshesHypothesisModification(); +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +int SMESH_NumberOfSegments::GetNumberOfSegments() const +{ + return _numberOfSegments; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +void SMESH_NumberOfSegments::SetScaleFactor(double scaleFactor) +throw(SALOME_Exception) { - int oldNumberOfSegments = _numberOfSegments; - if (segmentsNumber <= 0) - throw SALOME_Exception(LOCALIZED("number of segments must be positive")); - _numberOfSegments = segmentsNumber; + if (scaleFactor < 0) + throw SALOME_Exception(LOCALIZED("scale factor must be positive")); + _scaleFactor = scaleFactor; - if (oldNumberOfSegments != _numberOfSegments) - NotifySubMeshesHypothesisModification(); + NotifySubMeshesHypothesisModification(); } //============================================================================= @@ -58,9 +105,9 @@ void SMESH_NumberOfSegments::SetNumberOfSegments(int segmentsNumber) */ //============================================================================= -int SMESH_NumberOfSegments::GetNumberOfSegments() +double SMESH_NumberOfSegments::GetScaleFactor() const { - return _numberOfSegments; + return _scaleFactor; } //============================================================================= @@ -71,7 +118,7 @@ int SMESH_NumberOfSegments::GetNumberOfSegments() ostream & SMESH_NumberOfSegments::SaveTo(ostream & save) { - return save << this; + return save << this; } //============================================================================= @@ -82,7 +129,7 @@ ostream & SMESH_NumberOfSegments::SaveTo(ostream & save) istream & SMESH_NumberOfSegments::LoadFrom(istream & load) { - return load >> (*this); + return load >> (*this); } //============================================================================= @@ -91,10 +138,10 @@ istream & SMESH_NumberOfSegments::LoadFrom(istream & load) */ //============================================================================= -ostream& operator << (ostream & save, SMESH_NumberOfSegments & hyp) +ostream & operator <<(ostream & save, SMESH_NumberOfSegments & hyp) { - save << hyp._numberOfSegments; - return save; + save << hyp._numberOfSegments; + return save; } //============================================================================= @@ -103,13 +150,14 @@ ostream& operator << (ostream & save, SMESH_NumberOfSegments & hyp) */ //============================================================================= -istream& operator >> (istream & load, SMESH_NumberOfSegments & hyp) +istream & operator >>(istream & load, SMESH_NumberOfSegments & hyp) { - bool isOK = true; - int a; - isOK = (load >> a); - if (isOK) hyp._numberOfSegments = a; - else load.clear(ios::badbit | load.rdstate()); - return load; + bool isOK = true; + int a; + isOK = (load >> a); + if (isOK) + hyp._numberOfSegments = a; + else + load.clear(ios::badbit | load.rdstate()); + return load; } -