@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
47 lines • 1.85 kB
TypeScript
import { ArrayNumber3, ArrayNumber4 } from "../types";
import { TgdMat4 } from "./mat4";
import { TgdVec3 } from "./vec3";
export declare class TgdVec4 extends Float32Array {
static X: Readonly<TgdVec4>;
static Y: Readonly<TgdVec4>;
static Z: Readonly<TgdVec4>;
static W: Readonly<TgdVec4>;
static fromSlerp([x1, y1, z1, w1]: TgdVec3 | TgdVec4 | ArrayNumber3 | ArrayNumber4, [x2, y2, z2, w2]: TgdVec3 | TgdVec4 | ArrayNumber3 | ArrayNumber4, a?: number): TgdVec4;
constructor();
constructor(vec4: TgdVec4 | ArrayNumber4);
constructor(vec3: TgdVec3 | ArrayNumber3, w: number);
constructor(x: number);
constructor(x: number, y: number);
constructor(x: number, y: number, z: number);
constructor(x: number, y: number, z: number, w: number);
reset(x?: number, y?: number, z?: number, w?: number): this;
from(vec: Readonly<TgdVec4 | ArrayNumber4>): this;
/**
* Warning! The `w` component will stay unchanged.
*/
fromVec3(vec: Readonly<TgdVec3 | ArrayNumber3>): this;
clone(): TgdVec4;
mix(vec: Readonly<TgdVec4>, alpha?: number): this;
isEqual(vec: Readonly<TgdVec4 | ArrayNumber4>): boolean;
isClose({ x, y, z, w }: TgdVec4, epsilon?: number): boolean;
/**
* V := M×V
*/
applyMatrix(mat: TgdMat4): this;
get x(): number;
set x(value: number);
get y(): number;
set y(value: number);
get z(): number;
set z(value: number);
get w(): number;
set w(value: number);
add(...vectors: (TgdVec4 | TgdVec3 | ArrayNumber4 | ArrayNumber3)[]): TgdVec4;
subtract(vec: TgdVec4 | TgdVec3 | ArrayNumber4 | ArrayNumber3): TgdVec4;
scale(factor: number): this;
dot(vec: TgdVec4 | ArrayNumber4): number;
get size(): number;
normalize(): this;
debug(caption?: string): void;
}
//# sourceMappingURL=vec4.d.ts.map