@yaelg/tresjs-core
Version:
Declarative ThreeJS using Vue Components
19 lines (18 loc) • 794 B
TypeScript
import type { Object3D, type Intersection } from 'three';
import type { Ref } from 'vue';
import { type TresContext } from '../useTresContextProvider';
export type Intersects = Intersection<THREE.Object3D<THREE.Event>>[];
interface PointerMoveEventPayload {
intersects?: Intersects;
event: PointerEvent;
}
interface PointerClickEventPayload {
intersects: Intersects;
event: PointerEvent;
}
export declare const useRaycaster: (objects: Ref<THREE.Object3D[]>, { renderer, camera, raycaster }: Pick<TresContext, 'renderer' | 'camera' | 'raycaster'>) => {
intersects: import("vue").ComputedRef<Intersects>;
onClick: (fn: (value: PointerClickEventPayload) => void) => () => void;
onPointerMove: (fn: (value: PointerMoveEventPayload) => void) => () => void;
};
export {};