ver
This commit is contained in:
33
types/Geometry/CurveIntersection.d.ts
vendored
Normal file
33
types/Geometry/CurveIntersection.d.ts
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
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<Curve, Box3>;
|
||||
/**
|
||||
* 交点数据集,key 为曲线 value 为和它相交的(曲线和交点的Map)
|
||||
*/
|
||||
intersect: Map<Curve, Map<Curve, Vector3[]>>;
|
||||
intersect2: Map<Curve, [number, Vector3][]>;
|
||||
intersect3: [Curve, Curve, Vector3[]][];
|
||||
/**
|
||||
* @param {Curve[]} cus 请注意数组的顺序会被更改,如果你在意数组的顺序,请拷贝数组后传进来
|
||||
* @memberof CurveIntersection
|
||||
*/
|
||||
constructor(cus: Curve[], parseIntersectionParam?: boolean, intType?: IntersectOption, fuzz?: number, parseRecord?: boolean);
|
||||
protected IntersectWith2(c1: Curve, c2: Curve, intType: IntersectOption, fuzz: number): import("../GraphicsSystem/IntersectWith").IntersectResult[];
|
||||
protected AppendIntersectionParams(curve: Curve, params: [number, Vector3][]): void;
|
||||
protected GenBox(cus: Curve[]): void;
|
||||
protected SortCurve(cus: Curve[]): void;
|
||||
GetIntersect(cu: Curve): Map<Curve, Vector3[]>;
|
||||
}
|
||||
export declare class CurveIntersection2 extends CurveIntersection {
|
||||
/**
|
||||
* Curve2Polyline使用这个时,为了避免多余的交点导致曲线切割过度,过滤掉无关的点
|
||||
*/
|
||||
protected IntersectWith2(c1: Curve, c2: Curve, intType: IntersectOption): import("../GraphicsSystem/IntersectWith").IntersectResult[];
|
||||
}
|
||||
//# sourceMappingURL=CurveIntersection.d.ts.map
|
Reference in New Issue
Block a user