mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 19:50:32 +05:00
Join modifications from branch BR_For_OCT_611: migration to OCCT6.1.1 with new exception handling and improved threads support.
This commit is contained in:
parent
0ef2b313da
commit
31282d8886
@ -1265,6 +1265,9 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
|
||||
RemoveSubMeshElementsAndNodes();
|
||||
{
|
||||
try {
|
||||
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||
OCC_CATCH_SIGNALS;
|
||||
#endif
|
||||
if (!algo->NeedDescretBoundary() && !algo->OnlyUnaryInput())
|
||||
ret = ApplyToCollection( algo, GetCollection( gen, algo ) );
|
||||
else
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include "SMESH_Gen_i.hxx"
|
||||
#include "SMESH_Filter_i.hxx"
|
||||
#include "SMESH_PythonDump.hxx"
|
||||
#include "CASCatch.hxx"
|
||||
|
||||
#include "utilities.h"
|
||||
|
||||
@ -45,6 +44,18 @@
|
||||
#include <gp_Ax2.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
|
||||
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||
#define NO_CAS_CATCH
|
||||
#endif
|
||||
|
||||
#include <Standard_Failure.hxx>
|
||||
|
||||
#ifdef NO_CAS_CATCH
|
||||
#include <Standard_ErrorHandler.hxx>
|
||||
#else
|
||||
#include "CASCatch.hxx"
|
||||
#endif
|
||||
|
||||
#include <sstream>
|
||||
|
||||
typedef map<const SMDS_MeshElement*,
|
||||
@ -1052,7 +1063,12 @@ void SMESH_MeshEditor_i::ExtrusionSweep(const SMESH::long_array & theIDsOfElemen
|
||||
myLastCreatedElems = new SMESH::long_array();
|
||||
myLastCreatedNodes = new SMESH::long_array();
|
||||
|
||||
#ifdef NO_CAS_CATCH
|
||||
try {
|
||||
OCC_CATCH_SIGNALS;
|
||||
#else
|
||||
CASCatch_TRY {
|
||||
#endif
|
||||
SMESHDS_Mesh* aMesh = GetMeshDS();
|
||||
|
||||
map<int,const SMDS_MeshElement*> elements;
|
||||
@ -1072,8 +1088,11 @@ void SMESH_MeshEditor_i::ExtrusionSweep(const SMESH::long_array & theIDsOfElemen
|
||||
TPythonDump() << this << ".ExtrusionSweep( "
|
||||
<< theIDsOfElements << ", stepVector, " << theNbOfSteps << " )";
|
||||
|
||||
}
|
||||
CASCatch_CATCH(Standard_Failure) {
|
||||
#ifdef NO_CAS_CATCH
|
||||
} catch(Standard_Failure) {
|
||||
#else
|
||||
} CASCatch_CATCH(Standard_Failure) {
|
||||
#endif
|
||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||
INFOS( "SMESH_MeshEditor_i::ExtrusionSweep fails - "<< aFail->GetMessageString() );
|
||||
}
|
||||
|
@ -27,11 +27,22 @@
|
||||
// $Header$
|
||||
|
||||
#include "StdMeshers_Distribution.hxx"
|
||||
#include "CASCatch.hxx"
|
||||
|
||||
#include <math_GaussSingleIntegration.hxx>
|
||||
#include <utilities.h>
|
||||
|
||||
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||
#define NO_CAS_CATCH
|
||||
#endif
|
||||
|
||||
#include <Standard_Failure.hxx>
|
||||
|
||||
#ifdef NO_CAS_CATCH
|
||||
#include <Standard_ErrorHandler.hxx>
|
||||
#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;
|
||||
@ -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;
|
||||
}
|
||||
@ -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,15 +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;
|
||||
#ifdef NO_CAS_CATCH
|
||||
try {
|
||||
OCC_CATCH_SIGNALS;
|
||||
#else
|
||||
CASCatch_TRY {
|
||||
// skl for IPAL13079 (bug on Mandriva) - other cast
|
||||
//math_GaussSingleIntegration _int( ( math_Function& )*this, a, b, 20 );
|
||||
math_GaussSingleIntegration _int( *static_cast<math_Function*>( const_cast<FunctionExpr*> (this) ), a, b, 20 );
|
||||
#endif
|
||||
math_GaussSingleIntegration _int
|
||||
( *static_cast<math_Function*>( const_cast<FunctionExpr*> (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" );
|
||||
}
|
||||
|
@ -33,8 +33,6 @@
|
||||
#include "SMESHDS_SubMesh.hxx"
|
||||
#include "SMESH_Mesh.hxx"
|
||||
|
||||
#include "CASCatch.hxx"
|
||||
|
||||
#include <ExprIntrp_GenExp.hxx>
|
||||
#include <Expr_Array1OfNamedUnknown.hxx>
|
||||
#include <Expr_NamedUnknown.hxx>
|
||||
@ -43,6 +41,18 @@
|
||||
#include <TopExp.hxx>
|
||||
#include <TopTools_IndexedMapOfShape.hxx>
|
||||
|
||||
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||
#define NO_CAS_CATCH
|
||||
#endif
|
||||
|
||||
#include <Standard_Failure.hxx>
|
||||
|
||||
#ifdef NO_CAS_CATCH
|
||||
#include <Standard_ErrorHandler.hxx>
|
||||
#else
|
||||
#include "CASCatch.hxx"
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
const double PRECISION = 1e-7;
|
||||
@ -218,12 +228,18 @@ void StdMeshers_NumberOfSegments::SetTableFunction(const std::vector<double>& ta
|
||||
double val = table[i*2+1];
|
||||
if( _convMode==0 )
|
||||
{
|
||||
CASCatch_TRY
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
try {
|
||||
OCC_CATCH_SIGNALS;
|
||||
#else
|
||||
CASCatch_TRY {
|
||||
#endif
|
||||
val = pow( 10.0, val );
|
||||
}
|
||||
CASCatch_CATCH(Standard_Failure)
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
} catch(Standard_Failure) {
|
||||
#else
|
||||
} CASCatch_CATCH(Standard_Failure) {
|
||||
#endif
|
||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||
throw SALOME_Exception( LOCALIZED( "invalid value"));
|
||||
return;
|
||||
@ -312,13 +328,19 @@ bool process( const TCollection_AsciiString& str, int convMode,
|
||||
{
|
||||
bool parsed_ok = true;
|
||||
Handle( ExprIntrp_GenExp ) myExpr;
|
||||
CASCatch_TRY
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
try {
|
||||
OCC_CATCH_SIGNALS;
|
||||
#else
|
||||
CASCatch_TRY {
|
||||
#endif
|
||||
myExpr = ExprIntrp_GenExp::Create();
|
||||
myExpr->Process( str.ToCString() );
|
||||
}
|
||||
CASCatch_CATCH(Standard_Failure)
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
} catch(Standard_Failure) {
|
||||
#else
|
||||
} CASCatch_CATCH(Standard_Failure) {
|
||||
#endif
|
||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||
parsed_ok = false;
|
||||
}
|
||||
|
@ -31,10 +31,6 @@ using namespace std;
|
||||
|
||||
#include "StdMeshers_Regular_1D.hxx"
|
||||
#include "StdMeshers_Distribution.hxx"
|
||||
#include "SMESH_Gen.hxx"
|
||||
#include "SMESH_Mesh.hxx"
|
||||
#include "SMESH_HypoFilter.hxx"
|
||||
#include "SMESH_subMesh.hxx"
|
||||
|
||||
#include "StdMeshers_LocalLength.hxx"
|
||||
#include "StdMeshers_NumberOfSegments.hxx"
|
||||
@ -43,6 +39,11 @@ using namespace std;
|
||||
#include "StdMeshers_Deflection1D.hxx"
|
||||
#include "StdMeshers_AutomaticLength.hxx"
|
||||
|
||||
#include "SMESH_Gen.hxx"
|
||||
#include "SMESH_Mesh.hxx"
|
||||
#include "SMESH_HypoFilter.hxx"
|
||||
#include "SMESH_subMesh.hxx"
|
||||
|
||||
#include "SMDS_MeshElement.hxx"
|
||||
#include "SMDS_MeshNode.hxx"
|
||||
#include "SMDS_EdgePosition.hxx"
|
||||
@ -58,15 +59,17 @@ using namespace std;
|
||||
#include <GCPnts_AbscissaPoint.hxx>
|
||||
#include <GCPnts_UniformAbscissa.hxx>
|
||||
#include <GCPnts_UniformDeflection.hxx>
|
||||
#include <Standard_ErrorHandler.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Expr_GeneralExpression.hxx>
|
||||
#include <Expr_NamedUnknown.hxx>
|
||||
#include <Expr_Array1OfNamedUnknown.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
#include <ExprIntrp_GenExp.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
#include <OSD.hxx>
|
||||
|
||||
#include <Standard_ErrorHandler.hxx>
|
||||
#include <Standard_Failure.hxx>
|
||||
|
||||
#include <string>
|
||||
#include <math.h>
|
||||
|
||||
@ -572,6 +575,9 @@ bool StdMeshers_Regular_1D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh
|
||||
if ( !_mainEdge.IsNull() )
|
||||
reversed = aMesh.IsReversedInChain( EE, _mainEdge );
|
||||
try {
|
||||
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||
OCC_CATCH_SIGNALS;
|
||||
#endif
|
||||
if ( ! computeInternalParameters( E, params, reversed )) {
|
||||
//cout << "computeInternalParameters() failed" <<endl;
|
||||
return false;
|
||||
|
@ -19,11 +19,22 @@
|
||||
//
|
||||
|
||||
#include "StdMeshersGUI_DistrPreview.h"
|
||||
#include "CASCatch.hxx"
|
||||
|
||||
#include <Expr_NamedUnknown.hxx>
|
||||
#include <Expr_GeneralExpression.hxx>
|
||||
|
||||
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||
#define NO_CAS_CATCH
|
||||
#endif
|
||||
|
||||
#include <Standard_Failure.hxx>
|
||||
|
||||
#ifdef NO_CAS_CATCH
|
||||
#include <Standard_ErrorHandler.hxx>
|
||||
#else
|
||||
#include "CASCatch.hxx"
|
||||
#endif
|
||||
|
||||
StdMeshersGUI_DistrPreview::StdMeshersGUI_DistrPreview( QWidget* p, StdMeshers::StdMeshers_NumberOfSegments_ptr h )
|
||||
: QwtPlot( p ),
|
||||
myPoints( 50 ),
|
||||
@ -240,12 +251,18 @@ void StdMeshersGUI_DistrPreview::update()
|
||||
delete[] y;
|
||||
x = y = 0;
|
||||
|
||||
CASCatch_TRY
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
try {
|
||||
OCC_CATCH_SIGNALS;
|
||||
#else
|
||||
CASCatch_TRY {
|
||||
#endif
|
||||
replot();
|
||||
}
|
||||
CASCatch_CATCH(Standard_Failure)
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
} catch(Standard_Failure) {
|
||||
#else
|
||||
} CASCatch_CATCH(Standard_Failure) {
|
||||
#endif
|
||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||
}
|
||||
}
|
||||
@ -285,13 +302,19 @@ bool isCorrectArg( const Handle( Expr_GeneralExpression )& expr )
|
||||
bool StdMeshersGUI_DistrPreview::init( const QString& str )
|
||||
{
|
||||
bool parsed_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.latin1() );
|
||||
}
|
||||
CASCatch_CATCH(Standard_Failure)
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
} catch(Standard_Failure) {
|
||||
#else
|
||||
} CASCatch_CATCH(Standard_Failure) {
|
||||
#endif
|
||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||
parsed_ok = false;
|
||||
}
|
||||
@ -327,10 +350,18 @@ double StdMeshersGUI_DistrPreview::calc( bool& ok )
|
||||
double res = 0.0;
|
||||
|
||||
ok = true;
|
||||
#ifdef NO_CAS_CATCH
|
||||
try {
|
||||
OCC_CATCH_SIGNALS;
|
||||
#else
|
||||
CASCatch_TRY {
|
||||
#endif
|
||||
res = 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();
|
||||
ok = false;
|
||||
res = 0.0;
|
||||
@ -351,16 +382,22 @@ bool StdMeshersGUI_DistrPreview::convert( double& v ) const
|
||||
{
|
||||
case EXPONENT:
|
||||
{
|
||||
CASCatch_TRY
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
try {
|
||||
OCC_CATCH_SIGNALS;
|
||||
#else
|
||||
CASCatch_TRY {
|
||||
#endif
|
||||
// in StdMeshers_NumberOfSegments.cc
|
||||
// const double PRECISION = 1e-7;
|
||||
//
|
||||
if(v < -7) v = -7.0;
|
||||
v = pow( 10.0, v );
|
||||
}
|
||||
CASCatch_CATCH(Standard_Failure)
|
||||
{
|
||||
#ifdef NO_CAS_CATCH
|
||||
} catch(Standard_Failure) {
|
||||
#else
|
||||
} CASCatch_CATCH(Standard_Failure) {
|
||||
#endif
|
||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||
v = 0.0;
|
||||
ok = false;
|
||||
|
Loading…
Reference in New Issue
Block a user