FIX: fix slice error: invalid infill

Reason: sorting errors caused by precision
jira: STUDIO-10841
Change-Id: I64dbbcf9e35477b597c4755863f307cf444f50d9
This commit is contained in:
zhimin.zeng 2025-03-13 21:45:38 +08:00 committed by lane.wei
parent 5656c89d32
commit 611f022a0c
1 changed files with 45 additions and 45 deletions

View File

@ -859,7 +859,7 @@ static std::vector<SegmentedIntersectionLine> slice_region_by_vertical_lines(con
// Sort the intersection points using exact rational arithmetic.
//BBS: if the LOW and HIGH has seam y pos, LOW should be first
std::sort(sil.intersections.begin(), sil.intersections.end(), [](const SegmentIntersection &l, const SegmentIntersection &r) {
if (l.pos() == r.pos() && l.iContour == r.iContour)
if (abs(l.pos() - r.pos()) < scale_(EPSILON) && l.iContour == r.iContour)
return l.type < r.type;
return l.pos() < r.pos();