|
|
|
@ -369,12 +369,10 @@ export class PolyOffestUtil
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//如果对于frontline是真交点,则直接连接
|
|
|
|
|
//如果前面一段是圆弧,且都是负假交点,则补圆弧
|
|
|
|
|
//剩下情况frontline不作处理加入结果数组,补一段直线连接前后线
|
|
|
|
|
let par2 = laterLine.GetParamAtPoint(intPt);
|
|
|
|
|
if (par1 > 1)
|
|
|
|
|
{
|
|
|
|
|
//laterline是圆弧且都是正假交点,补圆弧,否则连接
|
|
|
|
|
if (par2 > 1 && laterLine instanceof Arc)
|
|
|
|
|
{
|
|
|
|
|
this.fillArc(endIndex - 1, endIndex, nextPt, frontLine, laterLine);
|
|
|
|
@ -386,10 +384,12 @@ export class PolyOffestUtil
|
|
|
|
|
}
|
|
|
|
|
else if (frontLine instanceof Arc && par1 < 0 && par2 < 0)
|
|
|
|
|
{
|
|
|
|
|
//forntline是arc且都是负假交点,补圆弧
|
|
|
|
|
this.appendNewCuAndContour(frontLine, nextPt, intPt, startIndex);
|
|
|
|
|
}
|
|
|
|
|
else if (frontLine instanceof Arc)
|
|
|
|
|
{
|
|
|
|
|
//其余情况如果frontline是Arc,补圆弧,否则补直线
|
|
|
|
|
this.fillArc(endIndex - 1, endIndex, nextPt, frontLine, laterLine);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|