Constructors
constructor
constructor(tree: WorldTree, subtreeRoot: TreeNode)
The recommended way of spawing render trees is via getRenderTree method in WorldTree.
Parameters
Returns: RenderTree
Accessors
Gets the id of the render tree’s root node.
Returns: string
Methods
buildRenderTree
buildRenderTree(geometryConverter: GeometryConverter): Promise<boolean>
Builds the render tree using the provided GeometryConverter. Building can be interrupted by calling cancelBuild. ‘Building’ the render tree, means constructing each node’s NodeRenderView, preparing all geometry and materials, and executing any required transformations. This operation should only be carrired out once, as re-building an already built tree is not possible.
Parameters
Returns: A promise which resolves to a boolean indicating if the building process completed successfully (true) or was interrupted (false).
cancelBuild
Cancel any tree building operations that might be taking place. If no building is taking place, nothing happens.
Parameters
- subtreeId: The TreeNode to add as a subtree
Returns: void
computeTransform(node: TreeNode): Matrix4
Computes the final world space transformation for the given TreeNode.
For non instanced nodes, this function will return the identity transformation since speckle does not define a local space (yet) and all geometry is in world space. This function will not take any runtime user defined transformations into account.
Parameters
Returns: Matrix4
getAtomicParent
getAtomicParent(node: TreeNode): TreeNode
Gets the closest atomic parent of the provided node. An atomic node represents a standalone object. E.g a door, a window, rather than pieces of a standalone object E.g the door’s handle, the window’s frame.
Parameters
Returns: TreeNode[]
getInstances
getInstances(): { [id: string]: Record<string, TreeNode> }
Calls the underlying WorldTree getInstances with the render tree’s id as the argument.
Returns: A dictionary where each instance id holds a record of TreeNode grouped by their instance unique id.
getRenderableNodes
getRenderableNodes(...types: SpeckleType[]): TreeNode[]
Gets all renderable nodes of the specified SpeckleTypes.
Parameters
Returns: TreeNode[]
getRenderableRenderViews
getRenderableRenderViews(...types: SpeckleType[]): NodeRenderView[]
Same as getRenderableNodes, but returns the mapped NodeRenderViews of the renderable nodes.
Parameters
Returns: NodeRenderView[]
getRenderViewNodesForNode
getRenderViewNodesForNode(node: TreeNode): TreeNode[]
Returns all TreeNodes that have a displayable NodeRenderView descending from node.
Parameters
Returns: TreeNode[]
getRenderViewsForNode
getRenderViewsForNode(node: TreeNode): NodeRenderView[]
Gets all displayable NodeRenderViews descending from node.
Parameters
Returns: NodeRenderView[]
getRenderViewsForNodeId
getRenderViewsForNodeId(id: string): NodeRenderView[]
Gets all displayable NodeRenderViews descending from the node with the provided id.
Parameters
Returns: NodeRenderView[]
purge
Purges the render tree.
Purges render trees are no longer usable.
Returns: void