@loaders.gl/tiles 3.3.0-alpha.1 → 3.3.0-alpha.11

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 +1031 -1433
  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
@@ -8,127 +8,92 @@ import { getTiles3DScreenSpaceError } from './helpers/tiles-3d-lod';
8
8
  import { getProjectedRadius } from './helpers/i3s-lod';
9
9
  import { get3dTilesOptions } from './helpers/3d-tiles-options';
10
10
  import TilesetTraverser from './traversers/tileset-traverser';
11
- const scratchVector = new Vector3();
12
11
 
12
+ const scratchVector = new Vector3();
13
13
  function defined(x) {
14
14
  return x !== undefined && x !== null;
15
15
  }
16
16
 
17
17
  export default class TileHeader {
18
- constructor(tileset, header, parentHeader, extendedId = '') {
19
- _defineProperty(this, "tileset", void 0);
20
18
 
19
+ constructor(tileset, header, parentHeader) {
20
+ let extendedId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
21
+ _defineProperty(this, "tileset", void 0);
21
22
  _defineProperty(this, "header", void 0);
22
-
23
23
  _defineProperty(this, "id", void 0);
24
-
25
24
  _defineProperty(this, "url", void 0);
26
-
27
25
  _defineProperty(this, "parent", void 0);
28
-
29
26
  _defineProperty(this, "refine", void 0);
30
-
31
27
  _defineProperty(this, "type", void 0);
32
-
33
28
  _defineProperty(this, "contentUrl", void 0);
34
-
35
29
  _defineProperty(this, "lodMetricType", void 0);
36
-
37
30
  _defineProperty(this, "lodMetricValue", void 0);
38
-
39
31
  _defineProperty(this, "boundingVolume", void 0);
40
-
41
32
  _defineProperty(this, "content", void 0);
42
-
43
33
  _defineProperty(this, "contentState", void 0);
44
-
45
34
  _defineProperty(this, "gpuMemoryUsageInBytes", void 0);
46
-
47
35
  _defineProperty(this, "children", void 0);
48
-
49
36
  _defineProperty(this, "depth", void 0);
50
-
51
37
  _defineProperty(this, "viewportIds", void 0);
52
-
53
38
  _defineProperty(this, "transform", void 0);
54
-
55
39
  _defineProperty(this, "extensions", void 0);
56
-
40
+ _defineProperty(this, "implicitTiling", void 0);
57
41
  _defineProperty(this, "userData", void 0);
58
-
59
42
  _defineProperty(this, "computedTransform", void 0);
60
-
61
43
  _defineProperty(this, "hasEmptyContent", void 0);
62
-
63
44
  _defineProperty(this, "hasTilesetContent", void 0);
64
-
65
45
  _defineProperty(this, "traverser", void 0);
66
-
67
46
  _defineProperty(this, "_cacheNode", void 0);
68
-
69
47
  _defineProperty(this, "_frameNumber", void 0);
70
-
71
48
  _defineProperty(this, "_lodJudge", void 0);
72
-
73
49
  _defineProperty(this, "_expireDate", void 0);
74
-
75
50
  _defineProperty(this, "_expiredContent", void 0);
76
-
77
51
  _defineProperty(this, "_shouldRefine", void 0);
78
-
79
52
  _defineProperty(this, "_distanceToCamera", void 0);
80
-
81
53
  _defineProperty(this, "_centerZDepth", void 0);
82
-
83
54
  _defineProperty(this, "_screenSpaceError", void 0);
84
-
85
55
  _defineProperty(this, "_visibilityPlaneMask", void 0);
86
-
87
56
  _defineProperty(this, "_visible", void 0);
88
-
89
57
  _defineProperty(this, "_inRequestVolume", void 0);
90
-
91
58
  _defineProperty(this, "_stackLength", void 0);
92
-
93
59
  _defineProperty(this, "_selectionDepth", void 0);
94
-
95
60
  _defineProperty(this, "_touchedFrame", void 0);
96
-
97
61
  _defineProperty(this, "_visitedFrame", void 0);
98
-
99
62
  _defineProperty(this, "_selectedFrame", void 0);
100
-
101
63
  _defineProperty(this, "_requestedFrame", void 0);
102
-
103
64
  _defineProperty(this, "_priority", void 0);
104
-
105
65
  _defineProperty(this, "_contentBoundingVolume", void 0);
106
-
107
66
  _defineProperty(this, "_viewerRequestVolume", void 0);
108
-
109
67
  _defineProperty(this, "_initialTransform", void 0);
110
-
111
68
  this.header = header;
69
+
112
70
  this.tileset = tileset;
113
71
  this.id = extendedId || header.id;
114
72
  this.url = header.url;
73
+
115
74
  this.parent = parentHeader;
116
75
  this.refine = this._getRefine(header.refine);
117
76
  this.type = header.type;
118
77
  this.contentUrl = header.contentUrl;
78
+
119
79
  this.lodMetricType = 'geometricError';
120
80
  this.lodMetricValue = 0;
81
+
121
82
  this.boundingVolume = null;
83
+
122
84
  this.content = null;
123
85
  this.contentState = TILE_CONTENT_STATE.UNLOADED;
124
86
  this.gpuMemoryUsageInBytes = 0;
87
+
125
88
  this.children = [];
126
89
  this.hasEmptyContent = false;
127
90
  this.hasTilesetContent = false;
128
91
  this.depth = 0;
129
92
  this.viewportIds = [];
93
+
130
94
  this.userData = {};
131
95
  this.extensions = null;
96
+
132
97
  this._priority = 0;
133
98
  this._touchedFrame = 0;
134
99
  this._visitedFrame = 0;
@@ -148,39 +113,31 @@ export default class TileHeader {
148
113
  this._selectionDepth = 0;
149
114
  this._initialTransform = new Matrix4();
150
115
  this.transform = new Matrix4();
151
-
152
116
  this._initializeLodMetric(header);
153
-
154
117
  this._initializeTransforms(header);
155
-
156
118
  this._initializeBoundingVolumes(header);
157
-
158
119
  this._initializeContent(header);
159
-
160
120
  this._initializeRenderingState(header);
161
121
 
162
122
  this._lodJudge = null;
123
+
163
124
  this._expireDate = null;
164
125
  this._expiredContent = null;
126
+ this.implicitTiling = null;
165
127
  Object.seal(this);
166
128
  }
167
-
168
129
  destroy() {
169
130
  this.header = null;
170
131
  }
171
-
172
132
  isDestroyed() {
173
133
  return this.header === null;
174
134
  }
175
-
176
135
  get selected() {
177
136
  return this._selectedFrame === this.tileset._frameNumber;
178
137
  }
179
-
180
138
  get isVisible() {
181
139
  return this._visible;
182
140
  }
183
-
184
141
  get isVisibleAndInRequestVolume() {
185
142
  return this._visible && this._inRequestVolume;
186
143
  }
@@ -229,10 +186,8 @@ export default class TileHeader {
229
186
  switch (this.tileset.type) {
230
187
  case TILESET_TYPE.I3S:
231
188
  return getProjectedRadius(this, frameState);
232
-
233
189
  case TILESET_TYPE.TILES3D:
234
190
  return getTiles3DScreenSpaceError(this, frameState, useParentLodMetric);
235
-
236
191
  default:
237
192
  throw new Error('Unsupported tileset type');
238
193
  }
@@ -247,16 +202,15 @@ export default class TileHeader {
247
202
  const {
248
203
  skipLevelOfDetail
249
204
  } = traverser.options;
205
+
250
206
  const maySkipTile = this.refine === TILE_REFINEMENT.ADD || skipLevelOfDetail;
251
207
 
252
208
  if (maySkipTile && !this.isVisible && this._visible !== undefined) {
253
209
  return -1;
254
210
  }
255
-
256
211
  if (this.tileset._frameNumber - this._touchedFrame >= 1) {
257
212
  return -1;
258
213
  }
259
-
260
214
  if (this.contentState === TILE_CONTENT_STATE.UNLOADED) {
261
215
  return -1;
262
216
  }
@@ -265,6 +219,7 @@ export default class TileHeader {
265
219
  const useParentScreenSpaceError = parent && (!maySkipTile || this._screenSpaceError === 0.0 || parent.hasTilesetContent);
266
220
  const screenSpaceError = useParentScreenSpaceError ? parent._screenSpaceError : this._screenSpaceError;
267
221
  const rootScreenSpaceError = traverser.root ? traverser.root._screenSpaceError : 0.0;
222
+
268
223
  return Math.max(rootScreenSpaceError - screenSpaceError, 0);
269
224
  }
270
225
 
@@ -272,48 +227,39 @@ export default class TileHeader {
272
227
  if (this.hasEmptyContent) {
273
228
  return false;
274
229
  }
275
-
276
230
  if (this.content) {
277
231
  return true;
278
232
  }
279
-
280
233
  const expired = this.contentExpired;
281
-
282
234
  if (expired) {
283
235
  this._expireDate = null;
284
236
  }
285
-
286
237
  this.contentState = TILE_CONTENT_STATE.LOADING;
287
238
  const requestToken = await this.tileset._requestScheduler.scheduleRequest(this.id, this._getPriority.bind(this));
288
-
289
239
  if (!requestToken) {
290
240
  this.contentState = TILE_CONTENT_STATE.UNLOADED;
291
241
  return false;
292
242
  }
293
-
294
243
  try {
295
244
  const contentUrl = this.tileset.getTileUrl(this.contentUrl);
296
245
  const loader = this.tileset.loader;
297
- const options = { ...this.tileset.loadOptions,
298
- [loader.id]: { ...this.tileset.loadOptions[loader.id],
246
+ const options = {
247
+ ...this.tileset.loadOptions,
248
+ [loader.id]: {
249
+ ...this.tileset.loadOptions[loader.id],
299
250
  isTileset: this.type === 'json',
300
251
  ...this._getLoaderSpecificOptions(loader.id)
301
252
  }
302
253
  };
303
254
  this.content = await load(contentUrl, loader, options);
304
-
305
255
  if (this.tileset.options.contentLoader) {
306
256
  await this.tileset.options.contentLoader(this);
307
257
  }
308
-
309
258
  if (this._isTileset()) {
310
259
  this.tileset._initializeTileHeaders(this.content, this);
311
260
  }
312
-
313
261
  this.contentState = TILE_CONTENT_STATE.READY;
314
-
315
262
  this._onContentLoaded();
316
-
317
263
  return true;
318
264
  } catch (error) {
319
265
  this.contentState = TILE_CONTENT_STATE.FAILED;
@@ -327,13 +273,10 @@ export default class TileHeader {
327
273
  if (this.content && this.content.destroy) {
328
274
  this.content.destroy();
329
275
  }
330
-
331
276
  this.content = null;
332
-
333
277
  if (this.header.content && this.header.content.destroy) {
334
278
  this.header.content.destroy();
335
279
  }
336
-
337
280
  this.header.content = null;
338
281
  this.contentState = TILE_CONTENT_STATE.UNLOADED;
339
282
  return true;
@@ -343,16 +286,12 @@ export default class TileHeader {
343
286
  if (this._frameNumber === frameState.frameNumber) {
344
287
  return;
345
288
  }
346
-
347
289
  const parent = this.parent;
348
290
  const parentVisibilityPlaneMask = parent ? parent._visibilityPlaneMask : CullingVolume.MASK_INDETERMINATE;
349
-
350
291
  if (this.tileset._traverser.options.updateTransforms) {
351
292
  const parentTransform = parent ? parent.computedTransform : this.tileset.modelMatrix;
352
-
353
293
  this._updateTransform(parentTransform);
354
294
  }
355
-
356
295
  this._distanceToCamera = this.distanceToTile(frameState);
357
296
  this._screenSpaceError = this.getScreenSpaceError(frameState, false);
358
297
  this._visibilityPlaneMask = this.visibility(frameState, parentVisibilityPlaneMask);
@@ -369,11 +308,13 @@ export default class TileHeader {
369
308
  const {
370
309
  boundingVolume
371
310
  } = this;
311
+
372
312
  return cullingVolume.computeVisibilityWithPlaneMask(boundingVolume, parentVisibilityPlaneMask);
373
313
  }
374
314
 
375
315
  contentVisibility() {
376
316
  return true;
317
+
377
318
  }
378
319
 
379
320
  distanceToTile(frameState) {
@@ -381,9 +322,10 @@ export default class TileHeader {
381
322
  return Math.sqrt(Math.max(boundingVolume.distanceSquaredTo(frameState.camera.position), 0));
382
323
  }
383
324
 
384
- cameraSpaceZDepth({
385
- camera
386
- }) {
325
+ cameraSpaceZDepth(_ref) {
326
+ let {
327
+ camera
328
+ } = _ref;
387
329
  const boundingVolume = this.boundingVolume;
388
330
  scratchVector.subVectors(boundingVolume.center, camera.position);
389
331
  return camera.direction.dot(scratchVector);
@@ -397,14 +339,12 @@ export default class TileHeader {
397
339
  updateExpiration() {
398
340
  if (defined(this._expireDate) && this.contentReady && !this.hasEmptyContent) {
399
341
  const now = Date.now();
400
-
401
342
  if (Date.lessThan(this._expireDate, now)) {
402
343
  this.contentState = TILE_CONTENT_STATE.EXPIRED;
403
344
  this._expiredContent = this.content;
404
345
  }
405
346
  }
406
347
  }
407
-
408
348
  get extras() {
409
349
  return this.header.extras;
410
350
  }
@@ -424,7 +364,6 @@ export default class TileHeader {
424
364
  console.warn('3D Tile: Required prop lodMetricValue is undefined. Using parent lodMetricValue');
425
365
  }
426
366
  }
427
-
428
367
  _initializeTransforms(tileHeader) {
429
368
  this.transform = tileHeader.transform ? new Matrix4(tileHeader.transform) : new Matrix4();
430
369
  const parent = this.parent;
@@ -434,14 +373,11 @@ export default class TileHeader {
434
373
  const parentInitialTransform = parent && parent._initialTransform ? parent._initialTransform.clone() : new Matrix4();
435
374
  this._initialTransform = new Matrix4(parentInitialTransform).multiplyRight(this.transform);
436
375
  }
437
-
438
376
  _initializeBoundingVolumes(tileHeader) {
439
377
  this._contentBoundingVolume = null;
440
378
  this._viewerRequestVolume = null;
441
-
442
379
  this._updateBoundingVolume(tileHeader);
443
380
  }
444
-
445
381
  _initializeContent(tileHeader) {
446
382
  this.content = {
447
383
  _tileset: this.tileset,
@@ -449,8 +385,8 @@ export default class TileHeader {
449
385
  };
450
386
  this.hasEmptyContent = true;
451
387
  this.contentState = TILE_CONTENT_STATE.UNLOADED;
452
- this.hasTilesetContent = false;
453
388
 
389
+ this.hasTilesetContent = false;
454
390
  if (tileHeader.contentUrl) {
455
391
  this.content = null;
456
392
  this.hasEmptyContent = false;
@@ -460,6 +396,7 @@ export default class TileHeader {
460
396
  _initializeRenderingState(header) {
461
397
  this.depth = header.level || (this.parent ? this.parent.depth + 1 : 0);
462
398
  this._shouldRefine = false;
399
+
463
400
  this._distanceToCamera = 0;
464
401
  this._centerZDepth = 0;
465
402
  this._screenSpaceError = 0;
@@ -475,22 +412,18 @@ export default class TileHeader {
475
412
  this._requestedFrame = 0;
476
413
  this._priority = 0.0;
477
414
  }
478
-
479
415
  _getRefine(refine) {
480
416
  return refine || this.parent && this.parent.refine || TILE_REFINEMENT.REPLACE;
481
417
  }
482
-
483
418
  _isTileset() {
484
419
  return this.contentUrl.indexOf('.json') !== -1;
485
420
  }
486
-
487
421
  _onContentLoaded() {
488
422
  switch (this.content && this.content.type) {
489
423
  case 'vctr':
490
424
  case 'geom':
491
425
  this.tileset._traverser.disableSkipLevelOfDetail = true;
492
426
  break;
493
-
494
427
  default:
495
428
  }
496
429
 
@@ -498,11 +431,9 @@ export default class TileHeader {
498
431
  this.hasTilesetContent = true;
499
432
  }
500
433
  }
501
-
502
434
  _updateBoundingVolume(header) {
503
435
  this.boundingVolume = createBoundingVolume(header.boundingVolume, this.computedTransform, this.boundingVolume);
504
436
  const content = header.content;
505
-
506
437
  if (!content) {
507
438
  return;
508
439
  }
@@ -510,40 +441,48 @@ export default class TileHeader {
510
441
  if (content.boundingVolume) {
511
442
  this._contentBoundingVolume = createBoundingVolume(content.boundingVolume, this.computedTransform, this._contentBoundingVolume);
512
443
  }
513
-
514
444
  if (header.viewerRequestVolume) {
515
445
  this._viewerRequestVolume = createBoundingVolume(header.viewerRequestVolume, this.computedTransform, this._viewerRequestVolume);
516
446
  }
517
447
  }
518
448
 
519
- _updateTransform(parentTransform = new Matrix4()) {
449
+ _updateTransform() {
450
+ let parentTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Matrix4();
520
451
  const computedTransform = parentTransform.clone().multiplyRight(this.transform);
521
452
  const didTransformChange = !computedTransform.equals(this.computedTransform);
522
-
523
453
  if (!didTransformChange) {
524
454
  return;
525
455
  }
526
-
527
456
  this.computedTransform = computedTransform;
528
-
529
457
  this._updateBoundingVolume(this.header);
530
458
  }
531
459
 
532
460
  _getLoaderSpecificOptions(loaderId) {
533
461
  switch (loaderId) {
534
462
  case 'i3s':
535
- return { ...this.tileset.options.i3s,
536
- tile: this.header,
537
- tileset: this.tileset.tileset,
463
+ return {
464
+ ...this.tileset.options.i3s,
465
+ _tileOptions: {
466
+ attributeUrls: this.header.attributeUrls,
467
+ textureUrl: this.header.textureUrl,
468
+ textureFormat: this.header.textureFormat,
469
+ textureLoaderOptions: this.header.textureLoaderOptions,
470
+ materialDefinition: this.header.materialDefinition,
471
+ isDracoGeometry: this.header.isDracoGeometry,
472
+ mbs: this.header.mbs
473
+ },
474
+ _tilesetOptions: {
475
+ store: this.tileset.tileset.store,
476
+ attributeStorageInfo: this.tileset.tileset.attributeStorageInfo,
477
+ fields: this.tileset.tileset.fields
478
+ },
538
479
  isTileHeader: false
539
480
  };
540
-
541
481
  case '3d-tiles':
542
482
  case 'cesium-ion':
543
483
  default:
544
484
  return get3dTilesOptions(this.tileset.tileset);
545
485
  }
546
486
  }
547
-
548
487
  }
549
488
  //# sourceMappingURL=tile-3d.js.map