@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
115 lines • 3.13 kB
TypeScript
/**
* 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