From 4714aa9b313e4db349ff36f558af3d2a95d4be57 Mon Sep 17 00:00:00 2001 From: Christopher Lackner Date: Mon, 17 Oct 2022 15:56:38 +0200 Subject: [PATCH] smaller tolerance in occ center --- libsrc/occ/occ_utils.hpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libsrc/occ/occ_utils.hpp b/libsrc/occ/occ_utils.hpp index 15375c2e..91cf78a3 100644 --- a/libsrc/occ/occ_utils.hpp +++ b/libsrc/occ/occ_utils.hpp @@ -280,15 +280,22 @@ namespace netgen inline gp_Pnt Center (TopoDS_Shape shape) { GProp_GProps props; + double tol; switch (shape.ShapeType()) { case TopAbs_SOLID: case TopAbs_COMPOUND: case TopAbs_COMPSOLID: - BRepGProp::VolumeProperties (shape, props); break; + tol = 1e-2 * BRep_Tool::MaxTolerance(shape, TopAbs_FACE); + BRepGProp::VolumeProperties (shape, props, tol); break; case TopAbs_FACE: case TopAbs_SHELL: - BRepGProp::SurfaceProperties (shape, props); break; + tol = 1e-2 * BRep_Tool::MaxTolerance(shape, TopAbs_FACE); + BRepGProp::SurfaceProperties (shape, props, tol); break; + case TopAbs_WIRE: + case TopAbs_EDGE: + tol = 1e-2 * BRep_Tool::MaxTolerance(shape, TopAbs_EDGE); + BRepGProp::LinearProperties(shape, props, tol); break; default: BRepGProp::LinearProperties(shape, props); }