webcad-api/types/GraphicsSystem/OffsetPolyline.d.ts

75 lines
2.6 KiB
TypeScript
Raw Normal View History

2020-09-24 11:04:12 +08:00
import { Box3, Matrix4, Vector3 } from "three";
import { Contour } from "../DatabaseServices/Contour";
import { Arc } from "../DatabaseServices/Entity/Arc";
import { Circle } from "../DatabaseServices/Entity/Circle";
import { Curve } from "../DatabaseServices/Entity/Curve";
import { Polyline } from "../DatabaseServices/Entity/Polyline";
interface IOffsetResult {
index: number;
curve: Curve;
2023-08-16 15:05:08 +08:00
/**偏移距离(仅在局部偏移时提供) */
dist?: number;
2020-09-24 11:04:12 +08:00
sp?: Vector3;
ep?: Vector3;
2023-05-08 10:53:13 +08:00
preCurve?: Curve;
nextCurve?: Curve;
2020-09-24 11:04:12 +08:00
paddingCurve?: Curve[];
}
2023-05-08 10:53:13 +08:00
export declare class CurveTreeNode {
2020-09-24 11:04:12 +08:00
curve: Curve;
2023-05-08 10:53:13 +08:00
children: this[];
2020-09-24 11:04:12 +08:00
box: Box3;
used: boolean;
2023-05-08 10:53:13 +08:00
Create(curve: Curve, box?: Box3): this;
2020-09-24 11:04:12 +08:00
constructor(curve: Curve, box?: Box3);
TrimBy(contour: Contour, box: Box3): void;
2023-05-08 10:53:13 +08:00
get Nodes(): this[];
2020-09-24 11:04:12 +08:00
}
export declare class OffsetPolyline {
_Polyline: Polyline;
_OffsetDist: number;
_ToolPath: boolean;
private _OffsetDistSq;
_CacheOCS: Matrix4;
_Vertexs: Vector3[];
_SubCurves: Curve[];
_Circles: Circle[];
_SubOffsetedCurves: IOffsetResult[];
_CurveTreeNodes: CurveTreeNode[];
_CurveTrimedTreeNodes: CurveTreeNode[];
_TrimPolylineContours: Contour[];
_TrimCircleContours: Circle[];
_TrimArcContours: Contour[];
_RetCurves: Polyline[];
_IsClose: boolean;
_OffsetDistSign: number;
2023-08-16 15:05:08 +08:00
_IsTopoOffset: boolean;
2020-09-24 11:04:12 +08:00
constructor(_Polyline: Polyline, _OffsetDist: number, _ToolPath?: boolean, _OffsetDistSq?: number);
Do(): Polyline[];
InitSubCurves(): this;
protected GeneralCirclesAndVertexs(): void;
protected OffsetSubCurves(): void;
2023-05-08 10:53:13 +08:00
LinkSubCurves(): void;
2023-09-15 17:14:55 +08:00
/**
* 线
*
* 1.线,
* 2.,
* ,,,.
* , #I7WKKG
*/
2020-09-24 11:04:12 +08:00
private IsSharpCorner;
protected GeneralTrimContours(): void;
protected TrimByContours(): void;
private FilterInvalidCurve;
private JoinCollinear;
private LinkResultPolyline;
2021-04-06 17:12:55 +08:00
private RepairResultPolylineClosemark;
2020-09-24 11:04:12 +08:00
CheckPointDir(pt: Vector3): boolean;
GetPointAtCurveDir(pt: Vector3): number;
protected CreateArc(center: Vector3, startP: Vector3, endP?: Vector3): Arc;
}
2023-05-08 10:53:13 +08:00
export declare function EntityEncode2(c1: Curve, c2: Curve): number;
export declare function CurveIsFine(curve: Curve): boolean;
2020-09-24 11:04:12 +08:00
export {};
//# sourceMappingURL=OffsetPolyline.d.ts.map