soonspacejs
Version:
soonspacejs 2.x
51 lines (50 loc) • 1.61 kB
TypeScript
import { Object3D } from 'three';
import Viewport from '.';
import { SceneEventType } from '../Interface';
/**
* @todo 事件部分待重构。目前实现不来灵活,且部分对象不支持事件。
*/
declare class EventHandler {
readonly viewport: Viewport;
private dblClickMaxInterval;
/**
* PC
*/
private mouseDownTimes;
private mouseDownEvent;
private container;
private options;
private signals;
private touchLongUpMaxInterval;
private isTouchLongPressAsTouchRightClick;
private timer;
private touchStartEvent;
private touchstartTimes;
private selectModel;
private selectPoi;
constructor(viewport: Viewport);
_getPoiAndModel(): Object3D<import("three").Object3DEventMap>[];
/**
* 触发场景交互事件
* @param {SceneEventType} eventType 事件类型 hover | click | dblClick | rightClick
* @param {MouseEvent | TouchEvent} event 鼠标事件对象 或 触摸事件对象
*/
_triggerSceneEventInAllObject(eventType: SceneEventType, event: MouseEvent | TouchEvent, objects?: Object3D[]): void;
private handleMouseDown;
private handleMouseMove;
private handleMouseUp;
private handleDblClick;
private handleMouseWheel;
private handleTouchStart;
private handleTouchEnd;
private handleContextmenu;
/**
* key event
*/
private handleKeyDown;
private handleKeyUp;
addEventListeners(): void;
removeEventListeners(): void;
dispose(): void;
}
export default EventHandler;