@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
29 lines (28 loc) • 1.35 kB
TypeScript
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 {};