@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
37 lines (36 loc) • 1.43 kB
TypeScript
import { Matrix4 } from 'three';
import { type TreeNode, WorldTree } from './WorldTree.js';
import { NodeRenderView } from './NodeRenderView.js';
import { GeometryConverter, SpeckleType } from '../loaders/GeometryConverter.js';
export declare class RenderTree {
private tree;
private root;
private cancel;
buildNodeTime: number;
applyTransformTime: number;
convertTime: number;
getNodeTime: number;
otherTime: number;
get id(): string;
get subtreeId(): number;
constructor(tree: WorldTree, subtreeRoot: TreeNode);
buildRenderTree(geometryConverter: GeometryConverter, callback?: () => void): Promise<boolean>;
private applyTransforms;
private buildRenderNode;
private getRenderMaterialNode;
private getDisplayStyleNode;
private getColorMaterialNode;
computeTransform(node: TreeNode): Matrix4;
getInstances(): {
[id: string]: Record<string, TreeNode>;
};
getRenderableRenderViews(...types: SpeckleType[]): NodeRenderView[];
getRenderableNodes(...types: SpeckleType[]): TreeNode[];
getRenderViewsForNode(node: TreeNode): NodeRenderView[];
getRenderViewNodesForNode(node: TreeNode): TreeNode[];
getRenderViewsForNodeId(id: string, subtreeId?: number): NodeRenderView[] | null;
getAtomicParent(node: TreeNode): TreeNode;
purge(): void;
/** TO DO: Need to purge only if currently building */
cancelBuild(): void;
}