mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-10 00:07:52 -06:00

ConcentricGapFill pattern was used for internal narrow solid infill. Use arachne engine instead to remove gap fill inside the pattern and improve the extrusion path Signed-off-by: salt.wei <salt.wei@bambulab.com> Change-Id: I758d7c72eb71cc37026b7cebf746cc345014c3f5 (cherry picked from commit 0b6bacd21a091afc13d7b36a69e5b10f155bc6f8)
42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
//Copyright (c) 2022 Ultimaker B.V.
|
|
//CuraEngine is released under the terms of the AGPLv3 or higher.
|
|
|
|
#include "PolylineStitcher.hpp"
|
|
#include "ExtrusionLine.hpp"
|
|
|
|
namespace Slic3r::Arachne {
|
|
|
|
template<> bool PolylineStitcher<VariableWidthLines, ExtrusionLine, ExtrusionJunction>::canReverse(const PathsPointIndex<VariableWidthLines> &ppi)
|
|
{
|
|
if ((*ppi.polygons)[ppi.poly_idx].is_odd)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
template<> bool PolylineStitcher<Polygons, Polygon, Point>::canReverse(const PathsPointIndex<Polygons> &)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
template<> bool PolylineStitcher<VariableWidthLines, ExtrusionLine, ExtrusionJunction>::canConnect(const ExtrusionLine &a, const ExtrusionLine &b)
|
|
{
|
|
return a.is_odd == b.is_odd;
|
|
}
|
|
|
|
template<> bool PolylineStitcher<Polygons, Polygon, Point>::canConnect(const Polygon &, const Polygon &)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
template<> bool PolylineStitcher<VariableWidthLines, ExtrusionLine, ExtrusionJunction>::isOdd(const ExtrusionLine &line)
|
|
{
|
|
return line.is_odd;
|
|
}
|
|
|
|
template<> bool PolylineStitcher<Polygons, Polygon, Point>::isOdd(const Polygon &)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
} // namespace Slic3r::Arachne
|