73 lines
2.7 KiB
TypeScript
73 lines
2.7 KiB
TypeScript
![]() |
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<T extends Vector>(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<T extends Vector2 | Vector3>(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<Object3D>): 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;
|