|
|
|
@ -58,14 +58,14 @@ export class Region extends Entity
|
|
|
|
|
|
|
|
|
|
for (let cu of this.m_CuList)
|
|
|
|
|
{
|
|
|
|
|
if (cu.EndPoint.distanceTo(begin) < fuzz)
|
|
|
|
|
cu.Reverse();
|
|
|
|
|
|
|
|
|
|
//设置起点
|
|
|
|
|
begin.copy(cu.EndPoint);
|
|
|
|
|
|
|
|
|
|
if (cu instanceof Line)
|
|
|
|
|
{
|
|
|
|
|
if (cu.StartPoint.distanceTo(begin) < fuzz)
|
|
|
|
|
begin = cu.EndPoint;
|
|
|
|
|
else
|
|
|
|
|
begin = cu.StartPoint;
|
|
|
|
|
|
|
|
|
|
this.m_Shape.lineTo(begin.x, begin.y);
|
|
|
|
|
}
|
|
|
|
|
else if (cu instanceof Circle)
|
|
|
|
@ -78,9 +78,6 @@ export class Region extends Entity
|
|
|
|
|
}
|
|
|
|
|
else if (cu instanceof Polyline)
|
|
|
|
|
{
|
|
|
|
|
if (cu.EndPoint.distanceTo(begin) < fuzz)
|
|
|
|
|
cu.Reverse();
|
|
|
|
|
|
|
|
|
|
let plData = cu.LineData;
|
|
|
|
|
let pts: Vector2[] = [];
|
|
|
|
|
let bul: number[] = [];
|
|
|
|
@ -90,16 +87,10 @@ export class Region extends Entity
|
|
|
|
|
bul.push(d.bul);
|
|
|
|
|
}
|
|
|
|
|
CreateBoardUtil.createPath(pts, bul, this.m_Shape);
|
|
|
|
|
|
|
|
|
|
begin = cu.EndPoint;
|
|
|
|
|
}
|
|
|
|
|
else if (cu instanceof Arc)
|
|
|
|
|
{
|
|
|
|
|
//起点和终点影响开始角度,结束角度和法向量
|
|
|
|
|
if (begin.distanceTo(cu.StartPoint) < 0.1)
|
|
|
|
|
this.m_Shape.absarc(cu.Center.x, cu.Center.y, cu.Radius, cu.StartAngle, cu.EndAngle, cu.Normal.z < 0);
|
|
|
|
|
else
|
|
|
|
|
this.m_Shape.absarc(cu.Center.x, cu.Center.y, cu.Radius, cu.EndAngle, cu.StartAngle, cu.Normal.z > 0);
|
|
|
|
|
this.m_Shape.absarc(cu.Center.x, cu.Center.y, cu.Radius, cu.StartAngle, cu.EndAngle, cu.IsClockWise);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|