Remove additional fuzz markup on halfspace operands and initially process with smaller fuzz. Fixes #601

This commit is contained in:
Thomas Krijnen
2019-06-05 16:58:08 +02:00
parent 68068cb816
commit f5b7d0db59
2 changed files with 2 additions and 3 deletions
+1 -1
View File
@@ -3938,7 +3938,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a, const TopoDS_Shap
bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_, const TopTools_ListOfShape& b__, BOPAlgo_Operation op, TopoDS_Shape& result, double fuzziness) {
if (fuzziness < 0.) {
fuzziness = getValue(GV_PRECISION);
fuzziness = getValue(GV_PRECISION) / 10.;
}
// @todo, it does seem a bit odd, we first triangulate non-planar faces
+1 -2
View File
@@ -609,8 +609,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape
#if OCC_VERSION_HEX < 0x60900
bool valid_result = boolean_operation(s1, s2, occ_op, shape);
#else
const double fuzz = has_halfspace_operand ? getValue(GV_PRECISION) * 10. : -1.;
bool valid_result = boolean_operation(s1, second_operand_shapes, occ_op, shape, fuzz);
bool valid_result = boolean_operation(s1, second_operand_shapes, occ_op, shape);
#endif
if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE) {