UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

33 lines (27 loc) 1.25 kB
import {BVH} from "../../../../core/bvh2/bvh3/BVH"; import {SurfacePoint3} from "../../../../core/geom/3d/SurfacePoint3"; import {System} from "../../../ecs/System"; import Engine from "../../../Engine"; import {ShadedGeometry} from "./ShadedGeometry.js"; export class ShadedGeometrySystem extends System<ShadedGeometry> { constructor(engine: Engine) readonly bvh: BVH raycastNearest( contact: SurfacePoint3, origin_x: number, origin_y: number, origin_z: number, direction_x: number, direction_y: number, direction_z: number, filter_function?: (entity: number, mesh: ShadedGeometry) => boolean, filter_function_context?: any ): { entity: number, mesh: ShadedGeometry } | undefined raycast( origin_x: number, origin_y: number, origin_z: number, direction_x: number, direction_y: number, direction_z: number, filter_function?: (entity: number, mesh: ShadedGeometry) => boolean, filter_function_context?: any ): { entity: number, mesh: ShadedGeometry, contact: SurfacePoint3 }[] queryOverlapFrustum( result: ArrayLike<number>, result_offset: number, planes: ArrayLike<number> ): number }