|
|
@ -132,11 +132,20 @@ export class Contour
|
|
|
|
let c1 = g[i];
|
|
|
|
let c1 = g[i];
|
|
|
|
let nextI = FixIndex(i + 1, g);
|
|
|
|
let nextI = FixIndex(i + 1, g);
|
|
|
|
let c2 = g[nextI];
|
|
|
|
let c2 = g[nextI];
|
|
|
|
if (c1.Join(c2))
|
|
|
|
|
|
|
|
|
|
|
|
let status = c1.Join(c2);
|
|
|
|
|
|
|
|
if (status === Status.True)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
g.splice(nextI, 1);
|
|
|
|
g.splice(nextI, 1);
|
|
|
|
i--;
|
|
|
|
i--;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (status === Status.ConverToCircle)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
g.length = 0;
|
|
|
|
|
|
|
|
let a = c1 as Arc;
|
|
|
|
|
|
|
|
g.push(new Circle(a.Center, a.Radius));
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return Contour.GetAllContour(cuGroups);
|
|
|
|
return Contour.GetAllContour(cuGroups);
|
|
|
|