#include <TopTools_IndexedMapOfShape.hxx>
#include <BRepTools.hxx>
+#ifndef WNT
+#include <fenv.h>
+#endif
+
//=============================================================================
/*!
*
cout << "Beginning of Surface Mesh generation" << endl;
cout << endl;
- status_t status = STATUS_ERROR;
+ // Issue 0019864. On DebianSarge, FE signals do not obey to OSD::SetSignal(false)
+#ifndef WNT
+ feclearexcept( FE_ALL_EXCEPT );
+ int oldFEFlags = fedisableexcept( FE_ALL_EXCEPT );
+#endif
+
+ status_t status = STATUS_ERROR;
try {
OCC_CATCH_SIGNALS;
+
status = blsurf_compute_mesh(bls);
+
}
catch ( std::exception& exc ) {
-// if ( !_comment.empty() )
-// _comment += "\n";
_comment += exc.what();
}
catch (Standard_Failure& ex) {
-// if ( !_comment.empty() )
-// _comment += "\n";
_comment += ex.DynamicType()->Name();
if ( ex.GetMessageString() && strlen( ex.GetMessageString() )) {
_comment += ": ";
context_delete(ctx);
return error(_comment);
- //return false;
}
cout << endl;
context_delete(ctx);
+ // Issue 0019864. On DebianSarge, FE signals do not obey to OSD::SetSignal(false)
+#ifndef WNT
+ if ( oldFEFlags > 0 )
+ feenableexcept( oldFEFlags );
+ feclearexcept( FE_ALL_EXCEPT );
+#endif
+
return true;
}