From 4b57a7bdd6d0b5e17e7d7a82cfa30a66bca4da22 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 26 Jan 2019 15:00:20 +0100 Subject: [PATCH] Set a lower bound tot faceset_helper::epsilon --- src/ifcgeom/IfcGeomFunctions.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index fff22622f9..f0764ccc1f 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -3822,6 +3822,12 @@ IfcGeom::Kernel::faceset_helper::faceset_helper(Kernel* kernel, const IfcSchema: } eps_ = kernel->getValue(GV_PRECISION) * 10. * (std::min)(1.0, bdiff); + + if (eps_ < Precision::Confusion()) { + // occt uses some hard coded precision values, don't go smaller than that. + // @todo, can be reset though with BRepLib::Precision(double) + eps_ = Precision::Confusion(); + } std::map, int> edge_use;