74 lines
3.0 KiB
TypeScript
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): 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): any;
|
|
export declare function IntersectEllipse(el1: Ellipse, el2: Ellipse, type: IntersectOption): IntersectResult[];
|
|
//# sourceMappingURL=IntersectWith.d.ts.map
|