@loaders.gl/tiles 4.0.0-alpha.5 → 4.0.0-alpha.7
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.js +2 -2
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +29 -26
- package/dist/dist.min.js +1994 -1035
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/constants.js +44 -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 +32 -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 +14 -26
- 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 +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -10
- package/dist/tileset/{traversers → format-3d-tiles}/tileset-3d-traverser.d.ts +2 -2
- 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 +3 -2
- package/dist/tileset/helpers/3d-tiles-options.d.ts.map +1 -1
- package/dist/tileset/helpers/3d-tiles-options.js +8 -5
- package/dist/tileset/helpers/bounding-volume.d.ts +10 -0
- package/dist/tileset/helpers/bounding-volume.d.ts.map +1 -1
- package/dist/tileset/helpers/bounding-volume.js +274 -69
- package/dist/tileset/helpers/frame-state.d.ts +16 -5
- package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset/helpers/frame-state.js +131 -49
- package/dist/tileset/helpers/i3s-lod.d.ts +1 -1
- package/dist/tileset/helpers/i3s-lod.d.ts.map +1 -1
- package/dist/tileset/helpers/i3s-lod.js +82 -64
- package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +1 -1
- package/dist/tileset/helpers/tiles-3d-lod.js +112 -100
- package/dist/tileset/helpers/transform-utils.d.ts.map +1 -1
- package/dist/tileset/helpers/transform-utils.js +51 -56
- package/dist/tileset/helpers/zoom.d.ts +41 -2
- package/dist/tileset/helpers/zoom.d.ts.map +1 -1
- package/dist/tileset/helpers/zoom.js +83 -30
- package/dist/tileset/tile-3d.d.ts +82 -35
- package/dist/tileset/tile-3d.d.ts.map +1 -1
- package/dist/tileset/tile-3d.js +607 -534
- package/dist/tileset/tileset-3d.d.ts +140 -48
- package/dist/tileset/tileset-3d.d.ts.map +1 -1
- package/dist/tileset/tileset-3d.js +693 -652
- package/dist/tileset/tileset-cache.d.ts +6 -5
- package/dist/tileset/tileset-cache.d.ts.map +1 -1
- 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 +1 -2
- package/dist/utils/doubly-linked-list-node.d.ts.map +1 -1
- package/dist/utils/doubly-linked-list-node.js +17 -15
- package/dist/utils/doubly-linked-list.d.ts +2 -3
- package/dist/utils/doubly-linked-list.d.ts.map +1 -1
- package/dist/utils/doubly-linked-list.js +91 -75
- package/dist/utils/managed-array.d.ts +1 -1
- package/dist/utils/managed-array.d.ts.map +1 -1
- package/dist/utils/managed-array.js +144 -109
- package/package.json +11 -8
- package/src/constants.ts +20 -0
- package/src/index.ts +6 -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 +25 -12
- 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 +24 -21
- 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 +137 -123
- package/src/tileset/tileset-3d.ts +378 -251
- package/src/tileset/tileset-cache.ts +24 -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.ts +3 -2
- package/src/utils/doubly-linked-list.ts +2 -3
- package/src/utils/managed-array.ts +1 -1
- 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.d.ts +0 -8
- package/dist/tileset/traversers/i3s-tile-manager.d.ts.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.d.ts +0 -18
- package/dist/tileset/traversers/i3s-tileset-traverser.d.ts.map +0 -1
- package/dist/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
- package/dist/tileset/traversers/tileset-3d-traverser.d.ts.map +0 -1
- package/dist/tileset/traversers/tileset-3d-traverser.js.map +0 -1
- package/dist/tileset/traversers/tileset-traverser.d.ts +0 -52
- package/dist/tileset/traversers/tileset-traverser.d.ts.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
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { Matrix4, Vector3 } from '@math.gl/core';
|
|
2
2
|
import { Stats } from '@probe.gl/stats';
|
|
3
3
|
import { RequestScheduler, LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
|
|
4
|
+
import { TilesetCache } from './tileset-cache';
|
|
4
5
|
import { FrameState } from './helpers/frame-state';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
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 = {
|
|
8
11
|
throttleRequests?: boolean;
|
|
9
12
|
maxRequests?: number;
|
|
10
13
|
loadOptions?: LoaderOptions;
|
|
11
14
|
loadTiles?: boolean;
|
|
12
15
|
basePath?: string;
|
|
13
16
|
maximumMemoryUsage?: number;
|
|
17
|
+
maximumTilesSelected?: number;
|
|
18
|
+
debounceTime?: number;
|
|
14
19
|
description?: string;
|
|
15
20
|
attributions?: string[];
|
|
16
21
|
ellipsoid?: object;
|
|
@@ -25,39 +30,81 @@ export declare type Tileset3DProps = {
|
|
|
25
30
|
contentLoader?: (tile: Tile3D) => Promise<void>;
|
|
26
31
|
onTraversalComplete?: (selectedTiles: Tile3D[]) => Tile3D[];
|
|
27
32
|
};
|
|
28
|
-
|
|
33
|
+
type Props = {
|
|
29
34
|
description: string;
|
|
30
35
|
ellipsoid: object;
|
|
36
|
+
/** A 4x4 transformation matrix this transforms the entire tileset. */
|
|
31
37
|
modelMatrix: Matrix4;
|
|
38
|
+
/** Set to false to disable network request throttling */
|
|
32
39
|
throttleRequests: boolean;
|
|
40
|
+
/** Number of simultaneous requsts, if throttleRequests is true */
|
|
41
|
+
maxRequests: number;
|
|
33
42
|
maximumMemoryUsage: number;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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. */
|
|
37
54
|
onTraversalComplete: (selectedTiles: Tile3D[]) => Tile3D[];
|
|
55
|
+
/** The maximum screen space error used to drive level of detail refinement. */
|
|
38
56
|
maximumScreenSpaceError: number;
|
|
39
|
-
viewportTraversersMap: any;
|
|
57
|
+
viewportTraversersMap: Record<string, any> | null;
|
|
40
58
|
attributions: string[];
|
|
41
|
-
maxRequests: number;
|
|
42
59
|
loadTiles: boolean;
|
|
43
60
|
loadOptions: LoaderOptions;
|
|
44
61
|
updateTransforms: boolean;
|
|
62
|
+
/** View distance scale modifier */
|
|
45
63
|
viewDistanceScale: number;
|
|
46
64
|
basePath: string;
|
|
65
|
+
/** Optional async tile content loader */
|
|
47
66
|
contentLoader?: (tile: Tile3D) => Promise<void>;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
67
|
+
/** @todo I3S specific knowledge should be moved to I3S module */
|
|
68
|
+
i3s: Record<string, any>;
|
|
51
69
|
};
|
|
52
|
-
|
|
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 {
|
|
53
104
|
options: Props;
|
|
54
|
-
loadOptions:
|
|
55
|
-
[key: string]: any;
|
|
56
|
-
};
|
|
105
|
+
loadOptions: LoaderOptions;
|
|
57
106
|
type: string;
|
|
58
|
-
tileset:
|
|
59
|
-
[key: string]: any;
|
|
60
|
-
};
|
|
107
|
+
tileset: TilesetJSON;
|
|
61
108
|
loader: LoaderWithParser;
|
|
62
109
|
url: string;
|
|
63
110
|
basePath: string;
|
|
@@ -67,47 +114,61 @@ export default class Tileset3D {
|
|
|
67
114
|
lodMetricValue: number;
|
|
68
115
|
refine: string;
|
|
69
116
|
root: Tile3D | null;
|
|
70
|
-
roots:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
asset: {
|
|
74
|
-
[key: string]: any;
|
|
75
|
-
};
|
|
117
|
+
roots: Record<string, Tile3D>;
|
|
118
|
+
/** @todo any->unknown */
|
|
119
|
+
asset: Record<string, any>;
|
|
76
120
|
description: string;
|
|
77
121
|
properties: any;
|
|
78
122
|
extras: any;
|
|
79
123
|
attributions: any;
|
|
80
124
|
credits: any;
|
|
81
125
|
stats: Stats;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
+
};
|
|
85
133
|
cartographicCenter: Vector3 | null;
|
|
86
134
|
cartesianCenter: Vector3 | null;
|
|
87
135
|
zoom: number;
|
|
88
136
|
boundingVolume: any;
|
|
89
|
-
|
|
90
|
-
dynamicScreenSpaceErrorComputedDensity:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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. */
|
|
94
147
|
_frameNumber: number;
|
|
95
|
-
private _queryParamsString;
|
|
96
148
|
private _queryParams;
|
|
97
149
|
private _extensionsUsed;
|
|
98
150
|
private _tiles;
|
|
151
|
+
/** counter for tracking tiles requests */
|
|
99
152
|
private _pendingCount;
|
|
153
|
+
/** Hold traversal results */
|
|
154
|
+
selectedTiles: Tile3D[];
|
|
155
|
+
traverseCounter: number;
|
|
156
|
+
geometricError: number;
|
|
100
157
|
private lastUpdatedVieports;
|
|
101
158
|
private _requestedTiles;
|
|
102
159
|
private _emptyTiles;
|
|
103
160
|
private frameStateData;
|
|
104
|
-
|
|
161
|
+
_traverser: TilesetTraverser;
|
|
162
|
+
_cache: TilesetCache;
|
|
163
|
+
_requestScheduler: RequestScheduler;
|
|
164
|
+
private updatePromise;
|
|
165
|
+
tilesetInitializationPromise: Promise<void>;
|
|
105
166
|
/**
|
|
106
167
|
* Create a new Tileset3D
|
|
107
168
|
* @param json
|
|
108
169
|
* @param props
|
|
109
170
|
*/
|
|
110
|
-
constructor(
|
|
171
|
+
constructor(tileset: TilesetJSON, options?: Tileset3DProps);
|
|
111
172
|
/** Release resources */
|
|
112
173
|
destroy(): void;
|
|
113
174
|
/** Is the tileset loaded (update needs to have been called at least once) */
|
|
@@ -127,8 +188,21 @@ export default class Tileset3D {
|
|
|
127
188
|
/**
|
|
128
189
|
* Update visible tiles relying on a list of viewports
|
|
129
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
|
|
130
199
|
*/
|
|
131
|
-
|
|
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;
|
|
132
206
|
/**
|
|
133
207
|
* Check if traversal is needed for particular viewport
|
|
134
208
|
* @param {string} viewportId - id of a viewport
|
|
@@ -144,28 +218,46 @@ export default class Tileset3D {
|
|
|
144
218
|
* Update tiles relying on data from all traversers
|
|
145
219
|
*/
|
|
146
220
|
_updateTiles(): void;
|
|
147
|
-
_tilesChanged(oldSelectedTiles:
|
|
221
|
+
_tilesChanged(oldSelectedTiles: Tile3D[], selectedTiles: Tile3D[]): boolean;
|
|
148
222
|
_loadTiles(): void;
|
|
149
223
|
_unloadTiles(): void;
|
|
150
224
|
_updateStats(): void;
|
|
151
|
-
_initializeTileSet(tilesetJson:
|
|
152
|
-
|
|
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;
|
|
153
240
|
_initializeStats(): void;
|
|
154
|
-
_initializeTileHeaders(tilesetJson:
|
|
155
|
-
_initializeTraverser():
|
|
156
|
-
_destroyTileHeaders(parentTile:
|
|
157
|
-
_loadTile(tile:
|
|
158
|
-
_onTileLoadError(tile:
|
|
159
|
-
_onTileLoad(tile:
|
|
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;
|
|
160
252
|
_onStartTileLoading(): void;
|
|
161
253
|
_onEndTileLoading(): void;
|
|
162
|
-
_addTileToCache(tile:
|
|
254
|
+
_addTileToCache(tile: Tile3D): void;
|
|
163
255
|
_updateCacheStats(tile: any): void;
|
|
164
256
|
_unloadTile(tile: any): void;
|
|
165
257
|
_destroy(): void;
|
|
166
258
|
_destroySubtree(tile: any): void;
|
|
167
259
|
_destroyTile(tile: any): void;
|
|
168
|
-
|
|
260
|
+
_initializeTiles3DTileset(tilesetJson: any): void;
|
|
169
261
|
_initializeI3STileset(): void;
|
|
170
262
|
}
|
|
171
263
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-3d.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-3d.ts"],"names":[],"mappings":"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"}
|