From 630c742a771dc93a4ebde10d4a4abde8874f5bc7 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 28 Sep 2020 14:21:07 +0200 Subject: [PATCH] more verbose logging --- src/ifcgeom/kernels/cgal/CgalKernel.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ifcgeom/kernels/cgal/CgalKernel.cpp b/src/ifcgeom/kernels/cgal/CgalKernel.cpp index 4b0a550ce2..5665b1759c 100644 --- a/src/ifcgeom/kernels/cgal/CgalKernel.cpp +++ b/src/ifcgeom/kernels/cgal/CgalKernel.cpp @@ -1107,7 +1107,8 @@ bool CgalKernel::preprocess_boolean_operand(const IfcUtil::IfcBaseClass* log_ref try { success = CGAL::Polygon_mesh_processing::triangulate_faces(shape); - } catch (...) { + } catch (CGAL::Failure_exception& e) { + Logger::Notice(e); Logger::Message(Logger::LOG_ERROR, "Triangulation of geometry crashed:", log_reference); return false; } @@ -1124,7 +1125,8 @@ bool CgalKernel::preprocess_boolean_operand(const IfcUtil::IfcBaseClass* log_ref try { result = CGAL::Nef_polyhedron_3(shape); - } catch (...) { + } catch (CGAL::Failure_exception& e) { + Logger::Notice(e); Logger::Message(Logger::LOG_ERROR, "Could not convert geometry to Nef:", log_reference); return false; } @@ -1133,7 +1135,8 @@ bool CgalKernel::preprocess_boolean_operand(const IfcUtil::IfcBaseClass* log_ref try { // @todo don't dilate in 3 dimensions but only in the XY plane, orthogonal to wall axis. result = CGAL::minkowski_sum_3(result, precision_cube_); - } catch (...) { + } catch (CGAL::Failure_exception& e) { + Logger::Notice(e); Logger::Message(Logger::LOG_ERROR, "Could not dilate boolean operand", log_reference); return false; } @@ -1142,7 +1145,8 @@ bool CgalKernel::preprocess_boolean_operand(const IfcUtil::IfcBaseClass* log_ref try { cgal_shape_t convert_back; result.convert_to_polyhedron(convert_back); - } catch (...) { + } catch (CGAL::Failure_exception& e) { + Logger::Notice(e); Logger::Message(Logger::LOG_WARNING, "Final conversion will likely fail. Could not convert geometry from Nef:", log_reference); }