//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::canReverse(const PathsPointIndex &ppi) { if ((*ppi.polygons)[ppi.poly_idx].is_odd) return true; else return false; } template<> bool PolylineStitcher::canReverse(const PathsPointIndex &) { return true; } template<> bool PolylineStitcher::canConnect(const ExtrusionLine &a, const ExtrusionLine &b) { return a.is_odd == b.is_odd; } template<> bool PolylineStitcher::canConnect(const Polygon &, const Polygon &) { return true; } template<> bool PolylineStitcher::isOdd(const ExtrusionLine &line) { return line.is_odd; } template<> bool PolylineStitcher::isOdd(const Polygon &) { return false; } } // namespace Slic3r::Arachne