Update clipper to 381c817fd13e8

This commit is contained in:
Eric Fischer
2016-04-13 10:18:32 -07:00
parent cb4a83776e
commit 4dba8b3f70
+18
View File
@@ -3985,9 +3985,24 @@ void Clipper::FixupFirstLefts2(OutRec* InnerOutRec, OutRec* OuterOutRec)
else else
{ {
if (outRec->IsHole == OuterOutRec->IsHole) if (outRec->IsHole == OuterOutRec->IsHole)
{
if (Poly2ContainsPoly1(outRec->Pts, OuterOutRec->Pts))
{
outRec->FirstLeft = OuterOutRec;
}
else
{ {
outRec->FirstLeft = ParseFirstLeft(OuterOutRec->FirstLeft); outRec->FirstLeft = ParseFirstLeft(OuterOutRec->FirstLeft);
} }
}
else
{
if (Area(outRec->Pts) == 0.0 && !Poly2ContainsPoly1(outRec->Pts, OuterOutRec->Pts))
{
outRec->IsHole = !outRec->IsHole;
outRec->FirstLeft = ParseFirstLeft(OuterOutRec->FirstLeft);
ReversePolyPtLinks(outRec->Pts);
}
else else
{ {
outRec->FirstLeft = OuterOutRec; outRec->FirstLeft = OuterOutRec;
@@ -3995,6 +4010,7 @@ void Clipper::FixupFirstLefts2(OutRec* InnerOutRec, OutRec* OuterOutRec)
} }
} }
} }
}
//---------------------------------------------------------------------- //----------------------------------------------------------------------
void Clipper::FixupFirstLefts3(OutRec* OldOutRec, OutRec* NewOutRec) void Clipper::FixupFirstLefts3(OutRec* OldOutRec, OutRec* NewOutRec)
{ {
@@ -5215,6 +5231,8 @@ void Clipper::DoSimplePolygons()
dupeRec.emplace(outrec2->Idx, intPt2); dupeRec.emplace(outrec2->Idx, intPt2);
} }
} }
outRec_j = GetOutRec(m_OutPts[j]->Idx);
idx_j = outRec_j->Idx;
} }
continue; continue;
} }