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