@shopware-ag/dive
Version:
Shopware Spatial Framework
41 lines (40 loc) • 1.21 kB
TypeScript
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;
}