From 62f696da51c126a4633c79549139f1664c8432cb Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 30 Sep 2024 12:28:28 +0200 Subject: [PATCH] Don't handle bspline-edges on planar faces in cgal-kernel #5484 --- src/ifcgeom/kernels/cgal/CgalKernel.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ifcgeom/kernels/cgal/CgalKernel.cpp b/src/ifcgeom/kernels/cgal/CgalKernel.cpp index 86ceaabe7d..6c94c4ace7 100644 --- a/src/ifcgeom/kernels/cgal/CgalKernel.cpp +++ b/src/ifcgeom/kernels/cgal/CgalKernel.cpp @@ -155,9 +155,17 @@ CGAL::Nef_polyhedron_3 ifcopenshell::geometry::utils::create_nef_polyhe bool CgalKernel::convert(const taxonomy::shell::ptr l, cgal_shape_t& shape) { for (auto& f : l->children) { if (f->basis && f->basis->kind() != taxonomy::PLANE) { - Logger::Error("Non-planar faces not supported at the moment"); + Logger::Error("CGAL Kernel: Non-planar faces not supported at the moment"); return false; } + for (auto& w : f->children) { + for (auto& e : w->children) { + if (e->basis && e->basis->kind() == taxonomy::BSPLINE_CURVE) { + Logger::Error("CGAL Kernel: B-spline edge curves not supported at the moment"); + return false; + } + } + } } if (false && l->children.size() > 100) { static double inf = 1.e9; // std::numeric_limits::infinity();