mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 02:23:34 +00:00
Some more checks and fixes in the IfcBooleanResult code. Most notably set the result to FirstOperand in case healing the result fails.
This commit is contained in:
@@ -765,6 +765,8 @@ bool IfcGeom::Kernel::flatten_shape_list(const IfcGeom::IfcRepresentationShapeIt
|
||||
|
||||
if (shapes.size() == 1) {
|
||||
result = moved_shape;
|
||||
const double precision = getValue(GV_PRECISION);
|
||||
apply_tolerance(result, precision);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -791,7 +793,13 @@ bool IfcGeom::Kernel::flatten_shape_list(const IfcGeom::IfcRepresentationShapeIt
|
||||
}
|
||||
}
|
||||
|
||||
return !result.IsNull();
|
||||
const bool success = !result.IsNull();
|
||||
if (success) {
|
||||
const double precision = getValue(GV_PRECISION);
|
||||
apply_tolerance(result, precision);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
void IfcGeom::Kernel::remove_redundant_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol) {
|
||||
|
||||
Reference in New Issue
Block a user