/** * class vector 3 */ export declare class Vector3 { x: number; y: number; z: number; /** * create a vector 3 class * @param x * @param y * @param z */ constructor(x?: number, y?: number, z?: number); clone(): Vector3; buffer(): Float32Array; /** * get the length of the vector * @returns {number} */ get length(): number; /** * @return {number} */ get lengthSq(): number; /** * normalize the vector * @returns {Vector3} */ normalize(): Vector3; /** * set value of the vector * @param a */ set(a: Vector3): void; /** * invert the vector direction * @returns {Vector3} */ invert(): Vector3; /** * rotate 90 * @returns {Vector3} */ rotate90(): Vector3; /** * add to another vector * @param a * @returns {Vector3} */ add(a: Vector3): Vector3; /** * subtract with another vector * @param a * @returns {Vector3} */ subtract(a: Vector3): Vector3; /** * multiply by a number * @param a * @returns {Vector3} */ multiply(a: number): Vector3; /** * rotate by an angle * @param a * @returns {Vector3} */ rotateBy(a: number): Vector3; /** * multiply by a vector * @param a * @returns {Vector3} */ cross(a: Vector3): Vector3; /** * dot a vector * @param a * @returns {number} */ dot(a: Vector3): number; static perp(v1: number[], v2: number[]): Vector3; static neg(v: Vector3): Vector3; }