TileTree Class
A hierarchical level-of-detail tree of 3d Tiles to be rendered in a Viewport. Tile trees originate from a variety of sources:
- Each GeometricModelState can supply its graphics as a tile tree;
- A DisplayStyleState's map settings or reality models;
- ViewAttachments in a SheetModelState;
- TiledGraphicsProviders associated with a viewport.
The same TileTree can be displayed in any number of viewports using multiple TileTreeReferences. A TileTree's lifetime is managed by a TileTreeOwner.
note Some methods carry a warning that they should not be overridden by subclasses; typically a protected method exists that can be overridden instead to customize the behavior. For example, TileTree.selectTiles should not be overridden; instead, override theTileTree._selectTiles method that it calls.
extensions
Extended by
Methods
Name | Description | |
---|---|---|
constructor(params: TileTreeParams): TileTree Protected | Constructor | |
_selectTiles(args: TileDrawArgs): Tile[] ProtectedAbstract | Implement this method to select tiles of appropriate resolution. | |
collectTileGeometry(_collector: TileGeometryCollector): void | Populate TileGeometryCollector.polyfaces with geometry obtained from this tile tree's tiles satisfying the collector's criteria. | Beta |
countTiles(): number | Returns the number of Tiles currently in memory belonging to this tree, primarily for debugging. | |
dispose(): void | Dispose of this tree and any resources owned by it. | |
draw(args: TileDrawArgs): void Abstract | Produce graphics of appropriate resolution to be drawn in a Viewport. | |
getEcefTransform(): Promise<undefined | Transform> | Return the transform from the tile tree's coordinate space to ECEF (Earth Centered Earth Fixed) coordinates. | Beta |
prune(): void Abstract | Discard tiles and/or tile contents, presumably based on a least-recently-used and/or least-likely-to-be-needed criterion. | |
selectTiles(args: TileDrawArgs): Tile[] | Selects tiles of appropriate resolution for some purpose like drawing to the screen, producing a shadow map, etc. |
Properties
Name | Type | Description | |
---|---|---|---|
contentRange Readonly | undefined | Range3d | Optional tight bounding box around the entire contents of all of this tree's tiles. | |
expirationTime Readonly | BeDuration | The length of time after which tiles belonging to this tree are considered elegible for disposal if they are no longer in use. | |
id Readonly | string | Uniquely identifies this tree among all other tile trees associated with the iModel. | |
iModel Readonly | IModelConnection | ||
iModelTransform Readonly | Transform | Transform from this tile tree's coordinate space to the iModel's coordinate space. | |
is2d Accessor ReadOnly | boolean | True if this tile tree contains 2d graphics. | |
is3d Accessor AbstractReadOnly | boolean | True if this tile tree contains 3d graphics. | |
isContentUnbounded Accessor ReadOnly | boolean | True if this tile tree has no bounds - e.g., a tile tree representing a globe is unbounded. | |
isDisposed Accessor ReadOnly | boolean | True if TileTree.dispose has been called on this tile tree. | |
lastSelectedTime Accessor ReadOnly | BeTimePoint | The most recent time at which tiles TileTree.selectTiles was called. | |
maxDepth Accessor AbstractReadOnly | undefined | number | Returns the maximum depth of this tree, if any. | |
modelId Readonly | string | A 64-bit identifier for this tile tree, unique within the context of its IModelConnection. | |
parentsAndChildrenExclusive Accessor ReadOnly | boolean | True if a tile and its child tiles should not be drawn simultaneously. | |
range Accessor ReadOnly | Range3d | The volume of space occupied by this tile tree. | |
rootTile Accessor AbstractReadOnly | Tile | The lowest-resolution tile in this tree. | |
viewFlagOverrides Accessor AbstractReadOnly | Partial<Mutable<NonFunctionPropertiesOf<ViewFlags>>> | The overrides that should be applied to the view's ViewFlags when this tile tree is drawn. |
Defined in
Last Updated: 30 November, 2023