import * as THREE from 'three'; import { Geometry, Vector, Vector2, Vector3 } from 'three'; export declare const cZeroVec: THREE.Vector3; export declare const cXAxis: THREE.Vector3; export declare const cYAxis: THREE.Vector3; export declare const cZAxis: THREE.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 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 {THREE.Vector3} v1 * @param {THREE.Vector3} v2 * @param {THREE.Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 * @returns */ export declare function angleTo(v1: THREE.Vector3, v2: THREE.Vector3, ref?: THREE.Vector3): number; export declare function getLoocAtUpVec(dir: THREE.Vector3): THREE.Vector3; export declare function createLookAtMat4(dir: THREE.Vector3): THREE.Matrix4; export declare function isParallelTo(v1: THREE.Vector3, v2: THREE.Vector3): boolean; export declare function ptToString(v: THREE.Vector3, fractionDigits?: number): string; export declare function midPoint(v1: THREE.Vector3, v2: THREE.Vector3): THREE.Vector3; export declare function midPoint2(v1: THREE.Vector2, v2: THREE.Vector2): THREE.Vector2; export declare function midPtCir(v1: THREE.Vector3, v2: THREE.Vector3): THREE.Vector3; export declare function GetBox(obj: THREE.Object3D, updateMatrix?: boolean): THREE.Box3; export declare function GetBoxArr(arr: Array): THREE.Box3; export declare function MoveMatrix(v: THREE.Vector3): THREE.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: THREE.Vector3; ep: THREE.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: THREE.Line | THREE.Mesh, geometry: Geometry): void;