@loaders.gl/tiles 3.2.12 → 3.3.0-alpha.10

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 (106) hide show
  1. package/dist/dist.min.js +951 -1387
  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 +119 -96
  23. package/dist/es5/tileset/tile-3d.js.map +1 -1
  24. package/dist/es5/tileset/tileset-3d.js +119 -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 +8 -50
  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 +55 -108
  64. package/dist/esm/tileset/tile-3d.js.map +1 -1
  65. package/dist/esm/tileset/tileset-3d.js +58 -154
  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 +5 -19
  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 +1 -1
  87. package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
  88. package/dist/tileset/helpers/frame-state.js +1 -1
  89. package/dist/tileset/tile-3d.d.ts +24 -5
  90. package/dist/tileset/tile-3d.d.ts.map +1 -1
  91. package/dist/tileset/tile-3d.js +27 -2
  92. package/dist/tileset/tileset-3d.d.ts +14 -2
  93. package/dist/tileset/tileset-3d.d.ts.map +1 -1
  94. package/dist/tileset/tileset-3d.js +35 -0
  95. package/dist/tileset/traversers/i3s-tileset-traverser.d.ts.map +1 -1
  96. package/dist/tileset/traversers/i3s-tileset-traverser.js +5 -6
  97. package/dist/tileset/traversers/tileset-traverser.d.ts +2 -2
  98. package/dist/tileset/traversers/tileset-traverser.d.ts.map +1 -1
  99. package/dist/tileset/traversers/tileset-traverser.js +3 -3
  100. package/dist/types.d.ts +3 -3
  101. package/dist/types.d.ts.map +1 -1
  102. package/package.json +4 -4
  103. package/src/tileset/helpers/frame-state.ts +1 -1
  104. package/src/tileset/tile-3d.ts +31 -4
  105. package/src/tileset/tileset-3d.ts +36 -0
  106. package/src/tileset/traversers/i3s-tileset-traverser.ts +1 -2
@@ -1,51 +1,33 @@
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 _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
13
  var _core = require("@math.gl/core");
21
-
22
14
  var _culling = require("@math.gl/culling");
23
-
24
15
  var _core2 = require("@loaders.gl/core");
25
-
26
16
  var _constants = require("../constants");
27
-
28
17
  var _boundingVolume = require("./helpers/bounding-volume");
29
-
30
18
  var _tiles3dLod = require("./helpers/tiles-3d-lod");
31
-
32
19
  var _i3sLod = require("./helpers/i3s-lod");
33
-
34
20
  var _dTilesOptions = require("./helpers/3d-tiles-options");
35
-
36
21
  var _tilesetTraverser = _interopRequireDefault(require("./traversers/tileset-traverser"));
37
-
38
- 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; }
39
-
40
- 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; }
41
-
22
+ 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; }
23
+ 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; }
42
24
  var scratchVector = new _core.Vector3();
43
-
44
25
  function defined(x) {
45
26
  return x !== undefined && x !== null;
46
27
  }
47
28
 
48
29
  var TileHeader = function () {
30
+
49
31
  function TileHeader(tileset, header, parentHeader) {
50
32
  var extendedId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
51
33
  (0, _classCallCheck2.default)(this, TileHeader);
@@ -68,6 +50,7 @@ var TileHeader = function () {
68
50
  (0, _defineProperty2.default)(this, "viewportIds", void 0);
69
51
  (0, _defineProperty2.default)(this, "transform", void 0);
70
52
  (0, _defineProperty2.default)(this, "extensions", void 0);
53
+ (0, _defineProperty2.default)(this, "implicitTiling", void 0);
71
54
  (0, _defineProperty2.default)(this, "userData", void 0);
72
55
  (0, _defineProperty2.default)(this, "computedTransform", void 0);
73
56
  (0, _defineProperty2.default)(this, "hasEmptyContent", void 0);
@@ -96,26 +79,34 @@ var TileHeader = function () {
96
79
  (0, _defineProperty2.default)(this, "_viewerRequestVolume", void 0);
97
80
  (0, _defineProperty2.default)(this, "_initialTransform", void 0);
98
81
  this.header = header;
82
+
99
83
  this.tileset = tileset;
100
84
  this.id = extendedId || header.id;
101
85
  this.url = header.url;
86
+
102
87
  this.parent = parentHeader;
103
88
  this.refine = this._getRefine(header.refine);
104
89
  this.type = header.type;
105
90
  this.contentUrl = header.contentUrl;
91
+
106
92
  this.lodMetricType = 'geometricError';
107
93
  this.lodMetricValue = 0;
94
+
108
95
  this.boundingVolume = null;
96
+
109
97
  this.content = null;
110
98
  this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
111
99
  this.gpuMemoryUsageInBytes = 0;
100
+
112
101
  this.children = [];
113
102
  this.hasEmptyContent = false;
114
103
  this.hasTilesetContent = false;
115
104
  this.depth = 0;
116
105
  this.viewportIds = [];
106
+
117
107
  this.userData = {};
118
108
  this.extensions = null;
109
+
119
110
  this._priority = 0;
120
111
  this._touchedFrame = 0;
121
112
  this._visitedFrame = 0;
@@ -135,23 +126,19 @@ var TileHeader = function () {
135
126
  this._selectionDepth = 0;
136
127
  this._initialTransform = new _core.Matrix4();
137
128
  this.transform = new _core.Matrix4();
138
-
139
129
  this._initializeLodMetric(header);
140
-
141
130
  this._initializeTransforms(header);
142
-
143
131
  this._initializeBoundingVolumes(header);
144
-
145
132
  this._initializeContent(header);
146
-
147
133
  this._initializeRenderingState(header);
148
134
 
149
135
  this._lodJudge = null;
136
+
150
137
  this._expireDate = null;
151
138
  this._expiredContent = null;
139
+ this.implicitTiling = null;
152
140
  Object.seal(this);
153
141
  }
154
-
155
142
  (0, _createClass2.default)(TileHeader, [{
156
143
  key: "destroy",
157
144
  value: function destroy() {
@@ -177,80 +164,113 @@ var TileHeader = function () {
177
164
  get: function get() {
178
165
  return this._visible && this._inRequestVolume;
179
166
  }
167
+
180
168
  }, {
181
169
  key: "hasRenderContent",
182
- get: function get() {
170
+ get:
171
+ function get() {
183
172
  return !this.hasEmptyContent && !this.hasTilesetContent;
184
173
  }
174
+
185
175
  }, {
186
176
  key: "hasChildren",
187
- get: function get() {
177
+ get:
178
+ function get() {
188
179
  return this.children.length > 0 || this.header.children && this.header.children.length > 0;
189
180
  }
181
+
190
182
  }, {
191
183
  key: "contentReady",
192
- get: function get() {
184
+ get:
185
+ function get() {
193
186
  return this.contentState === _constants.TILE_CONTENT_STATE.READY || this.hasEmptyContent;
194
187
  }
188
+
195
189
  }, {
196
190
  key: "contentAvailable",
197
- get: function get() {
191
+ get:
192
+ function get() {
198
193
  return Boolean(this.contentReady && this.hasRenderContent || this._expiredContent && !this.contentFailed);
199
194
  }
195
+
200
196
  }, {
201
197
  key: "hasUnloadedContent",
202
- get: function get() {
198
+ get:
199
+ function get() {
203
200
  return this.hasRenderContent && this.contentUnloaded;
204
201
  }
202
+
205
203
  }, {
206
204
  key: "contentUnloaded",
207
- get: function get() {
205
+ get:
206
+ function get() {
208
207
  return this.contentState === _constants.TILE_CONTENT_STATE.UNLOADED;
209
208
  }
209
+
210
210
  }, {
211
211
  key: "contentExpired",
212
- get: function get() {
212
+ get:
213
+ function get() {
213
214
  return this.contentState === _constants.TILE_CONTENT_STATE.EXPIRED;
214
215
  }
216
+
215
217
  }, {
216
218
  key: "contentFailed",
217
- get: function get() {
219
+ get:
220
+ function get() {
218
221
  return this.contentState === _constants.TILE_CONTENT_STATE.FAILED;
219
222
  }
223
+
224
+ }, {
225
+ key: "distanceToCamera",
226
+ get:
227
+ function get() {
228
+ return this._distanceToCamera;
229
+ }
230
+
231
+ }, {
232
+ key: "screenSpaceError",
233
+ get:
234
+ function get() {
235
+ return this._screenSpaceError;
236
+ }
237
+
220
238
  }, {
221
239
  key: "getScreenSpaceError",
222
- value: function getScreenSpaceError(frameState, useParentLodMetric) {
240
+ value:
241
+ function getScreenSpaceError(frameState, useParentLodMetric) {
223
242
  switch (this.tileset.type) {
224
243
  case _constants.TILESET_TYPE.I3S:
225
244
  return (0, _i3sLod.getProjectedRadius)(this, frameState);
226
-
227
245
  case _constants.TILESET_TYPE.TILES3D:
228
246
  return (0, _tiles3dLod.getTiles3DScreenSpaceError)(this, frameState, useParentLodMetric);
229
-
230
247
  default:
231
248
  throw new Error('Unsupported tileset type');
232
249
  }
233
250
  }
251
+
234
252
  }, {
235
253
  key: "unselect",
236
- value: function unselect() {
254
+ value:
255
+ function unselect() {
237
256
  this._selectedFrame = 0;
238
257
  }
258
+
239
259
  }, {
240
260
  key: "_getPriority",
241
- value: function _getPriority() {
261
+ value:
262
+ function _getPriority() {
242
263
  var traverser = this.tileset._traverser;
243
264
  var skipLevelOfDetail = traverser.options.skipLevelOfDetail;
265
+
244
266
  var maySkipTile = this.refine === _constants.TILE_REFINEMENT.ADD || skipLevelOfDetail;
245
267
 
246
268
  if (maySkipTile && !this.isVisible && this._visible !== undefined) {
247
269
  return -1;
248
270
  }
249
-
250
271
  if (this.tileset._frameNumber - this._touchedFrame >= 1) {
251
272
  return -1;
252
273
  }
253
-
254
274
  if (this.contentState === _constants.TILE_CONTENT_STATE.UNLOADED) {
255
275
  return -1;
256
276
  }
@@ -259,8 +279,10 @@ var TileHeader = function () {
259
279
  var useParentScreenSpaceError = parent && (!maySkipTile || this._screenSpaceError === 0.0 || parent.hasTilesetContent);
260
280
  var screenSpaceError = useParentScreenSpaceError ? parent._screenSpaceError : this._screenSpaceError;
261
281
  var rootScreenSpaceError = traverser.root ? traverser.root._screenSpaceError : 0.0;
282
+
262
283
  return Math.max(rootScreenSpaceError - screenSpaceError, 0);
263
284
  }
285
+
264
286
  }, {
265
287
  key: "loadContent",
266
288
  value: function () {
@@ -274,39 +296,29 @@ var TileHeader = function () {
274
296
  _context.next = 2;
275
297
  break;
276
298
  }
277
-
278
299
  return _context.abrupt("return", false);
279
-
280
300
  case 2:
281
301
  if (!this.content) {
282
302
  _context.next = 4;
283
303
  break;
284
304
  }
285
-
286
305
  return _context.abrupt("return", true);
287
-
288
306
  case 4:
289
307
  expired = this.contentExpired;
290
-
291
308
  if (expired) {
292
309
  this._expireDate = null;
293
310
  }
294
-
295
311
  this.contentState = _constants.TILE_CONTENT_STATE.LOADING;
296
312
  _context.next = 9;
297
313
  return this.tileset._requestScheduler.scheduleRequest(this.id, this._getPriority.bind(this));
298
-
299
314
  case 9:
300
315
  requestToken = _context.sent;
301
-
302
316
  if (requestToken) {
303
317
  _context.next = 13;
304
318
  break;
305
319
  }
306
-
307
320
  this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
308
321
  return _context.abrupt("return", false);
309
-
310
322
  case 13:
311
323
  _context.prev = 13;
312
324
  contentUrl = this.tileset.getTileUrl(this.contentUrl);
@@ -316,40 +328,30 @@ var TileHeader = function () {
316
328
  }, this._getLoaderSpecificOptions(loader.id))));
317
329
  _context.next = 19;
318
330
  return (0, _core2.load)(contentUrl, loader, options);
319
-
320
331
  case 19:
321
332
  this.content = _context.sent;
322
-
323
333
  if (!this.tileset.options.contentLoader) {
324
334
  _context.next = 23;
325
335
  break;
326
336
  }
327
-
328
337
  _context.next = 23;
329
338
  return this.tileset.options.contentLoader(this);
330
-
331
339
  case 23:
332
340
  if (this._isTileset()) {
333
341
  this.tileset._initializeTileHeaders(this.content, this);
334
342
  }
335
-
336
343
  this.contentState = _constants.TILE_CONTENT_STATE.READY;
337
-
338
344
  this._onContentLoaded();
339
-
340
345
  return _context.abrupt("return", true);
341
-
342
346
  case 29:
343
347
  _context.prev = 29;
344
348
  _context.t0 = _context["catch"](13);
345
349
  this.contentState = _constants.TILE_CONTENT_STATE.FAILED;
346
350
  throw _context.t0;
347
-
348
351
  case 33:
349
352
  _context.prev = 33;
350
353
  requestToken.done();
351
354
  return _context.finish(33);
352
-
353
355
  case 36:
354
356
  case "end":
355
357
  return _context.stop();
@@ -357,46 +359,40 @@ var TileHeader = function () {
357
359
  }
358
360
  }, _callee, this, [[13, 29, 33, 36]]);
359
361
  }));
360
-
361
362
  function loadContent() {
362
363
  return _loadContent.apply(this, arguments);
363
364
  }
364
-
365
365
  return loadContent;
366
366
  }()
367
367
  }, {
368
368
  key: "unloadContent",
369
- value: function unloadContent() {
369
+ value:
370
+ function unloadContent() {
370
371
  if (this.content && this.content.destroy) {
371
372
  this.content.destroy();
372
373
  }
373
-
374
374
  this.content = null;
375
-
376
375
  if (this.header.content && this.header.content.destroy) {
377
376
  this.header.content.destroy();
378
377
  }
379
-
380
378
  this.header.content = null;
381
379
  this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
382
380
  return true;
383
381
  }
382
+
384
383
  }, {
385
384
  key: "updateVisibility",
386
- value: function updateVisibility(frameState, viewportIds) {
385
+ value:
386
+ function updateVisibility(frameState, viewportIds) {
387
387
  if (this._frameNumber === frameState.frameNumber) {
388
388
  return;
389
389
  }
390
-
391
390
  var parent = this.parent;
392
391
  var parentVisibilityPlaneMask = parent ? parent._visibilityPlaneMask : _culling.CullingVolume.MASK_INDETERMINATE;
393
-
394
392
  if (this.tileset._traverser.options.updateTransforms) {
395
393
  var parentTransform = parent ? parent.computedTransform : this.tileset.modelMatrix;
396
-
397
394
  this._updateTransform(parentTransform);
398
395
  }
399
-
400
396
  this._distanceToCamera = this.distanceToTile(frameState);
401
397
  this._screenSpaceError = this.getScreenSpaceError(frameState, false);
402
398
  this._visibilityPlaneMask = this.visibility(frameState, parentVisibilityPlaneMask);
@@ -405,44 +401,58 @@ var TileHeader = function () {
405
401
  this._frameNumber = frameState.frameNumber;
406
402
  this.viewportIds = viewportIds;
407
403
  }
404
+
408
405
  }, {
409
406
  key: "visibility",
410
- value: function visibility(frameState, parentVisibilityPlaneMask) {
407
+ value:
408
+ function visibility(frameState, parentVisibilityPlaneMask) {
411
409
  var cullingVolume = frameState.cullingVolume;
412
410
  var boundingVolume = this.boundingVolume;
411
+
413
412
  return cullingVolume.computeVisibilityWithPlaneMask(boundingVolume, parentVisibilityPlaneMask);
414
413
  }
414
+
415
415
  }, {
416
416
  key: "contentVisibility",
417
- value: function contentVisibility() {
417
+ value:
418
+ function contentVisibility() {
418
419
  return true;
420
+
419
421
  }
422
+
420
423
  }, {
421
424
  key: "distanceToTile",
422
- value: function distanceToTile(frameState) {
425
+ value:
426
+ function distanceToTile(frameState) {
423
427
  var boundingVolume = this.boundingVolume;
424
428
  return Math.sqrt(Math.max(boundingVolume.distanceSquaredTo(frameState.camera.position), 0));
425
429
  }
430
+
426
431
  }, {
427
432
  key: "cameraSpaceZDepth",
428
- value: function cameraSpaceZDepth(_ref) {
433
+ value:
434
+ function cameraSpaceZDepth(_ref) {
429
435
  var camera = _ref.camera;
430
436
  var boundingVolume = this.boundingVolume;
431
437
  scratchVector.subVectors(boundingVolume.center, camera.position);
432
438
  return camera.direction.dot(scratchVector);
433
439
  }
440
+
434
441
  }, {
435
442
  key: "insideViewerRequestVolume",
436
- value: function insideViewerRequestVolume(frameState) {
443
+ value:
444
+ function insideViewerRequestVolume(frameState) {
437
445
  var viewerRequestVolume = this._viewerRequestVolume;
438
446
  return !viewerRequestVolume || viewerRequestVolume.distanceSquaredTo(frameState.camera.position) <= 0;
439
447
  }
448
+
440
449
  }, {
441
450
  key: "updateExpiration",
442
- value: function updateExpiration() {
451
+ value:
452
+
453
+ function updateExpiration() {
443
454
  if (defined(this._expireDate) && this.contentReady && !this.hasEmptyContent) {
444
455
  var now = Date.now();
445
-
446
456
  if (Date.lessThan(this._expireDate, now)) {
447
457
  this.contentState = _constants.TILE_CONTENT_STATE.EXPIRED;
448
458
  this._expiredContent = this.content;
@@ -454,9 +464,12 @@ var TileHeader = function () {
454
464
  get: function get() {
455
465
  return this.header.extras;
456
466
  }
467
+
457
468
  }, {
458
469
  key: "_initializeLodMetric",
459
- value: function _initializeLodMetric(header) {
470
+ value:
471
+
472
+ function _initializeLodMetric(header) {
460
473
  if ('lodMetricType' in header) {
461
474
  this.lodMetricType = header.lodMetricType;
462
475
  } else {
@@ -487,7 +500,6 @@ var TileHeader = function () {
487
500
  value: function _initializeBoundingVolumes(tileHeader) {
488
501
  this._contentBoundingVolume = null;
489
502
  this._viewerRequestVolume = null;
490
-
491
503
  this._updateBoundingVolume(tileHeader);
492
504
  }
493
505
  }, {
@@ -499,18 +511,21 @@ var TileHeader = function () {
499
511
  };
500
512
  this.hasEmptyContent = true;
501
513
  this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
502
- this.hasTilesetContent = false;
503
514
 
515
+ this.hasTilesetContent = false;
504
516
  if (tileHeader.contentUrl) {
505
517
  this.content = null;
506
518
  this.hasEmptyContent = false;
507
519
  }
508
520
  }
521
+
509
522
  }, {
510
523
  key: "_initializeRenderingState",
511
- value: function _initializeRenderingState(header) {
524
+ value:
525
+ function _initializeRenderingState(header) {
512
526
  this.depth = header.level || (this.parent ? this.parent.depth + 1 : 0);
513
527
  this._shouldRefine = false;
528
+
514
529
  this._distanceToCamera = 0;
515
530
  this._centerZDepth = 0;
516
531
  this._screenSpaceError = 0;
@@ -544,7 +559,6 @@ var TileHeader = function () {
544
559
  case 'geom':
545
560
  this.tileset._traverser.disableSkipLevelOfDetail = true;
546
561
  break;
547
-
548
562
  default:
549
563
  }
550
564
 
@@ -557,7 +571,6 @@ var TileHeader = function () {
557
571
  value: function _updateBoundingVolume(header) {
558
572
  this.boundingVolume = (0, _boundingVolume.createBoundingVolume)(header.boundingVolume, this.computedTransform, this.boundingVolume);
559
573
  var content = header.content;
560
-
561
574
  if (!content) {
562
575
  return;
563
576
  }
@@ -565,37 +578,48 @@ var TileHeader = function () {
565
578
  if (content.boundingVolume) {
566
579
  this._contentBoundingVolume = (0, _boundingVolume.createBoundingVolume)(content.boundingVolume, this.computedTransform, this._contentBoundingVolume);
567
580
  }
568
-
569
581
  if (header.viewerRequestVolume) {
570
582
  this._viewerRequestVolume = (0, _boundingVolume.createBoundingVolume)(header.viewerRequestVolume, this.computedTransform, this._viewerRequestVolume);
571
583
  }
572
584
  }
585
+
573
586
  }, {
574
587
  key: "_updateTransform",
575
- value: function _updateTransform() {
588
+ value:
589
+ function _updateTransform() {
576
590
  var parentTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _core.Matrix4();
577
591
  var computedTransform = parentTransform.clone().multiplyRight(this.transform);
578
592
  var didTransformChange = !computedTransform.equals(this.computedTransform);
579
-
580
593
  if (!didTransformChange) {
581
594
  return;
582
595
  }
583
-
584
596
  this.computedTransform = computedTransform;
585
-
586
597
  this._updateBoundingVolume(this.header);
587
598
  }
599
+
588
600
  }, {
589
601
  key: "_getLoaderSpecificOptions",
590
- value: function _getLoaderSpecificOptions(loaderId) {
602
+ value:
603
+ function _getLoaderSpecificOptions(loaderId) {
591
604
  switch (loaderId) {
592
605
  case 'i3s':
593
606
  return _objectSpread(_objectSpread({}, this.tileset.options.i3s), {}, {
594
- tile: this.header,
595
- tileset: this.tileset.tileset,
607
+ _tileOptions: {
608
+ attributeUrls: this.header.attributeUrls,
609
+ textureUrl: this.header.textureUrl,
610
+ textureFormat: this.header.textureFormat,
611
+ textureLoaderOptions: this.header.textureLoaderOptions,
612
+ materialDefinition: this.header.materialDefinition,
613
+ isDracoGeometry: this.header.isDracoGeometry,
614
+ mbs: this.header.mbs
615
+ },
616
+ _tilesetOptions: {
617
+ store: this.tileset.tileset.store,
618
+ attributeStorageInfo: this.tileset.tileset.attributeStorageInfo,
619
+ fields: this.tileset.tileset.fields
620
+ },
596
621
  isTileHeader: false
597
622
  });
598
-
599
623
  case '3d-tiles':
600
624
  case 'cesium-ion':
601
625
  default:
@@ -605,6 +629,5 @@ var TileHeader = function () {
605
629
  }]);
606
630
  return TileHeader;
607
631
  }();
608
-
609
632
  exports.default = TileHeader;
610
633
  //# sourceMappingURL=tile-3d.js.map