@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
26 lines (25 loc) • 1.25 kB
TypeScript
import { Object3D } from 'three';
import { ConvertToStrings } from '../../../../../types/GlobalTypes';
import { BaseRayObjectIntersectionsController } from './_BaseRayObjectIntersectionsController';
import { ObjectOptions, GPUOptions, CPUOptions, PriorityOptions, ButtonAndModifierOptions, ButtonAndModifierOptionsAsString } from './Common';
interface PointerdownOptions {
callback: () => void;
}
export interface ObjectToObjectPointerdownOptions extends ObjectOptions {
pointerdown: PointerdownOptions;
config: ButtonAndModifierOptions;
}
export interface ObjectToObjectPointerdownOptionsAsString {
priority: ConvertToStrings<PriorityOptions>;
cpu?: ConvertToStrings<CPUOptions>;
gpu?: ConvertToStrings<GPUOptions>;
pointerdown: ConvertToStrings<PointerdownOptions>;
config: ButtonAndModifierOptionsAsString;
}
export declare class RayObjectIntersectionsPointerdownController extends BaseRayObjectIntersectionsController {
protected _propertiesListByObject: Map<Object3D, ObjectToObjectPointerdownOptions[]>;
protected _intersectedStateByObject: Map<Object3D, boolean>;
private _objectsMatchingEventConfig;
onPointerdown(event: Readonly<PointerEvent | MouseEvent | TouchEvent>): void;
}
export {};