@loaders.gl/tiles 4.0.0-alpha.6 → 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/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -1
- package/dist/dist.min.js +429 -187
- package/dist/es5/constants.js.map +1 -1
- package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -1
- package/dist/es5/tileset/tile-3d.js +42 -71
- package/dist/es5/tileset/tile-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-3d.js +68 -103
- package/dist/es5/tileset/tileset-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-cache.js +4 -7
- package/dist/es5/tileset/tileset-cache.js.map +1 -1
- package/dist/es5/tileset/tileset-traverser.js +12 -19
- package/dist/es5/tileset/tileset-traverser.js.map +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -1
- package/dist/esm/tileset/tile-3d.js +40 -71
- package/dist/esm/tileset/tile-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-3d.js +64 -95
- package/dist/esm/tileset/tileset-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-cache.js +4 -7
- package/dist/esm/tileset/tileset-cache.js.map +1 -1
- package/dist/esm/tileset/tileset-traverser.js +9 -16
- package/dist/esm/tileset/tileset-traverser.js.map +1 -1
- 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/tile-3d.d.ts +37 -21
- package/dist/tileset/tile-3d.d.ts.map +1 -1
- package/dist/tileset/tile-3d.js +57 -43
- package/dist/tileset/tileset-3d.d.ts +90 -43
- package/dist/tileset/tileset-3d.d.ts.map +1 -1
- package/dist/tileset/tileset-3d.js +110 -128
- package/dist/tileset/tileset-cache.d.ts +5 -4
- package/dist/tileset/tileset-cache.d.ts.map +1 -1
- package/dist/tileset/tileset-cache.js +4 -10
- package/dist/tileset/tileset-traverser.d.ts +32 -21
- package/dist/tileset/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset/tileset-traverser.js +23 -32
- package/package.json +8 -5
- package/src/constants.ts +18 -0
- package/src/tileset/helpers/3d-tiles-options.ts +3 -1
- package/src/tileset/tile-3d.ts +68 -109
- package/src/tileset/tileset-3d.ts +182 -217
- package/src/tileset/tileset-cache.ts +20 -15
- package/src/tileset/tileset-traverser.ts +52 -65
|
@@ -68,7 +68,7 @@ var TILES_LOAD_FAILED = 'Failed Tile Loads';
|
|
|
68
68
|
var POINTS_COUNT = 'Points/Vertices';
|
|
69
69
|
var TILES_GPU_MEMORY = 'Tile Memory Use';
|
|
70
70
|
var Tileset3D = function () {
|
|
71
|
-
function Tileset3D(
|
|
71
|
+
function Tileset3D(tileset, options) {
|
|
72
72
|
(0, _classCallCheck2.default)(this, Tileset3D);
|
|
73
73
|
(0, _defineProperty2.default)(this, "options", void 0);
|
|
74
74
|
(0, _defineProperty2.default)(this, "loadOptions", void 0);
|
|
@@ -82,14 +82,14 @@ var Tileset3D = function () {
|
|
|
82
82
|
(0, _defineProperty2.default)(this, "lodMetricType", void 0);
|
|
83
83
|
(0, _defineProperty2.default)(this, "lodMetricValue", void 0);
|
|
84
84
|
(0, _defineProperty2.default)(this, "refine", void 0);
|
|
85
|
-
(0, _defineProperty2.default)(this, "root",
|
|
86
|
-
(0, _defineProperty2.default)(this, "roots",
|
|
87
|
-
(0, _defineProperty2.default)(this, "asset",
|
|
88
|
-
(0, _defineProperty2.default)(this, "description",
|
|
85
|
+
(0, _defineProperty2.default)(this, "root", null);
|
|
86
|
+
(0, _defineProperty2.default)(this, "roots", {});
|
|
87
|
+
(0, _defineProperty2.default)(this, "asset", {});
|
|
88
|
+
(0, _defineProperty2.default)(this, "description", '');
|
|
89
89
|
(0, _defineProperty2.default)(this, "properties", void 0);
|
|
90
|
-
(0, _defineProperty2.default)(this, "extras",
|
|
91
|
-
(0, _defineProperty2.default)(this, "attributions",
|
|
92
|
-
(0, _defineProperty2.default)(this, "credits",
|
|
90
|
+
(0, _defineProperty2.default)(this, "extras", null);
|
|
91
|
+
(0, _defineProperty2.default)(this, "attributions", {});
|
|
92
|
+
(0, _defineProperty2.default)(this, "credits", {});
|
|
93
93
|
(0, _defineProperty2.default)(this, "stats", void 0);
|
|
94
94
|
(0, _defineProperty2.default)(this, "contentFormats", {
|
|
95
95
|
draco: false,
|
|
@@ -97,81 +97,52 @@ var Tileset3D = function () {
|
|
|
97
97
|
dds: false,
|
|
98
98
|
ktx2: false
|
|
99
99
|
});
|
|
100
|
-
(0, _defineProperty2.default)(this, "
|
|
101
|
-
(0, _defineProperty2.default)(this, "
|
|
102
|
-
(0, _defineProperty2.default)(this, "
|
|
103
|
-
(0, _defineProperty2.default)(this, "
|
|
104
|
-
(0, _defineProperty2.default)(this, "
|
|
105
|
-
(0, _defineProperty2.default)(this, "
|
|
106
|
-
(0, _defineProperty2.default)(this, "
|
|
107
|
-
(0, _defineProperty2.default)(this, "
|
|
108
|
-
(0, _defineProperty2.default)(this, "
|
|
109
|
-
(0, _defineProperty2.default)(this, "
|
|
110
|
-
(0, _defineProperty2.default)(this, "
|
|
100
|
+
(0, _defineProperty2.default)(this, "cartographicCenter", null);
|
|
101
|
+
(0, _defineProperty2.default)(this, "cartesianCenter", null);
|
|
102
|
+
(0, _defineProperty2.default)(this, "zoom", 1);
|
|
103
|
+
(0, _defineProperty2.default)(this, "boundingVolume", null);
|
|
104
|
+
(0, _defineProperty2.default)(this, "dynamicScreenSpaceErrorComputedDensity", 0.0);
|
|
105
|
+
(0, _defineProperty2.default)(this, "maximumMemoryUsage", 32);
|
|
106
|
+
(0, _defineProperty2.default)(this, "gpuMemoryUsageInBytes", 0);
|
|
107
|
+
(0, _defineProperty2.default)(this, "_frameNumber", 0);
|
|
108
|
+
(0, _defineProperty2.default)(this, "_queryParams", {});
|
|
109
|
+
(0, _defineProperty2.default)(this, "_extensionsUsed", []);
|
|
110
|
+
(0, _defineProperty2.default)(this, "_tiles", {});
|
|
111
|
+
(0, _defineProperty2.default)(this, "_pendingCount", 0);
|
|
112
|
+
(0, _defineProperty2.default)(this, "selectedTiles", []);
|
|
113
|
+
(0, _defineProperty2.default)(this, "traverseCounter", 0);
|
|
114
|
+
(0, _defineProperty2.default)(this, "geometricError", 0);
|
|
115
|
+
(0, _defineProperty2.default)(this, "lastUpdatedVieports", null);
|
|
116
|
+
(0, _defineProperty2.default)(this, "_requestedTiles", []);
|
|
117
|
+
(0, _defineProperty2.default)(this, "_emptyTiles", []);
|
|
118
|
+
(0, _defineProperty2.default)(this, "frameStateData", {});
|
|
111
119
|
(0, _defineProperty2.default)(this, "_traverser", void 0);
|
|
112
|
-
(0, _defineProperty2.default)(this, "_cache",
|
|
120
|
+
(0, _defineProperty2.default)(this, "_cache", new _tilesetCache.TilesetCache());
|
|
113
121
|
(0, _defineProperty2.default)(this, "_requestScheduler", void 0);
|
|
114
|
-
(0, _defineProperty2.default)(this, "
|
|
115
|
-
(0, _defineProperty2.default)(this, "
|
|
116
|
-
(0, _defineProperty2.default)(this, "_queryParams", void 0);
|
|
117
|
-
(0, _defineProperty2.default)(this, "_extensionsUsed", void 0);
|
|
118
|
-
(0, _defineProperty2.default)(this, "_tiles", void 0);
|
|
119
|
-
(0, _defineProperty2.default)(this, "_pendingCount", void 0);
|
|
120
|
-
(0, _defineProperty2.default)(this, "lastUpdatedVieports", void 0);
|
|
121
|
-
(0, _defineProperty2.default)(this, "_requestedTiles", void 0);
|
|
122
|
-
(0, _defineProperty2.default)(this, "_emptyTiles", void 0);
|
|
123
|
-
(0, _defineProperty2.default)(this, "frameStateData", void 0);
|
|
124
|
-
(0, _defineProperty2.default)(this, "maximumMemoryUsage", void 0);
|
|
125
|
-
(0, _loaderUtils.assert)(json);
|
|
122
|
+
(0, _defineProperty2.default)(this, "updatePromise", null);
|
|
123
|
+
(0, _defineProperty2.default)(this, "tilesetInitializationPromise", void 0);
|
|
126
124
|
this.options = _objectSpread(_objectSpread({}, DEFAULT_PROPS), options);
|
|
127
|
-
this.tileset =
|
|
128
|
-
this.loader =
|
|
129
|
-
this.type =
|
|
130
|
-
this.url =
|
|
131
|
-
this.basePath =
|
|
125
|
+
this.tileset = tileset;
|
|
126
|
+
this.loader = tileset.loader;
|
|
127
|
+
this.type = tileset.type;
|
|
128
|
+
this.url = tileset.url;
|
|
129
|
+
this.basePath = tileset.basePath || _loaderUtils.path.dirname(this.url);
|
|
132
130
|
this.modelMatrix = this.options.modelMatrix;
|
|
133
131
|
this.ellipsoid = this.options.ellipsoid;
|
|
134
|
-
this.lodMetricType =
|
|
135
|
-
this.lodMetricValue =
|
|
136
|
-
this.refine =
|
|
132
|
+
this.lodMetricType = tileset.lodMetricType;
|
|
133
|
+
this.lodMetricValue = tileset.lodMetricValue;
|
|
134
|
+
this.refine = tileset.root.refine;
|
|
137
135
|
this.loadOptions = this.options.loadOptions || {};
|
|
138
|
-
this.root = null;
|
|
139
|
-
this.roots = {};
|
|
140
|
-
this.cartographicCenter = null;
|
|
141
|
-
this.cartesianCenter = null;
|
|
142
|
-
this.zoom = 1;
|
|
143
|
-
this.boundingVolume = null;
|
|
144
|
-
this.traverseCounter = 0;
|
|
145
|
-
this.geometricError = 0;
|
|
146
136
|
this._traverser = this._initializeTraverser();
|
|
147
|
-
this._cache = new _tilesetCache.TilesetCache();
|
|
148
137
|
this._requestScheduler = new _loaderUtils.RequestScheduler({
|
|
149
138
|
throttleRequests: this.options.throttleRequests,
|
|
150
139
|
maxRequests: this.options.maxRequests
|
|
151
140
|
});
|
|
152
|
-
this._frameNumber = 0;
|
|
153
|
-
this._pendingCount = 0;
|
|
154
|
-
this._tiles = {};
|
|
155
|
-
this.selectedTiles = [];
|
|
156
|
-
this._emptyTiles = [];
|
|
157
|
-
this._requestedTiles = [];
|
|
158
|
-
this.frameStateData = {};
|
|
159
|
-
this.lastUpdatedVieports = null;
|
|
160
|
-
this._queryParams = {};
|
|
161
|
-
this._queryParamsString = '';
|
|
162
|
-
this.maximumMemoryUsage = this.options.maximumMemoryUsage || 32;
|
|
163
|
-
this.gpuMemoryUsageInBytes = 0;
|
|
164
141
|
this.stats = new _stats.Stats({
|
|
165
142
|
id: this.url
|
|
166
143
|
});
|
|
167
144
|
this._initializeStats();
|
|
168
|
-
this.
|
|
169
|
-
this.dynamicScreenSpaceErrorComputedDensity = 0.0;
|
|
170
|
-
this.extras = null;
|
|
171
|
-
this.asset = {};
|
|
172
|
-
this.credits = {};
|
|
173
|
-
this.description = this.options.description || '';
|
|
174
|
-
this.tilesetInitializationPromise = this._initializeTileSet(json);
|
|
145
|
+
this.tilesetInitializationPromise = this._initializeTileSet(tileset);
|
|
175
146
|
}
|
|
176
147
|
(0, _createClass2.default)(Tileset3D, [{
|
|
177
148
|
key: "destroy",
|
|
@@ -196,10 +167,7 @@ var Tileset3D = function () {
|
|
|
196
167
|
}, {
|
|
197
168
|
key: "queryParams",
|
|
198
169
|
get: function get() {
|
|
199
|
-
|
|
200
|
-
this._queryParamsString = getQueryParamString(this._queryParams);
|
|
201
|
-
}
|
|
202
|
-
return this._queryParamsString;
|
|
170
|
+
return new URLSearchParams(this._queryParams).toString();
|
|
203
171
|
}
|
|
204
172
|
}, {
|
|
205
173
|
key: "setProps",
|
|
@@ -218,12 +186,12 @@ var Tileset3D = function () {
|
|
|
218
186
|
if (isDataUrl) {
|
|
219
187
|
return tilePath;
|
|
220
188
|
}
|
|
221
|
-
return "".concat(tilePath).concat(this.queryParams);
|
|
189
|
+
return "".concat(tilePath).concat(tilePath.includes('?') ? '&' : '?').concat(this.queryParams);
|
|
222
190
|
}
|
|
223
191
|
}, {
|
|
224
192
|
key: "hasExtension",
|
|
225
193
|
value: function hasExtension(extensionName) {
|
|
226
|
-
return Boolean(this._extensionsUsed
|
|
194
|
+
return Boolean(this._extensionsUsed.indexOf(extensionName) > -1);
|
|
227
195
|
}
|
|
228
196
|
}, {
|
|
229
197
|
key: "update",
|
|
@@ -300,9 +268,9 @@ var Tileset3D = function () {
|
|
|
300
268
|
try {
|
|
301
269
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
302
270
|
var viewport = _step.value;
|
|
303
|
-
var
|
|
304
|
-
if (this._needTraverse(
|
|
305
|
-
viewportsToTraverse.push(
|
|
271
|
+
var id = viewport.id;
|
|
272
|
+
if (this._needTraverse(id)) {
|
|
273
|
+
viewportsToTraverse.push(id);
|
|
306
274
|
} else {
|
|
307
275
|
this.traverseCounter--;
|
|
308
276
|
}
|
|
@@ -317,15 +285,15 @@ var Tileset3D = function () {
|
|
|
317
285
|
try {
|
|
318
286
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
319
287
|
var _viewport = _step2.value;
|
|
320
|
-
var
|
|
321
|
-
if (!this.roots[
|
|
322
|
-
this.roots[
|
|
288
|
+
var _id = _viewport.id;
|
|
289
|
+
if (!this.roots[_id]) {
|
|
290
|
+
this.roots[_id] = this._initializeTileHeaders(this.tileset, null);
|
|
323
291
|
}
|
|
324
|
-
if (!viewportsToTraverse.includes(
|
|
292
|
+
if (!viewportsToTraverse.includes(_id)) {
|
|
325
293
|
continue;
|
|
326
294
|
}
|
|
327
295
|
var frameState = (0, _frameState.getFrameState)(_viewport, this._frameNumber);
|
|
328
|
-
this._traverser.traverse(this.roots[
|
|
296
|
+
this._traverser.traverse(this.roots[_id], frameState, this.options);
|
|
329
297
|
}
|
|
330
298
|
} catch (err) {
|
|
331
299
|
_iterator2.e(err);
|
|
@@ -559,7 +527,6 @@ var Tileset3D = function () {
|
|
|
559
527
|
key: "calculateViewPropsTiles3D",
|
|
560
528
|
value: function calculateViewPropsTiles3D() {
|
|
561
529
|
var root = this.root;
|
|
562
|
-
(0, _loaderUtils.assert)(root);
|
|
563
530
|
var center = root.boundingVolume.center;
|
|
564
531
|
if (!center) {
|
|
565
532
|
console.warn('center was not pre-calculated for the root tile');
|
|
@@ -608,8 +575,16 @@ var Tileset3D = function () {
|
|
|
608
575
|
_step7;
|
|
609
576
|
try {
|
|
610
577
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
578
|
+
var _childTile$contentUrl;
|
|
611
579
|
var childHeader = _step7.value;
|
|
612
580
|
var childTile = new _tile3d.Tile3D(this, childHeader, _tile5);
|
|
581
|
+
if ((_childTile$contentUrl = childTile.contentUrl) !== null && _childTile$contentUrl !== void 0 && _childTile$contentUrl.includes('?session=')) {
|
|
582
|
+
var _url = new URL(childTile.contentUrl);
|
|
583
|
+
var session = _url.searchParams.get('session');
|
|
584
|
+
if (session) {
|
|
585
|
+
this._queryParams.session = session;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
613
588
|
_tile5.children.push(childTile);
|
|
614
589
|
childTile.depth = _tile5.depth + 1;
|
|
615
590
|
stack.push(childTile);
|
|
@@ -667,7 +642,7 @@ var Tileset3D = function () {
|
|
|
667
642
|
case 7:
|
|
668
643
|
_context3.prev = 7;
|
|
669
644
|
_context3.t0 = _context3["catch"](0);
|
|
670
|
-
this._onTileLoadError(tile, _context3.t0);
|
|
645
|
+
this._onTileLoadError(tile, _context3.t0 instanceof Error ? _context3.t0 : new Error('load failed'));
|
|
671
646
|
case 10:
|
|
672
647
|
_context3.prev = 10;
|
|
673
648
|
this._onEndTileLoading();
|
|
@@ -768,13 +743,13 @@ var Tileset3D = function () {
|
|
|
768
743
|
value: function _updateCacheStats(tile) {
|
|
769
744
|
this.stats.get(TILES_LOADED).incrementCount();
|
|
770
745
|
this.stats.get(TILES_IN_MEMORY).incrementCount();
|
|
771
|
-
this.gpuMemoryUsageInBytes += tile.
|
|
746
|
+
this.gpuMemoryUsageInBytes += tile.gpuMemoryUsageInBytes || 0;
|
|
772
747
|
this.stats.get(TILES_GPU_MEMORY).count = this.gpuMemoryUsageInBytes;
|
|
773
748
|
}
|
|
774
749
|
}, {
|
|
775
750
|
key: "_unloadTile",
|
|
776
751
|
value: function _unloadTile(tile) {
|
|
777
|
-
this.gpuMemoryUsageInBytes -= tile.
|
|
752
|
+
this.gpuMemoryUsageInBytes -= tile.gpuMemoryUsageInBytes || 0;
|
|
778
753
|
this.stats.get(TILES_IN_MEMORY).decrementCount();
|
|
779
754
|
this.stats.get(TILES_UNLOADED).incrementCount();
|
|
780
755
|
this.stats.get(TILES_GPU_MEMORY).count = this.gpuMemoryUsageInBytes;
|
|
@@ -842,11 +817,16 @@ var Tileset3D = function () {
|
|
|
842
817
|
}, {
|
|
843
818
|
key: "_initializeTiles3DTileset",
|
|
844
819
|
value: function _initializeTiles3DTileset(tilesetJson) {
|
|
820
|
+
if (tilesetJson.queryString) {
|
|
821
|
+
var searchParams = new URLSearchParams(tilesetJson.queryString);
|
|
822
|
+
var queryParams = Object.fromEntries(searchParams.entries());
|
|
823
|
+
this._queryParams = _objectSpread(_objectSpread({}, this._queryParams), queryParams);
|
|
824
|
+
}
|
|
845
825
|
this.asset = tilesetJson.asset;
|
|
846
826
|
if (!this.asset) {
|
|
847
827
|
throw new Error('Tileset must have an asset property.');
|
|
848
828
|
}
|
|
849
|
-
if (this.asset.version !== '0.0' && this.asset.version !== '1.0') {
|
|
829
|
+
if (this.asset.version !== '0.0' && this.asset.version !== '1.0' && this.asset.version !== '1.1') {
|
|
850
830
|
throw new Error('The tileset must be 3D Tiles version 0.0 or 1.0.');
|
|
851
831
|
}
|
|
852
832
|
if ('tilesetVersion' in this.asset) {
|
|
@@ -858,7 +838,7 @@ var Tileset3D = function () {
|
|
|
858
838
|
this.description = this.options.description || '';
|
|
859
839
|
this.properties = tilesetJson.properties;
|
|
860
840
|
this.geometricError = tilesetJson.geometricError;
|
|
861
|
-
this._extensionsUsed = tilesetJson.extensionsUsed;
|
|
841
|
+
this._extensionsUsed = tilesetJson.extensionsUsed || [];
|
|
862
842
|
this.extras = tilesetJson.extras;
|
|
863
843
|
}
|
|
864
844
|
}, {
|
|
@@ -872,19 +852,4 @@ var Tileset3D = function () {
|
|
|
872
852
|
return Tileset3D;
|
|
873
853
|
}();
|
|
874
854
|
exports.Tileset3D = Tileset3D;
|
|
875
|
-
function getQueryParamString(queryParams) {
|
|
876
|
-
var queryParamStrings = [];
|
|
877
|
-
for (var _i = 0, _Object$keys = Object.keys(queryParams); _i < _Object$keys.length; _i++) {
|
|
878
|
-
var _key = _Object$keys[_i];
|
|
879
|
-
queryParamStrings.push("".concat(_key, "=").concat(queryParams[_key]));
|
|
880
|
-
}
|
|
881
|
-
switch (queryParamStrings.length) {
|
|
882
|
-
case 0:
|
|
883
|
-
return '';
|
|
884
|
-
case 1:
|
|
885
|
-
return "?".concat(queryParamStrings[0]);
|
|
886
|
-
default:
|
|
887
|
-
return "?".concat(queryParamStrings.join('&'));
|
|
888
|
-
}
|
|
889
|
-
}
|
|
890
855
|
//# sourceMappingURL=tileset-3d.js.map
|