@loaders.gl/tiles 3.3.0-alpha.8 → 3.3.0
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.d.ts.map +1 -1
- package/dist/constants.js +1 -0
- package/dist/dist.min.js +104 -102
- package/dist/es5/constants.js +1 -0
- package/dist/es5/constants.js.map +1 -1
- package/dist/es5/index.js +8 -9
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/tileset/{traversers → format-3d-tiles}/tileset-3d-traverser.js +4 -4
- package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
- package/dist/es5/tileset/{traversers → format-i3s}/i3s-pending-tiles-register.js +2 -2
- package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -0
- package/dist/es5/tileset/{traversers → format-i3s}/i3s-tile-manager.js +4 -4
- package/dist/es5/tileset/format-i3s/i3s-tile-manager.js.map +1 -0
- package/dist/es5/tileset/{traversers → format-i3s}/i3s-tileset-traverser.js +9 -8
- package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -0
- package/dist/es5/tileset/helpers/i3s-lod.js +1 -0
- package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -1
- package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/es5/tileset/helpers/transform-utils.js +1 -0
- package/dist/es5/tileset/helpers/transform-utils.js.map +1 -1
- package/dist/es5/tileset/helpers/zoom.js +1 -0
- package/dist/es5/tileset/helpers/zoom.js.map +1 -1
- package/dist/es5/tileset/tile-3d.js +9 -9
- package/dist/es5/tileset/tile-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-3d.js +13 -13
- package/dist/es5/tileset/tileset-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-cache.js +4 -4
- package/dist/es5/tileset/tileset-cache.js.map +1 -1
- package/dist/es5/tileset/{traversers/tileset-traverser.js → tileset-traverser.js} +7 -6
- package/dist/es5/tileset/tileset-traverser.js.map +1 -0
- package/dist/es5/utils/doubly-linked-list-node.js +2 -2
- package/dist/es5/utils/doubly-linked-list-node.js.map +1 -1
- package/dist/es5/utils/doubly-linked-list.js +4 -4
- package/dist/es5/utils/doubly-linked-list.js.map +1 -1
- package/dist/es5/utils/managed-array.js +2 -2
- package/dist/es5/utils/managed-array.js.map +1 -1
- package/dist/esm/constants.js +2 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/index.js +6 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tileset/{traversers → format-3d-tiles}/tileset-3d-traverser.js +2 -2
- package/dist/esm/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
- package/dist/esm/tileset/{traversers → format-i3s}/i3s-pending-tiles-register.js +1 -1
- package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -0
- package/dist/esm/tileset/{traversers → format-i3s}/i3s-tile-manager.js +2 -2
- package/dist/esm/tileset/format-i3s/i3s-tile-manager.js.map +1 -0
- package/dist/esm/tileset/{traversers → format-i3s}/i3s-tileset-traverser.js +9 -8
- package/dist/esm/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -0
- package/dist/esm/tileset/helpers/i3s-lod.js +2 -0
- package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -1
- package/dist/esm/tileset/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/esm/tileset/helpers/transform-utils.js +2 -0
- package/dist/esm/tileset/helpers/transform-utils.js.map +1 -1
- package/dist/esm/tileset/helpers/zoom.js +2 -0
- package/dist/esm/tileset/helpers/zoom.js.map +1 -1
- package/dist/esm/tileset/tile-3d.js +4 -3
- package/dist/esm/tileset/tile-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-3d.js +8 -7
- package/dist/esm/tileset/tileset-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-cache.js +2 -2
- package/dist/esm/tileset/tileset-cache.js.map +1 -1
- package/dist/esm/tileset/{traversers/tileset-traverser.js → tileset-traverser.js} +4 -3
- package/dist/esm/tileset/tileset-traverser.js.map +1 -0
- package/dist/esm/utils/doubly-linked-list-node.js +1 -1
- package/dist/esm/utils/doubly-linked-list-node.js.map +1 -1
- package/dist/esm/utils/doubly-linked-list.js +2 -2
- package/dist/esm/utils/doubly-linked-list.js.map +1 -1
- package/dist/esm/utils/managed-array.js +1 -1
- package/dist/esm/utils/managed-array.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -8
- 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/{traversers → format-3d-tiles}/tileset-3d-traverser.js +6 -7
- package/dist/tileset/{traversers → format-i3s}/i3s-pending-tiles-register.d.ts +1 -1
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -0
- package/dist/tileset/{traversers → format-i3s}/i3s-pending-tiles-register.js +2 -1
- package/dist/tileset/{traversers → format-i3s}/i3s-tile-manager.d.ts +1 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +1 -0
- package/dist/tileset/{traversers → format-i3s}/i3s-tile-manager.js +4 -6
- package/dist/tileset/{traversers → format-i3s}/i3s-tileset-traverser.d.ts +6 -6
- package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +1 -0
- package/dist/tileset/{traversers → format-i3s}/i3s-tileset-traverser.js +13 -15
- 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 +1 -0
- package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +1 -1
- package/dist/tileset/helpers/tiles-3d-lod.js +3 -2
- package/dist/tileset/helpers/transform-utils.d.ts.map +1 -1
- package/dist/tileset/helpers/transform-utils.js +1 -0
- package/dist/tileset/helpers/zoom.d.ts.map +1 -1
- package/dist/tileset/helpers/zoom.js +1 -0
- package/dist/tileset/tile-3d.d.ts +10 -10
- package/dist/tileset/tile-3d.d.ts.map +1 -1
- package/dist/tileset/tile-3d.js +8 -9
- package/dist/tileset/tileset-3d.d.ts +3 -3
- package/dist/tileset/tileset-3d.d.ts.map +1 -1
- package/dist/tileset/tileset-3d.js +16 -16
- package/dist/tileset/tileset-cache.d.ts +1 -1
- package/dist/tileset/tileset-cache.d.ts.map +1 -1
- package/dist/tileset/tileset-cache.js +6 -7
- package/dist/tileset/{traversers/tileset-traverser.d.ts → tileset-traverser.d.ts} +6 -16
- package/dist/tileset/tileset-traverser.d.ts.map +1 -0
- package/dist/tileset/{traversers/tileset-traverser.js → tileset-traverser.js} +15 -9
- 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 +4 -3
- 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 +4 -7
- 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 +2 -1
- package/package.json +4 -4
- package/src/constants.ts +2 -0
- package/src/index.ts +6 -4
- package/src/tileset/{traversers → format-3d-tiles}/tileset-3d-traverser.ts +4 -2
- package/src/tileset/{traversers → format-i3s}/i3s-pending-tiles-register.ts +1 -1
- package/src/tileset/{traversers → format-i3s}/i3s-tile-manager.ts +2 -2
- package/src/tileset/{traversers → format-i3s}/i3s-tileset-traverser.ts +13 -13
- package/src/tileset/helpers/i3s-lod.ts +3 -1
- 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 +2 -0
- package/src/tileset/tile-3d.ts +16 -13
- package/src/tileset/tileset-3d.ts +12 -7
- package/src/tileset/tileset-cache.ts +4 -2
- package/src/tileset/{traversers/tileset-traverser.ts → tileset-traverser.ts} +17 -16
- 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/es5/tileset/traversers/i3s-pending-tiles-register.js.map +0 -1
- package/dist/es5/tileset/traversers/i3s-tile-manager.js.map +0 -1
- package/dist/es5/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
- package/dist/es5/tileset/traversers/tileset-3d-traverser.js.map +0 -1
- package/dist/es5/tileset/traversers/tileset-traverser.js.map +0 -1
- package/dist/esm/tileset/traversers/i3s-pending-tiles-register.js.map +0 -1
- package/dist/esm/tileset/traversers/i3s-tile-manager.js.map +0 -1
- package/dist/esm/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
- package/dist/esm/tileset/traversers/tileset-3d-traverser.js.map +0 -1
- package/dist/esm/tileset/traversers/tileset-traverser.js.map +0 -1
- package/dist/tileset/traversers/i3s-pending-tiles-register.d.ts.map +0 -1
- package/dist/tileset/traversers/i3s-tile-manager.d.ts.map +0 -1
- package/dist/tileset/traversers/i3s-tileset-traverser.d.ts.map +0 -1
- package/dist/tileset/traversers/tileset-3d-traverser.d.ts.map +0 -1
- package/dist/tileset/traversers/tileset-traverser.d.ts.map +0 -1
package/dist/tileset/tile-3d.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
2
|
+
// loaders.gl, MIT license
|
|
5
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Tile3D = void 0;
|
|
6
5
|
// This file is derived from the Cesium code base under Apache 2 license
|
|
7
6
|
// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
|
|
8
7
|
const core_1 = require("@math.gl/core");
|
|
@@ -13,7 +12,7 @@ const bounding_volume_1 = require("./helpers/bounding-volume");
|
|
|
13
12
|
const tiles_3d_lod_1 = require("./helpers/tiles-3d-lod");
|
|
14
13
|
const i3s_lod_1 = require("./helpers/i3s-lod");
|
|
15
14
|
const _3d_tiles_options_1 = require("./helpers/3d-tiles-options");
|
|
16
|
-
const tileset_traverser_1 =
|
|
15
|
+
const tileset_traverser_1 = require("./tileset-traverser");
|
|
17
16
|
const scratchVector = new core_1.Vector3();
|
|
18
17
|
function defined(x) {
|
|
19
18
|
return x !== undefined && x !== null;
|
|
@@ -23,13 +22,13 @@ function defined(x) {
|
|
|
23
22
|
* the content is loaded on-demand when needed based on the view.
|
|
24
23
|
* Do not construct this directly, instead access tiles through {@link Tileset3D#tileVisible}.
|
|
25
24
|
*/
|
|
26
|
-
class
|
|
25
|
+
class Tile3D {
|
|
27
26
|
/**
|
|
28
27
|
* @constructs
|
|
29
|
-
* Create a
|
|
28
|
+
* Create a Tile3D instance
|
|
30
29
|
* @param tileset - Tileset3D instance
|
|
31
30
|
* @param header - tile header - JSON loaded from a dataset
|
|
32
|
-
* @param parentHeader - parent
|
|
31
|
+
* @param parentHeader - parent Tile3D instance
|
|
33
32
|
* @param extendedId - optional ID to separate copies of a tile for different viewports.
|
|
34
33
|
* const extendedId = `${tile.id}-${frameState.viewport.id}`;
|
|
35
34
|
*/
|
|
@@ -77,7 +76,7 @@ class TileHeader {
|
|
|
77
76
|
this._cacheNode = null;
|
|
78
77
|
this._frameNumber = null;
|
|
79
78
|
this._cacheNode = null;
|
|
80
|
-
this.traverser = new tileset_traverser_1.
|
|
79
|
+
this.traverser = new tileset_traverser_1.TilesetTraverser({});
|
|
81
80
|
this._shouldRefine = false;
|
|
82
81
|
this._distanceToCamera = 0;
|
|
83
82
|
this._centerZDepth = 0;
|
|
@@ -584,4 +583,4 @@ class TileHeader {
|
|
|
584
583
|
}
|
|
585
584
|
}
|
|
586
585
|
}
|
|
587
|
-
exports.
|
|
586
|
+
exports.Tile3D = Tile3D;
|
|
@@ -2,9 +2,9 @@ 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
4
|
import { FrameState } from './helpers/frame-state';
|
|
5
|
-
import Tile3D from './tile-3d';
|
|
6
|
-
import TilesetTraverser from './traversers/tileset-traverser';
|
|
5
|
+
import { Tile3D } from './tile-3d';
|
|
7
6
|
import { Viewport } from '../types';
|
|
7
|
+
import { TilesetTraverser } from './tileset-traverser';
|
|
8
8
|
export type Tileset3DProps = {
|
|
9
9
|
throttleRequests?: boolean;
|
|
10
10
|
maxRequests?: number;
|
|
@@ -54,7 +54,7 @@ type Props = {
|
|
|
54
54
|
[key: string]: any;
|
|
55
55
|
};
|
|
56
56
|
};
|
|
57
|
-
export
|
|
57
|
+
export declare class Tileset3D {
|
|
58
58
|
options: Props;
|
|
59
59
|
loadOptions: {
|
|
60
60
|
[key: string]: any;
|
|
@@ -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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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Tileset3D = void 0;
|
|
2
5
|
// This file is derived from the Cesium code base under Apache 2 license
|
|
3
6
|
// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
|
|
4
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
7
|
/*
|
|
9
8
|
|
|
10
9
|
The Tileset loading and rendering flow is as below,
|
|
@@ -43,15 +42,16 @@ const core_1 = require("@math.gl/core");
|
|
|
43
42
|
const geospatial_1 = require("@math.gl/geospatial");
|
|
44
43
|
const stats_1 = require("@probe.gl/stats");
|
|
45
44
|
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
46
|
-
const tileset_cache_1 =
|
|
45
|
+
const tileset_cache_1 = require("./tileset-cache");
|
|
47
46
|
const transform_utils_1 = require("./helpers/transform-utils");
|
|
48
47
|
const frame_state_1 = require("./helpers/frame-state");
|
|
49
48
|
const zoom_1 = require("./helpers/zoom");
|
|
50
|
-
const tile_3d_1 =
|
|
51
|
-
const tileset_3d_traverser_1 = __importDefault(require("./traversers/tileset-3d-traverser"));
|
|
52
|
-
const tileset_traverser_1 = __importDefault(require("./traversers/tileset-traverser"));
|
|
53
|
-
const i3s_tileset_traverser_1 = __importDefault(require("./traversers/i3s-tileset-traverser"));
|
|
49
|
+
const tile_3d_1 = require("./tile-3d");
|
|
54
50
|
const constants_1 = require("../constants");
|
|
51
|
+
const tileset_traverser_1 = require("./tileset-traverser");
|
|
52
|
+
// TODO - these should be moved into their respective modules
|
|
53
|
+
const tileset_3d_traverser_1 = require("./format-3d-tiles/tileset-3d-traverser");
|
|
54
|
+
const i3s_tileset_traverser_1 = require("./format-i3s/i3s-tileset-traverser");
|
|
55
55
|
const DEFAULT_PROPS = {
|
|
56
56
|
description: '',
|
|
57
57
|
ellipsoid: geospatial_1.Ellipsoid.WGS84,
|
|
@@ -148,7 +148,7 @@ class Tileset3D {
|
|
|
148
148
|
this.traverseCounter = 0;
|
|
149
149
|
this.geometricError = 0;
|
|
150
150
|
this._traverser = this._initializeTraverser();
|
|
151
|
-
this._cache = new tileset_cache_1.
|
|
151
|
+
this._cache = new tileset_cache_1.TilesetCache();
|
|
152
152
|
this._requestScheduler = new loader_utils_1.RequestScheduler({
|
|
153
153
|
throttleRequests: this.options.throttleRequests,
|
|
154
154
|
maxRequests: this.options.maxRequests
|
|
@@ -505,7 +505,7 @@ class Tileset3D {
|
|
|
505
505
|
_initializeTileHeaders(tilesetJson, parentTileHeader) {
|
|
506
506
|
// A tileset JSON file referenced from a tile may exist in a different directory than the root tileset.
|
|
507
507
|
// Get the basePath relative to the external tileset.
|
|
508
|
-
const rootTile = new tile_3d_1.
|
|
508
|
+
const rootTile = new tile_3d_1.Tile3D(this, tilesetJson.root, parentTileHeader); // resource
|
|
509
509
|
// If there is a parentTileHeader, add the root of the currently loading tileset
|
|
510
510
|
// to parentTileHeader's children, and update its depth.
|
|
511
511
|
if (parentTileHeader) {
|
|
@@ -521,7 +521,7 @@ class Tileset3D {
|
|
|
521
521
|
this.stats.get(TILES_TOTAL).incrementCount();
|
|
522
522
|
const children = tile.header.children || [];
|
|
523
523
|
for (const childHeader of children) {
|
|
524
|
-
const childTile = new tile_3d_1.
|
|
524
|
+
const childTile = new tile_3d_1.Tile3D(this, childHeader, tile);
|
|
525
525
|
tile.children.push(childTile);
|
|
526
526
|
childTile.depth = tile.depth + 1;
|
|
527
527
|
stack.push(childTile);
|
|
@@ -535,13 +535,13 @@ class Tileset3D {
|
|
|
535
535
|
const type = this.type;
|
|
536
536
|
switch (type) {
|
|
537
537
|
case constants_1.TILESET_TYPE.TILES3D:
|
|
538
|
-
TraverserClass = tileset_3d_traverser_1.
|
|
538
|
+
TraverserClass = tileset_3d_traverser_1.Tileset3DTraverser;
|
|
539
539
|
break;
|
|
540
540
|
case constants_1.TILESET_TYPE.I3S:
|
|
541
|
-
TraverserClass = i3s_tileset_traverser_1.
|
|
541
|
+
TraverserClass = i3s_tileset_traverser_1.I3STilesetTraverser;
|
|
542
542
|
break;
|
|
543
543
|
default:
|
|
544
|
-
TraverserClass = tileset_traverser_1.
|
|
544
|
+
TraverserClass = tileset_traverser_1.TilesetTraverser;
|
|
545
545
|
}
|
|
546
546
|
return new TraverserClass({
|
|
547
547
|
basePath: this.basePath,
|
|
@@ -716,7 +716,7 @@ class Tileset3D {
|
|
|
716
716
|
}
|
|
717
717
|
}
|
|
718
718
|
}
|
|
719
|
-
exports.
|
|
719
|
+
exports.Tileset3D = Tileset3D;
|
|
720
720
|
function getQueryParamString(queryParams) {
|
|
721
721
|
const queryParamStrings = [];
|
|
722
722
|
for (const key of Object.keys(queryParams)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-cache.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tileset-cache.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-cache.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,UAAU,CAAU;;IAU5B,KAAK;IAOL,KAAK,CAAC,IAAI,KAAA;IAOV,GAAG,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA,EAAE,WAAW,KAAA;IAU9B,UAAU,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA,EAAE,cAAc,CAAC,KAAA;IAazC,WAAW,CAAC,OAAO,KAAA,EAAE,cAAc,KAAA;IA0BnC,IAAI;CAGL"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.TilesetCache = void 0;
|
|
2
5
|
// This file is derived from the Cesium code base under Apache 2 license
|
|
3
6
|
// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
|
|
4
|
-
|
|
5
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
const doubly_linked_list_1 = __importDefault(require("../utils/doubly-linked-list"));
|
|
7
|
+
const doubly_linked_list_1 = require("../utils/doubly-linked-list");
|
|
9
8
|
function defined(x) {
|
|
10
9
|
return x !== undefined && x !== null;
|
|
11
10
|
}
|
|
@@ -18,7 +17,7 @@ class TilesetCache {
|
|
|
18
17
|
constructor() {
|
|
19
18
|
// [head, sentinel) -> tiles that weren't selected this frame and may be removed from the cache
|
|
20
19
|
// (sentinel, tail] -> tiles that were selected this frame
|
|
21
|
-
this._list = new doubly_linked_list_1.
|
|
20
|
+
this._list = new doubly_linked_list_1.DoublyLinkedList();
|
|
22
21
|
this._sentinel = this._list.add('sentinel');
|
|
23
22
|
this._trimTiles = false;
|
|
24
23
|
}
|
|
@@ -76,4 +75,4 @@ class TilesetCache {
|
|
|
76
75
|
this._trimTiles = true;
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
|
-
exports.
|
|
78
|
+
exports.TilesetCache = TilesetCache;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ManagedArray from '
|
|
2
|
-
import { FrameState } from '
|
|
1
|
+
import { ManagedArray } from '../utils/managed-array';
|
|
2
|
+
import { FrameState } from './helpers/frame-state';
|
|
3
3
|
export type TilesetTraverserProps = {
|
|
4
4
|
loadSiblings?: boolean;
|
|
5
5
|
skipLevelOfDetail?: boolean;
|
|
@@ -9,21 +9,11 @@ export type TilesetTraverserProps = {
|
|
|
9
9
|
[key: string]: any;
|
|
10
10
|
};
|
|
11
11
|
basePath?: string;
|
|
12
|
+
updateTransforms?: boolean;
|
|
12
13
|
};
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
updateTransforms: boolean;
|
|
17
|
-
maximumScreenSpaceError: number;
|
|
18
|
-
onTraversalEnd: (frameState: any) => any;
|
|
19
|
-
viewportTraversersMap: {
|
|
20
|
-
[key: string]: any;
|
|
21
|
-
};
|
|
22
|
-
basePath: string;
|
|
23
|
-
};
|
|
24
|
-
export declare const DEFAULT_PROPS: Props;
|
|
25
|
-
export default class TilesetTraverser {
|
|
26
|
-
options: Props;
|
|
14
|
+
export declare const DEFAULT_PROPS: Required<TilesetTraverserProps>;
|
|
15
|
+
export declare class TilesetTraverser {
|
|
16
|
+
options: Required<TilesetTraverserProps>;
|
|
27
17
|
root: any;
|
|
28
18
|
requestedTiles: object;
|
|
29
19
|
selectedTiles: object;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileset-traverser.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-traverser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,UAAU,KAAA,KAAK,GAAG,CAAC;IACrC,qBAAqB,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAYF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,qBAAqB,CAQzD,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAEzC,IAAI,EAAE,GAAG,CAAC;IACV,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAwB;IACpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,QAAQ;IAC7C,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC;IACxC,SAAS,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAC7C,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;gBAKhD,OAAO,EAAE,qBAAqB;IAuB1C,QAAQ,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA,EAAE,OAAO,KAAA;IAclC,KAAK;IAgBL,gBAAgB,CAAC,IAAI,KAAA,EAAE,UAAU,EAAE,UAAU;IAmE7C,gBAAgB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IASjC,qBAAqB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA;IAuDpD,UAAU,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAK3B,UAAU,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAS3B,QAAQ,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IASzB,SAAS,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAQ1B,WAAW,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA,EAAE,eAAe,UAAQ,EAAE,gBAAgB,UAAQ;IAmB/E,cAAc,CAAC,IAAI,KAAA;IAMnB,gBAAgB,CAAC,IAAI,KAAA;IAOrB,YAAY,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA,EAAE,eAAe,KAAA;IAS9C,oBAAoB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAiBrC,uBAAuB,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAI5B,kBAAkB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAWnC,qBAAqB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;CAqCvC"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DEFAULT_PROPS = void 0;
|
|
7
|
-
const managed_array_1 =
|
|
8
|
-
const constants_1 = require("
|
|
3
|
+
exports.TilesetTraverser = exports.DEFAULT_PROPS = void 0;
|
|
4
|
+
const managed_array_1 = require("../utils/managed-array");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
// export type Props = {
|
|
7
|
+
// loadSiblings: boolean;
|
|
8
|
+
// skipLevelOfDetail: boolean;
|
|
9
|
+
// updateTransforms: boolean;
|
|
10
|
+
// maximumScreenSpaceError: number;
|
|
11
|
+
// onTraversalEnd: (frameState) => any;
|
|
12
|
+
// viewportTraversersMap: {[key: string]: any};
|
|
13
|
+
// basePath: string;
|
|
14
|
+
// };
|
|
9
15
|
exports.DEFAULT_PROPS = {
|
|
10
16
|
loadSiblings: false,
|
|
11
17
|
skipLevelOfDetail: false,
|
|
@@ -26,8 +32,8 @@ class TilesetTraverser {
|
|
|
26
32
|
this.options = { ...exports.DEFAULT_PROPS, ...options };
|
|
27
33
|
// TRAVERSAL
|
|
28
34
|
// temporary storage to hold the traversed tiles during a traversal
|
|
29
|
-
this._traversalStack = new managed_array_1.
|
|
30
|
-
this._emptyTraversalStack = new managed_array_1.
|
|
35
|
+
this._traversalStack = new managed_array_1.ManagedArray();
|
|
36
|
+
this._emptyTraversalStack = new managed_array_1.ManagedArray();
|
|
31
37
|
// set in every traverse cycle
|
|
32
38
|
this._frameNumber = null;
|
|
33
39
|
// fulfill in traverse call
|
|
@@ -297,7 +303,7 @@ class TilesetTraverser {
|
|
|
297
303
|
return allDescendantsLoaded;
|
|
298
304
|
}
|
|
299
305
|
}
|
|
300
|
-
exports.
|
|
306
|
+
exports.TilesetTraverser = TilesetTraverser;
|
|
301
307
|
// TODO
|
|
302
308
|
// enable expiration
|
|
303
309
|
// enable optimization hint
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doubly-linked-list-node.d.ts","sourceRoot":"","sources":["../../src/utils/doubly-linked-list-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doubly-linked-list-node.d.ts","sourceRoot":"","sources":["../../src/utils/doubly-linked-list-node.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,IAAI,MAAC;IACL,QAAQ,MAAC;IACT,IAAI,MAAC;gBAEO,IAAI,KAAA,EAAE,QAAQ,KAAA,EAAE,IAAI,KAAA;CAKjC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DoublyLinkedListNode = void 0;
|
|
2
5
|
// This file is derived from the Cesium code base under Apache 2 license
|
|
3
6
|
// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
7
|
/**
|
|
6
8
|
* Doubly linked list node
|
|
7
|
-
*
|
|
8
9
|
* @private
|
|
9
10
|
*/
|
|
10
11
|
class DoublyLinkedListNode {
|
|
@@ -14,4 +15,4 @@ class DoublyLinkedListNode {
|
|
|
14
15
|
this.next = next;
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
|
-
exports.
|
|
18
|
+
exports.DoublyLinkedListNode = DoublyLinkedListNode;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import DoublyLinkedListNode from '
|
|
1
|
+
import { DoublyLinkedListNode } from './doubly-linked-list-node';
|
|
2
2
|
/**
|
|
3
3
|
* Doubly linked list
|
|
4
|
-
*
|
|
5
4
|
* @private
|
|
6
5
|
*/
|
|
7
|
-
export
|
|
6
|
+
export declare class DoublyLinkedList {
|
|
8
7
|
head: DoublyLinkedListNode | null;
|
|
9
8
|
tail: DoublyLinkedListNode | null;
|
|
10
9
|
_length: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doubly-linked-list.d.ts","sourceRoot":"","sources":["../../src/utils/doubly-linked-list.ts"],"names":[],"mappings":"AAGA,OAAO,oBAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"doubly-linked-list.d.ts","sourceRoot":"","sources":["../../src/utils/doubly-linked-list.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAE/D;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACzC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACzC,OAAO,SAAK;IAEZ,IAAI,MAAM,WAET;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAI,KAAA;IAgBR;;;OAGG;IACH,MAAM,CAAC,IAAI,KAAA;IA4BX;;;;OAIG;IACH,MAAM,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA;IAUrB,OAAO,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA;CAgBvB"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// This file is derived from the Cesium code base under Apache 2 license
|
|
3
3
|
// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
|
|
4
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
|
-
};
|
|
7
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
|
|
5
|
+
exports.DoublyLinkedList = void 0;
|
|
6
|
+
const doubly_linked_list_node_1 = require("./doubly-linked-list-node");
|
|
9
7
|
/**
|
|
10
8
|
* Doubly linked list
|
|
11
|
-
*
|
|
12
9
|
* @private
|
|
13
10
|
*/
|
|
14
11
|
class DoublyLinkedList {
|
|
@@ -26,7 +23,7 @@ class DoublyLinkedList {
|
|
|
26
23
|
* @return {DoublyLinkedListNode}
|
|
27
24
|
*/
|
|
28
25
|
add(item) {
|
|
29
|
-
const node = new doubly_linked_list_node_1.
|
|
26
|
+
const node = new doubly_linked_list_node_1.DoublyLinkedListNode(item, this.tail, null);
|
|
30
27
|
if (this.tail) {
|
|
31
28
|
this.tail.next = node;
|
|
32
29
|
this.tail = node;
|
|
@@ -97,4 +94,4 @@ class DoublyLinkedList {
|
|
|
97
94
|
++this._length;
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
|
-
exports.
|
|
97
|
+
exports.DoublyLinkedList = DoublyLinkedList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-array.d.ts","sourceRoot":"","sources":["../../src/utils/managed-array.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,
|
|
1
|
+
{"version":3,"file":"managed-array.d.ts","sourceRoot":"","sources":["../../src/utils/managed-array.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,IAAI,gBAAa;IACjB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;gBAEJ,MAAM,SAAI;IAKtB;;;;;;OAMG;IACH,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,QAAA,EAKhB;IAED;;;;;;OAMG;IACH,IAAI,MAAM,UAET;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAK,KAAA;IAKT;;;;;OAKG;IACH,GAAG,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;IAelB,MAAM,CAAC,OAAO,KAAA;IASd;;;;OAIG;IACH,IAAI;IAIJ;;;;OAIG;IACH,IAAI,CAAC,OAAO,KAAA;IAQZ;;;;OAIG;IACH,GAAG;IAMH;;;;OAIG;IACH,OAAO,CAAC,MAAM,KAAA;IAQd;;;;OAIG;IACH,MAAM,CAAC,MAAM,KAAA;IAMb;;;;OAIG;IACH,IAAI,CAAC,MAAM,KAAA;IAOX,KAAK;IAML,IAAI,CAAC,MAAM,KAAA;CAGZ"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// This file is derived from the Cesium code base under Apache 2 license
|
|
3
3
|
// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ManagedArray = void 0;
|
|
5
6
|
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
6
7
|
/**
|
|
7
8
|
* A wrapper around arrays so that the internal length of the array can be manually managed.
|
|
@@ -148,4 +149,4 @@ class ManagedArray {
|
|
|
148
149
|
return this._map.has(target);
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
|
-
exports.
|
|
152
|
+
exports.ManagedArray = ManagedArray;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/tiles",
|
|
3
|
-
"version": "3.3.0
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Common components for different tiles loaders.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@loaders.gl/loader-utils": "3.3.0
|
|
37
|
-
"@loaders.gl/math": "3.3.0
|
|
36
|
+
"@loaders.gl/loader-utils": "3.3.0",
|
|
37
|
+
"@loaders.gl/math": "3.3.0",
|
|
38
38
|
"@math.gl/core": "^3.5.1",
|
|
39
39
|
"@math.gl/culling": "^3.5.1",
|
|
40
40
|
"@math.gl/geospatial": "^3.5.1",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@loaders.gl/core": "^3.2.0"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "566d194f175a03e042d3e588cdd514048f428cc1"
|
|
48
48
|
}
|
package/src/constants.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
1
3
|
export type {Tileset3DProps} from './tileset/tileset-3d';
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
+
export {Tileset3D} from './tileset/tileset-3d';
|
|
5
|
+
export {Tile3D} from './tileset/tile-3d';
|
|
4
6
|
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
+
export {TilesetTraverser} from './tileset/tileset-traverser';
|
|
8
|
+
export {TilesetCache} from './tileset/tileset-cache';
|
|
7
9
|
|
|
8
10
|
export {createBoundingVolume} from './tileset/helpers/bounding-volume';
|
|
9
11
|
export {calculateTransformProps} from './tileset/helpers/transform-utils';
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
1
3
|
// This file is derived from the Cesium code base under Apache 2 license
|
|
2
4
|
// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
|
|
3
5
|
|
|
4
6
|
import {TILE3D_OPTIMIZATION_HINT, TILE_REFINEMENT} from '../../constants';
|
|
5
|
-
import TilesetTraverser from '
|
|
7
|
+
import {TilesetTraverser} from '../tileset-traverser';
|
|
6
8
|
|
|
7
|
-
export
|
|
9
|
+
export class Tileset3DTraverser extends TilesetTraverser {
|
|
8
10
|
compareDistanceToCamera(a, b) {
|
|
9
11
|
// Sort by farthest child first since this is going on a stack
|
|
10
12
|
return b._distanceToCamera === 0 && a._distanceToCamera === 0
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Counter to register pending tile headers for the particular frameNumber
|
|
3
3
|
* Until all tiles are loaded we won't call `onTraversalEnd` callback
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export class I3SPendingTilesRegister {
|
|
6
6
|
private frameNumberMap: Map<string, Map<number, number>> = new Map();
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {FrameState} from '../helpers/frame-state';
|
|
2
|
-
import I3SPendingTilesRegister from './i3s-pending-tiles-register';
|
|
2
|
+
import {I3SPendingTilesRegister} from './i3s-pending-tiles-register';
|
|
3
3
|
|
|
4
4
|
const STATUS = {
|
|
5
5
|
REQUESTED: 'REQUESTED',
|
|
@@ -8,7 +8,7 @@ const STATUS = {
|
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
// A helper class to manage tile metadata fetching
|
|
11
|
-
export
|
|
11
|
+
export class I3STileManager {
|
|
12
12
|
private _statusMap: object;
|
|
13
13
|
private pendingTilesRegister = new I3SPendingTilesRegister();
|
|
14
14
|
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {load} from '@loaders.gl/core';
|
|
2
|
-
import TilesetTraverser from '
|
|
2
|
+
import {TilesetTraverser} from '../tileset-traverser';
|
|
3
3
|
|
|
4
4
|
import {getLodStatus} from '../helpers/i3s-lod';
|
|
5
|
-
import
|
|
6
|
-
import I3STileManager from './i3s-tile-manager';
|
|
5
|
+
import {Tile3D} from '../tile-3d';
|
|
6
|
+
import {I3STileManager} from './i3s-tile-manager';
|
|
7
7
|
import {FrameState} from '../helpers/frame-state';
|
|
8
8
|
|
|
9
|
-
export
|
|
9
|
+
export class I3STilesetTraverser extends TilesetTraverser {
|
|
10
10
|
private _tileManager: I3STileManager;
|
|
11
11
|
|
|
12
|
+
constructor(options) {
|
|
13
|
+
super(options);
|
|
14
|
+
this._tileManager = new I3STileManager();
|
|
15
|
+
}
|
|
16
|
+
|
|
12
17
|
/**
|
|
13
18
|
* Check if there are no penging tile header requests,
|
|
14
19
|
* that means the traversal is finished and we can call
|
|
15
20
|
* following-up callbacks.
|
|
16
21
|
*/
|
|
17
|
-
|
|
22
|
+
traversalFinished(frameState: FrameState): boolean {
|
|
18
23
|
return !this._tileManager.hasPendingTiles(frameState.viewport.id, this._frameNumber || 0);
|
|
19
24
|
}
|
|
20
25
|
|
|
21
|
-
constructor(options) {
|
|
22
|
-
super(options);
|
|
23
|
-
this._tileManager = new I3STileManager();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
26
|
shouldRefine(tile, frameState: FrameState) {
|
|
27
27
|
tile._lodJudge = getLodStatus(tile, frameState);
|
|
28
28
|
return tile._lodJudge === 'DIG';
|
|
@@ -80,16 +80,16 @@ export default class I3STilesetTraverser extends TilesetTraverser {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
|
-
* The callback to init
|
|
83
|
+
* The callback to init Tile3D instance after loading the tile JSON
|
|
84
84
|
* @param {Object} header - the tile JSON from a dataset
|
|
85
|
-
* @param {
|
|
85
|
+
* @param {Tile3D} tile - the parent Tile3D instance
|
|
86
86
|
* @param {string} extendedId - optional ID to separate copies of a tile for different viewports.
|
|
87
87
|
* const extendedId = `${tile.id}-${frameState.viewport.id}`;
|
|
88
88
|
* @return {void}
|
|
89
89
|
*/
|
|
90
90
|
_onTileLoad(header, tile, extendedId) {
|
|
91
91
|
// after child tile is fetched
|
|
92
|
-
const childTile = new
|
|
92
|
+
const childTile = new Tile3D(tile.tileset, header, tile, extendedId);
|
|
93
93
|
tile.children.push(childTile);
|
|
94
94
|
const frameState = this._tileManager.find(childTile.id).frameState;
|
|
95
95
|
this.updateTile(childTile, frameState);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
1
3
|
import {Matrix4, Vector3} from '@math.gl/core';
|
|
2
4
|
import {Ellipsoid} from '@math.gl/geospatial';
|
|
3
|
-
import Tile3D from '../tile-3d';
|
|
5
|
+
import {Tile3D} from '../tile-3d';
|
|
4
6
|
import {FrameState} from './frame-state';
|
|
5
7
|
|
|
6
8
|
const cameraPositionCartesian = new Vector3();
|