|
|
|
@ -300,39 +300,23 @@ export class Arc extends Curve
|
|
|
|
|
let saAllan = this.ComputeAnlge(sa);
|
|
|
|
|
let eaAllan = this.ComputeAnlge(ea);
|
|
|
|
|
|
|
|
|
|
if (equaln(sa, this.m_StartAngle)) //this起点对起点
|
|
|
|
|
if (this.ParamOnCurve(this.GetParamAtAngle(ea)))//this终点对终点
|
|
|
|
|
{
|
|
|
|
|
if (eaAllan > allAn)
|
|
|
|
|
this.EndAngle = ea;
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else if (equaln(sa, this.m_EndAngle))//this终点对起点
|
|
|
|
|
{
|
|
|
|
|
if (eaAllan < allAn || equaln(ea, this.m_StartAngle))
|
|
|
|
|
if (eaAllan < saAllan || equaln(sa, this.m_StartAngle))
|
|
|
|
|
this.ConverToCircle();//圆
|
|
|
|
|
else
|
|
|
|
|
this.EndAngle = ea;
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else if (equaln(ea, this.StartAngle))//this起点对终点
|
|
|
|
|
{
|
|
|
|
|
if (saAllan < allAn)
|
|
|
|
|
this.ConverToCircle();//圆
|
|
|
|
|
else
|
|
|
|
|
else if (saAllan > allAn)
|
|
|
|
|
this.StartAngle = sa;
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else if (equaln(ea, this.m_EndAngle))//this终点对终点
|
|
|
|
|
else if (this.ParamOnCurve(this.GetParamAtAngle(sa))) //this起点对起点
|
|
|
|
|
{
|
|
|
|
|
if (saAllan > allAn)
|
|
|
|
|
this.StartAngle = sa;
|
|
|
|
|
if (eaAllan < allAn)
|
|
|
|
|
this.ConverToCircle();//圆
|
|
|
|
|
else if (eaAllan > allAn)
|
|
|
|
|
this.EndAngle = ea;
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (eaAllan < saAllan && saAllan < allAn)
|
|
|
|
|
{
|
|
|
|
|
this.ConverToCircle();//圆
|
|
|
|
|