soonspacejs
Version:
soonspacejs 2.x
41 lines (40 loc) • 1.35 kB
TypeScript
import { Mesh, Intersection } from 'three';
import { Poi, Model } from '../Library';
import { Position, SceneEventType } from './base';
interface ScenePoiIntersect {
poi: Poi;
sourceData: Intersection;
}
interface SceneModelIntersect {
model: Model;
sourceData: Intersection;
}
interface ModelEventParams {
target: Model;
currentTarget: Mesh;
intersects: SceneModelIntersect[];
event: MouseEvent | TouchEvent;
}
interface PoiEventParams {
target: Poi;
event: MouseEvent | TouchEvent;
}
interface SceneClickParam {
type: SceneEventType;
event: MouseEvent | TouchEvent;
}
interface SceneGlobalEvents {
modelHover?: (param: ModelEventParams) => void;
modelUnHover?: (model: Model) => void;
modelClick?: (param: ModelEventParams) => void;
modelRightClick?: (param: ModelEventParams) => void;
modelDblClick?: (param: ModelEventParams) => void;
poiHover?: (poi: PoiEventParams) => void;
poiUnHover?: (poi: Poi) => void;
poiClick?: (poi: PoiEventParams) => void;
poiRightClick?: (poi: PoiEventParams) => void;
poiDblClick?: (poi: PoiEventParams) => void;
selectPosition?: (position: Position) => void;
sceneClick?: (param: SceneClickParam) => void;
}
export { ScenePoiIntersect, SceneModelIntersect, ModelEventParams, SceneClickParam, SceneGlobalEvents, };