@loaders.gl/tiles 4.2.0-alpha.3 → 4.2.0-alpha.5
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/constants.js +34 -32
- package/dist/dist.dev.js +723 -342
- package/dist/dist.min.js +9 -0
- package/dist/index.cjs +98 -240
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts +1 -1
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -1
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js +45 -35
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.js +40 -22
- package/dist/tileset/format-i3s/i3s-tile-manager.d.ts +1 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +1 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.js +67 -69
- package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts +2 -2
- package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +1 -1
- package/dist/tileset/format-i3s/i3s-tileset-traverser.js +78 -57
- package/dist/tileset/helpers/3d-tiles-options.d.ts +1 -1
- package/dist/tileset/helpers/3d-tiles-options.d.ts.map +1 -1
- package/dist/tileset/helpers/3d-tiles-options.js +3 -4
- package/dist/tileset/helpers/bounding-volume.js +269 -128
- package/dist/tileset/helpers/frame-state.d.ts +1 -1
- package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset/helpers/frame-state.js +114 -95
- package/dist/tileset/helpers/i3s-lod.d.ts +2 -2
- package/dist/tileset/helpers/i3s-lod.d.ts.map +1 -1
- package/dist/tileset/helpers/i3s-lod.js +68 -39
- package/dist/tileset/helpers/tiles-3d-lod.js +97 -85
- package/dist/tileset/helpers/transform-utils.js +45 -44
- package/dist/tileset/helpers/zoom.d.ts +1 -1
- package/dist/tileset/helpers/zoom.d.ts.map +1 -1
- package/dist/tileset/helpers/zoom.js +70 -40
- package/dist/tileset/tile-3d.d.ts +5 -5
- package/dist/tileset/tile-3d.d.ts.map +1 -1
- package/dist/tileset/tile-3d.js +595 -399
- package/dist/tileset/tileset-3d.d.ts +5 -5
- package/dist/tileset/tileset-3d.d.ts.map +1 -1
- package/dist/tileset/tileset-3d.js +721 -597
- package/dist/tileset/tileset-cache.d.ts +2 -2
- package/dist/tileset/tileset-cache.d.ts.map +1 -1
- package/dist/tileset/tileset-cache.js +62 -48
- package/dist/tileset/tileset-traverser.d.ts +3 -3
- package/dist/tileset/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset/tileset-traverser.js +281 -220
- package/dist/types.js +0 -1
- package/dist/utils/doubly-linked-list-node.js +14 -9
- package/dist/utils/doubly-linked-list.d.ts +1 -1
- package/dist/utils/doubly-linked-list.d.ts.map +1 -1
- package/dist/utils/doubly-linked-list.js +85 -56
- package/dist/utils/managed-array.js +138 -76
- package/package.json +10 -9
- package/dist/constants.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-tileset-traverser.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/tiles-3d-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/tileset-traverser.js.map +0 -1
- package/dist/types.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
|
@@ -1,25 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Counter to register pending tile headers for the particular frameNumber
|
|
3
|
+
* Until all tiles are loaded we won't call `onTraversalEnd` callback
|
|
4
|
+
*/
|
|
1
5
|
export class I3SPendingTilesRegister {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
constructor() {
|
|
7
|
+
this.frameNumberMap = new Map();
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Register a new pending tile header for the particular frameNumber
|
|
11
|
+
* @param viewportId
|
|
12
|
+
* @param frameNumber
|
|
13
|
+
*/
|
|
14
|
+
register(viewportId, frameNumber) {
|
|
15
|
+
const viewportMap = this.frameNumberMap.get(viewportId) || new Map();
|
|
16
|
+
const oldCount = viewportMap.get(frameNumber) || 0;
|
|
17
|
+
viewportMap.set(frameNumber, oldCount + 1);
|
|
18
|
+
this.frameNumberMap.set(viewportId, viewportMap);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Deregister a pending tile header for the particular frameNumber
|
|
22
|
+
* @param viewportId
|
|
23
|
+
* @param frameNumber
|
|
24
|
+
*/
|
|
25
|
+
deregister(viewportId, frameNumber) {
|
|
26
|
+
const viewportMap = this.frameNumberMap.get(viewportId);
|
|
27
|
+
if (!viewportMap) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const oldCount = viewportMap.get(frameNumber) || 1;
|
|
31
|
+
viewportMap.set(frameNumber, oldCount - 1);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Check is there are no pending tile headers registered for the particular frameNumber
|
|
35
|
+
* @param viewportId
|
|
36
|
+
* @param frameNumber
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
isZero(viewportId, frameNumber) {
|
|
40
|
+
const count = this.frameNumberMap.get(viewportId)?.get(frameNumber) || 0;
|
|
41
|
+
return count === 0;
|
|
15
42
|
}
|
|
16
|
-
const oldCount = viewportMap.get(frameNumber) || 1;
|
|
17
|
-
viewportMap.set(frameNumber, oldCount - 1);
|
|
18
|
-
}
|
|
19
|
-
isZero(viewportId, frameNumber) {
|
|
20
|
-
var _this$frameNumberMap$;
|
|
21
|
-
const count = ((_this$frameNumberMap$ = this.frameNumberMap.get(viewportId)) === null || _this$frameNumberMap$ === void 0 ? void 0 : _this$frameNumberMap$.get(frameNumber)) || 0;
|
|
22
|
-
return count === 0;
|
|
23
|
-
}
|
|
24
43
|
}
|
|
25
|
-
//# sourceMappingURL=i3s-pending-tiles-register.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-tile-manager.d.ts","sourceRoot":"","sources":["../../../src/tileset/format-i3s/i3s-tile-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,
|
|
1
|
+
{"version":3,"file":"i3s-tile-manager.d.ts","sourceRoot":"","sources":["../../../src/tileset/format-i3s/i3s-tile-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,kCAA+B;AAUlD,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAAiC;;IAM7D;;;;;;OAMG;IACH,GAAG,CAAC,OAAO,KAAA,EAAE,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,UAAU,EAAE,UAAU;IAiClD;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAA,EAAE,UAAU,EAAE,UAAU;IAmBlC;;;;OAIG;IACH,IAAI,CAAC,GAAG,KAAA;IAIR;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;CAGlE"}
|
|
@@ -1,78 +1,76 @@
|
|
|
1
1
|
import { I3SPendingTilesRegister } from "./i3s-pending-tiles-register.js";
|
|
2
2
|
const STATUS = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
REQUESTED: 'REQUESTED',
|
|
4
|
+
COMPLETED: 'COMPLETED',
|
|
5
|
+
ERROR: 'ERROR'
|
|
6
6
|
};
|
|
7
|
+
// A helper class to manage tile metadata fetching
|
|
7
8
|
export class I3STileManager {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this._statusMap = {};
|
|
12
|
-
}
|
|
13
|
-
add(request, key, callback, frameState) {
|
|
14
|
-
if (!this._statusMap[key]) {
|
|
15
|
-
const {
|
|
16
|
-
frameNumber,
|
|
17
|
-
viewport: {
|
|
18
|
-
id
|
|
19
|
-
}
|
|
20
|
-
} = frameState;
|
|
21
|
-
this._statusMap[key] = {
|
|
22
|
-
request,
|
|
23
|
-
callback,
|
|
24
|
-
key,
|
|
25
|
-
frameState,
|
|
26
|
-
status: STATUS.REQUESTED
|
|
27
|
-
};
|
|
28
|
-
this.pendingTilesRegister.register(id, frameNumber);
|
|
29
|
-
request().then(data => {
|
|
30
|
-
this._statusMap[key].status = STATUS.COMPLETED;
|
|
31
|
-
const {
|
|
32
|
-
frameNumber: actualFrameNumber,
|
|
33
|
-
viewport: {
|
|
34
|
-
id
|
|
35
|
-
}
|
|
36
|
-
} = this._statusMap[key].frameState;
|
|
37
|
-
this.pendingTilesRegister.deregister(id, actualFrameNumber);
|
|
38
|
-
this._statusMap[key].callback(data, frameState);
|
|
39
|
-
}).catch(error => {
|
|
40
|
-
this._statusMap[key].status = STATUS.ERROR;
|
|
41
|
-
const {
|
|
42
|
-
frameNumber: actualFrameNumber,
|
|
43
|
-
viewport: {
|
|
44
|
-
id
|
|
45
|
-
}
|
|
46
|
-
} = this._statusMap[key].frameState;
|
|
47
|
-
this.pendingTilesRegister.deregister(id, actualFrameNumber);
|
|
48
|
-
callback(error);
|
|
49
|
-
});
|
|
9
|
+
constructor() {
|
|
10
|
+
this.pendingTilesRegister = new I3SPendingTilesRegister();
|
|
11
|
+
this._statusMap = {};
|
|
50
12
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Add request to map
|
|
15
|
+
* @param request - node metadata request
|
|
16
|
+
* @param key - unique key
|
|
17
|
+
* @param callback - callback after request completed
|
|
18
|
+
* @param frameState - frameState data
|
|
19
|
+
*/
|
|
20
|
+
add(request, key, callback, frameState) {
|
|
21
|
+
if (!this._statusMap[key]) {
|
|
22
|
+
const { frameNumber, viewport: { id } } = frameState;
|
|
23
|
+
this._statusMap[key] = { request, callback, key, frameState, status: STATUS.REQUESTED };
|
|
24
|
+
// Register pending request for the frameNumber
|
|
25
|
+
this.pendingTilesRegister.register(id, frameNumber);
|
|
26
|
+
request()
|
|
27
|
+
.then((data) => {
|
|
28
|
+
this._statusMap[key].status = STATUS.COMPLETED;
|
|
29
|
+
const { frameNumber: actualFrameNumber, viewport: { id } } = this._statusMap[key].frameState;
|
|
30
|
+
// Deregister pending request for the frameNumber
|
|
31
|
+
this.pendingTilesRegister.deregister(id, actualFrameNumber);
|
|
32
|
+
this._statusMap[key].callback(data, frameState);
|
|
33
|
+
})
|
|
34
|
+
.catch((error) => {
|
|
35
|
+
this._statusMap[key].status = STATUS.ERROR;
|
|
36
|
+
const { frameNumber: actualFrameNumber, viewport: { id } } = this._statusMap[key].frameState;
|
|
37
|
+
// Deregister pending request for the frameNumber
|
|
38
|
+
this.pendingTilesRegister.deregister(id, actualFrameNumber);
|
|
39
|
+
callback(error);
|
|
40
|
+
});
|
|
58
41
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Update request if it is still actual for the new frameState
|
|
45
|
+
* @param key - unique key
|
|
46
|
+
* @param frameState - frameState data
|
|
47
|
+
*/
|
|
48
|
+
update(key, frameState) {
|
|
49
|
+
if (this._statusMap[key]) {
|
|
50
|
+
// Deregister pending request for the old frameNumber
|
|
51
|
+
const { frameNumber, viewport: { id } } = this._statusMap[key].frameState;
|
|
52
|
+
this.pendingTilesRegister.deregister(id, frameNumber);
|
|
53
|
+
// Register pending request for the new frameNumber
|
|
54
|
+
const { frameNumber: newFrameNumber, viewport: { id: newViewportId } } = frameState;
|
|
55
|
+
this.pendingTilesRegister.register(newViewportId, newFrameNumber);
|
|
56
|
+
this._statusMap[key].frameState = frameState;
|
|
65
57
|
}
|
|
66
|
-
} = frameState;
|
|
67
|
-
this.pendingTilesRegister.register(newViewportId, newFrameNumber);
|
|
68
|
-
this._statusMap[key].frameState = frameState;
|
|
69
58
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Find request in the map
|
|
61
|
+
* @param key - unique key
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
find(key) {
|
|
65
|
+
return this._statusMap[key];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check it there are pending tile headers for the particular frameNumber
|
|
69
|
+
* @param viewportId
|
|
70
|
+
* @param frameNumber
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
73
|
+
hasPendingTiles(viewportId, frameNumber) {
|
|
74
|
+
return !this.pendingTilesRegister.isZero(viewportId, frameNumber);
|
|
75
|
+
}
|
|
77
76
|
}
|
|
78
|
-
//# sourceMappingURL=i3s-tile-manager.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TilesetTraverser } from
|
|
2
|
-
import { FrameState } from
|
|
1
|
+
import { TilesetTraverser } from "../tileset-traverser.js";
|
|
2
|
+
import { FrameState } from "../helpers/frame-state.js";
|
|
3
3
|
export declare class I3STilesetTraverser extends TilesetTraverser {
|
|
4
4
|
private _tileManager;
|
|
5
5
|
constructor(options: any);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-tileset-traverser.d.ts","sourceRoot":"","sources":["../../../src/tileset/format-i3s/i3s-tileset-traverser.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,
|
|
1
|
+
{"version":3,"file":"i3s-tileset-traverser.d.ts","sourceRoot":"","sources":["../../../src/tileset/format-i3s/i3s-tileset-traverser.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,gCAA6B;AAKtD,OAAO,EAAC,UAAU,EAAC,kCAA+B;AAElD,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,OAAO,CAAC,YAAY,CAAiB;gBAEzB,OAAO,KAAA;IAKnB;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAIlD,YAAY,CAAC,IAAI,KAAA,EAAE,UAAU,EAAE,UAAU;IAKzC,gBAAgB,CAAC,IAAI,KAAA,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;IAoCjD,SAAS,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA;IAe/B;;;;;;;OAOG;IACH,WAAW,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA,EAAE,UAAU,KAAA;CAgBrC"}
|
|
@@ -4,64 +4,85 @@ import { getLodStatus } from "../helpers/i3s-lod.js";
|
|
|
4
4
|
import { Tile3D } from "../tile-3d.js";
|
|
5
5
|
import { I3STileManager } from "./i3s-tile-manager.js";
|
|
6
6
|
export class I3STilesetTraverser extends TilesetTraverser {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super(options);
|
|
9
|
+
this._tileManager = new I3STileManager();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Check if there are no penging tile header requests,
|
|
13
|
+
* that means the traversal is finished and we can call
|
|
14
|
+
* following-up callbacks.
|
|
15
|
+
*/
|
|
16
|
+
traversalFinished(frameState) {
|
|
17
|
+
return !this._tileManager.hasPendingTiles(frameState.viewport.id, this._frameNumber || 0);
|
|
18
|
+
}
|
|
19
|
+
shouldRefine(tile, frameState) {
|
|
20
|
+
tile._lodJudge = getLodStatus(tile, frameState);
|
|
21
|
+
return tile._lodJudge === 'DIG';
|
|
22
|
+
}
|
|
23
|
+
updateChildTiles(tile, frameState) {
|
|
24
|
+
const children = tile.header.children || [];
|
|
25
|
+
// children which are already fetched and constructed as Tile3D instances
|
|
26
|
+
const childTiles = tile.children;
|
|
27
|
+
const tileset = tile.tileset;
|
|
28
|
+
for (const child of children) {
|
|
29
|
+
const extendedId = `${child.id}-${frameState.viewport.id}`;
|
|
30
|
+
// if child tile is not fetched
|
|
31
|
+
const childTile = childTiles && childTiles.find((t) => t.id === extendedId);
|
|
32
|
+
if (!childTile) {
|
|
33
|
+
let request = () => this._loadTile(child.id, tileset);
|
|
34
|
+
const cachedRequest = this._tileManager.find(extendedId);
|
|
35
|
+
if (!cachedRequest) {
|
|
36
|
+
// eslint-disable-next-line max-depth
|
|
37
|
+
if (tileset.tileset.nodePages) {
|
|
38
|
+
request = () => tileset.tileset.nodePagesTile.formTileFromNodePages(child.id);
|
|
39
|
+
}
|
|
40
|
+
this._tileManager.add(request, extendedId, (header) => this._onTileLoad(header, tile, extendedId), frameState);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// update frameNumber since it is still needed in current frame
|
|
44
|
+
this._tileManager.update(extendedId, frameState);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (childTile) {
|
|
48
|
+
// if child tile is fetched and available
|
|
49
|
+
this.updateTile(childTile, frameState);
|
|
50
|
+
}
|
|
36
51
|
}
|
|
37
|
-
|
|
38
|
-
this.updateTile(childTile, frameState);
|
|
39
|
-
}
|
|
52
|
+
return false;
|
|
40
53
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
async _loadTile(nodeId, tileset) {
|
|
55
|
+
const { loader } = tileset;
|
|
56
|
+
const nodeUrl = tileset.getTileUrl(`${tileset.url}/nodes/${nodeId}`);
|
|
57
|
+
// load metadata
|
|
58
|
+
const options = {
|
|
59
|
+
...tileset.loadOptions,
|
|
60
|
+
i3s: {
|
|
61
|
+
...tileset.loadOptions.i3s,
|
|
62
|
+
isTileHeader: true
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
return await load(nodeUrl, loader, options);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The callback to init Tile3D instance after loading the tile JSON
|
|
69
|
+
* @param {Object} header - the tile JSON from a dataset
|
|
70
|
+
* @param {Tile3D} tile - the parent Tile3D instance
|
|
71
|
+
* @param {string} extendedId - optional ID to separate copies of a tile for different viewports.
|
|
72
|
+
* const extendedId = `${tile.id}-${frameState.viewport.id}`;
|
|
73
|
+
* @return {void}
|
|
74
|
+
*/
|
|
75
|
+
_onTileLoad(header, tile, extendedId) {
|
|
76
|
+
// after child tile is fetched
|
|
77
|
+
const childTile = new Tile3D(tile.tileset, header, tile, extendedId);
|
|
78
|
+
tile.children.push(childTile);
|
|
79
|
+
const frameState = this._tileManager.find(childTile.id).frameState;
|
|
80
|
+
this.updateTile(childTile, frameState);
|
|
81
|
+
// after tile fetched, resume traversal if still in current update/traversal frame
|
|
82
|
+
if (this._frameNumber === frameState.frameNumber &&
|
|
83
|
+
(this.traversalFinished(frameState) ||
|
|
84
|
+
new Date().getTime() - this.lastUpdate > this.updateDebounceTime)) {
|
|
85
|
+
this.executeTraversal(childTile, frameState);
|
|
86
|
+
}
|
|
64
87
|
}
|
|
65
|
-
}
|
|
66
88
|
}
|
|
67
|
-
//# sourceMappingURL=i3s-tileset-traverser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-tiles-options.d.ts","sourceRoot":"","sources":["../../../src/tileset/helpers/3d-tiles-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"3d-tiles-options.d.ts","sourceRoot":"","sources":["../../../src/tileset/helpers/3d-tiles-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,yBAAsB;AAE7C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,GAAG;IAAC,eAAe,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CAAC,CAIxF"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export function get3dTilesOptions(tileset) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
return {
|
|
3
|
+
assetGltfUpAxis: (tileset.asset && tileset.asset.gltfUpAxis) || 'Y'
|
|
4
|
+
};
|
|
5
5
|
}
|
|
6
|
-
//# sourceMappingURL=3d-tiles-options.js.map
|