@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
71 lines • 1.93 kB
TypeScript
export class BufferedGeometryBVH {
/**
*
* @param {AABB3|number[]} out
*/
getBounds(out: AABB3 | number[]): void;
/**
*
* @type {THREE.BufferGeometry|null}
* @private
*/
private __geometry;
/**
*
* @type {number[]|null}
* @private
*/
private __geometry_index;
/**
*
* @type {number[]|null}
* @private
*/
private __geometry_positions;
/**
*
* @type {number}
* @private
*/
private __triangle_count;
/**
*
* @param {THREE.BufferGeometry} geo
*/
build(geo: THREE.BufferGeometry): void;
/**
* Tests ray for occlusion
* Returns true if ray hits anything at all
* @param {Ray3} ray
* @returns {boolean}
*/
occluded(ray: Ray3): boolean;
/**
*
* @param {SurfacePoint3} result
* @param {number} x
* @param {number} y
* @param {number} z
* @returns {boolean} true if result is found, only false when geometry is empty
*/
nearestSurfacePoint(result: SurfacePoint3, x: number, y: number, z: number): boolean;
/**
* Code is largely inlined, to avoid extra checks
* NOTE: raycast is performed in local coordinate space
* @param {number[]} output
* @param {number[]|Ray3} ray
* @returns {number} distance along the ray, negative if no hit
*/
raycast2(output: number[], ray: number[] | Ray3): number;
/**
* NOTE: raycast is performed in local coordinate space
* @param {number[]} output
* @param {number[]|Ray3} ray
* @returns {number} distance along the ray, negative if no hit
*/
raycast(output: number[], ray: number[] | Ray3): number;
#private;
}
import { AABB3 } from "../../../../core/geom/3d/aabb/AABB3.js";
import { SurfacePoint3 } from "../../../../core/geom/3d/SurfacePoint3.js";
//# sourceMappingURL=BufferedGeometryBVH.d.ts.map