import { Geometry, Vector, Vector2, Vector3, Box3, Matrix4, Object3D, Line, Mesh } from 'three'; export declare const cZeroVec: Vector3; export declare const cXAxis: Vector3; export declare const cYAxis: Vector3; export declare const cZAxis: Vector3; /** * 旋转一个点,旋转中心在原点 * * @export * @param {Vector3} pt 点 * @param {number} ang 角度. * @returns {Vector3} 返回pt不拷贝. */ export declare function rotatePoint(pt: Vector3, ang: number): Vector3; export declare function equaln(v1: number, v2: number, fuzz?: number): boolean; export declare function equalv3(v1: Vector3, v2: Vector3, fuzz?: number): boolean; export declare function equal(v1: T, v2: T): boolean; export declare function fixAngle(an: number, fixAngle: number, fuzz?: number): number; /** * 按照极坐标的方式移动一个点 * * @export * @template * @param {T} v 向量(2d,3d) * @param {number} an 角度 * @param {number} dis 距离 * @returns {T} */ export declare function polar(v: T, an: number, dis: number): T; export declare function angle(v: Vector3 | Vector2): number; /** * 求两个向量的夹角,顺时针为负,逆时针为正 * * @param {Vector3} v1 * @param {Vector3} v2 * @param {Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 * @returns */ export declare function angleTo(v1: Vector3, v2: Vector3, ref?: Vector3): number; export declare function getLoocAtUpVec(dir: Vector3): Vector3; export declare function createLookAtMat4(dir: Vector3): Matrix4; export declare function isParallelTo(v1: Vector3, v2: Vector3): boolean; export declare function ptToString(v: Vector3, fractionDigits?: number): string; export declare function midPoint(v1: Vector3, v2: Vector3): Vector3; export declare function midPoint2(v1: Vector2, v2: Vector2): Vector2; export declare function midPtCir(v1: Vector3, v2: Vector3): Vector3; /** * 获得Three对象的包围盒. * @param obj * @param [updateMatrix] 是否应该更新对象矩阵 * @returns box */ export declare function GetBox(obj: Object3D, updateMatrix?: boolean): Box3; export declare function GetBoxArr(arr: Array): Box3; export declare function MoveMatrix(v: Vector3): Matrix4; export declare function getProjectDist(v1: Vector3, v2: Vector3): { h: number; v: number; }; export declare function getPtPostion(sp: Vector3, ep: Vector3, c: Vector3, inPt: Vector3): { sp: Vector3; ep: Vector3; }; export declare function angleAndX(v: Vector3 | Vector2): number; /** * 将角度调整为0-2pi之间 * * @export * @param {number} an */ export declare function angleTo2Pi(an: number): number; export declare function updateGeometry(l: Line | Mesh, geometry: Geometry): void;