@loaders.gl/tiles 3.3.0-alpha.1 → 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 (124) hide show
  1. package/dist/dist.min.js +1027 -1431
  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 +45 -50
  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 +111 -98
  23. package/dist/es5/tileset/tile-3d.js.map +1 -1
  24. package/dist/es5/tileset/tileset-3d.js +130 -196
  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-frame-counter.js → i3s-pending-tiles-register.js} +21 -16
  29. package/dist/es5/tileset/traversers/i3s-pending-tiles-register.js.map +1 -0
  30. package/dist/es5/tileset/traversers/i3s-tile-manager.js +33 -27
  31. package/dist/es5/tileset/traversers/i3s-tile-manager.js.map +1 -1
  32. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js +10 -52
  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 +55 -78
  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 +36 -20
  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 +47 -108
  64. package/dist/esm/tileset/tile-3d.js.map +1 -1
  65. package/dist/esm/tileset/tileset-3d.js +70 -163
  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 +28 -0
  70. package/dist/esm/tileset/traversers/i3s-pending-tiles-register.js.map +1 -0
  71. package/dist/esm/tileset/traversers/i3s-tile-manager.js +34 -15
  72. package/dist/esm/tileset/traversers/i3s-tile-manager.js.map +1 -1
  73. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js +8 -22
  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 +20 -59
  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 +5 -8
  87. package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
  88. package/dist/tileset/helpers/frame-state.js +27 -12
  89. package/dist/tileset/helpers/i3s-lod.d.ts.map +1 -1
  90. package/dist/tileset/tile-3d.d.ts +15 -4
  91. package/dist/tileset/tile-3d.d.ts.map +1 -1
  92. package/dist/tileset/tile-3d.js +15 -2
  93. package/dist/tileset/tileset-3d.d.ts +17 -4
  94. package/dist/tileset/tileset-3d.d.ts.map +1 -1
  95. package/dist/tileset/tileset-3d.js +47 -10
  96. package/dist/tileset/traversers/{i3s-frame-counter.d.ts → i3s-pending-tiles-register.d.ts} +7 -4
  97. package/dist/tileset/traversers/i3s-pending-tiles-register.d.ts.map +1 -0
  98. package/dist/tileset/traversers/{i3s-frame-counter.js → i3s-pending-tiles-register.js} +17 -8
  99. package/dist/tileset/traversers/i3s-tile-manager.d.ts +19 -1
  100. package/dist/tileset/traversers/i3s-tile-manager.d.ts.map +1 -1
  101. package/dist/tileset/traversers/i3s-tile-manager.js +32 -12
  102. package/dist/tileset/traversers/i3s-tileset-traverser.d.ts +1 -1
  103. package/dist/tileset/traversers/i3s-tileset-traverser.d.ts.map +1 -1
  104. package/dist/tileset/traversers/i3s-tileset-traverser.js +9 -9
  105. package/dist/tileset/traversers/tileset-traverser.d.ts +3 -3
  106. package/dist/tileset/traversers/tileset-traverser.d.ts.map +1 -1
  107. package/dist/tileset/traversers/tileset-traverser.js +4 -4
  108. package/dist/types.d.ts +30 -1
  109. package/dist/types.d.ts.map +1 -1
  110. package/package.json +4 -4
  111. package/src/tileset/helpers/frame-state.ts +47 -19
  112. package/src/tileset/helpers/i3s-lod.ts +3 -1
  113. package/src/tileset/tile-3d.ts +16 -2
  114. package/src/tileset/tileset-3d.ts +55 -16
  115. package/src/tileset/traversers/i3s-pending-tiles-register.ts +44 -0
  116. package/src/tileset/traversers/i3s-tile-manager.ts +47 -11
  117. package/src/tileset/traversers/i3s-tileset-traverser.ts +5 -5
  118. package/src/tileset/traversers/tileset-traverser.ts +2 -2
  119. package/src/types.ts +32 -0
  120. package/dist/es5/tileset/traversers/i3s-frame-counter.js.map +0 -1
  121. package/dist/esm/tileset/traversers/i3s-frame-counter.js +0 -23
  122. package/dist/esm/tileset/traversers/i3s-frame-counter.js.map +0 -1
  123. package/dist/tileset/traversers/i3s-frame-counter.d.ts.map +0 -1
  124. package/src/tileset/traversers/i3s-frame-counter.ts +0 -35
@@ -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,90 +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
+
220
224
  }, {
221
225
  key: "distanceToCamera",
222
- get: function get() {
226
+ get:
227
+ function get() {
223
228
  return this._distanceToCamera;
224
229
  }
230
+
225
231
  }, {
226
232
  key: "screenSpaceError",
227
- get: function get() {
233
+ get:
234
+ function get() {
228
235
  return this._screenSpaceError;
229
236
  }
237
+
230
238
  }, {
231
239
  key: "getScreenSpaceError",
232
- value: function getScreenSpaceError(frameState, useParentLodMetric) {
240
+ value:
241
+ function getScreenSpaceError(frameState, useParentLodMetric) {
233
242
  switch (this.tileset.type) {
234
243
  case _constants.TILESET_TYPE.I3S:
235
244
  return (0, _i3sLod.getProjectedRadius)(this, frameState);
236
-
237
245
  case _constants.TILESET_TYPE.TILES3D:
238
246
  return (0, _tiles3dLod.getTiles3DScreenSpaceError)(this, frameState, useParentLodMetric);
239
-
240
247
  default:
241
248
  throw new Error('Unsupported tileset type');
242
249
  }
243
250
  }
251
+
244
252
  }, {
245
253
  key: "unselect",
246
- value: function unselect() {
254
+ value:
255
+ function unselect() {
247
256
  this._selectedFrame = 0;
248
257
  }
258
+
249
259
  }, {
250
260
  key: "_getPriority",
251
- value: function _getPriority() {
261
+ value:
262
+ function _getPriority() {
252
263
  var traverser = this.tileset._traverser;
253
264
  var skipLevelOfDetail = traverser.options.skipLevelOfDetail;
265
+
254
266
  var maySkipTile = this.refine === _constants.TILE_REFINEMENT.ADD || skipLevelOfDetail;
255
267
 
256
268
  if (maySkipTile && !this.isVisible && this._visible !== undefined) {
257
269
  return -1;
258
270
  }
259
-
260
271
  if (this.tileset._frameNumber - this._touchedFrame >= 1) {
261
272
  return -1;
262
273
  }
263
-
264
274
  if (this.contentState === _constants.TILE_CONTENT_STATE.UNLOADED) {
265
275
  return -1;
266
276
  }
@@ -269,8 +279,10 @@ var TileHeader = function () {
269
279
  var useParentScreenSpaceError = parent && (!maySkipTile || this._screenSpaceError === 0.0 || parent.hasTilesetContent);
270
280
  var screenSpaceError = useParentScreenSpaceError ? parent._screenSpaceError : this._screenSpaceError;
271
281
  var rootScreenSpaceError = traverser.root ? traverser.root._screenSpaceError : 0.0;
282
+
272
283
  return Math.max(rootScreenSpaceError - screenSpaceError, 0);
273
284
  }
285
+
274
286
  }, {
275
287
  key: "loadContent",
276
288
  value: function () {
@@ -284,39 +296,29 @@ var TileHeader = function () {
284
296
  _context.next = 2;
285
297
  break;
286
298
  }
287
-
288
299
  return _context.abrupt("return", false);
289
-
290
300
  case 2:
291
301
  if (!this.content) {
292
302
  _context.next = 4;
293
303
  break;
294
304
  }
295
-
296
305
  return _context.abrupt("return", true);
297
-
298
306
  case 4:
299
307
  expired = this.contentExpired;
300
-
301
308
  if (expired) {
302
309
  this._expireDate = null;
303
310
  }
304
-
305
311
  this.contentState = _constants.TILE_CONTENT_STATE.LOADING;
306
312
  _context.next = 9;
307
313
  return this.tileset._requestScheduler.scheduleRequest(this.id, this._getPriority.bind(this));
308
-
309
314
  case 9:
310
315
  requestToken = _context.sent;
311
-
312
316
  if (requestToken) {
313
317
  _context.next = 13;
314
318
  break;
315
319
  }
316
-
317
320
  this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
318
321
  return _context.abrupt("return", false);
319
-
320
322
  case 13:
321
323
  _context.prev = 13;
322
324
  contentUrl = this.tileset.getTileUrl(this.contentUrl);
@@ -326,40 +328,30 @@ var TileHeader = function () {
326
328
  }, this._getLoaderSpecificOptions(loader.id))));
327
329
  _context.next = 19;
328
330
  return (0, _core2.load)(contentUrl, loader, options);
329
-
330
331
  case 19:
331
332
  this.content = _context.sent;
332
-
333
333
  if (!this.tileset.options.contentLoader) {
334
334
  _context.next = 23;
335
335
  break;
336
336
  }
337
-
338
337
  _context.next = 23;
339
338
  return this.tileset.options.contentLoader(this);
340
-
341
339
  case 23:
342
340
  if (this._isTileset()) {
343
341
  this.tileset._initializeTileHeaders(this.content, this);
344
342
  }
345
-
346
343
  this.contentState = _constants.TILE_CONTENT_STATE.READY;
347
-
348
344
  this._onContentLoaded();
349
-
350
345
  return _context.abrupt("return", true);
351
-
352
346
  case 29:
353
347
  _context.prev = 29;
354
348
  _context.t0 = _context["catch"](13);
355
349
  this.contentState = _constants.TILE_CONTENT_STATE.FAILED;
356
350
  throw _context.t0;
357
-
358
351
  case 33:
359
352
  _context.prev = 33;
360
353
  requestToken.done();
361
354
  return _context.finish(33);
362
-
363
355
  case 36:
364
356
  case "end":
365
357
  return _context.stop();
@@ -367,46 +359,40 @@ var TileHeader = function () {
367
359
  }
368
360
  }, _callee, this, [[13, 29, 33, 36]]);
369
361
  }));
370
-
371
362
  function loadContent() {
372
363
  return _loadContent.apply(this, arguments);
373
364
  }
374
-
375
365
  return loadContent;
376
366
  }()
377
367
  }, {
378
368
  key: "unloadContent",
379
- value: function unloadContent() {
369
+ value:
370
+ function unloadContent() {
380
371
  if (this.content && this.content.destroy) {
381
372
  this.content.destroy();
382
373
  }
383
-
384
374
  this.content = null;
385
-
386
375
  if (this.header.content && this.header.content.destroy) {
387
376
  this.header.content.destroy();
388
377
  }
389
-
390
378
  this.header.content = null;
391
379
  this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
392
380
  return true;
393
381
  }
382
+
394
383
  }, {
395
384
  key: "updateVisibility",
396
- value: function updateVisibility(frameState, viewportIds) {
385
+ value:
386
+ function updateVisibility(frameState, viewportIds) {
397
387
  if (this._frameNumber === frameState.frameNumber) {
398
388
  return;
399
389
  }
400
-
401
390
  var parent = this.parent;
402
391
  var parentVisibilityPlaneMask = parent ? parent._visibilityPlaneMask : _culling.CullingVolume.MASK_INDETERMINATE;
403
-
404
392
  if (this.tileset._traverser.options.updateTransforms) {
405
393
  var parentTransform = parent ? parent.computedTransform : this.tileset.modelMatrix;
406
-
407
394
  this._updateTransform(parentTransform);
408
395
  }
409
-
410
396
  this._distanceToCamera = this.distanceToTile(frameState);
411
397
  this._screenSpaceError = this.getScreenSpaceError(frameState, false);
412
398
  this._visibilityPlaneMask = this.visibility(frameState, parentVisibilityPlaneMask);
@@ -415,44 +401,58 @@ var TileHeader = function () {
415
401
  this._frameNumber = frameState.frameNumber;
416
402
  this.viewportIds = viewportIds;
417
403
  }
404
+
418
405
  }, {
419
406
  key: "visibility",
420
- value: function visibility(frameState, parentVisibilityPlaneMask) {
407
+ value:
408
+ function visibility(frameState, parentVisibilityPlaneMask) {
421
409
  var cullingVolume = frameState.cullingVolume;
422
410
  var boundingVolume = this.boundingVolume;
411
+
423
412
  return cullingVolume.computeVisibilityWithPlaneMask(boundingVolume, parentVisibilityPlaneMask);
424
413
  }
414
+
425
415
  }, {
426
416
  key: "contentVisibility",
427
- value: function contentVisibility() {
417
+ value:
418
+ function contentVisibility() {
428
419
  return true;
420
+
429
421
  }
422
+
430
423
  }, {
431
424
  key: "distanceToTile",
432
- value: function distanceToTile(frameState) {
425
+ value:
426
+ function distanceToTile(frameState) {
433
427
  var boundingVolume = this.boundingVolume;
434
428
  return Math.sqrt(Math.max(boundingVolume.distanceSquaredTo(frameState.camera.position), 0));
435
429
  }
430
+
436
431
  }, {
437
432
  key: "cameraSpaceZDepth",
438
- value: function cameraSpaceZDepth(_ref) {
433
+ value:
434
+ function cameraSpaceZDepth(_ref) {
439
435
  var camera = _ref.camera;
440
436
  var boundingVolume = this.boundingVolume;
441
437
  scratchVector.subVectors(boundingVolume.center, camera.position);
442
438
  return camera.direction.dot(scratchVector);
443
439
  }
440
+
444
441
  }, {
445
442
  key: "insideViewerRequestVolume",
446
- value: function insideViewerRequestVolume(frameState) {
443
+ value:
444
+ function insideViewerRequestVolume(frameState) {
447
445
  var viewerRequestVolume = this._viewerRequestVolume;
448
446
  return !viewerRequestVolume || viewerRequestVolume.distanceSquaredTo(frameState.camera.position) <= 0;
449
447
  }
448
+
450
449
  }, {
451
450
  key: "updateExpiration",
452
- value: function updateExpiration() {
451
+ value:
452
+
453
+ function updateExpiration() {
453
454
  if (defined(this._expireDate) && this.contentReady && !this.hasEmptyContent) {
454
455
  var now = Date.now();
455
-
456
456
  if (Date.lessThan(this._expireDate, now)) {
457
457
  this.contentState = _constants.TILE_CONTENT_STATE.EXPIRED;
458
458
  this._expiredContent = this.content;
@@ -464,9 +464,12 @@ var TileHeader = function () {
464
464
  get: function get() {
465
465
  return this.header.extras;
466
466
  }
467
+
467
468
  }, {
468
469
  key: "_initializeLodMetric",
469
- value: function _initializeLodMetric(header) {
470
+ value:
471
+
472
+ function _initializeLodMetric(header) {
470
473
  if ('lodMetricType' in header) {
471
474
  this.lodMetricType = header.lodMetricType;
472
475
  } else {
@@ -497,7 +500,6 @@ var TileHeader = function () {
497
500
  value: function _initializeBoundingVolumes(tileHeader) {
498
501
  this._contentBoundingVolume = null;
499
502
  this._viewerRequestVolume = null;
500
-
501
503
  this._updateBoundingVolume(tileHeader);
502
504
  }
503
505
  }, {
@@ -509,18 +511,21 @@ var TileHeader = function () {
509
511
  };
510
512
  this.hasEmptyContent = true;
511
513
  this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
512
- this.hasTilesetContent = false;
513
514
 
515
+ this.hasTilesetContent = false;
514
516
  if (tileHeader.contentUrl) {
515
517
  this.content = null;
516
518
  this.hasEmptyContent = false;
517
519
  }
518
520
  }
521
+
519
522
  }, {
520
523
  key: "_initializeRenderingState",
521
- value: function _initializeRenderingState(header) {
524
+ value:
525
+ function _initializeRenderingState(header) {
522
526
  this.depth = header.level || (this.parent ? this.parent.depth + 1 : 0);
523
527
  this._shouldRefine = false;
528
+
524
529
  this._distanceToCamera = 0;
525
530
  this._centerZDepth = 0;
526
531
  this._screenSpaceError = 0;
@@ -554,7 +559,6 @@ var TileHeader = function () {
554
559
  case 'geom':
555
560
  this.tileset._traverser.disableSkipLevelOfDetail = true;
556
561
  break;
557
-
558
562
  default:
559
563
  }
560
564
 
@@ -567,7 +571,6 @@ var TileHeader = function () {
567
571
  value: function _updateBoundingVolume(header) {
568
572
  this.boundingVolume = (0, _boundingVolume.createBoundingVolume)(header.boundingVolume, this.computedTransform, this.boundingVolume);
569
573
  var content = header.content;
570
-
571
574
  if (!content) {
572
575
  return;
573
576
  }
@@ -575,37 +578,48 @@ var TileHeader = function () {
575
578
  if (content.boundingVolume) {
576
579
  this._contentBoundingVolume = (0, _boundingVolume.createBoundingVolume)(content.boundingVolume, this.computedTransform, this._contentBoundingVolume);
577
580
  }
578
-
579
581
  if (header.viewerRequestVolume) {
580
582
  this._viewerRequestVolume = (0, _boundingVolume.createBoundingVolume)(header.viewerRequestVolume, this.computedTransform, this._viewerRequestVolume);
581
583
  }
582
584
  }
585
+
583
586
  }, {
584
587
  key: "_updateTransform",
585
- value: function _updateTransform() {
588
+ value:
589
+ function _updateTransform() {
586
590
  var parentTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _core.Matrix4();
587
591
  var computedTransform = parentTransform.clone().multiplyRight(this.transform);
588
592
  var didTransformChange = !computedTransform.equals(this.computedTransform);
589
-
590
593
  if (!didTransformChange) {
591
594
  return;
592
595
  }
593
-
594
596
  this.computedTransform = computedTransform;
595
-
596
597
  this._updateBoundingVolume(this.header);
597
598
  }
599
+
598
600
  }, {
599
601
  key: "_getLoaderSpecificOptions",
600
- value: function _getLoaderSpecificOptions(loaderId) {
602
+ value:
603
+ function _getLoaderSpecificOptions(loaderId) {
601
604
  switch (loaderId) {
602
605
  case 'i3s':
603
606
  return _objectSpread(_objectSpread({}, this.tileset.options.i3s), {}, {
604
- tile: this.header,
605
- 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
+ },
606
621
  isTileHeader: false
607
622
  });
608
-
609
623
  case '3d-tiles':
610
624
  case 'cesium-ion':
611
625
  default:
@@ -615,6 +629,5 @@ var TileHeader = function () {
615
629
  }]);
616
630
  return TileHeader;
617
631
  }();
618
-
619
632
  exports.default = TileHeader;
620
633
  //# sourceMappingURL=tile-3d.js.map