X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Distribution.cxx;h=1b8fbc1713f0b4618a7202366f988ecbf6da0267;hb=0eea513c934f0925f9b9ec6cc56892feafc04c0d;hp=7fb3956adfb85a8df5b99f57ecc881c46b548ac2;hpb=9d73526fbc8ecc160281df9046ad4aed0b57e779;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Distribution.cxx b/src/StdMeshers/StdMeshers_Distribution.cxx index 7fb3956ad..1b8fbc171 100644 --- a/src/StdMeshers/StdMeshers_Distribution.cxx +++ b/src/StdMeshers/StdMeshers_Distribution.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -20,7 +20,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH StdMeshers : implementaion of point distribution algorithm +// SMESH StdMeshers : implementation of point distribution algorithm // File : StdMeshers_Distribution.cxx // Author : Alexandre SOLOVYOV // Module : SMESH @@ -55,8 +55,7 @@ bool Function::value( const double, double& f ) const try { OCC_CATCH_SIGNALS; f = pow( 10., f ); - } catch(Standard_Failure) { - Handle(Standard_Failure) aFail = Standard_Failure::Caught(); + } catch(Standard_Failure&) { f = 0.0; ok = false; } @@ -157,7 +156,7 @@ double FunctionTable::integral( const double a, const double b ) const bool FunctionTable::findBounds( const double x, int& x_ind_1, int& x_ind_2 ) const { - int n = myData.size() / 2; + int n = (int) myData.size() / 2; if( n==0 || xProcess( ( Standard_CString )str ); - } catch(Standard_Failure) { - Handle(Standard_Failure) aFail = Standard_Failure::Caught(); + } catch(Standard_Failure&) { ok = false; } @@ -219,8 +217,7 @@ bool FunctionExpr::value( const double t, double& f ) const try { OCC_CATCH_SIGNALS; f = myExpr->Expression()->Evaluate( myVars, myValues ); - } catch(Standard_Failure) { - Handle(Standard_Failure) aFail = Standard_Failure::Caught(); + } catch(Standard_Failure&) { f = 0.0; ok = false; } @@ -238,7 +235,7 @@ double FunctionExpr::integral( const double a, const double b ) const ( *static_cast( const_cast (this) ), a, b, 20 ); if( _int.IsDone() ) res = _int.Value(); - } catch(Standard_Failure) { + } catch(Standard_Failure&) { res = 0.0; MESSAGE( "Exception in integral calculating" ); } @@ -292,35 +289,35 @@ double dihotomySolve( Function& f, const double val, const double _start, const } bool buildDistribution( const TCollection_AsciiString& f, const int conv, const double start, const double end, - const int nbSeg, vector& data, const double eps ) + const smIdType nbSeg, vector& data, const double eps ) { FunctionExpr F( f.ToCString(), conv ); return buildDistribution( F, start, end, nbSeg, data, eps ); } bool buildDistribution( const std::vector& f, const int conv, const double start, const double end, - const int nbSeg, vector& data, const double eps ) + const smIdType nbSeg, vector& data, const double eps ) { FunctionTable F( f, conv ); return buildDistribution( F, start, end, nbSeg, data, eps ); } -bool buildDistribution( const Function& func, const double start, const double end, const int nbSeg, - vector& data, const double eps ) +bool buildDistribution( const Function& func, const double start, const double end, + const smIdType nbSeg, vector& data, const double eps ) { if( nbSeg<=0 ) return false; data.resize( nbSeg+1 ); data[0] = start; - double J = func.integral( start, end ) / nbSeg; + double J = func.integral( start, end ) / double( nbSeg ); if( J<1E-10 ) return false; bool ok; //MESSAGE( "distribution:" ); //char buf[1024]; - for( int i=1; i