@realsee/five
Version:
Realsee Renderer SDK
80 lines (79 loc) • 2.65 kB
TypeScript
import * as THREE from 'three';
import type { Tileset } from './tileset';
import type { FrameState } from './types';
import { BoundingVolume } from '../../utils/volume';
import { TileHeader } from './header';
import { TileNode } from './tile-node';
import { LoadResultType } from '../loaders/shared';
export type TileContentData = {
type: LoadResultType['type'];
byteLength: number;
memoryUsage: number;
uri: string;
object: TileNode;
};
export declare class Tile {
id: string;
tileset: Tileset;
parent: Tile | null;
contentParent: Tile | null;
geometricError: number;
type: 'SCENEGRAPH' | 'EMPTY' | 'TILESET';
floor: number;
content: {
uri: string;
group?: number;
data?: TileContentData;
loadState: 'LOADING' | 'UNLOADED' | 'READY' | 'FAILED';
loadProgress: number;
loadStateUpdateTime: number;
loadfailRetryDelay: number;
byteLength: number;
memoryUsage: number;
} | null;
level: number;
levelOfContent: number;
extras: Record<string, any>;
refine: TileHeader['refine'];
boundingVolume?: BoundingVolume;
viewerRequestVolume?: BoundingVolume;
transform: THREE.Matrix4;
children: Tile[];
state: {
visible: boolean;
frameNumber: number;
selectedFrameNumber: number;
requestedFrameNumber: number;
touchedFrameNumber: number;
distanceToCamera: number;
centerZDepth: number;
centerScreenY: number;
screenSpaceError: number;
inRequestVolume: boolean;
visibilityPlaneMask: number;
shouldRefine: boolean;
stackLength: number;
finalResolution: boolean;
selectionDepth: number;
shouldSelect: boolean;
lastSelect: boolean;
ancestorWithContent: Tile | null;
ancestorWithContentAvailable: Tile | null;
};
constructor(id: string, header: TileHeader, tileset: Tileset, parent?: Tile);
traverse(callback: (tile: Tile) => void): void;
updateState(frameState: FrameState): void;
get selected(): boolean;
get hasChildren(): boolean;
get siblingIndex(): number;
get hasTilesetContent(): boolean;
get hasRenderContent(): boolean;
get contentAvailable(): boolean;
get hasUnloadedContent(): boolean;
get hasEmptyContent(): boolean;
get contentReady(): boolean;
get contentByteLength(): number;
get contentMemoryUsage(): number;
getScreenSpaceError(frameState: FrameState, distanceToCamera: number, useParentGeometricError: boolean): number;
getPriority(frameState: FrameState): number;
}