From 934694747667386490d5a1fbba8fb7b23d329930 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 29 Jul 2020 12:21:30 +0200 Subject: [PATCH] catch exceptions during orientation --- src/ifcgeom/kernels/cgal/CgalKernel.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/kernels/cgal/CgalKernel.cpp b/src/ifcgeom/kernels/cgal/CgalKernel.cpp index f75e718234..5228d919da 100644 --- a/src/ifcgeom/kernels/cgal/CgalKernel.cpp +++ b/src/ifcgeom/kernels/cgal/CgalKernel.cpp @@ -25,6 +25,7 @@ #include "../../../ifcgeom/kernels/cgal/CgalConversionResult.h" #include +#include using namespace ifcopenshell::geometry; using namespace ifcopenshell::geometry::kernels; @@ -58,8 +59,12 @@ CGAL::Polyhedron_3 ifcopenshell::geometry::utils::create_polyhedron(std // fresult.close(); return CGAL::Polyhedron_3(); } if (polyhedron.is_closed()) { - if (!CGAL::Polygon_mesh_processing::is_outward_oriented(polyhedron)) { - CGAL::Polygon_mesh_processing::reverse_face_orientations(polyhedron); + try { + if (!CGAL::Polygon_mesh_processing::is_outward_oriented(polyhedron)) { + CGAL::Polygon_mesh_processing::reverse_face_orientations(polyhedron); + } + } catch (CGAL::Failure_exception& e) { + Logger::Message(Logger::LOG_ERROR, e); } }