UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

115 lines 3.13 kB
/** * 3D ray * Optimized representation for faster memory access */ export class Ray3 extends Float32Array { /** * * @param {number} origin_x * @param {number} origin_y * @param {number} origin_z * @param {number} direction_x * @param {number} direction_y * @param {number} direction_z * @param {number} t_max * @return {Ray3} */ static from(origin_x: number, origin_y: number, origin_z: number, direction_x: number, direction_y: number, direction_z: number, t_max?: number): Ray3; constructor(); set tMax(arg: any); get tMax(): any; 6: any; /** * * @param {number[]|Float32Array} v */ set origin(arg: number[] | Float32Array); get origin(): number[] | Float32Array; get origin_x(): number; get origin_y(): number; get origin_z(): number; /** * * @param {number} x * @param {number} y * @param {number} z */ setOrigin(x: number, y: number, z: number): void; 0: number; 1: number; 2: number; /** * * @param {number[]|Float32Array} v */ set direction(arg: number[] | Float32Array); get direction(): number[] | Float32Array; get direction_x(): number; get direction_y(): number; get direction_z(): number; /** * * @param {number} x * @param {number} y * @param {number} z */ setDirection(x: number, y: number, z: number): void; 3: number; 4: number; 5: number; normalizeDirection(): void; /** * * @param {number} x normalized coordinates in -1,1 range * @param {number} y normalized coordinates in -1,1 range * @param {number} z normalized coordinates in -1,1 range, typically 0.5 * @param {number[]|Float32Array|mat4} transform * @param {number[]|Float32Array|mat4} projection_inverse */ projectFromPerspectiveCamera(x: number, y: number, z: number, transform: number[] | Float32Array | mat4, projection_inverse: number[] | Float32Array | mat4): void; /** * * @param {number} distance */ shiftForward(distance: number): void; /** * * @param {number[]|mat4|Float32Array} m4 */ applyMatrix4(m4: number[] | mat4 | Float32Array): void; /** * * @returns {Ray3} */ clone(): Ray3; /** * * @param {Ray3} other */ copy(other: Ray3): void; hash(): number; /** * * @param {Ray3} other * @returns {boolean} */ equals(other: Ray3): boolean; /** * Compute `t` value for a given point in 3d space. * This is the distance along the direction from origin of the ray * Value will be negative if the ray is pointing away from the point * PRECONDITION: ray direction must be normalized * @param {number} x * @param {number} y * @param {number} z * @returns {number} */ computeSignedDistance(x: number, y: number, z: number): number; /** * Useful for type checking * @readonly * @type {boolean} */ readonly isRay3: boolean; } //# sourceMappingURL=Ray3.d.ts.map