Skip to content

Commit f5b7d0d

Browse files
committed
Remove additional fuzz markup on halfspace operands and initially process with smaller fuzz. Fixes #601
1 parent 68068cb commit f5b7d0d

2 files changed

Lines changed: 2 additions & 3 deletions

File tree

src/ifcgeom/IfcGeomFunctions.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3938,7 +3938,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a, const TopoDS_Shap
39383938
bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_, const TopTools_ListOfShape& b__, BOPAlgo_Operation op, TopoDS_Shape& result, double fuzziness) {
39393939

39403940
if (fuzziness < 0.) {
3941-
fuzziness = getValue(GV_PRECISION);
3941+
fuzziness = getValue(GV_PRECISION) / 10.;
39423942
}
39433943

39443944
// @todo, it does seem a bit odd, we first triangulate non-planar faces

src/ifcgeom/IfcGeomShapes.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -609,8 +609,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape
609609
#if OCC_VERSION_HEX < 0x60900
610610
bool valid_result = boolean_operation(s1, s2, occ_op, shape);
611611
#else
612-
const double fuzz = has_halfspace_operand ? getValue(GV_PRECISION) * 10. : -1.;
613-
bool valid_result = boolean_operation(s1, second_operand_shapes, occ_op, shape, fuzz);
612+
bool valid_result = boolean_operation(s1, second_operand_shapes, occ_op, shape);
614613
#endif
615614

616615
if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE) {

0 commit comments

Comments
 (0)