X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Distribution.cxx;h=6cfb7559784da6f7d36561980c09c3a634ecea29;hp=4fd04bea9c63ffae833cfb0dd7aede40c9e8cd6a;hb=9d11375af40826e967ab2c3bcb77d1f9d439c90c;hpb=dbdb0fce59afcffbfff06ff11b57a058853db81a diff --git a/src/StdMeshers/StdMeshers_Distribution.cxx b/src/StdMeshers/StdMeshers_Distribution.cxx index 4fd04bea9..6cfb75597 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 - { - f = pow( 10, f ); - } - CASCatch_CATCH(Standard_Failure) - { + if (myConv == 0) { +#ifdef NO_CAS_CATCH + try { + OCC_CATCH_SIGNALS; +#else + CASCatch_TRY { +#endif + f = pow( 10., f ); +#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; @@ -170,13 +186,19 @@ FunctionExpr::FunctionExpr( const char* str, const int conv ) myValues( 1, 1 ) { bool ok = true; - CASCatch_TRY - { +#ifdef NO_CAS_CATCH + try { + OCC_CATCH_SIGNALS; +#else + CASCatch_TRY { +#endif myExpr = ExprIntrp_GenExp::Create(); myExpr->Process( ( 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; } @@ -191,7 +213,7 @@ FunctionExpr::~FunctionExpr() { } -Standard_Boolean FunctionExpr::Value( Standard_Real T, Standard_Real& F ) +Standard_Boolean FunctionExpr::Value( const Standard_Real T, Standard_Real& F ) { double f; Standard_Boolean res = value( T, f ); @@ -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" ); }