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