@js-basics/vector
Version:
A 3D Vector lib including arithmetic operator overloading (+ - * / % **).
75 lines (74 loc) • 1.68 kB
TypeScript
export function calc(alg: any): any;
export class Point extends APoint {
calc(alg: any): any;
clone(): Point;
}
export class IPoint extends APoint {
/**
* @returns {Point & number}
*/
toPoint(): Point & number;
}
export function point(x: number | (() => number), y?: number): Point & number;
export function ipoint(x: number | (() => number), y?: number): IPoint & number;
export const ZERO: IPoint & number;
export const FORWARD: IPoint & number;
export const LEFT: IPoint & number;
declare class APoint {
constructor(...args: any[]);
valueOf(): void;
/**
* @returns {this}
*/
normalize(): this;
/**
* @returns {this}
*/
norm(): this;
dot(v: any): number;
getRad(): number;
/**
* @param {APoint} v
*/
angleTo(v: APoint): number;
/**
* @param {number} angle
* @returns {this}
*/
rotate(angle: number): this;
/**
* @param {APoint} v
*/
distance(v: APoint): number;
/**
* @param {APoint} v
*/
dist(v: APoint): number;
/**
* @returns {[number, number]}
*/
toArray(): [number, number];
calc(alg: any): void;
clone(): void;
equals(v: any): boolean;
toJSON(): {
x: any;
y: any;
};
toString(): string;
toCSSVars(name: any, target: any): {};
get lengthSq(): number;
get length(): number;
get lensq(): number;
get len(): number;
set x(_: any);
get x(): any;
set y(_: any);
get y(): any;
set z(_: void);
get z(): void;
[Symbol.iterator](): ArrayIterator<any>;
[AXES]: any[];
}
declare const AXES: unique symbol;
export {};