import type { Five } from '@realsee/five'; import { BasePlugin } from '../BasePlugin'; import * as THREE from 'three'; import { CSS2DRenderer, CSS2DObject } from '../thirdParty/CSS2DRenderer.js'; import type * as PluginType from './typing'; export declare class Controller extends BasePlugin.Controller { /** 当前使用的数据 */ data?: PluginType.PluginData; /** 插件当前状态 */ state: PluginType.State; /** CSS2D 渲染器实例 */ renderer: CSS2DRenderer; scene: THREE.Scene; styleSheet: CSSStyleSheet; camera: THREE.PerspectiveCamera; private resizeObserver?; private updateState; constructor(five: Five, params?: PluginType.Params); load(data: PluginType.ServerData): Promise; createCSS2DObject: ({ id, name, innerHTML, center, position, visible, timeout, }: PluginType.CreateCSS2DObjectType) => CSS2DObject; render: () => void; private _addEventListener; private _removeEventListener; /** * 将插件 DOM 挂载到指定容器 */ appendToFiveContainer(): void; add(...object: THREE.Object3D[]): void; remove(object: THREE.Object3D): void; removeAll(): void; /** * 淡入指定的 CSS2DObject */ fadeInObjects(...objects: THREE.Object3D[]): void; /** * 淡出指定的 CSS2DObject */ fadeOutObjects(...objects: THREE.Object3D[]): void; private _enable; private _disable; /** * 启用插件 */ enable(options?: BasePlugin.BaseOptions): void; /** * 禁用插件 */ disable(options?: BasePlugin.BaseOptions): void; /** * 显示场景 */ show(options?: BasePlugin.BaseOptions): void; /** * 隐藏场景 */ hide(options?: BasePlugin.BaseOptions): void; /** 销毁插件 */ dispose: () => void; }