UNPKG

@yaelg/tresjs-core

Version:

Declarative ThreeJS using Vue Components

20 lines (19 loc) 816 B
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 {};