UNPKG

@itwin/core-frontend

Version:
88 lines 3.97 kB
/** @packageDocumentation * @module Tiles */ import { GuidString, Id64Array, Id64String } from "@itwin/core-bentley"; import { Range3d } from "@itwin/core-geometry"; import { BatchType, ContentIdProvider, EdgeOptions, IModelTileTreeId, IModelTileTreeProps, RenderSchedule, TileProps } from "@itwin/core-common"; import { IModelConnection } from "../../IModelConnection"; import { ImdlDecoder, IModelTile, LayerTileTreeHandler, MapLayerTreeSetting, Tile, TileDrawArgs, TileLoadPriority, TileTree, TileTreeParams } from "../../tile/internal"; export interface IModelTileTreeOptions { readonly allowInstancing: boolean; readonly edges: EdgeOptions | false; readonly batchType: BatchType; readonly is3d: boolean; timeline: RenderSchedule.ModelTimeline | undefined; } /** Parameters used to construct an [[IModelTileTree]] */ export interface IModelTileTreeParams extends TileTreeParams { rootTile: TileProps; contentIdQualifier?: string; geometryGuid?: GuidString; maxInitialTilesToSkip?: number; formatVersion?: number; tileScreenSize: number; options: IModelTileTreeOptions; transformNodeRanges?: Map<number, Range3d>; } export declare function iModelTileTreeParamsFromJSON(props: IModelTileTreeProps, iModel: IModelConnection, modelId: Id64String, options: IModelTileTreeOptions): IModelTileTreeParams; /** The root tile for an [[IModelTileTree]]. */ export type RootIModelTile = Tile & { tileScreenSize: number; updateDynamicRange: (childTile: Tile) => void; }; /** A TileTree whose contents are derived from geometry stored in a Model in an IModelDb. * @internal exported strictly for display-test-app until we remove CommonJS support. */ export declare class IModelTileTree extends TileTree { decoder: ImdlDecoder; private readonly _rootTile; private readonly _options; private readonly _transformNodeRanges?; readonly contentIdQualifier?: string; readonly geometryGuid?: string; readonly maxTilesToSkip: number; readonly maxInitialTilesToSkip: number; readonly contentIdProvider: ContentIdProvider; readonly stringifiedSectionClip?: string; readonly tileScreenSize: number; readonly iModelTileTreeId: IModelTileTreeId; /** Strictly for debugging/testing - forces tile selection to halt at the specified depth. */ debugMaxDepth?: number; /** A little hacky...we must not override selectTiles(), but draw() needs to distinguish between static and dynamic tiles. * So _selectTiles() puts the static tiles first in the Tile[] array, and records the number of static tiles selected, to be * used by draw(). */ private _numStaticTilesSelected; layerImageryTrees: MapLayerTreeSetting[]; private readonly _layerHandler; get layerHandler(): LayerTileTreeHandler; constructor(params: IModelTileTreeParams, treeId: IModelTileTreeId); [Symbol.dispose](): void; get maxDepth(): number; get rootTile(): Tile; /** Exposed chiefly for tests. */ get staticBranch(): IModelTile; get is3d(): boolean; get isContentUnbounded(): boolean; get viewFlagOverrides(): {}; get batchType(): BatchType; get edgeOptions(): EdgeOptions | false; get timeline(): RenderSchedule.ModelTimeline | undefined; get loadPriority(): TileLoadPriority; protected _selectTiles(args: TileDrawArgs): Tile[]; draw(args: TileDrawArgs): void; prune(): void; /** Exposed strictly for tests. */ get tileState(): "static" | "dynamic" | "interactive" | "disposed"; /** Exposed strictly for tests. */ get hiddenElements(): Id64Array; /** Strictly for tests. */ get dynamicElements(): Id64Array; getTransformNodeRange(nodeId: number): Range3d | undefined; get containsTransformNodes(): boolean; onScheduleEditingChanged(changes: RenderSchedule.EditingChanges[]): Promise<void>; onScheduleEditingCommitted(): void; } //# sourceMappingURL=IModelTileTree.d.ts.map