UNPKG

@shopware-ag/dive

Version:

Shopware Spatial Framework

41 lines (40 loc) 1.21 kB
import { Matrix4, Mesh, Vector3 } from 'three'; import { DIVERenderer } from '../../../renderer/Renderer'; import { DIVEScene } from '../../../scene/Scene'; import { DIVEEventExecutor } from '../../../events/EventExecutor'; /** * 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 DIVEEventExecutor<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; }