@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.
Files changed (198) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +2 -2
  4. package/dist/constants.d.ts +38 -0
  5. package/dist/constants.d.ts.map +1 -0
  6. package/dist/constants.js +37 -30
  7. package/dist/dist.min.js +9163 -0
  8. package/dist/es5/bundle.js +6 -0
  9. package/dist/es5/bundle.js.map +1 -0
  10. package/dist/es5/constants.js +48 -0
  11. package/dist/es5/constants.js.map +1 -0
  12. package/dist/es5/index.js +93 -0
  13. package/dist/es5/index.js.map +1 -0
  14. package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js +70 -0
  15. package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
  16. package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js +45 -0
  17. package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -0
  18. package/dist/es5/tileset/format-i3s/i3s-tile-manager.js +84 -0
  19. package/dist/es5/tileset/format-i3s/i3s-tile-manager.js.map +1 -0
  20. package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js +143 -0
  21. package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -0
  22. package/dist/es5/tileset/helpers/3d-tiles-options.js +12 -0
  23. package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -0
  24. package/dist/es5/tileset/helpers/bounding-volume.js +176 -0
  25. package/dist/es5/tileset/helpers/bounding-volume.js.map +1 -0
  26. package/dist/es5/tileset/helpers/frame-state.js +129 -0
  27. package/dist/es5/tileset/helpers/frame-state.js.map +1 -0
  28. package/dist/es5/tileset/helpers/i3s-lod.js +60 -0
  29. package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -0
  30. package/dist/es5/tileset/helpers/tiles-3d-lod.js +103 -0
  31. package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -0
  32. package/dist/es5/tileset/helpers/transform-utils.js +50 -0
  33. package/dist/es5/tileset/helpers/transform-utils.js.map +1 -0
  34. package/dist/es5/tileset/helpers/zoom.js +63 -0
  35. package/dist/es5/tileset/helpers/zoom.js.map +1 -0
  36. package/dist/es5/tileset/tile-3d.js +536 -0
  37. package/dist/es5/tileset/tile-3d.js.map +1 -0
  38. package/dist/es5/tileset/tileset-3d.js +855 -0
  39. package/dist/es5/tileset/tileset-3d.js.map +1 -0
  40. package/dist/es5/tileset/tileset-cache.js +82 -0
  41. package/dist/es5/tileset/tileset-cache.js.map +1 -0
  42. package/dist/es5/tileset/tileset-traverser.js +321 -0
  43. package/dist/es5/tileset/tileset-traverser.js.map +1 -0
  44. package/dist/es5/types.js +2 -0
  45. package/dist/es5/types.js.map +1 -0
  46. package/dist/es5/utils/doubly-linked-list-node.js +21 -0
  47. package/dist/es5/utils/doubly-linked-list-node.js.map +1 -0
  48. package/dist/es5/utils/doubly-linked-list.js +88 -0
  49. package/dist/es5/utils/doubly-linked-list.js.map +1 -0
  50. package/dist/es5/utils/managed-array.js +126 -0
  51. package/dist/es5/utils/managed-array.js.map +1 -0
  52. package/dist/esm/bundle.js +4 -0
  53. package/dist/esm/bundle.js.map +1 -0
  54. package/dist/esm/constants.js +36 -0
  55. package/dist/esm/constants.js.map +1 -0
  56. package/dist/esm/index.js +10 -0
  57. package/dist/esm/index.js.map +1 -0
  58. package/dist/{tileset/traversers → esm/tileset/format-3d-tiles}/tileset-3d-traverser.js +2 -13
  59. package/dist/esm/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
  60. package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js +26 -0
  61. package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -0
  62. package/dist/esm/tileset/format-i3s/i3s-tile-manager.js +79 -0
  63. package/dist/esm/tileset/format-i3s/i3s-tile-manager.js.map +1 -0
  64. package/dist/{tileset/traversers → esm/tileset/format-i3s}/i3s-tileset-traverser.js +16 -28
  65. package/dist/esm/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -0
  66. package/dist/esm/tileset/helpers/3d-tiles-options.js +6 -0
  67. package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -0
  68. package/dist/esm/tileset/helpers/bounding-volume.js +155 -0
  69. package/dist/esm/tileset/helpers/bounding-volume.js.map +1 -0
  70. package/dist/esm/tileset/helpers/frame-state.js +109 -0
  71. package/dist/esm/tileset/helpers/frame-state.js.map +1 -0
  72. package/dist/esm/tileset/helpers/i3s-lod.js +53 -0
  73. package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -0
  74. package/dist/esm/tileset/helpers/tiles-3d-lod.js +100 -0
  75. package/dist/{tileset → esm/tileset}/helpers/tiles-3d-lod.js.map +1 -1
  76. package/dist/esm/tileset/helpers/transform-utils.js +50 -0
  77. package/dist/esm/tileset/helpers/transform-utils.js.map +1 -0
  78. package/dist/esm/tileset/helpers/zoom.js +55 -0
  79. package/dist/esm/tileset/helpers/zoom.js.map +1 -0
  80. package/dist/esm/tileset/tile-3d.js +414 -0
  81. package/dist/esm/tileset/tile-3d.js.map +1 -0
  82. package/dist/esm/tileset/tileset-3d.js +606 -0
  83. package/dist/esm/tileset/tileset-3d.js.map +1 -0
  84. package/dist/esm/tileset/tileset-cache.js +57 -0
  85. package/dist/esm/tileset/tileset-cache.js.map +1 -0
  86. package/dist/{tileset/traversers → esm/tileset}/tileset-traverser.js +29 -88
  87. package/dist/esm/tileset/tileset-traverser.js.map +1 -0
  88. package/dist/esm/types.js +2 -0
  89. package/dist/esm/types.js.map +1 -0
  90. package/dist/esm/utils/doubly-linked-list-node.js +12 -0
  91. package/dist/esm/utils/doubly-linked-list-node.js.map +1 -0
  92. package/dist/esm/utils/doubly-linked-list.js +65 -0
  93. package/dist/esm/utils/doubly-linked-list.js.map +1 -0
  94. package/dist/esm/utils/managed-array.js +87 -0
  95. package/dist/esm/utils/managed-array.js.map +1 -0
  96. package/dist/index.d.ts +11 -0
  97. package/dist/index.d.ts.map +1 -0
  98. package/dist/index.js +26 -9
  99. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts +7 -0
  100. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -0
  101. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js +54 -0
  102. package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts +27 -0
  103. package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -0
  104. package/dist/tileset/format-i3s/i3s-pending-tiles-register.js +47 -0
  105. package/dist/tileset/format-i3s/i3s-tile-manager.d.ts +34 -0
  106. package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +1 -0
  107. package/dist/tileset/format-i3s/i3s-tile-manager.js +80 -0
  108. package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts +25 -0
  109. package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +1 -0
  110. package/dist/tileset/format-i3s/i3s-tileset-traverser.js +92 -0
  111. package/dist/tileset/helpers/3d-tiles-options.d.ts +5 -0
  112. package/dist/tileset/helpers/3d-tiles-options.d.ts.map +1 -0
  113. package/dist/tileset/helpers/3d-tiles-options.js +8 -5
  114. package/dist/tileset/helpers/bounding-volume.d.ts +19 -0
  115. package/dist/tileset/helpers/bounding-volume.d.ts.map +1 -0
  116. package/dist/tileset/helpers/bounding-volume.js +274 -69
  117. package/dist/tileset/helpers/frame-state.d.ts +28 -0
  118. package/dist/tileset/helpers/frame-state.d.ts.map +1 -0
  119. package/dist/tileset/helpers/frame-state.js +131 -49
  120. package/dist/tileset/helpers/i3s-lod.d.ts +20 -0
  121. package/dist/tileset/helpers/i3s-lod.d.ts.map +1 -0
  122. package/dist/tileset/helpers/i3s-lod.js +82 -105
  123. package/dist/tileset/helpers/tiles-3d-lod.d.ts +8 -0
  124. package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +1 -0
  125. package/dist/tileset/helpers/tiles-3d-lod.js +112 -100
  126. package/dist/tileset/helpers/transform-utils.d.ts +2 -0
  127. package/dist/tileset/helpers/transform-utils.d.ts.map +1 -0
  128. package/dist/tileset/helpers/transform-utils.js +51 -56
  129. package/dist/tileset/helpers/zoom.d.ts +46 -0
  130. package/dist/tileset/helpers/zoom.d.ts.map +1 -0
  131. package/dist/tileset/helpers/zoom.js +83 -30
  132. package/dist/tileset/tile-3d.d.ts +222 -0
  133. package/dist/tileset/tile-3d.d.ts.map +1 -0
  134. package/dist/tileset/tile-3d.js +607 -531
  135. package/dist/tileset/tileset-3d.d.ts +264 -0
  136. package/dist/tileset/tileset-3d.d.ts.map +1 -0
  137. package/dist/tileset/tileset-3d.js +693 -652
  138. package/dist/tileset/tileset-cache.d.ts +19 -0
  139. package/dist/tileset/tileset-cache.d.ts.map +1 -0
  140. package/dist/tileset/tileset-cache.js +66 -73
  141. package/dist/tileset/tileset-traverser.d.ts +57 -0
  142. package/dist/tileset/tileset-traverser.d.ts.map +1 -0
  143. package/dist/tileset/tileset-traverser.js +300 -0
  144. package/dist/types.d.ts +34 -0
  145. package/dist/types.d.ts.map +1 -0
  146. package/dist/types.js +2 -0
  147. package/dist/utils/doubly-linked-list-node.d.ts +11 -0
  148. package/dist/utils/doubly-linked-list-node.d.ts.map +1 -0
  149. package/dist/utils/doubly-linked-list-node.js +17 -8
  150. package/dist/utils/doubly-linked-list.d.ts +30 -0
  151. package/dist/utils/doubly-linked-list.d.ts.map +1 -0
  152. package/dist/utils/doubly-linked-list.js +91 -72
  153. package/dist/utils/managed-array.d.ts +85 -0
  154. package/dist/utils/managed-array.d.ts.map +1 -0
  155. package/dist/utils/managed-array.js +144 -103
  156. package/package.json +13 -10
  157. package/src/constants.ts +38 -18
  158. package/src/index.ts +7 -4
  159. package/src/tileset/{traversers → format-3d-tiles}/tileset-3d-traverser.ts +4 -2
  160. package/src/tileset/format-i3s/i3s-pending-tiles-register.ts +44 -0
  161. package/src/tileset/format-i3s/i3s-tile-manager.ts +101 -0
  162. package/src/tileset/{traversers → format-i3s}/i3s-tileset-traverser.ts +27 -15
  163. package/src/tileset/helpers/3d-tiles-options.ts +3 -1
  164. package/src/tileset/helpers/bounding-volume.ts +136 -0
  165. package/src/tileset/helpers/frame-state.ts +102 -18
  166. package/src/tileset/helpers/i3s-lod.ts +75 -96
  167. package/src/tileset/helpers/tiles-3d-lod.ts +2 -0
  168. package/src/tileset/helpers/transform-utils.ts +2 -0
  169. package/src/tileset/helpers/zoom.ts +84 -9
  170. package/src/tileset/tile-3d.ts +139 -123
  171. package/src/tileset/tileset-3d.ts +379 -252
  172. package/src/tileset/tileset-cache.ts +26 -17
  173. package/src/tileset/{traversers/tileset-traverser.ts → tileset-traverser.ts} +71 -72
  174. package/src/types.ts +36 -0
  175. package/src/utils/{doubly-linked-list-node.js → doubly-linked-list-node.ts} +7 -2
  176. package/src/utils/{doubly-linked-list.js → doubly-linked-list.ts} +5 -8
  177. package/src/utils/{managed-array.js → managed-array.ts} +5 -2
  178. package/dist/bundle.js.map +0 -1
  179. package/dist/constants.js.map +0 -1
  180. package/dist/index.js.map +0 -1
  181. package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
  182. package/dist/tileset/helpers/bounding-volume.js.map +0 -1
  183. package/dist/tileset/helpers/frame-state.js.map +0 -1
  184. package/dist/tileset/helpers/i3s-lod.js.map +0 -1
  185. package/dist/tileset/helpers/transform-utils.js.map +0 -1
  186. package/dist/tileset/helpers/zoom.js.map +0 -1
  187. package/dist/tileset/tile-3d.js.map +0 -1
  188. package/dist/tileset/tileset-3d.js.map +0 -1
  189. package/dist/tileset/tileset-cache.js.map +0 -1
  190. package/dist/tileset/traversers/i3s-tile-manager.js +0 -45
  191. package/dist/tileset/traversers/i3s-tile-manager.js.map +0 -1
  192. package/dist/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
  193. package/dist/tileset/traversers/tileset-3d-traverser.js.map +0 -1
  194. package/dist/tileset/traversers/tileset-traverser.js.map +0 -1
  195. package/dist/utils/doubly-linked-list-node.js.map +0 -1
  196. package/dist/utils/doubly-linked-list.js.map +0 -1
  197. package/dist/utils/managed-array.js.map +0 -1
  198. 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":"AAKA,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAQ,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,UAAU,EAAoC,MAAM,uBAAuB,CAAC;AAGpF,OAAO,KAAK,EAAqB,QAAQ,EAAC,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAMrD,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC;AAqB9B,MAAM,MAAM,cAAc,GAAG;IAE3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IACrC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAClE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,mBAAmB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CAC7D,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,EAAE,OAAO,CAAC;IACrB,yDAAyD;IACzD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mFAAmF;IACnF,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0EAA0E;IAC1E,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,+DAA+D;IAC/D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,yEAAyE;IACzE,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3D,+EAA+E;IAC/E,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,aAAa,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B,CAAC;AAuCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCE;AACF,qBAAa,SAAS;IAEpB,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,aAAa,CAAC;IAE3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACnC,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAGhC,WAAW,EAAE,MAAM,CAAM;IACzB,UAAU,EAAE,GAAG,CAAC;IAEhB,MAAM,EAAE,GAAG,CAAQ;IACnB,YAAY,EAAE,GAAG,CAAM;IACvB,OAAO,EAAE,GAAG,CAAM;IAElB,KAAK,EAAE,KAAK,CAAC;IAEb,sEAAsE;IACtE,cAAc;;;;;MAA2D;IAGzE,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAQ;IAC1C,eAAe,EAAE,OAAO,GAAG,IAAI,CAAQ;IACvC,IAAI,EAAE,MAAM,CAAK;IACjB,cAAc,EAAE,GAAG,CAAQ;IAE3B,yDAAyD;IACzD,sCAAsC,EAAE,MAAM,CAAO;IAIrD;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAM;IAEhC,mEAAmE;IACnE,qBAAqB,EAAE,MAAM,CAAK;IAElC,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAK;IACzB,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,MAAM,CAA8B;IAE5C,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAa;IAElC,6BAA6B;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAM;IAG7B,eAAe,EAAE,MAAM,CAAK;IAC5B,cAAc,EAAE,MAAM,CAAK;IAC3B,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAW;IAEjC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,eAAsB;IAC5B,iBAAiB,EAAE,gBAAgB,CAAC;IAGpC,OAAO,CAAC,aAAa,CAAgC;IACrD,4BAA4B,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;OAIG;gBAES,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc;IAoC1D,wBAAwB;IACxB,OAAO,IAAI,IAAI;IAIf,6EAA6E;IAC7E,QAAQ,IAAI,OAAO;IAKnB,IAAI,KAAK,IAAI,MAAM,EAAE,CAEpB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIrC,kBAAkB;IAClB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIzC;;;OAGG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IASpC,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAI5C;;;;OAIG;IACH,MAAM,CAAC,SAAS,GAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,IAAW;IAcrD;;;;;OAKG;IACG,WAAW,CAAC,SAAS,GAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,IAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBlF;;;OAGG;IAEH,OAAO,CAAC,QAAQ;IAsChB;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAY1C;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IA4B7C;;OAEG;IACH,YAAY,IAAI,IAAI;IAuBpB,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO;IAW3E,UAAU,IAAI,IAAI;IAYlB,YAAY,IAAI,IAAI;IAKpB,YAAY,IAAI,IAAI;IAoBd,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjE;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAoC7B;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAsBjC,gBAAgB;IAehB,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,GAAG;IA4CvE,oBAAoB,IAAI,gBAAgB;IAoBxC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAUlD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAsBhD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA4B1B,mBAAmB;IAKnB,iBAAiB;IAKjB,eAAe,CAAC,IAAI,EAAE,MAAM;IAI5B,iBAAiB,CAAC,IAAI,KAAA;IAStB,WAAW,CAAC,IAAI,KAAA;IAYhB,QAAQ;IAoBR,eAAe,CAAC,IAAI,KAAA;IAgBpB,YAAY,CAAC,IAAI,KAAA;IAMjB,yBAAyB,CAAC,WAAW,KAAA;IAuCrC,qBAAqB;CAMtB"}