@loaders.gl/tiles 4.0.0-alpha.1 → 4.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +2 -2
- package/dist/constants.d.ts +38 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +37 -30
- package/dist/dist.min.js +9163 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/constants.js +48 -0
- package/dist/es5/constants.js.map +1 -0
- package/dist/es5/index.js +93 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js +70 -0
- package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
- package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js +45 -0
- package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -0
- package/dist/es5/tileset/format-i3s/i3s-tile-manager.js +84 -0
- package/dist/es5/tileset/format-i3s/i3s-tile-manager.js.map +1 -0
- package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js +143 -0
- package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -0
- package/dist/es5/tileset/helpers/3d-tiles-options.js +12 -0
- package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -0
- package/dist/es5/tileset/helpers/bounding-volume.js +176 -0
- package/dist/es5/tileset/helpers/bounding-volume.js.map +1 -0
- package/dist/es5/tileset/helpers/frame-state.js +129 -0
- package/dist/es5/tileset/helpers/frame-state.js.map +1 -0
- package/dist/es5/tileset/helpers/i3s-lod.js +60 -0
- package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -0
- package/dist/es5/tileset/helpers/tiles-3d-lod.js +103 -0
- package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -0
- package/dist/es5/tileset/helpers/transform-utils.js +50 -0
- package/dist/es5/tileset/helpers/transform-utils.js.map +1 -0
- package/dist/es5/tileset/helpers/zoom.js +63 -0
- package/dist/es5/tileset/helpers/zoom.js.map +1 -0
- package/dist/es5/tileset/tile-3d.js +536 -0
- package/dist/es5/tileset/tile-3d.js.map +1 -0
- package/dist/es5/tileset/tileset-3d.js +855 -0
- package/dist/es5/tileset/tileset-3d.js.map +1 -0
- package/dist/es5/tileset/tileset-cache.js +82 -0
- package/dist/es5/tileset/tileset-cache.js.map +1 -0
- package/dist/es5/tileset/tileset-traverser.js +321 -0
- package/dist/es5/tileset/tileset-traverser.js.map +1 -0
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/utils/doubly-linked-list-node.js +21 -0
- package/dist/es5/utils/doubly-linked-list-node.js.map +1 -0
- package/dist/es5/utils/doubly-linked-list.js +88 -0
- package/dist/es5/utils/doubly-linked-list.js.map +1 -0
- package/dist/es5/utils/managed-array.js +126 -0
- package/dist/es5/utils/managed-array.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/constants.js +36 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/{tileset/traversers → esm/tileset/format-3d-tiles}/tileset-3d-traverser.js +2 -13
- package/dist/esm/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
- package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js +26 -0
- package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -0
- package/dist/esm/tileset/format-i3s/i3s-tile-manager.js +79 -0
- package/dist/esm/tileset/format-i3s/i3s-tile-manager.js.map +1 -0
- package/dist/{tileset/traversers → esm/tileset/format-i3s}/i3s-tileset-traverser.js +16 -28
- package/dist/esm/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -0
- package/dist/esm/tileset/helpers/3d-tiles-options.js +6 -0
- package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -0
- package/dist/esm/tileset/helpers/bounding-volume.js +155 -0
- package/dist/esm/tileset/helpers/bounding-volume.js.map +1 -0
- package/dist/esm/tileset/helpers/frame-state.js +109 -0
- package/dist/esm/tileset/helpers/frame-state.js.map +1 -0
- package/dist/esm/tileset/helpers/i3s-lod.js +53 -0
- package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -0
- package/dist/esm/tileset/helpers/tiles-3d-lod.js +100 -0
- package/dist/{tileset → esm/tileset}/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/esm/tileset/helpers/transform-utils.js +50 -0
- package/dist/esm/tileset/helpers/transform-utils.js.map +1 -0
- package/dist/esm/tileset/helpers/zoom.js +55 -0
- package/dist/esm/tileset/helpers/zoom.js.map +1 -0
- package/dist/esm/tileset/tile-3d.js +414 -0
- package/dist/esm/tileset/tile-3d.js.map +1 -0
- package/dist/esm/tileset/tileset-3d.js +606 -0
- package/dist/esm/tileset/tileset-3d.js.map +1 -0
- package/dist/esm/tileset/tileset-cache.js +57 -0
- package/dist/esm/tileset/tileset-cache.js.map +1 -0
- package/dist/{tileset/traversers → esm/tileset}/tileset-traverser.js +29 -88
- package/dist/esm/tileset/tileset-traverser.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/doubly-linked-list-node.js +12 -0
- package/dist/esm/utils/doubly-linked-list-node.js.map +1 -0
- package/dist/esm/utils/doubly-linked-list.js +65 -0
- package/dist/esm/utils/doubly-linked-list.js.map +1 -0
- package/dist/esm/utils/managed-array.js +87 -0
- package/dist/esm/utils/managed-array.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -9
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts +7 -0
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -0
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js +54 -0
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts +27 -0
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -0
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.js +47 -0
- package/dist/tileset/format-i3s/i3s-tile-manager.d.ts +34 -0
- package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +1 -0
- package/dist/tileset/format-i3s/i3s-tile-manager.js +80 -0
- package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts +25 -0
- package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +1 -0
- package/dist/tileset/format-i3s/i3s-tileset-traverser.js +92 -0
- package/dist/tileset/helpers/3d-tiles-options.d.ts +5 -0
- package/dist/tileset/helpers/3d-tiles-options.d.ts.map +1 -0
- package/dist/tileset/helpers/3d-tiles-options.js +8 -5
- package/dist/tileset/helpers/bounding-volume.d.ts +19 -0
- package/dist/tileset/helpers/bounding-volume.d.ts.map +1 -0
- package/dist/tileset/helpers/bounding-volume.js +274 -69
- package/dist/tileset/helpers/frame-state.d.ts +28 -0
- package/dist/tileset/helpers/frame-state.d.ts.map +1 -0
- package/dist/tileset/helpers/frame-state.js +131 -49
- package/dist/tileset/helpers/i3s-lod.d.ts +20 -0
- package/dist/tileset/helpers/i3s-lod.d.ts.map +1 -0
- package/dist/tileset/helpers/i3s-lod.js +82 -105
- package/dist/tileset/helpers/tiles-3d-lod.d.ts +8 -0
- package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +1 -0
- package/dist/tileset/helpers/tiles-3d-lod.js +112 -100
- package/dist/tileset/helpers/transform-utils.d.ts +2 -0
- package/dist/tileset/helpers/transform-utils.d.ts.map +1 -0
- package/dist/tileset/helpers/transform-utils.js +51 -56
- package/dist/tileset/helpers/zoom.d.ts +46 -0
- package/dist/tileset/helpers/zoom.d.ts.map +1 -0
- package/dist/tileset/helpers/zoom.js +83 -30
- package/dist/tileset/tile-3d.d.ts +222 -0
- package/dist/tileset/tile-3d.d.ts.map +1 -0
- package/dist/tileset/tile-3d.js +607 -531
- package/dist/tileset/tileset-3d.d.ts +264 -0
- package/dist/tileset/tileset-3d.d.ts.map +1 -0
- package/dist/tileset/tileset-3d.js +693 -652
- package/dist/tileset/tileset-cache.d.ts +19 -0
- package/dist/tileset/tileset-cache.d.ts.map +1 -0
- package/dist/tileset/tileset-cache.js +66 -73
- package/dist/tileset/tileset-traverser.d.ts +57 -0
- package/dist/tileset/tileset-traverser.d.ts.map +1 -0
- package/dist/tileset/tileset-traverser.js +300 -0
- package/dist/types.d.ts +34 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/utils/doubly-linked-list-node.d.ts +11 -0
- package/dist/utils/doubly-linked-list-node.d.ts.map +1 -0
- package/dist/utils/doubly-linked-list-node.js +17 -8
- package/dist/utils/doubly-linked-list.d.ts +30 -0
- package/dist/utils/doubly-linked-list.d.ts.map +1 -0
- package/dist/utils/doubly-linked-list.js +91 -72
- package/dist/utils/managed-array.d.ts +85 -0
- package/dist/utils/managed-array.d.ts.map +1 -0
- package/dist/utils/managed-array.js +144 -103
- package/package.json +13 -10
- package/src/constants.ts +38 -18
- package/src/index.ts +7 -4
- package/src/tileset/{traversers → format-3d-tiles}/tileset-3d-traverser.ts +4 -2
- package/src/tileset/format-i3s/i3s-pending-tiles-register.ts +44 -0
- package/src/tileset/format-i3s/i3s-tile-manager.ts +101 -0
- package/src/tileset/{traversers → format-i3s}/i3s-tileset-traverser.ts +27 -15
- package/src/tileset/helpers/3d-tiles-options.ts +3 -1
- package/src/tileset/helpers/bounding-volume.ts +136 -0
- package/src/tileset/helpers/frame-state.ts +102 -18
- package/src/tileset/helpers/i3s-lod.ts +75 -96
- package/src/tileset/helpers/tiles-3d-lod.ts +2 -0
- package/src/tileset/helpers/transform-utils.ts +2 -0
- package/src/tileset/helpers/zoom.ts +84 -9
- package/src/tileset/tile-3d.ts +139 -123
- package/src/tileset/tileset-3d.ts +379 -252
- package/src/tileset/tileset-cache.ts +26 -17
- package/src/tileset/{traversers/tileset-traverser.ts → tileset-traverser.ts} +71 -72
- package/src/types.ts +36 -0
- package/src/utils/{doubly-linked-list-node.js → doubly-linked-list-node.ts} +7 -2
- package/src/utils/{doubly-linked-list.js → doubly-linked-list.ts} +5 -8
- package/src/utils/{managed-array.js → managed-array.ts} +5 -2
- package/dist/bundle.js.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
- package/dist/tileset/helpers/bounding-volume.js.map +0 -1
- package/dist/tileset/helpers/frame-state.js.map +0 -1
- package/dist/tileset/helpers/i3s-lod.js.map +0 -1
- package/dist/tileset/helpers/transform-utils.js.map +0 -1
- package/dist/tileset/helpers/zoom.js.map +0 -1
- package/dist/tileset/tile-3d.js.map +0 -1
- package/dist/tileset/tileset-3d.js.map +0 -1
- package/dist/tileset/tileset-cache.js.map +0 -1
- package/dist/tileset/traversers/i3s-tile-manager.js +0 -45
- package/dist/tileset/traversers/i3s-tile-manager.js.map +0 -1
- package/dist/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
- package/dist/tileset/traversers/tileset-3d-traverser.js.map +0 -1
- package/dist/tileset/traversers/tileset-traverser.js.map +0 -1
- package/dist/utils/doubly-linked-list-node.js.map +0 -1
- package/dist/utils/doubly-linked-list.js.map +0 -1
- package/dist/utils/managed-array.js.map +0 -1
- package/src/tileset/traversers/i3s-tile-manager.ts +0 -39
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { Matrix4, Vector3 } from '@math.gl/core';
|
|
2
|
+
import { Stats } from '@probe.gl/stats';
|
|
3
|
+
import { RequestScheduler, LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
|
|
4
|
+
import { TilesetCache } from './tileset-cache';
|
|
5
|
+
import { FrameState } from './helpers/frame-state';
|
|
6
|
+
import type { Viewport } from '../types';
|
|
7
|
+
import { Tile3D } from './tile-3d';
|
|
8
|
+
import { TilesetTraverser } from './tileset-traverser';
|
|
9
|
+
export type TilesetJSON = any;
|
|
10
|
+
export type Tileset3DProps = {
|
|
11
|
+
throttleRequests?: boolean;
|
|
12
|
+
maxRequests?: number;
|
|
13
|
+
loadOptions?: LoaderOptions;
|
|
14
|
+
loadTiles?: boolean;
|
|
15
|
+
basePath?: string;
|
|
16
|
+
maximumMemoryUsage?: number;
|
|
17
|
+
maximumTilesSelected?: number;
|
|
18
|
+
debounceTime?: number;
|
|
19
|
+
description?: string;
|
|
20
|
+
attributions?: string[];
|
|
21
|
+
ellipsoid?: object;
|
|
22
|
+
modelMatrix?: Matrix4;
|
|
23
|
+
maximumScreenSpaceError?: number;
|
|
24
|
+
viewportTraversersMap?: any;
|
|
25
|
+
updateTransforms?: boolean;
|
|
26
|
+
viewDistanceScale?: number;
|
|
27
|
+
onTileLoad?: (tile: Tile3D) => any;
|
|
28
|
+
onTileUnload?: (tile: Tile3D) => any;
|
|
29
|
+
onTileError?: (tile: Tile3D, message: string, url: string) => any;
|
|
30
|
+
contentLoader?: (tile: Tile3D) => Promise<void>;
|
|
31
|
+
onTraversalComplete?: (selectedTiles: Tile3D[]) => Tile3D[];
|
|
32
|
+
};
|
|
33
|
+
type Props = {
|
|
34
|
+
description: string;
|
|
35
|
+
ellipsoid: object;
|
|
36
|
+
/** A 4x4 transformation matrix this transforms the entire tileset. */
|
|
37
|
+
modelMatrix: Matrix4;
|
|
38
|
+
/** Set to false to disable network request throttling */
|
|
39
|
+
throttleRequests: boolean;
|
|
40
|
+
/** Number of simultaneous requsts, if throttleRequests is true */
|
|
41
|
+
maxRequests: number;
|
|
42
|
+
maximumMemoryUsage: number;
|
|
43
|
+
/** Maximum number limit of tiles selected for show. 0 means no limit */
|
|
44
|
+
maximumTilesSelected: number;
|
|
45
|
+
/** Delay time before the tileset traversal. It prevents traversal requests spam.*/
|
|
46
|
+
debounceTime: number;
|
|
47
|
+
/** Callback. Indicates this a tile's content was loaded */
|
|
48
|
+
onTileLoad: (tile: Tile3D) => void;
|
|
49
|
+
/** Callback. Indicates this a tile's content was unloaded (cache full) */
|
|
50
|
+
onTileUnload: (tile: Tile3D) => void;
|
|
51
|
+
/** Callback. Indicates this a tile's content failed to load */
|
|
52
|
+
onTileError: (tile: Tile3D, message: string, url: string) => void;
|
|
53
|
+
/** Callback. Allows post-process selectedTiles right after traversal. */
|
|
54
|
+
onTraversalComplete: (selectedTiles: Tile3D[]) => Tile3D[];
|
|
55
|
+
/** The maximum screen space error used to drive level of detail refinement. */
|
|
56
|
+
maximumScreenSpaceError: number;
|
|
57
|
+
viewportTraversersMap: Record<string, any> | null;
|
|
58
|
+
attributions: string[];
|
|
59
|
+
loadTiles: boolean;
|
|
60
|
+
loadOptions: LoaderOptions;
|
|
61
|
+
updateTransforms: boolean;
|
|
62
|
+
/** View distance scale modifier */
|
|
63
|
+
viewDistanceScale: number;
|
|
64
|
+
basePath: string;
|
|
65
|
+
/** Optional async tile content loader */
|
|
66
|
+
contentLoader?: (tile: Tile3D) => Promise<void>;
|
|
67
|
+
/** @todo I3S specific knowledge should be moved to I3S module */
|
|
68
|
+
i3s: Record<string, any>;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* The Tileset loading and rendering flow is as below,
|
|
72
|
+
* A rendered (i.e. deck.gl `Tile3DLayer`) triggers `tileset.update()` after a `tileset` is loaded
|
|
73
|
+
* `tileset` starts traversing the tile tree and update `requestTiles` (tiles of which content need
|
|
74
|
+
* to be fetched) and `selectedTiles` (tiles ready for rendering under the current viewport).
|
|
75
|
+
* `Tile3DLayer` will update rendering based on `selectedTiles`.
|
|
76
|
+
* `Tile3DLayer` also listens to `onTileLoad` callback and trigger another round of `update and then traversal`
|
|
77
|
+
* when new tiles are loaded.
|
|
78
|
+
|
|
79
|
+
* As I3S tileset have stored `tileHeader` file (metadata) and tile content files (geometry, texture, ...) separately.
|
|
80
|
+
* During each traversal, it issues `tilHeader` requests if that `tileHeader` is not yet fetched,
|
|
81
|
+
* after the tile header is fulfilled, it will resume the traversal starting from the tile just fetched (not root).
|
|
82
|
+
|
|
83
|
+
* Tile3DLayer
|
|
84
|
+
* |
|
|
85
|
+
* await load(tileset)
|
|
86
|
+
* |
|
|
87
|
+
* tileset.update()
|
|
88
|
+
* | async load tileHeader
|
|
89
|
+
* tileset.traverse() -------------------------- Queued
|
|
90
|
+
* | resume traversal after fetched |
|
|
91
|
+
* |----------------------------------------|
|
|
92
|
+
* |
|
|
93
|
+
* | async load tile content
|
|
94
|
+
* tilset.requestedTiles ----------------------------- RequestScheduler
|
|
95
|
+
* |
|
|
96
|
+
* tilset.selectedTiles (ready for rendering) |
|
|
97
|
+
* | Listen to |
|
|
98
|
+
* Tile3DLayer ----------- onTileLoad ----------------------|
|
|
99
|
+
* | | notify new tile is available
|
|
100
|
+
* updateLayers |
|
|
101
|
+
* tileset.update // trigger another round of update
|
|
102
|
+
*/
|
|
103
|
+
export declare class Tileset3D {
|
|
104
|
+
options: Props;
|
|
105
|
+
loadOptions: LoaderOptions;
|
|
106
|
+
type: string;
|
|
107
|
+
tileset: TilesetJSON;
|
|
108
|
+
loader: LoaderWithParser;
|
|
109
|
+
url: string;
|
|
110
|
+
basePath: string;
|
|
111
|
+
modelMatrix: Matrix4;
|
|
112
|
+
ellipsoid: any;
|
|
113
|
+
lodMetricType: string;
|
|
114
|
+
lodMetricValue: number;
|
|
115
|
+
refine: string;
|
|
116
|
+
root: Tile3D | null;
|
|
117
|
+
roots: Record<string, Tile3D>;
|
|
118
|
+
/** @todo any->unknown */
|
|
119
|
+
asset: Record<string, any>;
|
|
120
|
+
description: string;
|
|
121
|
+
properties: any;
|
|
122
|
+
extras: any;
|
|
123
|
+
attributions: any;
|
|
124
|
+
credits: any;
|
|
125
|
+
stats: Stats;
|
|
126
|
+
/** flags that contain information about data types in nested tiles */
|
|
127
|
+
contentFormats: {
|
|
128
|
+
draco: boolean;
|
|
129
|
+
meshopt: boolean;
|
|
130
|
+
dds: boolean;
|
|
131
|
+
ktx2: boolean;
|
|
132
|
+
};
|
|
133
|
+
cartographicCenter: Vector3 | null;
|
|
134
|
+
cartesianCenter: Vector3 | null;
|
|
135
|
+
zoom: number;
|
|
136
|
+
boundingVolume: any;
|
|
137
|
+
/** Updated based on the camera position and direction */
|
|
138
|
+
dynamicScreenSpaceErrorComputedDensity: number;
|
|
139
|
+
/**
|
|
140
|
+
* The maximum amount of GPU memory (in MB) that may be used to cache tiles
|
|
141
|
+
* Tiles not in view are unloaded to enforce private
|
|
142
|
+
*/
|
|
143
|
+
maximumMemoryUsage: number;
|
|
144
|
+
/** The total amount of GPU memory in bytes used by the tileset. */
|
|
145
|
+
gpuMemoryUsageInBytes: number;
|
|
146
|
+
/** Update tracker. increase in each update cycle. */
|
|
147
|
+
_frameNumber: number;
|
|
148
|
+
private _queryParams;
|
|
149
|
+
private _extensionsUsed;
|
|
150
|
+
private _tiles;
|
|
151
|
+
/** counter for tracking tiles requests */
|
|
152
|
+
private _pendingCount;
|
|
153
|
+
/** Hold traversal results */
|
|
154
|
+
selectedTiles: Tile3D[];
|
|
155
|
+
traverseCounter: number;
|
|
156
|
+
geometricError: number;
|
|
157
|
+
private lastUpdatedVieports;
|
|
158
|
+
private _requestedTiles;
|
|
159
|
+
private _emptyTiles;
|
|
160
|
+
private frameStateData;
|
|
161
|
+
_traverser: TilesetTraverser;
|
|
162
|
+
_cache: TilesetCache;
|
|
163
|
+
_requestScheduler: RequestScheduler;
|
|
164
|
+
private updatePromise;
|
|
165
|
+
tilesetInitializationPromise: Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* Create a new Tileset3D
|
|
168
|
+
* @param json
|
|
169
|
+
* @param props
|
|
170
|
+
*/
|
|
171
|
+
constructor(tileset: TilesetJSON, options?: Tileset3DProps);
|
|
172
|
+
/** Release resources */
|
|
173
|
+
destroy(): void;
|
|
174
|
+
/** Is the tileset loaded (update needs to have been called at least once) */
|
|
175
|
+
isLoaded(): boolean;
|
|
176
|
+
get tiles(): object[];
|
|
177
|
+
get frameNumber(): number;
|
|
178
|
+
get queryParams(): string;
|
|
179
|
+
setProps(props: Tileset3DProps): void;
|
|
180
|
+
/** @deprecated */
|
|
181
|
+
setOptions(options: Tileset3DProps): void;
|
|
182
|
+
/**
|
|
183
|
+
* Return a loadable tile url for a specific tile subpath
|
|
184
|
+
* @param tilePath a tile subpath
|
|
185
|
+
*/
|
|
186
|
+
getTileUrl(tilePath: string): string;
|
|
187
|
+
hasExtension(extensionName: string): boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Update visible tiles relying on a list of viewports
|
|
190
|
+
* @param viewports - list of viewports
|
|
191
|
+
* @deprecated
|
|
192
|
+
*/
|
|
193
|
+
update(viewports?: Viewport[] | Viewport | null): void;
|
|
194
|
+
/**
|
|
195
|
+
* Update visible tiles relying on a list of viewports.
|
|
196
|
+
* Do it with debounce delay to prevent update spam
|
|
197
|
+
* @param viewports viewports
|
|
198
|
+
* @returns Promise of new frameNumber
|
|
199
|
+
*/
|
|
200
|
+
selectTiles(viewports?: Viewport[] | Viewport | null): Promise<number>;
|
|
201
|
+
/**
|
|
202
|
+
* Update visible tiles relying on a list of viewports
|
|
203
|
+
* @param viewports viewports
|
|
204
|
+
*/
|
|
205
|
+
private doUpdate;
|
|
206
|
+
/**
|
|
207
|
+
* Check if traversal is needed for particular viewport
|
|
208
|
+
* @param {string} viewportId - id of a viewport
|
|
209
|
+
* @return {boolean}
|
|
210
|
+
*/
|
|
211
|
+
_needTraverse(viewportId: string): boolean;
|
|
212
|
+
/**
|
|
213
|
+
* The callback to post-process tiles after traversal procedure
|
|
214
|
+
* @param frameState - frame state for tile culling
|
|
215
|
+
*/
|
|
216
|
+
_onTraversalEnd(frameState: FrameState): void;
|
|
217
|
+
/**
|
|
218
|
+
* Update tiles relying on data from all traversers
|
|
219
|
+
*/
|
|
220
|
+
_updateTiles(): void;
|
|
221
|
+
_tilesChanged(oldSelectedTiles: Tile3D[], selectedTiles: Tile3D[]): boolean;
|
|
222
|
+
_loadTiles(): void;
|
|
223
|
+
_unloadTiles(): void;
|
|
224
|
+
_updateStats(): void;
|
|
225
|
+
_initializeTileSet(tilesetJson: TilesetJSON): Promise<void>;
|
|
226
|
+
/**
|
|
227
|
+
* Called during initialize Tileset to initialize the tileset's cartographic center (longitude, latitude) and zoom.
|
|
228
|
+
* These metrics help apps center view on tileset
|
|
229
|
+
* For I3S there is extent (<1.8 version) or fullExtent (>=1.8 version) to calculate view props
|
|
230
|
+
* @returns
|
|
231
|
+
*/
|
|
232
|
+
private calculateViewPropsI3S;
|
|
233
|
+
/**
|
|
234
|
+
* Called during initialize Tileset to initialize the tileset's cartographic center (longitude, latitude) and zoom.
|
|
235
|
+
* These metrics help apps center view on tileset.
|
|
236
|
+
* For 3DTiles the root tile data is used to calculate view props.
|
|
237
|
+
* @returns
|
|
238
|
+
*/
|
|
239
|
+
private calculateViewPropsTiles3D;
|
|
240
|
+
_initializeStats(): void;
|
|
241
|
+
_initializeTileHeaders(tilesetJson: TilesetJSON, parentTileHeader?: any): Tile3D;
|
|
242
|
+
_initializeTraverser(): TilesetTraverser;
|
|
243
|
+
_destroyTileHeaders(parentTile: Tile3D): void;
|
|
244
|
+
_loadTile(tile: Tile3D): Promise<void>;
|
|
245
|
+
_onTileLoadError(tile: Tile3D, error: Error): void;
|
|
246
|
+
_onTileLoad(tile: Tile3D, loaded: boolean): void;
|
|
247
|
+
/**
|
|
248
|
+
* Update information about data types in nested tiles
|
|
249
|
+
* @param tile instance of a nested Tile3D
|
|
250
|
+
*/
|
|
251
|
+
private updateContentTypes;
|
|
252
|
+
_onStartTileLoading(): void;
|
|
253
|
+
_onEndTileLoading(): void;
|
|
254
|
+
_addTileToCache(tile: Tile3D): void;
|
|
255
|
+
_updateCacheStats(tile: any): void;
|
|
256
|
+
_unloadTile(tile: any): void;
|
|
257
|
+
_destroy(): void;
|
|
258
|
+
_destroySubtree(tile: any): void;
|
|
259
|
+
_destroyTile(tile: any): void;
|
|
260
|
+
_initializeTiles3DTileset(tilesetJson: any): void;
|
|
261
|
+
_initializeI3STileset(): void;
|
|
262
|
+
}
|
|
263
|
+
export {};
|
|
264
|
+
//# sourceMappingURL=tileset-3d.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-3d.ts"],"names":[],"mappings":"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"}
|