diff --git a/src/libnest2d/include/libnest2d/placers/nfpplacer.hpp b/src/libnest2d/include/libnest2d/placers/nfpplacer.hpp index c180d780e..785178d83 100644 --- a/src/libnest2d/include/libnest2d/placers/nfpplacer.hpp +++ b/src/libnest2d/include/libnest2d/placers/nfpplacer.hpp @@ -183,6 +183,11 @@ template class EdgeCache { contour_.full_distance += length(contour_.emap.back()); contour_.distances.emplace_back(contour_.full_distance); } + if (*sl::cbegin(sh)!=*sl::rcbegin(sh)) { + contour_.emap.emplace_back(*std::prev(endit), *sl::cbegin(sh)); + contour_.full_distance += length(contour_.emap.back()); + contour_.distances.emplace_back(contour_.full_distance); + } } for(auto& h : shapelike::holes(sh)) { // For the holes @@ -198,6 +203,11 @@ template class EdgeCache { hc.full_distance += length(hc.emap.back()); hc.distances.emplace_back(hc.full_distance); } + if (*sl::cbegin(h) != *sl::rcbegin(h)) { + hc.emap.emplace_back(*std::prev(endit), *sl::cbegin(h)); + hc.full_distance += length(hc.emap.back()); + hc.distances.emplace_back(hc.full_distance); + } holes_.emplace_back(std::move(hc)); }