import { Matrix4, Vector3 } from "three"; import { Arc } from "../DatabaseServices/Entity/Arc"; import { Curve } from "../DatabaseServices/Entity/Curve"; import { Polyline } from "../DatabaseServices/Entity/Polyline"; import { PromptEntityResult, PromptPointResult } from "../Editor/PromptResult"; declare enum ExtendType { Start = 1, End = 2 } export interface FilletRes { cu1?: Curve; cu1Extend?: ExtendType; cu2?: Curve; cu2Extend?: ExtendType; arc?: Arc; } export declare class FilletUtils { FilletRadius: number; Fillet(enRes1: PromptEntityResult, enRes2: PromptEntityResult): FilletRes; private FilletLineOrArc; /** * 设置直线的坐标系 以便可以正确的被偏移 * @param {Curve} cu * @param {Matrix4} newOCS */ SetCurveOCS(cu: Curve, newOCS: Matrix4): void; FilletPolyLineSelf(enRes1: PromptEntityResult, enRes2: PromptEntityResult): FilletRes; private FilletPolylineAndCurve; FilletPolyLineAllAngular(enRes1: PromptEntityResult): FilletRes; FindNearestPt(pts: Vector3[], target: Vector3): Vector3; FilletBoard(brRes: PromptEntityResult, ptRes: PromptPointResult): Polyline | string; /** * 平行线倒角 */ private FilletParallelLine; /** * 计算圆弧与圆弧没有交点的情况下倒角结果. * @param enRes1 * @param enRes2 * @returns arc and arc */ private FilletArcAndArc; /** * 计算直线与圆弧没有交点(或相切)的情况下倒角结果 * @param enRes1 * @param enRes2 * @returns line and cir */ private FilletLineAndArc; private GetIntersectAndSort; /** * 对图元列表进行按位编码,类型映射如下: * # 1:line 2:arc 4:polyline * @param enRes * @param enRes2 * @returns */ private EnCode; private ComputerDerv; private ComputerDerv2; private ExtendPt; /** * 切割或者延伸曲线,尖角化 * * @param cu 处理的曲线 * @param interPt 原先的相交点 * @param pickPoint 鼠标点击点 * @returns 返回新的曲线 */ private SplitCurve; } export {}; //# sourceMappingURL=FilletUtils.d.ts.map