UNPKG

@itwin/core-frontend

Version:
75 lines 3.45 kB
/** @packageDocumentation * @module IModelConnection */ import { BeTimePoint, Id64Array, Id64String } from "@itwin/core-bentley"; import { IModelConnection } from "./IModelConnection"; import { TileTree, TileTreeOwner, TileTreeSupplier } from "./tile/internal"; /** Provides access to [[TileTree]]s associated with an [[IModelConnection]]. * The tile trees are accessed indirectly via their corresponding [[TileTreeOwner]]s. * Loaded tile trees will be discarded after the iModel is closed, after a period of disuse, or when the contents of a [[GeometricModelState]] they represent * change. * @see [[IModelConnection.tiles]]. * @public * @extensions */ export declare class Tiles implements Iterable<{ supplier: TileTreeSupplier; id: any; owner: TileTreeOwner; }> { private _iModel; private readonly _treesBySupplier; private _disposed; /** @internal */ get isDisposed(): boolean; /** @internal */ constructor(iModel: IModelConnection); /** @internal */ [Symbol.dispose](): void; /** Intended strictly for tests. * @internal */ reset(): void; /** @internal */ purgeTileTrees(modelIds: Id64Array | undefined): Promise<void>; private getModelsAnimatedByScheduleScript; /** Update the [[Tile]]s for any [[TileTree]]s that use the [RenderSchedule.Script]($common) hosted by the specified * [RenderTimeline]($backend) or [DisplayStyle]($backend) element. This method should be invoked after * the host element is updated in the database with a new script, so that any [[Viewport]]s displaying tiles produced * based on the previous version of the script are updated to use the new version of the script. * @param scriptSourceElementId The Id of the RenderTimeline or DisplayStyle element that hosts the script. * @public */ updateForScheduleScript(scriptSourceElementId: Id64String): Promise<void>; private purgeModelTrees; private getSpatialModels; /** Obtain the owner of a TileTree. * The `id` is unique within all tile trees associated with `supplier`; its specific structure is an implementation detail known only to the supplier. * A [[TileTreeReference]] uses this method to obtain the tile tree to which it refers. */ getTileTreeOwner(id: any, supplier: TileTreeSupplier): TileTreeOwner; /** Remove tile tree matching the provided tile tree supplier/id * @internal */ resetTileTreeOwner(id: any, supplier: TileTreeSupplier): void; /** Disposes of all [[TileTree]]s belonging to `supplier` and removes `supplier` from the set of known tile tree suppliers. */ dropSupplier(supplier: TileTreeSupplier): void; /** Invokes a function on each extant TileTreeOwner. */ forEachTreeOwner(func: (owner: TileTreeOwner) => void): void; /** Iterate over all of the TileTreeOwners. */ [Symbol.iterator](): Iterator<{ supplier: TileTreeSupplier; id: any; owner: TileTreeOwner; }>; /** Obtain the TileTreeOwners supplied by the specified supplier. */ getTreeOwnersForSupplier(supplier: TileTreeSupplier): Iterable<{ id: any; owner: TileTreeOwner; }>; /** Unload any tile trees which have not been drawn since at least the specified time, excluding any of the specified TileTrees. * @internal */ purge(olderThan: BeTimePoint, exclude?: Set<TileTree>): void; } //# sourceMappingURL=Tiles.d.ts.map