@loaders.gl/tiles 3.3.0-alpha.5 → 3.3.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/dist.min.js +823 -1298
  2. package/dist/es5/bundle.js +0 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/constants.js +2 -1
  5. package/dist/es5/constants.js.map +1 -1
  6. package/dist/es5/index.js +26 -36
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/tileset/helpers/3d-tiles-options.js +0 -1
  9. package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -1
  10. package/dist/es5/tileset/helpers/bounding-volume.js +7 -26
  11. package/dist/es5/tileset/helpers/bounding-volume.js.map +1 -1
  12. package/dist/es5/tileset/helpers/frame-state.js +22 -42
  13. package/dist/es5/tileset/helpers/frame-state.js.map +1 -1
  14. package/dist/es5/tileset/helpers/i3s-lod.js +0 -13
  15. package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -1
  16. package/dist/es5/tileset/helpers/tiles-3d-lod.js +7 -16
  17. package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -1
  18. package/dist/es5/tileset/helpers/transform-utils.js +2 -11
  19. package/dist/es5/tileset/helpers/transform-utils.js.map +1 -1
  20. package/dist/es5/tileset/helpers/zoom.js +6 -16
  21. package/dist/es5/tileset/helpers/zoom.js.map +1 -1
  22. package/dist/es5/tileset/tile-3d.js +95 -96
  23. package/dist/es5/tileset/tile-3d.js.map +1 -1
  24. package/dist/es5/tileset/tileset-3d.js +78 -185
  25. package/dist/es5/tileset/tileset-3d.js.map +1 -1
  26. package/dist/es5/tileset/tileset-cache.js +1 -14
  27. package/dist/es5/tileset/tileset-cache.js.map +1 -1
  28. package/dist/es5/tileset/traversers/i3s-pending-tiles-register.js +8 -13
  29. package/dist/es5/tileset/traversers/i3s-pending-tiles-register.js.map +1 -1
  30. package/dist/es5/tileset/traversers/i3s-tile-manager.js +20 -24
  31. package/dist/es5/tileset/traversers/i3s-tile-manager.js.map +1 -1
  32. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js +7 -48
  33. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js.map +1 -1
  34. package/dist/es5/tileset/traversers/tileset-3d-traverser.js +0 -22
  35. package/dist/es5/tileset/traversers/tileset-3d-traverser.js.map +1 -1
  36. package/dist/es5/tileset/traversers/tileset-traverser.js +53 -76
  37. package/dist/es5/tileset/traversers/tileset-traverser.js.map +1 -1
  38. package/dist/es5/types.js.map +1 -1
  39. package/dist/es5/utils/doubly-linked-list-node.js +3 -7
  40. package/dist/es5/utils/doubly-linked-list-node.js.map +1 -1
  41. package/dist/es5/utils/doubly-linked-list.js +9 -17
  42. package/dist/es5/utils/doubly-linked-list.js.map +1 -1
  43. package/dist/es5/utils/managed-array.js +29 -30
  44. package/dist/es5/utils/managed-array.js.map +1 -1
  45. package/dist/esm/bundle.js +1 -1
  46. package/dist/esm/bundle.js.map +1 -1
  47. package/dist/esm/constants.js +3 -0
  48. package/dist/esm/constants.js.map +1 -1
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -1
  51. package/dist/esm/tileset/helpers/bounding-volume.js +4 -10
  52. package/dist/esm/tileset/helpers/bounding-volume.js.map +1 -1
  53. package/dist/esm/tileset/helpers/frame-state.js +16 -16
  54. package/dist/esm/tileset/helpers/frame-state.js.map +1 -1
  55. package/dist/esm/tileset/helpers/i3s-lod.js +4 -4
  56. package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -1
  57. package/dist/esm/tileset/helpers/tiles-3d-lod.js +11 -8
  58. package/dist/esm/tileset/helpers/tiles-3d-lod.js.map +1 -1
  59. package/dist/esm/tileset/helpers/transform-utils.js +1 -3
  60. package/dist/esm/tileset/helpers/transform-utils.js.map +1 -1
  61. package/dist/esm/tileset/helpers/zoom.js +3 -2
  62. package/dist/esm/tileset/helpers/zoom.js.map +1 -1
  63. package/dist/esm/tileset/tile-3d.js +31 -107
  64. package/dist/esm/tileset/tile-3d.js.map +1 -1
  65. package/dist/esm/tileset/tileset-3d.js +21 -155
  66. package/dist/esm/tileset/tileset-3d.js.map +1 -1
  67. package/dist/esm/tileset/tileset-cache.js +2 -18
  68. package/dist/esm/tileset/tileset-cache.js.map +1 -1
  69. package/dist/esm/tileset/traversers/i3s-pending-tiles-register.js +0 -5
  70. package/dist/esm/tileset/traversers/i3s-pending-tiles-register.js.map +1 -1
  71. package/dist/esm/tileset/traversers/i3s-tile-manager.js +2 -4
  72. package/dist/esm/tileset/traversers/i3s-tile-manager.js.map +1 -1
  73. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js +4 -17
  74. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js.map +1 -1
  75. package/dist/esm/tileset/traversers/tileset-3d-traverser.js +2 -9
  76. package/dist/esm/tileset/traversers/tileset-3d-traverser.js.map +1 -1
  77. package/dist/esm/tileset/traversers/tileset-traverser.js +18 -57
  78. package/dist/esm/tileset/traversers/tileset-traverser.js.map +1 -1
  79. package/dist/esm/types.js.map +1 -1
  80. package/dist/esm/utils/doubly-linked-list-node.js +1 -4
  81. package/dist/esm/utils/doubly-linked-list-node.js.map +1 -1
  82. package/dist/esm/utils/doubly-linked-list.js +2 -11
  83. package/dist/esm/utils/doubly-linked-list.js.map +1 -1
  84. package/dist/esm/utils/managed-array.js +4 -22
  85. package/dist/esm/utils/managed-array.js.map +1 -1
  86. package/dist/tileset/helpers/frame-state.d.ts +4 -4
  87. package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
  88. package/dist/tileset/helpers/frame-state.js +1 -0
  89. package/dist/tileset/tileset-3d.d.ts.map +1 -1
  90. package/dist/types.d.ts +18 -10
  91. package/dist/types.d.ts.map +1 -1
  92. package/package.json +4 -4
  93. package/src/tileset/helpers/frame-state.ts +6 -5
  94. package/src/tileset/tileset-3d.ts +2 -2
  95. package/src/types.ts +19 -10
@@ -1,60 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
14
  var _core = require("@math.gl/core");
23
-
24
15
  var _geospatial = require("@math.gl/geospatial");
25
-
26
16
  var _stats = require("@probe.gl/stats");
27
-
28
17
  var _loaderUtils = require("@loaders.gl/loader-utils");
29
-
30
18
  var _tilesetCache = _interopRequireDefault(require("./tileset-cache"));
31
-
32
19
  var _transformUtils = require("./helpers/transform-utils");
33
-
34
20
  var _frameState = require("./helpers/frame-state");
35
-
36
21
  var _zoom = require("./helpers/zoom");
37
-
38
22
  var _tile3d = _interopRequireDefault(require("./tile-3d"));
39
-
40
23
  var _tileset3dTraverser = _interopRequireDefault(require("./traversers/tileset-3d-traverser"));
41
-
42
24
  var _tilesetTraverser = _interopRequireDefault(require("./traversers/tileset-traverser"));
43
-
44
25
  var _i3sTilesetTraverser = _interopRequireDefault(require("./traversers/i3s-tileset-traverser"));
45
-
46
26
  var _constants = require("../constants");
47
-
48
27
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
49
-
50
28
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
51
-
52
29
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
53
-
54
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
55
-
56
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
57
-
30
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
58
32
  var DEFAULT_PROPS = {
59
33
  description: '',
60
34
  ellipsoid: _geospatial.Ellipsoid.WGS84,
@@ -83,6 +57,7 @@ var DEFAULT_PROPS = {
83
57
  basePath: '',
84
58
  i3s: {}
85
59
  };
60
+
86
61
  var TILES_TOTAL = 'Tiles In Tileset(s)';
87
62
  var TILES_IN_MEMORY = 'Tiles In Memory';
88
63
  var TILES_IN_VIEW = 'Tiles In View';
@@ -93,8 +68,8 @@ var TILES_UNLOADED = 'Tiles Unloaded';
93
68
  var TILES_LOAD_FAILED = 'Failed Tile Loads';
94
69
  var POINTS_COUNT = 'Points/Vertices';
95
70
  var TILES_GPU_MEMORY = 'Tile Memory Use';
96
-
97
71
  var Tileset3D = function () {
72
+
98
73
  function Tileset3D(json, options) {
99
74
  (0, _classCallCheck2.default)(this, Tileset3D);
100
75
  (0, _defineProperty2.default)(this, "options", void 0);
@@ -144,6 +119,7 @@ var Tileset3D = function () {
144
119
  (0, _defineProperty2.default)(this, "frameStateData", void 0);
145
120
  (0, _defineProperty2.default)(this, "maximumMemoryUsage", void 0);
146
121
  (0, _loaderUtils.assert)(json);
122
+
147
123
  this.options = _objectSpread(_objectSpread({}, DEFAULT_PROPS), options);
148
124
  this.tileset = json;
149
125
  this.loader = json.loader;
@@ -152,6 +128,7 @@ var Tileset3D = function () {
152
128
  this.basePath = json.basePath || _loaderUtils.path.dirname(this.url);
153
129
  this.modelMatrix = this.options.modelMatrix;
154
130
  this.ellipsoid = this.options.ellipsoid;
131
+
155
132
  this.lodMetricType = json.lodMetricType;
156
133
  this.lodMetricValue = json.lodMetricValue;
157
134
  this.refine = json.root.refine;
@@ -162,6 +139,7 @@ var Tileset3D = function () {
162
139
  this.cartesianCenter = null;
163
140
  this.zoom = 1;
164
141
  this.boundingVolume = null;
142
+
165
143
  this.traverseCounter = 0;
166
144
  this.geometricError = 0;
167
145
  this._traverser = this._initializeTraverser();
@@ -171,7 +149,9 @@ var Tileset3D = function () {
171
149
  maxRequests: this.options.maxRequests
172
150
  });
173
151
  this._frameNumber = 0;
152
+
174
153
  this._pendingCount = 0;
154
+
175
155
  this._tiles = {};
176
156
  this.selectedTiles = [];
177
157
  this._emptyTiles = [];
@@ -180,12 +160,12 @@ var Tileset3D = function () {
180
160
  this.lastUpdatedVieports = null;
181
161
  this._queryParams = {};
182
162
  this._queryParamsString = '';
163
+
183
164
  this.maximumMemoryUsage = this.options.maximumMemoryUsage || 32;
184
165
  this.gpuMemoryUsageInBytes = 0;
185
166
  this.stats = new _stats.Stats({
186
167
  id: this.url
187
168
  });
188
-
189
169
  this._initializeStats();
190
170
 
191
171
  this._extensionsUsed = undefined;
@@ -199,12 +179,15 @@ var Tileset3D = function () {
199
179
 
200
180
  (0, _createClass2.default)(Tileset3D, [{
201
181
  key: "destroy",
202
- value: function destroy() {
182
+ value:
183
+ function destroy() {
203
184
  this._destroy();
204
185
  }
186
+
205
187
  }, {
206
188
  key: "isLoaded",
207
- value: function isLoaded() {
189
+ value:
190
+ function isLoaded() {
208
191
  return this._pendingCount === 0 && this._frameNumber !== 0 && this._requestedTiles.length === 0;
209
192
  }
210
193
  }, {
@@ -223,7 +206,6 @@ var Tileset3D = function () {
223
206
  if (!this._queryParamsString) {
224
207
  this._queryParamsString = getQueryParamString(this._queryParams);
225
208
  }
226
-
227
209
  return this._queryParamsString;
228
210
  }
229
211
  }, {
@@ -231,32 +213,37 @@ var Tileset3D = function () {
231
213
  value: function setProps(props) {
232
214
  this.options = _objectSpread(_objectSpread({}, this.options), props);
233
215
  }
216
+
234
217
  }, {
235
218
  key: "setOptions",
236
- value: function setOptions(options) {
219
+ value:
220
+ function setOptions(options) {
237
221
  this.options = _objectSpread(_objectSpread({}, this.options), options);
238
222
  }
223
+
239
224
  }, {
240
225
  key: "getTileUrl",
241
- value: function getTileUrl(tilePath) {
226
+ value:
227
+ function getTileUrl(tilePath) {
242
228
  var isDataUrl = tilePath.startsWith('data:');
243
-
244
229
  if (isDataUrl) {
245
230
  return tilePath;
246
231
  }
247
-
248
232
  return "".concat(tilePath).concat(this.queryParams);
249
233
  }
234
+
250
235
  }, {
251
236
  key: "hasExtension",
252
- value: function hasExtension(extensionName) {
237
+ value:
238
+ function hasExtension(extensionName) {
253
239
  return Boolean(this._extensionsUsed && this._extensionsUsed.indexOf(extensionName) > -1);
254
240
  }
241
+
255
242
  }, {
256
243
  key: "update",
257
- value: function update() {
244
+ value:
245
+ function update() {
258
246
  var _this = this;
259
-
260
247
  var viewports = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
261
248
  this.tilesetInitializationPromise.then(function () {
262
249
  if (!viewports && _this.lastUpdatedVieports) {
@@ -264,20 +251,19 @@ var Tileset3D = function () {
264
251
  } else {
265
252
  _this.lastUpdatedVieports = viewports;
266
253
  }
267
-
268
254
  if (viewports) {
269
255
  _this.doUpdate(viewports);
270
256
  }
271
257
  });
272
258
  }
259
+
273
260
  }, {
274
261
  key: "selectTiles",
275
262
  value: function () {
276
263
  var _selectTiles = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
277
264
  var _this2 = this;
278
-
279
265
  var viewports,
280
- _args = arguments;
266
+ _args = arguments;
281
267
  return _regenerator.default.wrap(function _callee$(_context) {
282
268
  while (1) {
283
269
  switch (_context.prev = _context.next) {
@@ -285,27 +271,22 @@ var Tileset3D = function () {
285
271
  viewports = _args.length > 0 && _args[0] !== undefined ? _args[0] : null;
286
272
  _context.next = 3;
287
273
  return this.tilesetInitializationPromise;
288
-
289
274
  case 3:
290
275
  if (viewports) {
291
276
  this.lastUpdatedVieports = viewports;
292
277
  }
293
-
294
278
  if (!this.updatePromise) {
295
279
  this.updatePromise = new Promise(function (resolve) {
296
280
  setTimeout(function () {
297
281
  if (_this2.lastUpdatedVieports) {
298
282
  _this2.doUpdate(_this2.lastUpdatedVieports);
299
283
  }
300
-
301
284
  resolve(_this2._frameNumber);
302
285
  _this2.updatePromise = null;
303
286
  }, _this2.options.debounceTime);
304
287
  });
305
288
  }
306
-
307
289
  return _context.abrupt("return", this.updatePromise);
308
-
309
290
  case 6:
310
291
  case "end":
311
292
  return _context.stop();
@@ -313,70 +294,58 @@ var Tileset3D = function () {
313
294
  }
314
295
  }, _callee, this);
315
296
  }));
316
-
317
297
  function selectTiles() {
318
298
  return _selectTiles.apply(this, arguments);
319
299
  }
320
-
321
300
  return selectTiles;
322
301
  }()
323
302
  }, {
324
303
  key: "doUpdate",
325
- value: function doUpdate(viewports) {
304
+ value:
305
+ function doUpdate(viewports) {
326
306
  if ('loadTiles' in this.options && !this.options.loadTiles) {
327
307
  return;
328
308
  }
329
-
330
309
  if (this.traverseCounter > 0) {
331
310
  return;
332
311
  }
333
-
334
312
  var preparedViewports = viewports instanceof Array ? viewports : [viewports];
335
-
336
313
  this._cache.reset();
337
-
338
314
  this._frameNumber++;
339
315
  this.traverseCounter = preparedViewports.length;
340
316
  var viewportsToTraverse = [];
341
-
342
317
  var _iterator = _createForOfIteratorHelper(preparedViewports),
343
- _step;
344
-
318
+ _step;
345
319
  try {
346
320
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
347
321
  var viewport = _step.value;
348
322
  var _id = viewport.id;
349
-
350
323
  if (this._needTraverse(_id)) {
351
324
  viewportsToTraverse.push(_id);
352
325
  } else {
353
326
  this.traverseCounter--;
354
327
  }
355
328
  }
329
+
356
330
  } catch (err) {
357
331
  _iterator.e(err);
358
332
  } finally {
359
333
  _iterator.f();
360
334
  }
361
-
362
335
  var _iterator2 = _createForOfIteratorHelper(preparedViewports),
363
- _step2;
364
-
336
+ _step2;
365
337
  try {
366
338
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
367
339
  var _viewport = _step2.value;
368
340
  var _id2 = _viewport.id;
369
-
370
341
  if (!this.roots[_id2]) {
371
342
  this.roots[_id2] = this._initializeTileHeaders(this.tileset, null);
372
343
  }
373
-
374
344
  if (!viewportsToTraverse.includes(_id2)) {
375
345
  continue;
376
346
  }
377
347
 
378
348
  var frameState = (0, _frameState.getFrameState)(_viewport, this._frameNumber);
379
-
380
349
  this._traverser.traverse(this.roots[_id2], frameState, this.options);
381
350
  }
382
351
  } catch (err) {
@@ -385,26 +354,26 @@ var Tileset3D = function () {
385
354
  _iterator2.f();
386
355
  }
387
356
  }
357
+
388
358
  }, {
389
359
  key: "_needTraverse",
390
- value: function _needTraverse(viewportId) {
360
+ value:
361
+ function _needTraverse(viewportId) {
391
362
  var traverserId = viewportId;
392
-
393
363
  if (this.options.viewportTraversersMap) {
394
364
  traverserId = this.options.viewportTraversersMap[viewportId];
395
365
  }
396
-
397
366
  if (traverserId !== viewportId) {
398
367
  return false;
399
368
  }
400
-
401
369
  return true;
402
370
  }
371
+
403
372
  }, {
404
373
  key: "_onTraversalEnd",
405
- value: function _onTraversalEnd(frameState) {
374
+ value:
375
+ function _onTraversalEnd(frameState) {
406
376
  var id = frameState.viewport.id;
407
-
408
377
  if (!this.frameStateData[id]) {
409
378
  this.frameStateData[id] = {
410
379
  selectedTiles: [],
@@ -412,24 +381,18 @@ var Tileset3D = function () {
412
381
  _emptyTiles: []
413
382
  };
414
383
  }
415
-
416
384
  var currentFrameStateData = this.frameStateData[id];
417
385
  var selectedTiles = Object.values(this._traverser.selectedTiles);
418
-
419
386
  var _limitSelectedTiles = (0, _frameState.limitSelectedTiles)(selectedTiles, frameState, this.options.maximumTilesSelected),
420
- _limitSelectedTiles2 = (0, _slicedToArray2.default)(_limitSelectedTiles, 2),
421
- filteredSelectedTiles = _limitSelectedTiles2[0],
422
- unselectedTiles = _limitSelectedTiles2[1];
423
-
387
+ _limitSelectedTiles2 = (0, _slicedToArray2.default)(_limitSelectedTiles, 2),
388
+ filteredSelectedTiles = _limitSelectedTiles2[0],
389
+ unselectedTiles = _limitSelectedTiles2[1];
424
390
  currentFrameStateData.selectedTiles = filteredSelectedTiles;
425
-
426
391
  var _iterator3 = _createForOfIteratorHelper(unselectedTiles),
427
- _step3;
428
-
392
+ _step3;
429
393
  try {
430
394
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
431
395
  var _tile = _step3.value;
432
-
433
396
  _tile.unselect();
434
397
  }
435
398
  } catch (err) {
@@ -437,36 +400,31 @@ var Tileset3D = function () {
437
400
  } finally {
438
401
  _iterator3.f();
439
402
  }
440
-
441
403
  currentFrameStateData._requestedTiles = Object.values(this._traverser.requestedTiles);
442
404
  currentFrameStateData._emptyTiles = Object.values(this._traverser.emptyTiles);
443
405
  this.traverseCounter--;
444
-
445
406
  if (this.traverseCounter > 0) {
446
407
  return;
447
408
  }
448
-
449
409
  this._updateTiles();
450
410
  }
411
+
451
412
  }, {
452
413
  key: "_updateTiles",
453
- value: function _updateTiles() {
414
+ value:
415
+ function _updateTiles() {
454
416
  this.selectedTiles = [];
455
417
  this._requestedTiles = [];
456
418
  this._emptyTiles = [];
457
-
458
419
  for (var frameStateKey in this.frameStateData) {
459
420
  var frameStateDataValue = this.frameStateData[frameStateKey];
460
421
  this.selectedTiles = this.selectedTiles.concat(frameStateDataValue.selectedTiles);
461
422
  this._requestedTiles = this._requestedTiles.concat(frameStateDataValue._requestedTiles);
462
423
  this._emptyTiles = this._emptyTiles.concat(frameStateDataValue._emptyTiles);
463
424
  }
464
-
465
425
  this.selectedTiles = this.options.onTraversalComplete(this.selectedTiles);
466
-
467
426
  var _iterator4 = _createForOfIteratorHelper(this.selectedTiles),
468
- _step4;
469
-
427
+ _step4;
470
428
  try {
471
429
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
472
430
  var _tile2 = _step4.value;
@@ -477,11 +435,8 @@ var Tileset3D = function () {
477
435
  } finally {
478
436
  _iterator4.f();
479
437
  }
480
-
481
438
  this._loadTiles();
482
-
483
439
  this._unloadTiles();
484
-
485
440
  this._updateStats();
486
441
  }
487
442
  }, {
@@ -490,7 +445,6 @@ var Tileset3D = function () {
490
445
  if (oldSelectedTiles.length !== selectedTiles.length) {
491
446
  return true;
492
447
  }
493
-
494
448
  var set1 = new Set(oldSelectedTiles.map(function (t) {
495
449
  return t.id;
496
450
  }));
@@ -509,12 +463,10 @@ var Tileset3D = function () {
509
463
  key: "_loadTiles",
510
464
  value: function _loadTiles() {
511
465
  var _iterator5 = _createForOfIteratorHelper(this._requestedTiles),
512
- _step5;
513
-
466
+ _step5;
514
467
  try {
515
468
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
516
469
  var _tile3 = _step5.value;
517
-
518
470
  if (_tile3.contentUnloaded) {
519
471
  this._loadTile(_tile3);
520
472
  }
@@ -537,17 +489,13 @@ var Tileset3D = function () {
537
489
  value: function _updateStats() {
538
490
  var tilesRenderable = 0;
539
491
  var pointsRenderable = 0;
540
-
541
492
  var _iterator6 = _createForOfIteratorHelper(this.selectedTiles),
542
- _step6;
543
-
493
+ _step6;
544
494
  try {
545
495
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
546
496
  var _tile4 = _step6.value;
547
-
548
497
  if (_tile4.contentAvailable && _tile4.content) {
549
498
  tilesRenderable++;
550
-
551
499
  if (_tile4.content.pointCount) {
552
500
  pointsRenderable += _tile4.content.pointCount;
553
501
  } else {
@@ -560,7 +508,6 @@ var Tileset3D = function () {
560
508
  } finally {
561
509
  _iterator6.f();
562
510
  }
563
-
564
511
  this.stats.get(TILES_IN_VIEW).count = this.selectedTiles.length;
565
512
  this.stats.get(TILES_RENDERABLE).count = tilesRenderable;
566
513
  this.stats.get(POINTS_COUNT).count = pointsRenderable;
@@ -577,27 +524,20 @@ var Tileset3D = function () {
577
524
  _context2.next = 5;
578
525
  break;
579
526
  }
580
-
581
527
  this.calculateViewPropsI3S();
582
528
  _context2.next = 4;
583
529
  return tilesetJson.root;
584
-
585
530
  case 4:
586
531
  tilesetJson.root = _context2.sent;
587
-
588
532
  case 5:
589
533
  this.root = this._initializeTileHeaders(tilesetJson, null);
590
-
591
534
  if (this.type === _constants.TILESET_TYPE.TILES3D) {
592
535
  this._initializeTiles3DTileset(tilesetJson);
593
-
594
536
  this.calculateViewPropsTiles3D();
595
537
  }
596
-
597
538
  if (this.type === _constants.TILESET_TYPE.I3S) {
598
539
  this._initializeI3STileset();
599
540
  }
600
-
601
541
  case 8:
602
542
  case "end":
603
543
  return _context2.stop();
@@ -605,60 +545,54 @@ var Tileset3D = function () {
605
545
  }
606
546
  }, _callee2, this);
607
547
  }));
608
-
609
548
  function _initializeTileSet(_x) {
610
549
  return _initializeTileSet2.apply(this, arguments);
611
550
  }
612
-
613
551
  return _initializeTileSet;
614
552
  }()
615
553
  }, {
616
554
  key: "calculateViewPropsI3S",
617
- value: function calculateViewPropsI3S() {
555
+ value:
556
+ function calculateViewPropsI3S() {
618
557
  var _this$tileset$store;
619
-
620
558
  var fullExtent = this.tileset.fullExtent;
621
-
622
559
  if (fullExtent) {
623
560
  var xmin = fullExtent.xmin,
624
- xmax = fullExtent.xmax,
625
- ymin = fullExtent.ymin,
626
- ymax = fullExtent.ymax,
627
- zmin = fullExtent.zmin,
628
- zmax = fullExtent.zmax;
561
+ xmax = fullExtent.xmax,
562
+ ymin = fullExtent.ymin,
563
+ ymax = fullExtent.ymax,
564
+ zmin = fullExtent.zmin,
565
+ zmax = fullExtent.zmax;
629
566
  this.cartographicCenter = new _core.Vector3(xmin + (xmax - xmin) / 2, ymin + (ymax - ymin) / 2, zmin + (zmax - zmin) / 2);
630
567
  this.cartesianCenter = _geospatial.Ellipsoid.WGS84.cartographicToCartesian(this.cartographicCenter, new _core.Vector3());
631
568
  this.zoom = (0, _zoom.getZoomFromFullExtent)(fullExtent, this.cartographicCenter, this.cartesianCenter);
632
569
  return;
633
570
  }
634
-
635
571
  var extent = (_this$tileset$store = this.tileset.store) === null || _this$tileset$store === void 0 ? void 0 : _this$tileset$store.extent;
636
-
637
572
  if (extent) {
638
573
  var _extent = (0, _slicedToArray2.default)(extent, 4),
639
- _xmin = _extent[0],
640
- _ymin = _extent[1],
641
- _xmax = _extent[2],
642
- _ymax = _extent[3];
643
-
574
+ _xmin = _extent[0],
575
+ _ymin = _extent[1],
576
+ _xmax = _extent[2],
577
+ _ymax = _extent[3];
644
578
  this.cartographicCenter = new _core.Vector3(_xmin + (_xmax - _xmin) / 2, _ymin + (_ymax - _ymin) / 2, 0);
645
579
  this.cartesianCenter = _geospatial.Ellipsoid.WGS84.cartographicToCartesian(this.cartographicCenter, new _core.Vector3());
646
580
  this.zoom = (0, _zoom.getZoomFromExtent)(extent, this.cartographicCenter, this.cartesianCenter);
647
581
  return;
648
582
  }
649
-
650
583
  console.warn('Extent is not defined in the tileset header');
651
584
  this.cartographicCenter = new _core.Vector3();
652
585
  this.zoom = 1;
653
586
  return;
654
587
  }
588
+
655
589
  }, {
656
590
  key: "calculateViewPropsTiles3D",
657
- value: function calculateViewPropsTiles3D() {
591
+ value:
592
+ function calculateViewPropsTiles3D() {
658
593
  var root = this.root;
659
594
  (0, _loaderUtils.assert)(root);
660
595
  var center = root.boundingVolume.center;
661
-
662
596
  if (!center) {
663
597
  console.warn('center was not pre-calculated for the root tile');
664
598
  this.cartographicCenter = new _core.Vector3();
@@ -671,7 +605,6 @@ var Tileset3D = function () {
671
605
  } else {
672
606
  this.cartographicCenter = new _core.Vector3(0, 0, -_geospatial.Ellipsoid.WGS84.radii[0]);
673
607
  }
674
-
675
608
  this.cartesianCenter = center;
676
609
  this.zoom = (0, _zoom.getZoomFromBoundingVolume)(root.boundingVolume, this.cartographicCenter);
677
610
  }
@@ -689,9 +622,11 @@ var Tileset3D = function () {
689
622
  this.stats.get(POINTS_COUNT, 'memory');
690
623
  this.stats.get(TILES_GPU_MEMORY, 'memory');
691
624
  }
625
+
692
626
  }, {
693
627
  key: "_initializeTileHeaders",
694
- value: function _initializeTileHeaders(tilesetJson, parentTileHeader) {
628
+ value:
629
+ function _initializeTileHeaders(tilesetJson, parentTileHeader) {
695
630
  var rootTile = new _tile3d.default(this, tilesetJson.root, parentTileHeader);
696
631
 
697
632
  if (parentTileHeader) {
@@ -702,23 +637,17 @@ var Tileset3D = function () {
702
637
  if (this.type === _constants.TILESET_TYPE.TILES3D) {
703
638
  var stack = [];
704
639
  stack.push(rootTile);
705
-
706
640
  while (stack.length > 0) {
707
641
  var _tile5 = stack.pop();
708
-
709
642
  this.stats.get(TILES_TOTAL).incrementCount();
710
643
  var children = _tile5.header.children || [];
711
-
712
644
  var _iterator7 = _createForOfIteratorHelper(children),
713
- _step7;
714
-
645
+ _step7;
715
646
  try {
716
647
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
717
648
  var childHeader = _step7.value;
718
649
  var childTile = new _tile3d.default(this, childHeader, _tile5);
719
-
720
650
  _tile5.children.push(childTile);
721
-
722
651
  childTile.depth = _tile5.depth + 1;
723
652
  stack.push(childTile);
724
653
  }
@@ -729,7 +658,6 @@ var Tileset3D = function () {
729
658
  }
730
659
  }
731
660
  }
732
-
733
661
  return rootTile;
734
662
  }
735
663
  }, {
@@ -737,20 +665,16 @@ var Tileset3D = function () {
737
665
  value: function _initializeTraverser() {
738
666
  var TraverserClass;
739
667
  var type = this.type;
740
-
741
668
  switch (type) {
742
669
  case _constants.TILESET_TYPE.TILES3D:
743
670
  TraverserClass = _tileset3dTraverser.default;
744
671
  break;
745
-
746
672
  case _constants.TILESET_TYPE.I3S:
747
673
  TraverserClass = _i3sTilesetTraverser.default;
748
674
  break;
749
-
750
675
  default:
751
676
  TraverserClass = _tilesetTraverser.default;
752
677
  }
753
-
754
678
  return new TraverserClass({
755
679
  basePath: this.basePath,
756
680
  onTraversalEnd: this._onTraversalEnd.bind(this)
@@ -771,32 +695,22 @@ var Tileset3D = function () {
771
695
  switch (_context3.prev = _context3.next) {
772
696
  case 0:
773
697
  _context3.prev = 0;
774
-
775
698
  this._onStartTileLoading();
776
-
777
699
  _context3.next = 4;
778
700
  return tile.loadContent();
779
-
780
701
  case 4:
781
702
  loaded = _context3.sent;
782
703
  _context3.next = 10;
783
704
  break;
784
-
785
705
  case 7:
786
706
  _context3.prev = 7;
787
707
  _context3.t0 = _context3["catch"](0);
788
-
789
708
  this._onTileLoadError(tile, _context3.t0);
790
-
791
709
  case 10:
792
710
  _context3.prev = 10;
793
-
794
711
  this._onEndTileLoading();
795
-
796
712
  this._onTileLoad(tile, loaded);
797
-
798
713
  return _context3.finish(10);
799
-
800
714
  case 14:
801
715
  case "end":
802
716
  return _context3.stop();
@@ -804,11 +718,9 @@ var Tileset3D = function () {
804
718
  }
805
719
  }, _callee3, this, [[0, 7, 10, 14]]);
806
720
  }));
807
-
808
721
  function _loadTile(_x2) {
809
722
  return _loadTile2.apply(this, arguments);
810
723
  }
811
-
812
724
  return _loadTile;
813
725
  }()
814
726
  }, {
@@ -826,10 +738,8 @@ var Tileset3D = function () {
826
738
  if (!loaded) {
827
739
  return;
828
740
  }
829
-
830
741
  if (this.type === _constants.TILESET_TYPE.I3S) {
831
742
  var _this$tileset, _this$tileset$nodePag;
832
-
833
743
  var nodesInNodePages = ((_this$tileset = this.tileset) === null || _this$tileset === void 0 ? void 0 : (_this$tileset$nodePag = _this$tileset.nodePagesTile) === null || _this$tileset$nodePag === void 0 ? void 0 : _this$tileset$nodePag.nodesInNodePages) || 0;
834
744
  this.stats.get(TILES_TOTAL).reset();
835
745
  this.stats.get(TILES_TOTAL).addCount(nodesInNodePages);
@@ -838,9 +748,7 @@ var Tileset3D = function () {
838
748
  if (tile && tile.content) {
839
749
  (0, _transformUtils.calculateTransformProps)(tile, tile.content);
840
750
  }
841
-
842
751
  this._addTileToCache(tile);
843
-
844
752
  this.options.onTileLoad(tile);
845
753
  }
846
754
  }, {
@@ -867,6 +775,7 @@ var Tileset3D = function () {
867
775
  value: function _updateCacheStats(tile) {
868
776
  this.stats.get(TILES_LOADED).incrementCount();
869
777
  this.stats.get(TILES_IN_MEMORY).incrementCount();
778
+
870
779
  this.gpuMemoryUsageInBytes += tile.content.byteLength || 0;
871
780
  this.stats.get(TILES_GPU_MEMORY).count = this.gpuMemoryUsageInBytes;
872
781
  }
@@ -880,21 +789,19 @@ var Tileset3D = function () {
880
789
  this.options.onTileUnload(tile);
881
790
  tile.unloadContent();
882
791
  }
792
+
883
793
  }, {
884
794
  key: "_destroy",
885
- value: function _destroy() {
795
+ value:
796
+ function _destroy() {
886
797
  var stack = [];
887
-
888
798
  if (this.root) {
889
799
  stack.push(this.root);
890
800
  }
891
-
892
801
  while (stack.length > 0) {
893
802
  var _tile6 = stack.pop();
894
-
895
803
  var _iterator8 = _createForOfIteratorHelper(_tile6.children),
896
- _step8;
897
-
804
+ _step8;
898
805
  try {
899
806
  for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
900
807
  var child = _step8.value;
@@ -905,25 +812,22 @@ var Tileset3D = function () {
905
812
  } finally {
906
813
  _iterator8.f();
907
814
  }
908
-
909
815
  this._destroyTile(_tile6);
910
816
  }
911
-
912
817
  this.root = null;
913
818
  }
819
+
914
820
  }, {
915
821
  key: "_destroySubtree",
916
- value: function _destroySubtree(tile) {
822
+ value:
823
+ function _destroySubtree(tile) {
917
824
  var root = tile;
918
825
  var stack = [];
919
826
  stack.push(root);
920
-
921
827
  while (stack.length > 0) {
922
828
  tile = stack.pop();
923
-
924
829
  var _iterator9 = _createForOfIteratorHelper(tile.children),
925
- _step9;
926
-
830
+ _step9;
927
831
  try {
928
832
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
929
833
  var child = _step9.value;
@@ -934,32 +838,26 @@ var Tileset3D = function () {
934
838
  } finally {
935
839
  _iterator9.f();
936
840
  }
937
-
938
841
  if (tile !== root) {
939
842
  this._destroyTile(tile);
940
843
  }
941
844
  }
942
-
943
845
  root.children = [];
944
846
  }
945
847
  }, {
946
848
  key: "_destroyTile",
947
849
  value: function _destroyTile(tile) {
948
850
  this._cache.unloadTile(this, tile);
949
-
950
851
  this._unloadTile(tile);
951
-
952
852
  tile.destroy();
953
853
  }
954
854
  }, {
955
855
  key: "_initializeTiles3DTileset",
956
856
  value: function _initializeTiles3DTileset(tilesetJson) {
957
857
  this.asset = tilesetJson.asset;
958
-
959
858
  if (!this.asset) {
960
859
  throw new Error('Tileset must have an asset property.');
961
860
  }
962
-
963
861
  if (this.asset.version !== '0.0' && this.asset.version !== '1.0') {
964
862
  throw new Error('The tileset must be 3D Tiles version 0.0 or 1.0.');
965
863
  }
@@ -972,6 +870,7 @@ var Tileset3D = function () {
972
870
  attributions: this.options.attributions || []
973
871
  };
974
872
  this.description = this.options.description || '';
873
+
975
874
  this.properties = tilesetJson.properties;
976
875
  this.geometricError = tilesetJson.geometricError;
977
876
  this._extensionsUsed = tilesetJson.extensionsUsed;
@@ -987,24 +886,18 @@ var Tileset3D = function () {
987
886
  }]);
988
887
  return Tileset3D;
989
888
  }();
990
-
991
889
  exports.default = Tileset3D;
992
-
993
890
  function getQueryParamString(queryParams) {
994
891
  var queryParamStrings = [];
995
-
996
892
  for (var _i = 0, _Object$keys = Object.keys(queryParams); _i < _Object$keys.length; _i++) {
997
893
  var _key = _Object$keys[_i];
998
894
  queryParamStrings.push("".concat(_key, "=").concat(queryParams[_key]));
999
895
  }
1000
-
1001
896
  switch (queryParamStrings.length) {
1002
897
  case 0:
1003
898
  return '';
1004
-
1005
899
  case 1:
1006
900
  return "?".concat(queryParamStrings[0]);
1007
-
1008
901
  default:
1009
902
  return "?".concat(queryParamStrings.join('&'));
1010
903
  }