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