UNPKG

@shopware-ag/dive

Version:

Shopware Spatial Framework

41 lines (40 loc) 1.25 kB
import { Matrix4, Mesh, Vector3 } from 'three/webgpu'; import { DIVERenderer } from '../../../../../engine/renderer/Renderer.ts'; import { DIVEScene } from '../../../../../engine/scene/Scene.ts'; import { EventDispatcher } from '../../../../../events/index.ts'; /** * object is undefined when AR world is hit. */ export type DIVEHitResult = { point: Vector3; matrix: Matrix4; object?: Mesh; }; export type DIVEWebXRRaycasterEvents = { AR_HIT_FOUND: { hit: DIVEHitResult; }; AR_HIT_LOST: undefined; SCENE_HIT_FOUND: { hit: DIVEHitResult; }; SCENE_HIT_LOST: undefined; }; export declare class DIVEWebXRRaycaster extends EventDispatcher<DIVEWebXRRaycasterEvents> { private _session; private _initialized; private _threeRaycaster; private _arRaycaster; private _arHitResultBuffer; private _sceneHitResultBuffer; private _hasHit; constructor(session: XRSession, renderer: DIVERenderer, scene: DIVEScene); dispose(): void; init(): Promise<this>; getARIntersections(frame: XRFrame): DIVEHitResult[]; getSceneIntersections(): DIVEHitResult[]; private onARHitFound; private onARHitLost; private onSceneHitFound; private onSceneHitLost; }