UNPKG

@itwin/core-frontend

Version:
164 lines • 6.74 kB
/** @packageDocumentation * @module Tiles */ import { BeTimePoint } from "@itwin/core-bentley"; import { ClipVector, IndexedPolyface, Point3d, Transform } from "@itwin/core-geometry"; import { ColorDef } from "@itwin/core-common"; import { GraphicBuilder } from "../render/GraphicBuilder"; import { RenderGraphic } from "../render/RenderGraphic"; import { RenderSystem } from "../render/RenderSystem"; import { ViewingSpace } from "../ViewingSpace"; import { Viewport } from "../Viewport"; import { RealityTileRegion, RealityTileTree, Tile, TileContent, TileDrawArgs, TileGeometryCollector, TileGraphicType, TileParams, TileRequest, TileRequestChannel, TileUser, TraversalDetails, TraversalSelectionContext } from "./internal"; /** @internal */ export interface RealityTileParams extends TileParams { readonly transformToRoot?: Transform; readonly additiveRefinement?: boolean; readonly noContentButTerminateOnSelection?: boolean; readonly rangeCorners?: Point3d[]; readonly region?: RealityTileRegion; readonly geometricError?: number; } /** The geometry representing the contents of a reality tile. Currently only polyfaces are returned. * @see [[RealityTile.geometry]] to access a particular tile's geometry. * @public */ export interface RealityTileGeometry { /** Polyfaces representing the tile's geometry. */ polyfaces?: IndexedPolyface[]; } /** @internal */ export interface RealityTileContent extends TileContent { geometry?: RealityTileGeometry; copyright?: string; } /** A [[Tile]] within a [[RealityTileTree]], representing part of a reality model (e.g., a point cloud or photogrammetry mesh) or 3d terrain with map imagery. * @public */ export declare class RealityTile extends Tile { /** @internal */ readonly transformToRoot?: Transform; /** @internal */ readonly additiveRefinement?: boolean; /** @internal */ readonly noContentButTerminateOnSelection?: boolean; /** @internal */ readonly rangeCorners?: Point3d[]; /** @internal */ readonly region?: RealityTileRegion; /** @internal */ protected _geometry?: RealityTileGeometry; private _everDisplayed; /** @internal */ protected _reprojectionTransform?: Transform; private _reprojectedGraphic?; private readonly _geometricError?; /** @internal */ protected _copyright?: string; /** @internal */ readonly tree: RealityTileTree; /** @internal */ get reprojectionTransform(): Transform | undefined; /** @internal */ constructor(props: RealityTileParams, tree: RealityTileTree); /** @internal */ setContent(content: RealityTileContent): void; /** @internal */ freeMemory(): void; /** @internal */ get realityChildren(): RealityTile[] | undefined; /** @internal */ get realityParent(): RealityTile; /** @internal */ get realityRoot(): RealityTileTree; /** @internal */ get graphicType(): TileGraphicType | undefined; /** @internal */ get maxDepth(): number; /** @internal */ get isPointCloud(): boolean; /** @internal */ get isLoaded(): boolean; /** A representation of the tile's geometry. * This property is only available when using [[TileGeometryCollector]]. */ get geometry(): RealityTileGeometry | undefined; /** @internal */ get copyright(): string | undefined; /** @internal */ get isDisplayable(): boolean; /** @internal */ markUsed(args: TileDrawArgs): void; /** @internal */ markDisplayed(): void; /** @internal */ isOccluded(_viewingSpace: ViewingSpace): boolean; /** @internal */ get channel(): TileRequestChannel; /** @internal */ requestContent(isCanceled: () => boolean): Promise<TileRequest.Response>; /** @internal */ private useAdditiveRefinementStepchildren; /** @internal */ protected _loadChildren(resolve: (children: Tile[] | undefined) => void, reject: (error: Error) => void): void; /** @internal */ readContent(data: TileRequest.ResponseData, system: RenderSystem, isCanceled?: () => boolean): Promise<TileContent>; /** @internal */ computeLoadPriority(viewports: Iterable<Viewport>, users: Iterable<TileUser>): number; /** @internal */ getContentClip(): ClipVector | undefined; /** Allow tile to select additional tiles (Terrain Imagery...) * @internal */ selectSecondaryTiles(_args: TileDrawArgs, _context: TraversalSelectionContext): void; /** An upsampled tile is not loadable - will override to return loadable parent. * @internal */ get loadableTile(): RealityTile; /** @internal */ preloadRealityTilesAtDepth(depth: number, context: TraversalSelectionContext, args: TileDrawArgs): void; /** @internal */ preloadProtectedTiles(args: TileDrawArgs, context: TraversalSelectionContext): boolean; /** @internal */ addBoundingGraphic(builder: GraphicBuilder, color: ColorDef): void; /** @internal */ reproject(rootReprojection: Transform): void; /** @internal */ allChildrenIncluded(tiles: Tile[]): boolean; /** @internal */ protected getLoadedRealityChildren(args: TileDrawArgs): boolean; /** @internal */ protected forceSelectRealityTile(): boolean; /** @internal */ protected minimumVisibleFactor(): number; /** @internal */ selectRealityTiles(context: TraversalSelectionContext, args: TileDrawArgs, traversalDetails: TraversalDetails): void; /** @internal */ protected selectRealityChildrenAsFallback(context: TraversalSelectionContext, args: TileDrawArgs, traversalDetails: TraversalDetails): void; /** @internal */ protected selectRealityChildren(context: TraversalSelectionContext, args: TileDrawArgs, traversalDetails: TraversalDetails): void; /** @internal */ purgeContents(olderThan: BeTimePoint, useProtectedTiles: boolean): void; private getTilesToPurge; private getTilesToPurgeWithoutProtection; private removeFirstDisplayableChildrenFromSet; /** @internal */ computeVisibilityFactor(args: TileDrawArgs): number; /** @internal */ protected get _anyChildNotFound(): boolean; /** @internal */ getSizeProjectionCorners(): Point3d[] | undefined; /** @internal */ get isStepChild(): boolean; /** @internal */ protected loadAdditiveRefinementChildren(resolve: (children: Tile[]) => void): void; /** @internal */ produceGraphics(): RenderGraphic | undefined; /** @internal */ get unprojectedGraphic(): RenderGraphic | undefined; /** @internal */ disposeContents(): void; /** @internal */ collectTileGeometry(collector: TileGeometryCollector): void; } //# sourceMappingURL=RealityTile.d.ts.map