import { Five, Camera } from '@realsee/five'; import { BasePlugin } from '../BasePlugin'; import type * as PluginType from './typing'; import * as THREE from "three"; import { OrbitControls } from '../thirdParty/OrbitControls.js'; import { CSS3DRenderer } from '../thirdParty/CSS3DRenderer.js'; import { RoundedBoxGeometry } from './RoundedBoxGeometry'; export declare class Controller extends BasePlugin.Controller { /** 当前使用的数据 */ data?: PluginType.PluginData; /** 插件当前状态 */ state: PluginType.State; /** config 的原始值 */ private _config; camera: Camera; scene: THREE.Scene; renderer: THREE.WebGLRenderer; css3drenderer: CSS3DRenderer; ambientLight: THREE.AmbientLight; wrapper: HTMLDivElement; private arrows; private arrowLeft; private arrowRight; private arrowFront; private arrowBack; private arrowTop; private arrowBottom; private mc?; private cameraAnimation?; private cylinder; private spherical; private dragging; private style; directionalLight: THREE.DirectionalLight; box: THREE.Mesh; faces: THREE.Group; controls?: OrbitControls; get config(): { orthoView: boolean; fixedLongitude: number; }; private updateState; constructor(five: Five, params?: PluginType.Params); appendTo(container: HTMLElement): void; init(): void; initDom(): void; bindEvents(): void; unbindEvents(): void; orient: ({ longitude, latitude }: { longitude?: number; latitude?: number; }) => void; private updateByCamera; private updateArrows; private handleArrowsVisible; private onRenderFrame; private onTapGesture; private onFiveWantsGesture; private onFiveModeChange; private onCameraUpdate; private onPanStart; private onMouseMove; private onPanEnd; /** 更改插件 State */ setState(state: Partial, options?: BasePlugin.BaseOptions): void; private initLights; private initFaces; private initControls; load(data: PluginType.ServerData): Promise; private _enable; private _disable; /** * 启用插件,让插件能够响应交互 */ enable(options?: BasePlugin.BaseOptions): void; /** * 禁用插件,让插件停止响应交互 */ disable(options?: BasePlugin.BaseOptions): void; /** 销毁插件,移除所有副作用,销毁后将不响应任何 API */ dispose: () => void; }