@osbjs/math
Version:
math helper
43 lines (42 loc) • 1.75 kB
TypeScript
import { Matrix3 } from './Matrix3';
import { Matrix4 } from './Matrix4';
import { Quaternion } from './Quaternion';
export declare class Vector3 {
x: number;
y: number;
z: number;
static One: Vector3;
static Unitx: Vector3;
static Unity: Vector3;
static Unitz: Vector3;
static zero: Vector3;
constructor(x?: number, y?: number, z?: number);
equals(v: Vector3): boolean;
clone(): Vector3;
distanceTo(v: Vector3): number;
distanceToSqr(v: Vector3): number;
length(): number;
lengthSqr(): number;
angleTo(v: Vector3): number;
static add(v1: Vector3, v2: Vector3): Vector3;
static sub(v1: Vector3, v2: Vector3): Vector3;
static multiply(v1: Vector3, v2: Vector3): Vector3;
static divide(v1: Vector3, v2: Vector3): Vector3;
static addScalar(v: Vector3, s: number): Vector3;
static subScalar(v: Vector3, s: number): Vector3;
static multiplyScalar(v: Vector3, s: number): Vector3;
static divideScalar(v: Vector3, s: number): Vector3;
static applyQuat(v: Vector3, q: Quaternion): Vector3;
static applyMat4(v: Vector3, m: Matrix4): Vector3;
static applyMat3(v: Vector3, m: Matrix3): Vector3;
static lerp(v1: Vector3, v2: Vector3, alpha: number): Vector3;
static max(v1: Vector3, v2: Vector3): Vector3;
static min(v1: Vector3, v2: Vector3): Vector3;
static dot(v1: Vector3, v2: Vector3): number;
static cross(v1: Vector3, v2: Vector3): Vector3;
static negate(v: Vector3): Vector3;
static normalize(v: Vector3): Vector3;
static abs(v: Vector3): Vector3;
static reflect(v: Vector3, normal: Vector3): Vector3;
static clamp(v: Vector3, min: Vector3, max: Vector3): Vector3;
}