Draft shield option is now an enum (Disabled/Limited/Enabled)

This commit is contained in:
Lukas Matena
2021-06-30 11:58:01 +02:00
parent 6eeedf2bc6
commit b466f18326
5 changed files with 34 additions and 15 deletions

View File

@@ -339,12 +339,12 @@ std::vector<ObjectID> Print::print_object_ids() const
bool Print::has_infinite_skirt() const
{
return (m_config.draft_shield && m_config.skirts > 0) || (m_config.ooze_prevention && this->extruders().size() > 1);
return (m_config.draft_shield == dsEnabled && m_config.skirts > 0) || (m_config.ooze_prevention && this->extruders().size() > 1);
}
bool Print::has_skirt() const
{
return (m_config.skirt_height > 0 && m_config.skirts > 0) || this->has_infinite_skirt();
return (m_config.skirt_height > 0 && m_config.skirts > 0) || m_config.draft_shield != dsDisabled;
}
bool Print::has_brim() const
@@ -864,7 +864,7 @@ void Print::process()
m_skirt.clear();
m_skirt_convex_hull.clear();
m_first_layer_convex_hull.points.clear();
const bool draft_shield = config().draft_shield;
const bool draft_shield = config().draft_shield != dsDisabled;
if (this->has_skirt() && draft_shield) {
// In case that draft shield is active, generate skirt first so brim
@@ -971,7 +971,7 @@ void Print::_make_skirt()
append(points, this->first_layer_wipe_tower_corners());
// Unless draft shield is enabled, include all brims as well.
if (! config().draft_shield)
if (config().draft_shield == dsDisabled)
append(points, m_first_layer_convex_hull.points);
if (points.size() < 3)