import { Scene, Mesh, Material, Object3D } from 'three'; import { default as localforage } from 'localforage'; import { EdgeSelectOptions, StrokeSelectOptions, OpacitySelectOptions, HighlightSelectOptions, EmissiveSelectOptions, FogOptions, SignalsState, ViewportState, UpdateMaterialOption } from '../Interface'; declare class Scener { readonly signals: SignalsState; readonly viewportState: ViewportState; scene: Scene; selectedObjects: { edge: Set; stroke: Set; opacity: Set; highlight: Set; emissive: Set; }; intersectsList: { meshOfModelList: Mesh[]; poiIconList: Object3D[]; otherObjList: Object3D[]; getAll: () => Object3D[]; }; /** * 线框 */ strokeStore: typeof localforage; constructor(signals: SignalsState, viewportState: ViewportState); addObject(object: Object3D, parent?: Object3D | null): void; attachObject(object: Object3D, parent?: Object3D | null): void; removeObject(object: Object3D): void; openSceneFog(options?: FogOptions): void; closeSceneFog(): void; edgeShow(object: Object3D | Object3D[], options?: EdgeSelectOptions): Promise; unEdgeShow(objects?: Object3D | Object3D[]): Promise; strokeShow(object: Object3D | Object3D[], options?: StrokeSelectOptions): Promise; unStrokeShow(objects?: Object3D | Object3D[]): Promise; opacityShow(object: Object3D | Object3D[], option?: OpacitySelectOptions): Promise; unOpacityShow(objects?: Object3D | Object3D[]): Promise; highlightShow(object: Object3D | Object3D[], options?: HighlightSelectOptions): Promise; unHighlightShow(objects?: Object3D | Object3D[]): Promise; emissiveShow(object: Object3D | Object3D[], options?: EmissiveSelectOptions): Promise; unEmissiveShow(objects?: Object3D | Object3D[]): Promise; updateMaterial(material: Material, materialOption: UpdateMaterialOption): Material; private _handleEmissiveShow; private _handleUnEmissive; _triggerObjectAdded(object: Object3D): void; private _setSelectItemMaterial; private _updateMaterialEffectStack; private _runObjectMaterialEffectStack; } export default Scener;