@realsee/five
Version:
Realsee Renderer SDK
71 lines (70 loc) • 2.42 kB
TypeScript
import * as THREE from 'three';
import { Tile } from './tile';
import type { FrameState } from './types';
import { TileRequestScheduler } from './tile-request-scheduler';
import { TileCache } from './tile-cache';
import { TilesetHeader, TrajectoryHeader } from './header';
import { Trajectory } from './trajectory';
export interface TilesetOptions {
url?: string;
tileLoader: (tile: Tile) => Promise<void>;
tileUnloader: (tile: Tile) => Promise<void>;
onTileLoad: (tile: Tile) => any;
onTileUnload: (tile: Tile) => any;
onTileError: (tile: Tile, error: Error) => any;
trajectoryLoader: (trajectory: Trajectory) => Promise<void>;
trajectoryUnloader: (trajectory: Trajectory) => Promise<void>;
onTrajectoryLoad: (trajectory: Trajectory) => any;
onTrajectoryUnload: (trajectory: Trajectory) => any;
onTrajectoryError: (trajectory: Trajectory, error: Error) => any;
}
export declare class Tileset {
asset: {
version: string;
tilesetVersion: string;
gltfUpAxis: "Y" | "Z";
overview?: {
imageFile: string;
worldFile: string;
imageWidth: number;
imageHeight: number;
};
trajectories?: TrajectoryHeader[];
[key: string]: any;
};
id: string;
frameNumber: number;
hasMixedContent: boolean;
maxAverageTileMemory: number;
properties: NonNullable<TilesetHeader['properties']>;
options: TilesetOptions;
root: Tile;
rootMeta: NonNullable<TilesetHeader['rootMeta']>;
transform: THREE.Matrix4;
geometricError: number;
cache: TileCache;
currentMaxScreenSpaceError: number;
requestScheduler: TileRequestScheduler;
private cacheMemoryUsageInBytes;
private normalTraverser;
private skipTraverser;
private mostDetailTraverser;
loadedTiles: Set<Tile>;
needsRefinedTiles: Set<Tile>;
requestedTiles: Tile[];
selectedTiles: Tile[];
unloadTiles: Tile[];
trajectories: Trajectory[];
selectedTrajectories: Trajectory[];
pointLength: number;
floorLength: number;
constructor(header: TilesetHeader, options: TilesetOptions);
/**
* 通过当前的内存使用,推测 maxScreenSpaceError
*/
private adjustScreenSpaceError;
private getTraverser;
/** Release resources */
reset(): void;
update(frameState: FrameState, cacheFrameStates?: FrameState[]): void;
}