import { Vector3, Object3D, Camera } from "three"; export interface ICameraData { position: Vector3; center: Vector3; } export interface IBloomOptions { strength?: number; radius?: number; threshold?: number; } export interface ISelectGarden { /** * 框选中的模型回调函数 * @param objects */ selectingObjects(objects: Object3D[]): void; /** * 框选结束的模型回调函数 * @param objects */ selectedObjects(objects: Object3D[]): void; } export interface ICameraGarden { /** * 摄像机变更事件 * @param camera 摄像机 */ cameraChange(camera: Camera): void; } export interface IGardenLifeCycle { show(): void; hide(): void; } export interface IMouseGardenBase { mouseDown(e: PointerEvent): void; mousUp(e: PointerEvent): void; mousMove(e: PointerEvent): void; } export interface IMouseGarden { /** * 鼠标移入可交互模型回调函数 * @param obj 选中的模型 * @param instanceId InstancedMesh 索引 */ mouseEnter(obj: Object3D, instanceId: number): void; /** * 鼠标移出可交互模型回调函数 * @param obj 选中的模型 * @param instanceId InstancedMesh 索引 */ mouseLeave(obj: Object3D, instanceId: number): void; /** * 单击触摸模型回调函数 * @param obj 选中的模型 * @param instanceId InstancedMesh 索引 */ pointerClick(obj: Object3D, instanceId: number): void; pointerEmpty(e: PointerEvent): void; /** * 鼠标双击回调函数 * @param obj 选中的模型 * @param instanceId InstancedMesh 索引 */ pointerDblClick(obj: Object3D, instanceId: number): void; } export declare enum EAntiAlias { MSAA = 0, SSAA = 1, FXAA = 2, SMAA = 3, NONE = 4 } export interface IAliasOptions { sampleLevel?: number; }