|
|
|
@ -5,8 +5,9 @@ import { arrayLast, arrayRemoveDuplicateBySort } from '../Common/ArrayExt';
|
|
|
|
|
import { ColorMaterial } from '../Common/ColorPalette';
|
|
|
|
|
import { getDeterminantFor2V, Vec2DTo3D, Vec3DTo2D } from '../Common/CurveUtils';
|
|
|
|
|
import { matrixAlignCoordSys } from '../Common/Matrix4Utils';
|
|
|
|
|
import { Status } from '../Common/Status';
|
|
|
|
|
import { FixIndex } from '../Common/Utils';
|
|
|
|
|
import { equalv3, equaln, updateGeometry } from '../Geometry/GeUtils';
|
|
|
|
|
import { equaln, equalv3, updateGeometry } from '../Geometry/GeUtils';
|
|
|
|
|
import { RenderType } from '../GraphicsSystem/Enum';
|
|
|
|
|
import { IntersectOption, IntersectPolylineAndCurve } from '../GraphicsSystem/IntersectWith';
|
|
|
|
|
import { PolyOffsetUtil } from '../GraphicsSystem/OffsetPolyline';
|
|
|
|
@ -540,10 +541,10 @@ export class Polyline extends Curve
|
|
|
|
|
this.Update();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Join(cu: Curve, fuzz = 1e-5): boolean
|
|
|
|
|
Join(cu: Curve, fuzz = 1e-5)
|
|
|
|
|
{
|
|
|
|
|
if (this.m_ClosedMark)
|
|
|
|
|
return false;
|
|
|
|
|
return Status.False;
|
|
|
|
|
|
|
|
|
|
let [sp, ep, cuSp, cuEp] = [this.StartPoint, this.EndPoint, cu.StartPoint, cu.EndPoint];
|
|
|
|
|
|
|
|
|
@ -569,7 +570,7 @@ export class Polyline extends Curve
|
|
|
|
|
this.ReadFile(f);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
return false;
|
|
|
|
|
return Status.False;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
@ -592,7 +593,7 @@ export class Polyline extends Curve
|
|
|
|
|
this.m_LineData.push({ pt: cuSp2, bul: 0 });
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
return false;
|
|
|
|
|
return Status.False;
|
|
|
|
|
}
|
|
|
|
|
else if (cu instanceof Arc)
|
|
|
|
|
{
|
|
|
|
@ -616,11 +617,11 @@ export class Polyline extends Curve
|
|
|
|
|
this.m_LineData.push({ pt: cuSp2, bul: 0 });
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
return false;
|
|
|
|
|
return Status.False;
|
|
|
|
|
}
|
|
|
|
|
else if (cu instanceof Polyline)
|
|
|
|
|
{
|
|
|
|
|
if (cu.CloseMark) return false;
|
|
|
|
|
if (cu.CloseMark) return Status.False;
|
|
|
|
|
|
|
|
|
|
let { pts, buls } = this.PtsBuls;
|
|
|
|
|
|
|
|
|
@ -667,7 +668,7 @@ export class Polyline extends Curve
|
|
|
|
|
buls = buls.concat(cuPtsBul.buls);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
return false;
|
|
|
|
|
return Status.False;
|
|
|
|
|
|
|
|
|
|
this.m_LineData.length = 0;
|
|
|
|
|
for (let i = 0; i < pts.length; i++)
|
|
|
|
@ -676,12 +677,12 @@ export class Polyline extends Curve
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
return false;
|
|
|
|
|
return Status.False;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//在上面的其他分支已经返回了假 所以这里直接返回真.
|
|
|
|
|
this.Update();
|
|
|
|
|
return true;
|
|
|
|
|
return Status.True;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
PtOnCurve(pt: Vector3): boolean
|
|
|
|
|