Refactored the travel/retract/avoid_crossing_perimeters logic. Several edge cases are now handled correctly. #2498

This commit is contained in:
Alessandro Ranellucci 2015-01-06 14:47:53 +01:00
parent 7e82159620
commit 2562070232
6 changed files with 98 additions and 103 deletions

View file

@ -129,7 +129,7 @@ Layer::any_internal_region_slice_contains(const T &item) const
}
return false;
}
template bool Layer::any_internal_region_slice_contains<Line>(const Line &item) const;
template bool Layer::any_internal_region_slice_contains<Polyline>(const Polyline &item) const;
template <class T>
bool
@ -140,20 +140,7 @@ Layer::any_bottom_region_slice_contains(const T &item) const
}
return false;
}
template bool Layer::any_bottom_region_slice_contains<Line>(const Line &item) const;
template <class T>
bool
Layer::any_internal_region_fill_surface_contains(const T &item) const
{
FOREACH_LAYERREGION(this, layerm) {
if ((*layerm)->fill_surfaces.any_internal_contains(item)) return true;
}
return false;
}
template bool Layer::any_internal_region_fill_surface_contains<Line>(const Line &item) const;
template bool Layer::any_internal_region_fill_surface_contains<Polyline>(const Polyline &item) const;
template bool Layer::any_bottom_region_slice_contains<Polyline>(const Polyline &item) const;
#ifdef SLIC3RXS
REGISTER_CLASS(Layer, "Layer");