UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

29 lines (28 loc) 1.35 kB
import { Object3D } from 'three'; import { Constructor, ConvertToStrings } from '../../../../../types/GlobalTypes'; import { BaseRayObjectIntersectionsController } from './_BaseRayObjectIntersectionsController'; import { ObjectOptions, GPUOptions, CPUOptions, PriorityOptions, ModifierOptionsAsString, OnlyModifierOptions } from './Common'; interface DoubleClickOptions { callback: () => void; } export interface ObjectToClickOptions extends ObjectOptions { doubleClick: DoubleClickOptions; config: OnlyModifierOptions; } export interface ObjectToDoubleClickOptionsAsString { priority: ConvertToStrings<PriorityOptions>; cpu?: ConvertToStrings<CPUOptions>; gpu?: ConvertToStrings<GPUOptions>; doubleClick: ConvertToStrings<DoubleClickOptions>; config: ModifierOptionsAsString; } export declare function DoubleClickParamConfig<TBase extends Constructor>(Base: TBase): { new (...args: any[]): {}; } & TBase; export declare class RayObjectIntersectionsDoubleClickController extends BaseRayObjectIntersectionsController { protected _propertiesListByObject: Map<Object3D, ObjectToClickOptions[]>; protected _intersectedStateOnDoubleClickByObject: Map<Object3D, boolean>; private _objectsMatchingEventConfig; onDoubleClick(event: Readonly<PointerEvent | MouseEvent | TouchEvent>): void; } export {};