import { Box3, Vector3 } from "three"; import { Curve } from "../DatabaseServices/Entity/Curve"; import { IntersectOption } from "../GraphicsSystem/IntersectWith"; /** * 简化优化版本的曲线求交, 优化版本可以参考(算法导论33.2 确定任意一对线段是否相交 p599) */ export declare class CurveIntersection { protected fuzz: number; protected boxMap: Map; /** * 交点数据集,key 为曲线 value 为和它相交的(曲线和交点的Map) */ intersect: Map>; intersect2: Map; /** * @param {Curve[]} cus 请注意数组的顺序会被更改,如果你在意数组的顺序,请拷贝数组后传进来 * @memberof CurveIntersection */ constructor(cus: Curve[], parseIntersectionParam?: boolean, intType?: IntersectOption, fuzz?: number); protected IntersectWith2(c1: Curve, c2: Curve, intType: IntersectOption): import("../GraphicsSystem/IntersectWith").IntersectResult[]; protected AppendIntersectionParams(curve: Curve, params: number[]): void; protected GenBox(cus: Curve[]): void; protected SortCurve(cus: Curve[]): void; GetIntersect(cu: Curve): Map; } export declare class CurveIntersection2 extends CurveIntersection { /** * Curve2Polyline使用这个时,为了避免多余的交点导致曲线切割过度,过滤掉无关的点 */ protected IntersectWith2(c1: Curve, c2: Curve, intType: IntersectOption): import("../GraphicsSystem/IntersectWith").IntersectResult[]; } //# sourceMappingURL=CurveIntersection.d.ts.map