X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Distribution.cxx;h=989fcf3ced6cd7b4ed6db6c4cfdf0c4e5caebef1;hb=refs%2Ftags%2FV3_2_2pre;hp=ca8338d038ede95ec7a49eb9c8a7c268668bf63e;hpb=c63ee099ad2b149bd70136839c973e8910137bc5;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Distribution.cxx b/src/StdMeshers/StdMeshers_Distribution.cxx index ca8338d03..989fcf3ce 100644 --- a/src/StdMeshers/StdMeshers_Distribution.cxx +++ b/src/StdMeshers/StdMeshers_Distribution.cxx @@ -27,11 +27,22 @@ // $Header$ #include "StdMeshers_Distribution.hxx" -#include "CASCatch.hxx" #include #include +#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100 +#define NO_CAS_CATCH +#endif + +#include + +#ifdef NO_CAS_CATCH +#include +#else +#include "CASCatch.hxx" +#endif + Function::Function( const int conv ) : myConv( conv ) { @@ -44,14 +55,19 @@ Function::~Function() bool Function::value( const double, double& f ) const { bool ok = true; - if( myConv==0 ) - { - CASCatch_TRY - { + if (myConv == 0) { +#ifdef NO_CAS_CATCH + try { + OCC_CATCH_SIGNALS; +#else + CASCatch_TRY { +#endif f = pow( 10, f ); - } - CASCatch_CATCH(Standard_Failure) - { +#ifdef NO_CAS_CATCH + } catch(Standard_Failure) { +#else + } CASCatch_CATCH(Standard_Failure) { +#endif Handle(Standard_Failure) aFail = Standard_Failure::Caught(); f = 0.0; ok = false; @@ -145,7 +161,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(); + int n = myData.size() / 2; if( n==0 || xProcess( ( Standard_CString )str ); - } - CASCatch_CATCH(Standard_Failure) - { +#ifdef NO_CAS_CATCH + } catch(Standard_Failure) { +#else + } CASCatch_CATCH(Standard_Failure) { +#endif Handle(Standard_Failure) aFail = Standard_Failure::Caught(); ok = false; } @@ -206,10 +228,18 @@ bool FunctionExpr::value( const double t, double& f ) const ( ( TColStd_Array1OfReal& )myValues ).ChangeValue( 1 ) = t; bool ok = true; +#ifdef NO_CAS_CATCH + try { + OCC_CATCH_SIGNALS; +#else CASCatch_TRY { +#endif f = myExpr->Expression()->Evaluate( myVars, myValues ); - } - CASCatch_CATCH(Standard_Failure) { +#ifdef NO_CAS_CATCH + } catch(Standard_Failure) { +#else + } CASCatch_CATCH(Standard_Failure) { +#endif Handle(Standard_Failure) aFail = Standard_Failure::Caught(); f = 0.0; ok = false; @@ -222,14 +252,21 @@ bool FunctionExpr::value( const double t, double& f ) const double FunctionExpr::integral( const double a, const double b ) const { double res = 0.0; - CASCatch_TRY - { - math_GaussSingleIntegration _int( ( math_Function& )*this, a, b, 20 ); +#ifdef NO_CAS_CATCH + try { + OCC_CATCH_SIGNALS; +#else + CASCatch_TRY { +#endif + math_GaussSingleIntegration _int + ( *static_cast( const_cast (this) ), a, b, 20 ); if( _int.IsDone() ) res = _int.Value(); - } - CASCatch_CATCH(Standard_Failure) - { +#ifdef NO_CAS_CATCH + } catch(Standard_Failure) { +#else + } CASCatch_CATCH(Standard_Failure) { +#endif res = 0.0; MESSAGE( "Exception in integral calculating" ); }