import * as THREE from 'three'; import { IBox } from '@shapediver/viewer.shared.math'; import { IManager, RENDERER_TYPE } from '@shapediver/viewer.rendering-engine.rendering-engine'; import { ITreeNode, ITreeNodeData } from '@shapediver/viewer.shared.node-tree'; import { RenderingEngine } from '../RenderingEngine'; import { SDObject } from '../objects/SDObject'; declare type UpdateFilter = { transformationOnly: boolean; }; export declare class SceneTreeManager implements IManager { private readonly _renderingEngine; private readonly _eventEngine; private readonly _inputValidator; private readonly _scene; private readonly _stateEngine; private readonly _tree; private _boundingBox; private _boundingBoxSensitiveData; private _currentSDTFOverview; private _hiddenCamera; private _lastRendererType; private _lastRootVersion; private _mainNode; constructor(_renderingEngine: RenderingEngine); get boundingBox(): IBox; get lastRendererType(): RENDERER_TYPE; get lastRootVersion(): string; get scene(): THREE.Scene; init(): void; isEmpty(): boolean; /** * Convert the data of the scene graph node into the format of the implementation. * * @param data the data element * @param obj the corresponding type node */ updateData(node: ITreeNode, obj: SDObject, data: ITreeNodeData, filter: UpdateFilter, isVisibleInHierarchy: boolean, skeleton?: THREE.Skeleton): void; updateMorphWeights(node?: ITreeNode, obj?: SDObject): void; /** * Update the current node via the scene graph node. * Convert the data if needed. * * @param node the scene graph node * @param obj the current type object */ updateNode(node?: ITreeNode, obj?: THREE.Object3D, filter?: UpdateFilter, visibleInHierarchy?: boolean, skeleton?: THREE.Skeleton): void; updateSceneTree(root: ITreeNode): void; private collectSDTFItemData; private createSDTFOverview; private getBone; private injectAttributeData; private removeData; } export {}; //# sourceMappingURL=SceneTreeManager.d.ts.map