diff --git a/xs/src/libnest2d/libnest2d/clipper_backend/clipper_backend.hpp b/xs/src/libnest2d/libnest2d/clipper_backend/clipper_backend.hpp index 1306525c2..3f038faff 100644 --- a/xs/src/libnest2d/libnest2d/clipper_backend/clipper_backend.hpp +++ b/xs/src/libnest2d/libnest2d/clipper_backend/clipper_backend.hpp @@ -143,7 +143,7 @@ inline void ShapeLike::offset(PolygonImpl& sh, TCoord distance) { using ClipperLib::Paths; // If the input is not at least a triangle, we can not do this algorithm - if(sh.Contour.size() <= 3) throw GeometryException(GeoErr::OFFSET); + if(sh.Contour.size() <= 3) throw GeometryException(GeomErr::OFFSET); ClipperOffset offs; Paths result; @@ -154,7 +154,7 @@ inline void ShapeLike::offset(PolygonImpl& sh, TCoord distance) { // it removes the last vertex as well so boost will not have a closed // polygon - if(result.size() != 1) throw GeometryException(GeoErr::OFFSET); + if(result.size() != 1) throw GeometryException(GeomErr::OFFSET); sh.Contour = result.front(); diff --git a/xs/src/libnest2d/libnest2d/common.hpp b/xs/src/libnest2d/libnest2d/common.hpp index da2e36fb1..b9c252977 100644 --- a/xs/src/libnest2d/libnest2d/common.hpp +++ b/xs/src/libnest2d/libnest2d/common.hpp @@ -205,7 +205,7 @@ inline Radians::Radians(const Degrees °s): Double( degs * Pi/180) {} inline double Radians::toDegrees() { return operator Degrees(); } -enum class GeoErr : std::size_t { +enum class GeomErr : std::size_t { OFFSET, MERGE, NFP @@ -219,18 +219,18 @@ static const std::string ERROR_STR[] = { class GeometryException: public std::exception { - virtual const char * errorstr(GeoErr errcode) const { + virtual const char * errorstr(GeomErr errcode) const BP2D_NOEXCEPT { return ERROR_STR[static_cast(errcode)].c_str(); } - GeoErr errcode_; + GeomErr errcode_; public: - GeometryException(GeoErr code): errcode_(code) {} + GeometryException(GeomErr code): errcode_(code) {} - GeoErr errcode() const { return errcode_; } + GeomErr errcode() const { return errcode_; } - virtual const char * what() const override { + virtual const char * what() const BP2D_NOEXCEPT override { return errorstr(errcode_); } }; diff --git a/xs/src/libslic3r/Model.cpp b/xs/src/libslic3r/Model.cpp index c222dcf89..76be84e46 100644 --- a/xs/src/libslic3r/Model.cpp +++ b/xs/src/libslic3r/Model.cpp @@ -467,7 +467,8 @@ bool arrange(Model &model, coordf_t dist, const Slic3r::BoundingBoxf* bb, Arranger::PlacementConfig pcfg; Arranger::SelectionConfig scfg; - scfg.try_reverse_order = false; + scfg.try_reverse_order = true; + scfg.allow_parallel = true; scfg.force_parallel = true; pcfg.alignment = Arranger::PlacementConfig::Alignment::CENTER;