@loaders.gl/tiles 3.4.0-alpha.2 → 3.4.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +271 -18
- package/dist/es5/constants.js +0 -2
- package/dist/es5/constants.js.map +1 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js +0 -2
- package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
- package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js +3 -8
- package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -1
- package/dist/es5/tileset/format-i3s/i3s-tile-manager.js +4 -14
- package/dist/es5/tileset/format-i3s/i3s-tile-manager.js.map +1 -1
- package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js +19 -25
- package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -1
- package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -1
- package/dist/es5/tileset/helpers/bounding-volume.js +87 -6
- package/dist/es5/tileset/helpers/bounding-volume.js.map +1 -1
- package/dist/es5/tileset/helpers/frame-state.js +4 -14
- package/dist/es5/tileset/helpers/frame-state.js.map +1 -1
- package/dist/es5/tileset/helpers/i3s-lod.js +0 -5
- package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -1
- package/dist/es5/tileset/helpers/tiles-3d-lod.js +0 -7
- package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/es5/tileset/helpers/transform-utils.js +0 -7
- package/dist/es5/tileset/helpers/transform-utils.js.map +1 -1
- package/dist/es5/tileset/helpers/zoom.js +0 -4
- package/dist/es5/tileset/helpers/zoom.js.map +1 -1
- package/dist/es5/tileset/tile-3d.js +98 -166
- package/dist/es5/tileset/tile-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-3d.js +86 -142
- package/dist/es5/tileset/tileset-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-cache.js +0 -3
- package/dist/es5/tileset/tileset-cache.js.map +1 -1
- package/dist/es5/tileset/tileset-traverser.js +12 -51
- package/dist/es5/tileset/tileset-traverser.js.map +1 -1
- package/dist/es5/utils/doubly-linked-list-node.js.map +1 -1
- package/dist/es5/utils/doubly-linked-list.js +3 -11
- package/dist/es5/utils/doubly-linked-list.js.map +1 -1
- package/dist/es5/utils/managed-array.js +10 -30
- package/dist/es5/utils/managed-array.js.map +1 -1
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/constants.js +0 -5
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tileset/format-3d-tiles/tileset-3d-traverser.js +0 -4
- package/dist/esm/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
- package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js +0 -2
- package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -1
- package/dist/esm/tileset/format-i3s/i3s-tile-manager.js +0 -6
- package/dist/esm/tileset/format-i3s/i3s-tile-manager.js.map +1 -1
- package/dist/esm/tileset/format-i3s/i3s-tileset-traverser.js +0 -3
- package/dist/esm/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -1
- package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -1
- package/dist/esm/tileset/helpers/bounding-volume.js +81 -8
- package/dist/esm/tileset/helpers/bounding-volume.js.map +1 -1
- package/dist/esm/tileset/helpers/frame-state.js +3 -13
- package/dist/esm/tileset/helpers/frame-state.js.map +1 -1
- package/dist/esm/tileset/helpers/i3s-lod.js +0 -6
- package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -1
- package/dist/esm/tileset/helpers/tiles-3d-lod.js +0 -8
- package/dist/esm/tileset/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/esm/tileset/helpers/transform-utils.js +0 -8
- package/dist/esm/tileset/helpers/transform-utils.js.map +1 -1
- package/dist/esm/tileset/helpers/zoom.js +0 -5
- package/dist/esm/tileset/helpers/zoom.js.map +1 -1
- package/dist/esm/tileset/tile-3d.js +8 -52
- package/dist/esm/tileset/tile-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-3d.js +0 -38
- package/dist/esm/tileset/tileset-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-cache.js +0 -3
- package/dist/esm/tileset/tileset-cache.js.map +1 -1
- package/dist/esm/tileset/tileset-traverser.js +0 -27
- package/dist/esm/tileset/tileset-traverser.js.map +1 -1
- package/dist/esm/utils/doubly-linked-list-node.js +0 -1
- package/dist/esm/utils/doubly-linked-list-node.js.map +1 -1
- package/dist/esm/utils/doubly-linked-list.js +0 -7
- package/dist/esm/utils/doubly-linked-list.js.map +1 -1
- package/dist/esm/utils/managed-array.js +0 -12
- package/dist/esm/utils/managed-array.js.map +1 -1
- package/dist/tileset/helpers/bounding-volume.d.ts +10 -0
- package/dist/tileset/helpers/bounding-volume.d.ts.map +1 -1
- package/dist/tileset/helpers/bounding-volume.js +117 -1
- package/dist/tileset/tile-3d.d.ts +7 -0
- package/dist/tileset/tile-3d.d.ts.map +1 -1
- package/dist/tileset/tile-3d.js +10 -0
- package/package.json +4 -4
- package/src/tileset/helpers/bounding-volume.ts +136 -0
- package/src/tileset/tile-3d.ts +18 -1
|
@@ -26,7 +26,7 @@ var _tileset3dTraverser = require("./format-3d-tiles/tileset-3d-traverser");
|
|
|
26
26
|
var _i3sTilesetTraverser = require("./format-i3s/i3s-tileset-traverser");
|
|
27
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; } } }; }
|
|
28
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); }
|
|
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++)
|
|
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; }
|
|
30
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
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; }
|
|
32
32
|
var DEFAULT_PROPS = {
|
|
@@ -57,7 +57,6 @@ var DEFAULT_PROPS = {
|
|
|
57
57
|
basePath: '',
|
|
58
58
|
i3s: {}
|
|
59
59
|
};
|
|
60
|
-
|
|
61
60
|
var TILES_TOTAL = 'Tiles In Tileset(s)';
|
|
62
61
|
var TILES_IN_MEMORY = 'Tiles In Memory';
|
|
63
62
|
var TILES_IN_VIEW = 'Tiles In View';
|
|
@@ -69,7 +68,6 @@ var TILES_LOAD_FAILED = 'Failed Tile Loads';
|
|
|
69
68
|
var POINTS_COUNT = 'Points/Vertices';
|
|
70
69
|
var TILES_GPU_MEMORY = 'Tile Memory Use';
|
|
71
70
|
var Tileset3D = function () {
|
|
72
|
-
|
|
73
71
|
function Tileset3D(json, options) {
|
|
74
72
|
(0, _classCallCheck2.default)(this, Tileset3D);
|
|
75
73
|
(0, _defineProperty2.default)(this, "options", void 0);
|
|
@@ -125,7 +123,6 @@ var Tileset3D = function () {
|
|
|
125
123
|
(0, _defineProperty2.default)(this, "frameStateData", void 0);
|
|
126
124
|
(0, _defineProperty2.default)(this, "maximumMemoryUsage", void 0);
|
|
127
125
|
(0, _loaderUtils.assert)(json);
|
|
128
|
-
|
|
129
126
|
this.options = _objectSpread(_objectSpread({}, DEFAULT_PROPS), options);
|
|
130
127
|
this.tileset = json;
|
|
131
128
|
this.loader = json.loader;
|
|
@@ -134,7 +131,6 @@ var Tileset3D = function () {
|
|
|
134
131
|
this.basePath = json.basePath || _loaderUtils.path.dirname(this.url);
|
|
135
132
|
this.modelMatrix = this.options.modelMatrix;
|
|
136
133
|
this.ellipsoid = this.options.ellipsoid;
|
|
137
|
-
|
|
138
134
|
this.lodMetricType = json.lodMetricType;
|
|
139
135
|
this.lodMetricValue = json.lodMetricValue;
|
|
140
136
|
this.refine = json.root.refine;
|
|
@@ -145,7 +141,6 @@ var Tileset3D = function () {
|
|
|
145
141
|
this.cartesianCenter = null;
|
|
146
142
|
this.zoom = 1;
|
|
147
143
|
this.boundingVolume = null;
|
|
148
|
-
|
|
149
144
|
this.traverseCounter = 0;
|
|
150
145
|
this.geometricError = 0;
|
|
151
146
|
this._traverser = this._initializeTraverser();
|
|
@@ -155,9 +150,7 @@ var Tileset3D = function () {
|
|
|
155
150
|
maxRequests: this.options.maxRequests
|
|
156
151
|
});
|
|
157
152
|
this._frameNumber = 0;
|
|
158
|
-
|
|
159
153
|
this._pendingCount = 0;
|
|
160
|
-
|
|
161
154
|
this._tiles = {};
|
|
162
155
|
this.selectedTiles = [];
|
|
163
156
|
this._emptyTiles = [];
|
|
@@ -166,14 +159,12 @@ var Tileset3D = function () {
|
|
|
166
159
|
this.lastUpdatedVieports = null;
|
|
167
160
|
this._queryParams = {};
|
|
168
161
|
this._queryParamsString = '';
|
|
169
|
-
|
|
170
162
|
this.maximumMemoryUsage = this.options.maximumMemoryUsage || 32;
|
|
171
163
|
this.gpuMemoryUsageInBytes = 0;
|
|
172
164
|
this.stats = new _stats.Stats({
|
|
173
165
|
id: this.url
|
|
174
166
|
});
|
|
175
167
|
this._initializeStats();
|
|
176
|
-
|
|
177
168
|
this._extensionsUsed = undefined;
|
|
178
169
|
this.dynamicScreenSpaceErrorComputedDensity = 0.0;
|
|
179
170
|
this.extras = null;
|
|
@@ -182,18 +173,14 @@ var Tileset3D = function () {
|
|
|
182
173
|
this.description = this.options.description || '';
|
|
183
174
|
this.tilesetInitializationPromise = this._initializeTileSet(json);
|
|
184
175
|
}
|
|
185
|
-
|
|
186
176
|
(0, _createClass2.default)(Tileset3D, [{
|
|
187
177
|
key: "destroy",
|
|
188
|
-
value:
|
|
189
|
-
function destroy() {
|
|
178
|
+
value: function destroy() {
|
|
190
179
|
this._destroy();
|
|
191
180
|
}
|
|
192
|
-
|
|
193
181
|
}, {
|
|
194
182
|
key: "isLoaded",
|
|
195
|
-
value:
|
|
196
|
-
function isLoaded() {
|
|
183
|
+
value: function isLoaded() {
|
|
197
184
|
return this._pendingCount === 0 && this._frameNumber !== 0 && this._requestedTiles.length === 0;
|
|
198
185
|
}
|
|
199
186
|
}, {
|
|
@@ -219,36 +206,28 @@ var Tileset3D = function () {
|
|
|
219
206
|
value: function setProps(props) {
|
|
220
207
|
this.options = _objectSpread(_objectSpread({}, this.options), props);
|
|
221
208
|
}
|
|
222
|
-
|
|
223
209
|
}, {
|
|
224
210
|
key: "setOptions",
|
|
225
|
-
value:
|
|
226
|
-
function setOptions(options) {
|
|
211
|
+
value: function setOptions(options) {
|
|
227
212
|
this.options = _objectSpread(_objectSpread({}, this.options), options);
|
|
228
213
|
}
|
|
229
|
-
|
|
230
214
|
}, {
|
|
231
215
|
key: "getTileUrl",
|
|
232
|
-
value:
|
|
233
|
-
function getTileUrl(tilePath) {
|
|
216
|
+
value: function getTileUrl(tilePath) {
|
|
234
217
|
var isDataUrl = tilePath.startsWith('data:');
|
|
235
218
|
if (isDataUrl) {
|
|
236
219
|
return tilePath;
|
|
237
220
|
}
|
|
238
221
|
return "".concat(tilePath).concat(this.queryParams);
|
|
239
222
|
}
|
|
240
|
-
|
|
241
223
|
}, {
|
|
242
224
|
key: "hasExtension",
|
|
243
|
-
value:
|
|
244
|
-
function hasExtension(extensionName) {
|
|
225
|
+
value: function hasExtension(extensionName) {
|
|
245
226
|
return Boolean(this._extensionsUsed && this._extensionsUsed.indexOf(extensionName) > -1);
|
|
246
227
|
}
|
|
247
|
-
|
|
248
228
|
}, {
|
|
249
229
|
key: "update",
|
|
250
|
-
value:
|
|
251
|
-
function update() {
|
|
230
|
+
value: function update() {
|
|
252
231
|
var _this = this;
|
|
253
232
|
var viewports = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
254
233
|
this.tilesetInitializationPromise.then(function () {
|
|
@@ -262,7 +241,6 @@ var Tileset3D = function () {
|
|
|
262
241
|
}
|
|
263
242
|
});
|
|
264
243
|
}
|
|
265
|
-
|
|
266
244
|
}, {
|
|
267
245
|
key: "selectTiles",
|
|
268
246
|
value: function () {
|
|
@@ -271,32 +249,30 @@ var Tileset3D = function () {
|
|
|
271
249
|
var viewports,
|
|
272
250
|
_args = arguments;
|
|
273
251
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
274
|
-
while (1) {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
return _context.stop();
|
|
299
|
-
}
|
|
252
|
+
while (1) switch (_context.prev = _context.next) {
|
|
253
|
+
case 0:
|
|
254
|
+
viewports = _args.length > 0 && _args[0] !== undefined ? _args[0] : null;
|
|
255
|
+
_context.next = 3;
|
|
256
|
+
return this.tilesetInitializationPromise;
|
|
257
|
+
case 3:
|
|
258
|
+
if (viewports) {
|
|
259
|
+
this.lastUpdatedVieports = viewports;
|
|
260
|
+
}
|
|
261
|
+
if (!this.updatePromise) {
|
|
262
|
+
this.updatePromise = new Promise(function (resolve) {
|
|
263
|
+
setTimeout(function () {
|
|
264
|
+
if (_this2.lastUpdatedVieports) {
|
|
265
|
+
_this2.doUpdate(_this2.lastUpdatedVieports);
|
|
266
|
+
}
|
|
267
|
+
resolve(_this2._frameNumber);
|
|
268
|
+
_this2.updatePromise = null;
|
|
269
|
+
}, _this2.options.debounceTime);
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
return _context.abrupt("return", this.updatePromise);
|
|
273
|
+
case 6:
|
|
274
|
+
case "end":
|
|
275
|
+
return _context.stop();
|
|
300
276
|
}
|
|
301
277
|
}, _callee, this);
|
|
302
278
|
}));
|
|
@@ -307,8 +283,7 @@ var Tileset3D = function () {
|
|
|
307
283
|
}()
|
|
308
284
|
}, {
|
|
309
285
|
key: "doUpdate",
|
|
310
|
-
value:
|
|
311
|
-
function doUpdate(viewports) {
|
|
286
|
+
value: function doUpdate(viewports) {
|
|
312
287
|
if ('loadTiles' in this.options && !this.options.loadTiles) {
|
|
313
288
|
return;
|
|
314
289
|
}
|
|
@@ -332,7 +307,6 @@ var Tileset3D = function () {
|
|
|
332
307
|
this.traverseCounter--;
|
|
333
308
|
}
|
|
334
309
|
}
|
|
335
|
-
|
|
336
310
|
} catch (err) {
|
|
337
311
|
_iterator.e(err);
|
|
338
312
|
} finally {
|
|
@@ -350,7 +324,6 @@ var Tileset3D = function () {
|
|
|
350
324
|
if (!viewportsToTraverse.includes(_id2)) {
|
|
351
325
|
continue;
|
|
352
326
|
}
|
|
353
|
-
|
|
354
327
|
var frameState = (0, _frameState.getFrameState)(_viewport, this._frameNumber);
|
|
355
328
|
this._traverser.traverse(this.roots[_id2], frameState, this.options);
|
|
356
329
|
}
|
|
@@ -360,11 +333,9 @@ var Tileset3D = function () {
|
|
|
360
333
|
_iterator2.f();
|
|
361
334
|
}
|
|
362
335
|
}
|
|
363
|
-
|
|
364
336
|
}, {
|
|
365
337
|
key: "_needTraverse",
|
|
366
|
-
value:
|
|
367
|
-
function _needTraverse(viewportId) {
|
|
338
|
+
value: function _needTraverse(viewportId) {
|
|
368
339
|
var traverserId = viewportId;
|
|
369
340
|
if (this.options.viewportTraversersMap) {
|
|
370
341
|
traverserId = this.options.viewportTraversersMap[viewportId];
|
|
@@ -374,11 +345,9 @@ var Tileset3D = function () {
|
|
|
374
345
|
}
|
|
375
346
|
return true;
|
|
376
347
|
}
|
|
377
|
-
|
|
378
348
|
}, {
|
|
379
349
|
key: "_onTraversalEnd",
|
|
380
|
-
value:
|
|
381
|
-
function _onTraversalEnd(frameState) {
|
|
350
|
+
value: function _onTraversalEnd(frameState) {
|
|
382
351
|
var id = frameState.viewport.id;
|
|
383
352
|
if (!this.frameStateData[id]) {
|
|
384
353
|
this.frameStateData[id] = {
|
|
@@ -414,11 +383,9 @@ var Tileset3D = function () {
|
|
|
414
383
|
}
|
|
415
384
|
this._updateTiles();
|
|
416
385
|
}
|
|
417
|
-
|
|
418
386
|
}, {
|
|
419
387
|
key: "_updateTiles",
|
|
420
|
-
value:
|
|
421
|
-
function _updateTiles() {
|
|
388
|
+
value: function _updateTiles() {
|
|
422
389
|
this.selectedTiles = [];
|
|
423
390
|
this._requestedTiles = [];
|
|
424
391
|
this._emptyTiles = [];
|
|
@@ -523,31 +490,29 @@ var Tileset3D = function () {
|
|
|
523
490
|
value: function () {
|
|
524
491
|
var _initializeTileSet2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(tilesetJson) {
|
|
525
492
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
526
|
-
while (1) {
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
return _context2.stop();
|
|
550
|
-
}
|
|
493
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
494
|
+
case 0:
|
|
495
|
+
if (!(this.type === _constants.TILESET_TYPE.I3S)) {
|
|
496
|
+
_context2.next = 5;
|
|
497
|
+
break;
|
|
498
|
+
}
|
|
499
|
+
this.calculateViewPropsI3S();
|
|
500
|
+
_context2.next = 4;
|
|
501
|
+
return tilesetJson.root;
|
|
502
|
+
case 4:
|
|
503
|
+
tilesetJson.root = _context2.sent;
|
|
504
|
+
case 5:
|
|
505
|
+
this.root = this._initializeTileHeaders(tilesetJson, null);
|
|
506
|
+
if (this.type === _constants.TILESET_TYPE.TILES3D) {
|
|
507
|
+
this._initializeTiles3DTileset(tilesetJson);
|
|
508
|
+
this.calculateViewPropsTiles3D();
|
|
509
|
+
}
|
|
510
|
+
if (this.type === _constants.TILESET_TYPE.I3S) {
|
|
511
|
+
this._initializeI3STileset();
|
|
512
|
+
}
|
|
513
|
+
case 8:
|
|
514
|
+
case "end":
|
|
515
|
+
return _context2.stop();
|
|
551
516
|
}
|
|
552
517
|
}, _callee2, this);
|
|
553
518
|
}));
|
|
@@ -558,8 +523,7 @@ var Tileset3D = function () {
|
|
|
558
523
|
}()
|
|
559
524
|
}, {
|
|
560
525
|
key: "calculateViewPropsI3S",
|
|
561
|
-
value:
|
|
562
|
-
function calculateViewPropsI3S() {
|
|
526
|
+
value: function calculateViewPropsI3S() {
|
|
563
527
|
var _this$tileset$store;
|
|
564
528
|
var fullExtent = this.tileset.fullExtent;
|
|
565
529
|
if (fullExtent) {
|
|
@@ -591,11 +555,9 @@ var Tileset3D = function () {
|
|
|
591
555
|
this.zoom = 1;
|
|
592
556
|
return;
|
|
593
557
|
}
|
|
594
|
-
|
|
595
558
|
}, {
|
|
596
559
|
key: "calculateViewPropsTiles3D",
|
|
597
|
-
value:
|
|
598
|
-
function calculateViewPropsTiles3D() {
|
|
560
|
+
value: function calculateViewPropsTiles3D() {
|
|
599
561
|
var root = this.root;
|
|
600
562
|
(0, _loaderUtils.assert)(root);
|
|
601
563
|
var center = root.boundingVolume.center;
|
|
@@ -605,7 +567,6 @@ var Tileset3D = function () {
|
|
|
605
567
|
this.zoom = 1;
|
|
606
568
|
return;
|
|
607
569
|
}
|
|
608
|
-
|
|
609
570
|
if (center[0] !== 0 || center[1] !== 0 || center[2] !== 0) {
|
|
610
571
|
this.cartographicCenter = _geospatial.Ellipsoid.WGS84.cartesianToCartographic(center, new _core.Vector3());
|
|
611
572
|
} else {
|
|
@@ -628,18 +589,14 @@ var Tileset3D = function () {
|
|
|
628
589
|
this.stats.get(POINTS_COUNT);
|
|
629
590
|
this.stats.get(TILES_GPU_MEMORY, 'memory');
|
|
630
591
|
}
|
|
631
|
-
|
|
632
592
|
}, {
|
|
633
593
|
key: "_initializeTileHeaders",
|
|
634
|
-
value:
|
|
635
|
-
function _initializeTileHeaders(tilesetJson, parentTileHeader) {
|
|
594
|
+
value: function _initializeTileHeaders(tilesetJson, parentTileHeader) {
|
|
636
595
|
var rootTile = new _tile3d.Tile3D(this, tilesetJson.root, parentTileHeader);
|
|
637
|
-
|
|
638
596
|
if (parentTileHeader) {
|
|
639
597
|
parentTileHeader.children.push(rootTile);
|
|
640
598
|
rootTile.depth = parentTileHeader.depth + 1;
|
|
641
599
|
}
|
|
642
|
-
|
|
643
600
|
if (this.type === _constants.TILESET_TYPE.TILES3D) {
|
|
644
601
|
var stack = [];
|
|
645
602
|
stack.push(rootTile);
|
|
@@ -697,30 +654,28 @@ var Tileset3D = function () {
|
|
|
697
654
|
var _loadTile2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(tile) {
|
|
698
655
|
var loaded;
|
|
699
656
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
700
|
-
while (1) {
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
return _context3.stop();
|
|
723
|
-
}
|
|
657
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
658
|
+
case 0:
|
|
659
|
+
_context3.prev = 0;
|
|
660
|
+
this._onStartTileLoading();
|
|
661
|
+
_context3.next = 4;
|
|
662
|
+
return tile.loadContent();
|
|
663
|
+
case 4:
|
|
664
|
+
loaded = _context3.sent;
|
|
665
|
+
_context3.next = 10;
|
|
666
|
+
break;
|
|
667
|
+
case 7:
|
|
668
|
+
_context3.prev = 7;
|
|
669
|
+
_context3.t0 = _context3["catch"](0);
|
|
670
|
+
this._onTileLoadError(tile, _context3.t0);
|
|
671
|
+
case 10:
|
|
672
|
+
_context3.prev = 10;
|
|
673
|
+
this._onEndTileLoading();
|
|
674
|
+
this._onTileLoad(tile, loaded);
|
|
675
|
+
return _context3.finish(10);
|
|
676
|
+
case 14:
|
|
677
|
+
case "end":
|
|
678
|
+
return _context3.stop();
|
|
724
679
|
}
|
|
725
680
|
}, _callee3, this, [[0, 7, 10, 14]]);
|
|
726
681
|
}));
|
|
@@ -750,7 +705,6 @@ var Tileset3D = function () {
|
|
|
750
705
|
this.stats.get(TILES_TOTAL).reset();
|
|
751
706
|
this.stats.get(TILES_TOTAL).addCount(nodesInNodePages);
|
|
752
707
|
}
|
|
753
|
-
|
|
754
708
|
if (tile && tile.content) {
|
|
755
709
|
(0, _transformUtils.calculateTransformProps)(tile, tile.content);
|
|
756
710
|
}
|
|
@@ -758,11 +712,9 @@ var Tileset3D = function () {
|
|
|
758
712
|
this._addTileToCache(tile);
|
|
759
713
|
this.options.onTileLoad(tile);
|
|
760
714
|
}
|
|
761
|
-
|
|
762
715
|
}, {
|
|
763
716
|
key: "updateContentTypes",
|
|
764
|
-
value:
|
|
765
|
-
function updateContentTypes(tile) {
|
|
717
|
+
value: function updateContentTypes(tile) {
|
|
766
718
|
if (this.type === _constants.TILESET_TYPE.I3S) {
|
|
767
719
|
if (tile.header.isDracoGeometry) {
|
|
768
720
|
this.contentFormats.draco = true;
|
|
@@ -816,7 +768,6 @@ var Tileset3D = function () {
|
|
|
816
768
|
value: function _updateCacheStats(tile) {
|
|
817
769
|
this.stats.get(TILES_LOADED).incrementCount();
|
|
818
770
|
this.stats.get(TILES_IN_MEMORY).incrementCount();
|
|
819
|
-
|
|
820
771
|
this.gpuMemoryUsageInBytes += tile.content.byteLength || 0;
|
|
821
772
|
this.stats.get(TILES_GPU_MEMORY).count = this.gpuMemoryUsageInBytes;
|
|
822
773
|
}
|
|
@@ -830,11 +781,9 @@ var Tileset3D = function () {
|
|
|
830
781
|
this.options.onTileUnload(tile);
|
|
831
782
|
tile.unloadContent();
|
|
832
783
|
}
|
|
833
|
-
|
|
834
784
|
}, {
|
|
835
785
|
key: "_destroy",
|
|
836
|
-
value:
|
|
837
|
-
function _destroy() {
|
|
786
|
+
value: function _destroy() {
|
|
838
787
|
var stack = [];
|
|
839
788
|
if (this.root) {
|
|
840
789
|
stack.push(this.root);
|
|
@@ -857,11 +806,9 @@ var Tileset3D = function () {
|
|
|
857
806
|
}
|
|
858
807
|
this.root = null;
|
|
859
808
|
}
|
|
860
|
-
|
|
861
809
|
}, {
|
|
862
810
|
key: "_destroySubtree",
|
|
863
|
-
value:
|
|
864
|
-
function _destroySubtree(tile) {
|
|
811
|
+
value: function _destroySubtree(tile) {
|
|
865
812
|
var root = tile;
|
|
866
813
|
var stack = [];
|
|
867
814
|
stack.push(root);
|
|
@@ -902,16 +849,13 @@ var Tileset3D = function () {
|
|
|
902
849
|
if (this.asset.version !== '0.0' && this.asset.version !== '1.0') {
|
|
903
850
|
throw new Error('The tileset must be 3D Tiles version 0.0 or 1.0.');
|
|
904
851
|
}
|
|
905
|
-
|
|
906
852
|
if ('tilesetVersion' in this.asset) {
|
|
907
853
|
this._queryParams.v = this.asset.tilesetVersion;
|
|
908
854
|
}
|
|
909
|
-
|
|
910
855
|
this.credits = {
|
|
911
856
|
attributions: this.options.attributions || []
|
|
912
857
|
};
|
|
913
858
|
this.description = this.options.description || '';
|
|
914
|
-
|
|
915
859
|
this.properties = tilesetJson.properties;
|
|
916
860
|
this.geometricError = tilesetJson.geometricError;
|
|
917
861
|
this._extensionsUsed = tilesetJson.extensionsUsed;
|