webcad-ue4-api/types/GraphicsSystem/IntersectWith.d.ts
2023-02-22 09:27:57 +08:00

74 lines
3.0 KiB
TypeScript

import { Vector3 } from 'three';
import { Arc } from '../DatabaseServices/Entity/Arc';
import { Circle } from '../DatabaseServices/Entity/Circle';
import { Curve } from '../DatabaseServices/Entity/Curve';
import { Ellipse } from '../DatabaseServices/Entity/Ellipse';
import { Line } from '../DatabaseServices/Entity/Line';
import { Polyline } from '../DatabaseServices/Entity/Polyline';
/**
* 相交延伸选项.
*
* @export
* @enum {number}
*/
export declare enum IntersectOption {
/**
* 两者都不延伸
*/
ExtendNone = 0,
/**
* 延伸自身
*/
ExtendThis = 1,
/**
* 延伸参数
*/
ExtendArg = 2,
/**
* 延伸两者
*/
ExtendBoth = 3
}
export interface IntersectResult {
pt: Vector3;
thisParam: number;
argParam: number;
}
export declare function reverseIntersectOption(intType: IntersectOption): IntersectOption;
export declare function IntersectCircleAndCircle(cu1: Circle | Arc, cu2: Circle | Arc, tolerance?: number): IntersectResult[];
/**
* 计算圆与圆弧的交点.
*
* @export
* @param {Circle} circle 圆
* @param {Arc} arc 圆弧
* @param {IntersectOption} extType 延伸选项
* @returns 交点集合
*/
export declare function IntersectCircleAndArc(circle: Circle, arc: Arc, extType: IntersectOption, tolerance?: number): IntersectResult[];
/**
* 计算圆弧与圆弧的交点
*
* @export
* @param {Arc} arc1 圆弧
* @param {Arc} arc2 圆弧
* @param {IntersectOption} extType 延伸选项
* @returns 交点集合
*/
export declare function IntersectArcAndArc(arc1: Arc, arc2: Arc, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectEllipseAndLine(l: Line, el: Ellipse, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectLineAndCircle(line: Line, circle: Circle, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectLineAndArc(line: Line, arc: Arc, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectLAndLFor2D(p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): Vector3;
export declare function IntersectLAndLFor2D2(p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): Vector3[];
export declare function IntersectLine3AndLine3(p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3, epsilon?: number): Vector3;
export declare function IntersectLineAndLine(l1: Line, l2: Line, extType: IntersectOption, fuzz?: number): IntersectResult[];
export declare function IntersectPolylineAndCurve(pl: Polyline, cu: Curve, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectLineAndEllipseFor2D(l: Line, el: Ellipse): {
pt: Vector3;
thisParam: number;
argParam: number;
}[];
export declare function IntersectEllipseAndCircleOrArc(el: Ellipse, cir: Circle | Arc, type: IntersectOption): IntersectResult[];
export declare function IntersectEllipse(el1: Ellipse, el2: Ellipse, type: IntersectOption): IntersectResult[];
//# sourceMappingURL=IntersectWith.d.ts.map