/
TileTreeParams.ts
43 lines (41 loc) · 2.19 KB
/
TileTreeParams.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
* @module Tiles
*/
import { BeDuration, Id64String } from "@itwin/core-bentley";
import { Transform } from "@itwin/core-geometry";
import { ElementAlignedBox3d } from "@itwin/core-common";
import { IModelConnection } from "../IModelConnection";
import { RenderClipVolume } from "../render/RenderClipVolume";
import { TileLoadPriority } from "./internal";
/** Parameters used to construct a [[TileTree]].
* @public
* @extensions
*/
export interface TileTreeParams {
/** Uniquely identifies the tile tree in the context of the [[IModelConnection]]. */
id: string;
/** A 64-bit identifier for the tile tree, unique within the context of its [[IModelConnection]].
* For a tile tree associated with a [[GeometricModelState]], this is the Id of the model. Other types of tile trees
* typically use a transient Id obtained from [[IModelConnection.transientIds]].
*/
modelId: Id64String;
/** The IModelConnection to which the tile tree belongs. The tile tree will be disposed of when the IModelConnection is closed. */
iModel: IModelConnection;
/** Transform from tile tree coordinates to iModel coordinates. */
location: Transform;
/** Optional clip volume applied to all tiles in the tree. */
clipVolume?: RenderClipVolume;
/** Loose description of the "importance" of the tiles exposed by this tile tree, used for prioritizing requests for tile content. */
priority: TileLoadPriority;
/** Optional volume tightly encompassing the contents of this tile tree - used for more accurate culling. */
contentRange?: ElementAlignedBox3d;
/** Optionally specifies the amount of time before tiles belonging to this tile tree are considered eligible for disposal after disuse.
* If unspecified, a default expiration time is chosen based on the tile tree's [[priority]].
* @see [[TileTree.prune]]
*/
expirationTime?: BeDuration;
}