mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 20:10:33 +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
@ -17,7 +17,7 @@
|
|||||||
// License along with this library; if not, write to the Free Software
|
// License along with this library; if not, write to the Free Software
|
||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@ -1265,6 +1265,9 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
|
|||||||
RemoveSubMeshElementsAndNodes();
|
RemoveSubMeshElementsAndNodes();
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#endif
|
||||||
if (!algo->NeedDescretBoundary() && !algo->OnlyUnaryInput())
|
if (!algo->NeedDescretBoundary() && !algo->OnlyUnaryInput())
|
||||||
ret = ApplyToCollection( algo, GetCollection( gen, algo ) );
|
ret = ApplyToCollection( algo, GetCollection( gen, algo ) );
|
||||||
else
|
else
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
// License along with this library; if not, write to the Free Software
|
// License along with this library; if not, write to the Free Software
|
||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@ -37,7 +37,6 @@
|
|||||||
#include "SMESH_Gen_i.hxx"
|
#include "SMESH_Gen_i.hxx"
|
||||||
#include "SMESH_Filter_i.hxx"
|
#include "SMESH_Filter_i.hxx"
|
||||||
#include "SMESH_PythonDump.hxx"
|
#include "SMESH_PythonDump.hxx"
|
||||||
#include "CASCatch.hxx"
|
|
||||||
|
|
||||||
#include "utilities.h"
|
#include "utilities.h"
|
||||||
|
|
||||||
@ -45,6 +44,18 @@
|
|||||||
#include <gp_Ax2.hxx>
|
#include <gp_Ax2.hxx>
|
||||||
#include <gp_Vec.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>
|
#include <sstream>
|
||||||
|
|
||||||
typedef map<const SMDS_MeshElement*,
|
typedef map<const SMDS_MeshElement*,
|
||||||
@ -1052,15 +1063,20 @@ void SMESH_MeshEditor_i::ExtrusionSweep(const SMESH::long_array & theIDsOfElemen
|
|||||||
myLastCreatedElems = new SMESH::long_array();
|
myLastCreatedElems = new SMESH::long_array();
|
||||||
myLastCreatedNodes = new SMESH::long_array();
|
myLastCreatedNodes = new SMESH::long_array();
|
||||||
|
|
||||||
CASCatch_TRY {
|
#ifdef NO_CAS_CATCH
|
||||||
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
SMESHDS_Mesh* aMesh = GetMeshDS();
|
SMESHDS_Mesh* aMesh = GetMeshDS();
|
||||||
|
|
||||||
map<int,const SMDS_MeshElement*> elements;
|
map<int,const SMDS_MeshElement*> elements;
|
||||||
ToMap(theIDsOfElements, aMesh, elements);
|
ToMap(theIDsOfElements, aMesh, elements);
|
||||||
|
|
||||||
const SMESH::PointStruct * P = &theStepVector.PS;
|
const SMESH::PointStruct * P = &theStepVector.PS;
|
||||||
gp_Vec stepVec( P->x, P->y, P->z );
|
gp_Vec stepVec( P->x, P->y, P->z );
|
||||||
|
|
||||||
TElemOfElemListMap aHystory;
|
TElemOfElemListMap aHystory;
|
||||||
::SMESH_MeshEditor anEditor( _myMesh );
|
::SMESH_MeshEditor anEditor( _myMesh );
|
||||||
anEditor.ExtrusionSweep (elements, stepVec, theNbOfSteps, aHystory);
|
anEditor.ExtrusionSweep (elements, stepVec, theNbOfSteps, aHystory);
|
||||||
@ -1070,10 +1086,13 @@ void SMESH_MeshEditor_i::ExtrusionSweep(const SMESH::long_array & theIDsOfElemen
|
|||||||
// Update Python script
|
// Update Python script
|
||||||
TPythonDump() << "stepVector = " << theStepVector;
|
TPythonDump() << "stepVector = " << theStepVector;
|
||||||
TPythonDump() << this << ".ExtrusionSweep( "
|
TPythonDump() << this << ".ExtrusionSweep( "
|
||||||
<< theIDsOfElements << ", stepVector, " << theNbOfSteps << " )";
|
<< theIDsOfElements << ", stepVector, " << theNbOfSteps << " )";
|
||||||
|
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure) {
|
} catch(Standard_Failure) {
|
||||||
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
INFOS( "SMESH_MeshEditor_i::ExtrusionSweep fails - "<< aFail->GetMessageString() );
|
INFOS( "SMESH_MeshEditor_i::ExtrusionSweep fails - "<< aFail->GetMessageString() );
|
||||||
}
|
}
|
||||||
|
@ -27,11 +27,22 @@
|
|||||||
// $Header$
|
// $Header$
|
||||||
|
|
||||||
#include "StdMeshers_Distribution.hxx"
|
#include "StdMeshers_Distribution.hxx"
|
||||||
#include "CASCatch.hxx"
|
|
||||||
|
|
||||||
#include <math_GaussSingleIntegration.hxx>
|
#include <math_GaussSingleIntegration.hxx>
|
||||||
#include <utilities.h>
|
#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 )
|
Function::Function( const int conv )
|
||||||
: myConv( conv )
|
: myConv( conv )
|
||||||
{
|
{
|
||||||
@ -44,14 +55,19 @@ Function::~Function()
|
|||||||
bool Function::value( const double, double& f ) const
|
bool Function::value( const double, double& f ) const
|
||||||
{
|
{
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
if( myConv==0 )
|
if (myConv == 0) {
|
||||||
{
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_TRY
|
try {
|
||||||
{
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
f = pow( 10, f );
|
f = pow( 10, f );
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure)
|
} catch(Standard_Failure) {
|
||||||
{
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
f = 0.0;
|
f = 0.0;
|
||||||
ok = false;
|
ok = false;
|
||||||
@ -170,13 +186,19 @@ FunctionExpr::FunctionExpr( const char* str, const int conv )
|
|||||||
myValues( 1, 1 )
|
myValues( 1, 1 )
|
||||||
{
|
{
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
CASCatch_TRY
|
#ifdef NO_CAS_CATCH
|
||||||
{
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
myExpr = ExprIntrp_GenExp::Create();
|
myExpr = ExprIntrp_GenExp::Create();
|
||||||
myExpr->Process( ( Standard_CString )str );
|
myExpr->Process( ( Standard_CString )str );
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure)
|
} catch(Standard_Failure) {
|
||||||
{
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
ok = false;
|
ok = false;
|
||||||
}
|
}
|
||||||
@ -206,10 +228,18 @@ bool FunctionExpr::value( const double t, double& f ) const
|
|||||||
|
|
||||||
( ( TColStd_Array1OfReal& )myValues ).ChangeValue( 1 ) = t;
|
( ( TColStd_Array1OfReal& )myValues ).ChangeValue( 1 ) = t;
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
#ifdef NO_CAS_CATCH
|
||||||
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
CASCatch_TRY {
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
f = myExpr->Expression()->Evaluate( myVars, myValues );
|
f = myExpr->Expression()->Evaluate( myVars, myValues );
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure) {
|
} catch(Standard_Failure) {
|
||||||
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
f = 0.0;
|
f = 0.0;
|
||||||
ok = false;
|
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 FunctionExpr::integral( const double a, const double b ) const
|
||||||
{
|
{
|
||||||
double res = 0.0;
|
double res = 0.0;
|
||||||
|
#ifdef NO_CAS_CATCH
|
||||||
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
CASCatch_TRY {
|
CASCatch_TRY {
|
||||||
// skl for IPAL13079 (bug on Mandriva) - other cast
|
#endif
|
||||||
//math_GaussSingleIntegration _int( ( math_Function& )*this, a, b, 20 );
|
math_GaussSingleIntegration _int
|
||||||
math_GaussSingleIntegration _int( *static_cast<math_Function*>( const_cast<FunctionExpr*> (this) ), a, b, 20 );
|
( *static_cast<math_Function*>( const_cast<FunctionExpr*> (this) ), a, b, 20 );
|
||||||
if( _int.IsDone() )
|
if( _int.IsDone() )
|
||||||
res = _int.Value();
|
res = _int.Value();
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure)
|
} catch(Standard_Failure) {
|
||||||
{
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
res = 0.0;
|
res = 0.0;
|
||||||
MESSAGE( "Exception in integral calculating" );
|
MESSAGE( "Exception in integral calculating" );
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,6 @@
|
|||||||
#include "SMESHDS_SubMesh.hxx"
|
#include "SMESHDS_SubMesh.hxx"
|
||||||
#include "SMESH_Mesh.hxx"
|
#include "SMESH_Mesh.hxx"
|
||||||
|
|
||||||
#include "CASCatch.hxx"
|
|
||||||
|
|
||||||
#include <ExprIntrp_GenExp.hxx>
|
#include <ExprIntrp_GenExp.hxx>
|
||||||
#include <Expr_Array1OfNamedUnknown.hxx>
|
#include <Expr_Array1OfNamedUnknown.hxx>
|
||||||
#include <Expr_NamedUnknown.hxx>
|
#include <Expr_NamedUnknown.hxx>
|
||||||
@ -43,6 +41,18 @@
|
|||||||
#include <TopExp.hxx>
|
#include <TopExp.hxx>
|
||||||
#include <TopTools_IndexedMapOfShape.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;
|
using namespace std;
|
||||||
|
|
||||||
const double PRECISION = 1e-7;
|
const double PRECISION = 1e-7;
|
||||||
@ -218,12 +228,18 @@ void StdMeshers_NumberOfSegments::SetTableFunction(const std::vector<double>& ta
|
|||||||
double val = table[i*2+1];
|
double val = table[i*2+1];
|
||||||
if( _convMode==0 )
|
if( _convMode==0 )
|
||||||
{
|
{
|
||||||
CASCatch_TRY
|
#ifdef NO_CAS_CATCH
|
||||||
{
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
val = pow( 10.0, val );
|
val = pow( 10.0, val );
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure)
|
} catch(Standard_Failure) {
|
||||||
{
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
throw SALOME_Exception( LOCALIZED( "invalid value"));
|
throw SALOME_Exception( LOCALIZED( "invalid value"));
|
||||||
return;
|
return;
|
||||||
@ -312,13 +328,19 @@ bool process( const TCollection_AsciiString& str, int convMode,
|
|||||||
{
|
{
|
||||||
bool parsed_ok = true;
|
bool parsed_ok = true;
|
||||||
Handle( ExprIntrp_GenExp ) myExpr;
|
Handle( ExprIntrp_GenExp ) myExpr;
|
||||||
CASCatch_TRY
|
#ifdef NO_CAS_CATCH
|
||||||
{
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
myExpr = ExprIntrp_GenExp::Create();
|
myExpr = ExprIntrp_GenExp::Create();
|
||||||
myExpr->Process( str.ToCString() );
|
myExpr->Process( str.ToCString() );
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure)
|
} catch(Standard_Failure) {
|
||||||
{
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
parsed_ok = false;
|
parsed_ok = false;
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
// License along with this library; if not, write to the Free Software
|
// License along with this library; if not, write to the Free Software
|
||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@ -31,10 +31,6 @@ using namespace std;
|
|||||||
|
|
||||||
#include "StdMeshers_Regular_1D.hxx"
|
#include "StdMeshers_Regular_1D.hxx"
|
||||||
#include "StdMeshers_Distribution.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_LocalLength.hxx"
|
||||||
#include "StdMeshers_NumberOfSegments.hxx"
|
#include "StdMeshers_NumberOfSegments.hxx"
|
||||||
@ -43,6 +39,11 @@ using namespace std;
|
|||||||
#include "StdMeshers_Deflection1D.hxx"
|
#include "StdMeshers_Deflection1D.hxx"
|
||||||
#include "StdMeshers_AutomaticLength.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_MeshElement.hxx"
|
||||||
#include "SMDS_MeshNode.hxx"
|
#include "SMDS_MeshNode.hxx"
|
||||||
#include "SMDS_EdgePosition.hxx"
|
#include "SMDS_EdgePosition.hxx"
|
||||||
@ -58,15 +59,17 @@ using namespace std;
|
|||||||
#include <GCPnts_AbscissaPoint.hxx>
|
#include <GCPnts_AbscissaPoint.hxx>
|
||||||
#include <GCPnts_UniformAbscissa.hxx>
|
#include <GCPnts_UniformAbscissa.hxx>
|
||||||
#include <GCPnts_UniformDeflection.hxx>
|
#include <GCPnts_UniformDeflection.hxx>
|
||||||
#include <Standard_ErrorHandler.hxx>
|
|
||||||
#include <Precision.hxx>
|
#include <Precision.hxx>
|
||||||
#include <Expr_GeneralExpression.hxx>
|
#include <Expr_GeneralExpression.hxx>
|
||||||
#include <Expr_NamedUnknown.hxx>
|
#include <Expr_NamedUnknown.hxx>
|
||||||
#include <Expr_Array1OfNamedUnknown.hxx>
|
#include <Expr_Array1OfNamedUnknown.hxx>
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
|
||||||
#include <ExprIntrp_GenExp.hxx>
|
#include <ExprIntrp_GenExp.hxx>
|
||||||
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
#include <OSD.hxx>
|
#include <OSD.hxx>
|
||||||
|
|
||||||
|
#include <Standard_ErrorHandler.hxx>
|
||||||
|
#include <Standard_Failure.hxx>
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -572,6 +575,9 @@ bool StdMeshers_Regular_1D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh
|
|||||||
if ( !_mainEdge.IsNull() )
|
if ( !_mainEdge.IsNull() )
|
||||||
reversed = aMesh.IsReversedInChain( EE, _mainEdge );
|
reversed = aMesh.IsReversedInChain( EE, _mainEdge );
|
||||||
try {
|
try {
|
||||||
|
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#endif
|
||||||
if ( ! computeInternalParameters( E, params, reversed )) {
|
if ( ! computeInternalParameters( E, params, reversed )) {
|
||||||
//cout << "computeInternalParameters() failed" <<endl;
|
//cout << "computeInternalParameters() failed" <<endl;
|
||||||
return false;
|
return false;
|
||||||
|
@ -19,11 +19,22 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include "StdMeshersGUI_DistrPreview.h"
|
#include "StdMeshersGUI_DistrPreview.h"
|
||||||
#include "CASCatch.hxx"
|
|
||||||
|
|
||||||
#include <Expr_NamedUnknown.hxx>
|
#include <Expr_NamedUnknown.hxx>
|
||||||
#include <Expr_GeneralExpression.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 )
|
StdMeshersGUI_DistrPreview::StdMeshersGUI_DistrPreview( QWidget* p, StdMeshers::StdMeshers_NumberOfSegments_ptr h )
|
||||||
: QwtPlot( p ),
|
: QwtPlot( p ),
|
||||||
myPoints( 50 ),
|
myPoints( 50 ),
|
||||||
@ -240,12 +251,18 @@ void StdMeshersGUI_DistrPreview::update()
|
|||||||
delete[] y;
|
delete[] y;
|
||||||
x = y = 0;
|
x = y = 0;
|
||||||
|
|
||||||
CASCatch_TRY
|
#ifdef NO_CAS_CATCH
|
||||||
{
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
replot();
|
replot();
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure)
|
} catch(Standard_Failure) {
|
||||||
{
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
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 StdMeshersGUI_DistrPreview::init( const QString& str )
|
||||||
{
|
{
|
||||||
bool parsed_ok = true;
|
bool parsed_ok = true;
|
||||||
CASCatch_TRY
|
#ifdef NO_CAS_CATCH
|
||||||
{
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
myExpr = ExprIntrp_GenExp::Create();
|
myExpr = ExprIntrp_GenExp::Create();
|
||||||
myExpr->Process( ( Standard_CString ) str.latin1() );
|
myExpr->Process( ( Standard_CString ) str.latin1() );
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure)
|
} catch(Standard_Failure) {
|
||||||
{
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
parsed_ok = false;
|
parsed_ok = false;
|
||||||
}
|
}
|
||||||
@ -327,10 +350,18 @@ double StdMeshersGUI_DistrPreview::calc( bool& ok )
|
|||||||
double res = 0.0;
|
double res = 0.0;
|
||||||
|
|
||||||
ok = true;
|
ok = true;
|
||||||
CASCatch_TRY {
|
#ifdef NO_CAS_CATCH
|
||||||
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
res = myExpr->Expression()->Evaluate( myVars, myValues );
|
res = myExpr->Expression()->Evaluate( myVars, myValues );
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure) {
|
} catch(Standard_Failure) {
|
||||||
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
ok = false;
|
ok = false;
|
||||||
res = 0.0;
|
res = 0.0;
|
||||||
@ -351,16 +382,22 @@ bool StdMeshersGUI_DistrPreview::convert( double& v ) const
|
|||||||
{
|
{
|
||||||
case EXPONENT:
|
case EXPONENT:
|
||||||
{
|
{
|
||||||
CASCatch_TRY
|
#ifdef NO_CAS_CATCH
|
||||||
{
|
try {
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#else
|
||||||
|
CASCatch_TRY {
|
||||||
|
#endif
|
||||||
// in StdMeshers_NumberOfSegments.cc
|
// in StdMeshers_NumberOfSegments.cc
|
||||||
// const double PRECISION = 1e-7;
|
// const double PRECISION = 1e-7;
|
||||||
//
|
//
|
||||||
if(v < -7) v = -7.0;
|
if(v < -7) v = -7.0;
|
||||||
v = pow( 10.0, v );
|
v = pow( 10.0, v );
|
||||||
}
|
#ifdef NO_CAS_CATCH
|
||||||
CASCatch_CATCH(Standard_Failure)
|
} catch(Standard_Failure) {
|
||||||
{
|
#else
|
||||||
|
} CASCatch_CATCH(Standard_Failure) {
|
||||||
|
#endif
|
||||||
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
v = 0.0;
|
v = 0.0;
|
||||||
ok = false;
|
ok = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user