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