@yaelg/tresjs-core
Version:
Declarative ThreeJS using Vue Components
20 lines (19 loc) • 816 B
TypeScript
import type { Intersection, Event, Object3D } from 'three';
import type { TresScene } from 'src/types';
import type { TresContext } from '../useTresContextProvider';
type CallbackFn = (intersection: Intersection<Object3D<Event>>, event: PointerEvent) => void;
type CallbackFnPointerLeave = (object: Object3D<Event>, event: PointerEvent) => void;
export interface EventProps {
onClick?: CallbackFn;
onPointerEnter?: CallbackFn;
onPointerMove?: CallbackFn;
onPointerLeave?: CallbackFnPointerLeave;
}
export declare const usePointerEventHandler: ({ scene, contextParts }: {
scene: TresScene;
contextParts: Pick<TresContext, 'renderer' | 'camera' | 'raycaster'>;
}) => {
registerObject: (object: Object3D & EventProps) => void;
deregisterObject: (object: Object3D) => void;
};
export {};