Follow-up of f2a7245f36 - Apply clamping max bounding box to avoid z-fighting only in gcode preview

This commit is contained in:
enricoturri1966 2022-01-25 13:59:10 +01:00
parent 7a3f71331d
commit 7150e0adda

View File

@ -5001,15 +5001,17 @@ BoundingBoxf3 GLCanvas3D::_max_bounding_box(bool include_gizmos, bool include_be
bb.merge(m_gcode_viewer.get_max_bounding_box()); bb.merge(m_gcode_viewer.get_max_bounding_box());
// clamp max bb size with respect to bed bb size // clamp max bb size with respect to bed bb size
static const double max_scale_factor = 1.5; if (!m_picking_enabled) {
const Vec3d bb_size = bb.size(); static const double max_scale_factor = 1.5;
const Vec3d bed_bb_size = bed_bb.size(); const Vec3d bb_size = bb.size();
if (bb_size.x() > max_scale_factor * bed_bb_size.x() || const Vec3d bed_bb_size = bed_bb.size();
bb_size.y() > max_scale_factor * bed_bb_size.y() || if (bb_size.x() > max_scale_factor * bed_bb_size.x() ||
bb_size.z() > max_scale_factor * bed_bb_size.z()) { bb_size.y() > max_scale_factor * bed_bb_size.y() ||
const Vec3d bed_bb_center = bed_bb.center(); bb_size.z() > max_scale_factor * bed_bb_size.z()) {
const Vec3d extend_by = max_scale_factor * bed_bb_size; const Vec3d bed_bb_center = bed_bb.center();
bb = BoundingBoxf3(bed_bb_center - extend_by, bed_bb_center + extend_by); const Vec3d extend_by = max_scale_factor * bed_bb_size;
bb = BoundingBoxf3(bed_bb_center - extend_by, bed_bb_center + extend_by);
}
} }
return bb; return bb;