UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

47 lines 1.85 kB
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