videx-3d
Version:
React 3D component library designed for sub surface visualizations in the browser
33 lines (32 loc) • 950 B
TypeScript
import { PerspectiveCamera, Scene, Vector2, WebGLRenderer } from 'three';
import { Vec2, Vec3 } from '../../sdk';
import { Emitter, Listener } from './EventEmitterContext';
export type PickedObject = {
emitter: Emitter;
index: number;
};
export type PickResult = {
match: PickedObject | null;
position: Vec3;
point: Vec2;
};
/**
* Used internally by the `EventEmitter` component
* @internal
*/
export declare class PickingHelper {
private _size;
private _radius;
private _pbo;
private _buffer;
private _material;
constructor(options?: {});
private traverseObject;
updateListeners: () => void;
addListener: (listener: Listener) => void;
getListener: (id: number) => Listener | undefined;
removeListener: (id: number) => void;
render(pointer: Vector2, renderer: WebGLRenderer, scene: Scene, camera: PerspectiveCamera): Promise<PickResult>;
private pick;
dispose(): void;
}