vector2d-extended
Version:
98 lines (97 loc) • 3.55 kB
TypeScript
declare class Vector2d {
x: number;
y: number;
constructor(x?: number, y?: number);
toString(): string;
static readonly ZERO: Vector2d;
static readonly ONE: Vector2d;
static readonly UP: Vector2d;
static readonly DOWN: Vector2d;
static readonly RIGHT: Vector2d;
static readonly LEFT: Vector2d;
static clampMagnitude(a: Vector2d, maxLength: number): Vector2d;
static lerp(a: Vector2d, b: Vector2d, l: number): Vector2d;
static scale(a: Vector2d, b: Vector2d): Vector2d;
static scaleX(a: Vector2d, b: Vector2d): Vector2d;
static scaleY(a: Vector2d, b: Vector2d): Vector2d;
static add(a: Vector2d, b: Vector2d): Vector2d;
static addX(a: Vector2d, b: Vector2d): Vector2d;
static addY(a: Vector2d, b: Vector2d): Vector2d;
static subtract(a: Vector2d, b: Vector2d): Vector2d;
static subtractX(a: Vector2d, b: Vector2d): Vector2d;
static subtractY(a: Vector2d, b: Vector2d): Vector2d;
static multiply(a: Vector2d, b: number): Vector2d;
static multiplyX(a: Vector2d, b: number): Vector2d;
static multiplyY(a: Vector2d, b: number): Vector2d;
static divide(a: Vector2d, b: number): Vector2d;
static divideX(a: Vector2d, b: number): Vector2d;
static divideY(a: Vector2d, b: number): Vector2d;
static normalize(a: Vector2d): Vector2d;
static project(a: Vector2d, b: Vector2d): Vector2d;
static round(a: Vector2d): Vector2d;
static roundX(a: Vector2d): Vector2d;
static roundY(a: Vector2d): Vector2d;
static invert(a: Vector2d): Vector2d;
static invertX(a: Vector2d): Vector2d;
static invertY(a: Vector2d): Vector2d;
set(x: number, y: number): Vector2d;
add(a: Vector2d): Vector2d;
addX(a: Vector2d): Vector2d;
addY(a: Vector2d): Vector2d;
subtract(a: Vector2d): Vector2d;
subtractX(a: Vector2d): Vector2d;
subtractY(a: Vector2d): Vector2d;
multiply(a: number): Vector2d;
multiplyX(a: number): Vector2d;
multiplyY(a: number): Vector2d;
divide(a: number): Vector2d;
divideX(a: number): Vector2d;
divideY(a: number): Vector2d;
normalize(): Vector2d;
project(b: Vector2d): Vector2d;
round(): Vector2d;
roundX(): Vector2d;
roundY(): Vector2d;
zero(): Vector2d;
zeroX(): Vector2d;
zeroY(): Vector2d;
clone(): Vector2d;
equate(b: Vector2d): Vector2d;
equateX(b: Vector2d): Vector2d;
equateY(b: Vector2d): Vector2d;
invert(): Vector2d;
invertX(): Vector2d;
invertY(): Vector2d;
lerp(b: Vector2d, l: number): Vector2d;
scale(a: Vector2d): Vector2d;
scaleX(a: Vector2d): Vector2d;
scaleY(a: Vector2d): Vector2d;
clampMagnitude(maxLength: number): Vector2d;
rotate: number;
magnitudeSquared: number;
magnitude: number;
dot(b: Vector2d): number;
cross(b: Vector2d): number;
distance(b: Vector2d): number;
distanceSquared(b: Vector2d): number;
angle(b: Vector2d): number;
areaTriangle(b: Vector2d): number;
areaParallelogram(b: Vector2d): number;
isZero(): boolean;
isZeroX(): boolean;
isZeroY(): boolean;
isEqual(b: Vector2d): boolean;
isEqualX(b: Vector2d): boolean;
isEqualY(b: Vector2d): boolean;
isNaN(): boolean;
isNaNX(): boolean;
isNaNY(): boolean;
isFinite(): boolean;
isFiniteX(): boolean;
isFiniteY(): boolean;
isEqualRotate(b: Vector2d): boolean;
isEqualInvertRotate(b: Vector2d): boolean;
isCollinear(b: Vector2d): boolean;
isOrthogonal(b: Vector2d): boolean;
}
export default Vector2d;