@realsee/five
Version:
Realsee Renderer SDK
65 lines (64 loc) • 2.29 kB
TypeScript
import type { Five } from '@realsee/five';
import { BasePlugin } from '../BasePlugin';
import * as THREE from 'three';
import { CSS3DRenderer, CSS3DObject } from '../thirdParty/CSS3DRenderer.js';
import type * as PluginType from './typing';
export declare class Controller extends BasePlugin.Controller<PluginType.State, PluginType.EventMap, PluginType.ServerData, PluginType.PluginData> {
/** 当前使用的数据 */
data?: PluginType.PluginData;
/** 插件当前状态 */
state: PluginType.State;
/** CSS3D 渲染器实例 */
renderer: CSS3DRenderer;
scene: THREE.Scene;
styleSheet: CSSStyleSheet;
camera: THREE.PerspectiveCamera;
cacheMap: WeakMap<object, any>;
private resizeObserver?;
private updateState;
constructor(five: Five, params?: PluginType.Params);
load(data: PluginType.ServerData): Promise<void>;
createCSS3DObject: ({ id, name, innerHTML, sprite, normal, position, scalar, visible, timeout, }: PluginType.CreateCSS3DObjectType) => CSS3DObject;
render: () => void;
/**
* 强制标脏并重新渲染所有 objects
*/
forceRender: () => void;
private _addEventListener;
private _removeEventListener;
/**
* 将插件 DOM 挂载到指定容器
*/
appendToFiveContainer(): void;
add(...object: THREE.Object3D[]): void;
remove(object: THREE.Object3D): void;
removeAll(): void;
/**
* 淡入指定的 CSS3DObject,设置 object.userData.visible = true
*/
fadeInObjects(...objects: THREE.Object3D[]): void;
/**
* 淡出指定的 CSS3DObject,设置 object.userData.visible = false
*/
fadeOutObjects(...objects: THREE.Object3D[]): void;
private _enable;
private _disable;
/**
* 启用插件,让插件能够响应交互
*/
enable(options?: BasePlugin.BaseOptions): void;
/**
* 禁用插件,让插件停止响应交互
*/
disable(options?: BasePlugin.BaseOptions): void;
/**
* 显示场景,设置 scene.visible = true
*/
show(options?: BasePlugin.BaseOptions): void;
/**
* 隐藏场景,设置 scene.visible = false
*/
hide(options?: BasePlugin.BaseOptions): void;
/** 销毁插件,移除所有副作用 */
dispose: () => void;
}