@loaders.gl/tiles 3.2.12 → 3.3.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +951 -1387
- 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 +119 -96
- package/dist/es5/tileset/tile-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-3d.js +119 -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 +8 -50
- 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 +55 -108
- package/dist/esm/tileset/tile-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-3d.js +58 -154
- 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 +5 -19
- 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 +1 -1
- package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset/helpers/frame-state.js +1 -1
- package/dist/tileset/tile-3d.d.ts +24 -5
- package/dist/tileset/tile-3d.d.ts.map +1 -1
- package/dist/tileset/tile-3d.js +27 -2
- package/dist/tileset/tileset-3d.d.ts +14 -2
- package/dist/tileset/tileset-3d.d.ts.map +1 -1
- package/dist/tileset/tileset-3d.js +35 -0
- package/dist/tileset/traversers/i3s-tileset-traverser.d.ts.map +1 -1
- package/dist/tileset/traversers/i3s-tileset-traverser.js +5 -6
- package/dist/tileset/traversers/tileset-traverser.d.ts +2 -2
- package/dist/tileset/traversers/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset/traversers/tileset-traverser.js +3 -3
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/tileset/helpers/frame-state.ts +1 -1
- package/src/tileset/tile-3d.ts +31 -4
- package/src/tileset/tileset-3d.ts +36 -0
- package/src/tileset/traversers/i3s-tileset-traverser.ts +1 -2
|
@@ -1,51 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
-
|
|
20
13
|
var _core = require("@math.gl/core");
|
|
21
|
-
|
|
22
14
|
var _culling = require("@math.gl/culling");
|
|
23
|
-
|
|
24
15
|
var _core2 = require("@loaders.gl/core");
|
|
25
|
-
|
|
26
16
|
var _constants = require("../constants");
|
|
27
|
-
|
|
28
17
|
var _boundingVolume = require("./helpers/bounding-volume");
|
|
29
|
-
|
|
30
18
|
var _tiles3dLod = require("./helpers/tiles-3d-lod");
|
|
31
|
-
|
|
32
19
|
var _i3sLod = require("./helpers/i3s-lod");
|
|
33
|
-
|
|
34
20
|
var _dTilesOptions = require("./helpers/3d-tiles-options");
|
|
35
|
-
|
|
36
21
|
var _tilesetTraverser = _interopRequireDefault(require("./traversers/tileset-traverser"));
|
|
37
|
-
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
41
|
-
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
42
24
|
var scratchVector = new _core.Vector3();
|
|
43
|
-
|
|
44
25
|
function defined(x) {
|
|
45
26
|
return x !== undefined && x !== null;
|
|
46
27
|
}
|
|
47
28
|
|
|
48
29
|
var TileHeader = function () {
|
|
30
|
+
|
|
49
31
|
function TileHeader(tileset, header, parentHeader) {
|
|
50
32
|
var extendedId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
51
33
|
(0, _classCallCheck2.default)(this, TileHeader);
|
|
@@ -68,6 +50,7 @@ var TileHeader = function () {
|
|
|
68
50
|
(0, _defineProperty2.default)(this, "viewportIds", void 0);
|
|
69
51
|
(0, _defineProperty2.default)(this, "transform", void 0);
|
|
70
52
|
(0, _defineProperty2.default)(this, "extensions", void 0);
|
|
53
|
+
(0, _defineProperty2.default)(this, "implicitTiling", void 0);
|
|
71
54
|
(0, _defineProperty2.default)(this, "userData", void 0);
|
|
72
55
|
(0, _defineProperty2.default)(this, "computedTransform", void 0);
|
|
73
56
|
(0, _defineProperty2.default)(this, "hasEmptyContent", void 0);
|
|
@@ -96,26 +79,34 @@ var TileHeader = function () {
|
|
|
96
79
|
(0, _defineProperty2.default)(this, "_viewerRequestVolume", void 0);
|
|
97
80
|
(0, _defineProperty2.default)(this, "_initialTransform", void 0);
|
|
98
81
|
this.header = header;
|
|
82
|
+
|
|
99
83
|
this.tileset = tileset;
|
|
100
84
|
this.id = extendedId || header.id;
|
|
101
85
|
this.url = header.url;
|
|
86
|
+
|
|
102
87
|
this.parent = parentHeader;
|
|
103
88
|
this.refine = this._getRefine(header.refine);
|
|
104
89
|
this.type = header.type;
|
|
105
90
|
this.contentUrl = header.contentUrl;
|
|
91
|
+
|
|
106
92
|
this.lodMetricType = 'geometricError';
|
|
107
93
|
this.lodMetricValue = 0;
|
|
94
|
+
|
|
108
95
|
this.boundingVolume = null;
|
|
96
|
+
|
|
109
97
|
this.content = null;
|
|
110
98
|
this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
|
|
111
99
|
this.gpuMemoryUsageInBytes = 0;
|
|
100
|
+
|
|
112
101
|
this.children = [];
|
|
113
102
|
this.hasEmptyContent = false;
|
|
114
103
|
this.hasTilesetContent = false;
|
|
115
104
|
this.depth = 0;
|
|
116
105
|
this.viewportIds = [];
|
|
106
|
+
|
|
117
107
|
this.userData = {};
|
|
118
108
|
this.extensions = null;
|
|
109
|
+
|
|
119
110
|
this._priority = 0;
|
|
120
111
|
this._touchedFrame = 0;
|
|
121
112
|
this._visitedFrame = 0;
|
|
@@ -135,23 +126,19 @@ var TileHeader = function () {
|
|
|
135
126
|
this._selectionDepth = 0;
|
|
136
127
|
this._initialTransform = new _core.Matrix4();
|
|
137
128
|
this.transform = new _core.Matrix4();
|
|
138
|
-
|
|
139
129
|
this._initializeLodMetric(header);
|
|
140
|
-
|
|
141
130
|
this._initializeTransforms(header);
|
|
142
|
-
|
|
143
131
|
this._initializeBoundingVolumes(header);
|
|
144
|
-
|
|
145
132
|
this._initializeContent(header);
|
|
146
|
-
|
|
147
133
|
this._initializeRenderingState(header);
|
|
148
134
|
|
|
149
135
|
this._lodJudge = null;
|
|
136
|
+
|
|
150
137
|
this._expireDate = null;
|
|
151
138
|
this._expiredContent = null;
|
|
139
|
+
this.implicitTiling = null;
|
|
152
140
|
Object.seal(this);
|
|
153
141
|
}
|
|
154
|
-
|
|
155
142
|
(0, _createClass2.default)(TileHeader, [{
|
|
156
143
|
key: "destroy",
|
|
157
144
|
value: function destroy() {
|
|
@@ -177,80 +164,113 @@ var TileHeader = function () {
|
|
|
177
164
|
get: function get() {
|
|
178
165
|
return this._visible && this._inRequestVolume;
|
|
179
166
|
}
|
|
167
|
+
|
|
180
168
|
}, {
|
|
181
169
|
key: "hasRenderContent",
|
|
182
|
-
get:
|
|
170
|
+
get:
|
|
171
|
+
function get() {
|
|
183
172
|
return !this.hasEmptyContent && !this.hasTilesetContent;
|
|
184
173
|
}
|
|
174
|
+
|
|
185
175
|
}, {
|
|
186
176
|
key: "hasChildren",
|
|
187
|
-
get:
|
|
177
|
+
get:
|
|
178
|
+
function get() {
|
|
188
179
|
return this.children.length > 0 || this.header.children && this.header.children.length > 0;
|
|
189
180
|
}
|
|
181
|
+
|
|
190
182
|
}, {
|
|
191
183
|
key: "contentReady",
|
|
192
|
-
get:
|
|
184
|
+
get:
|
|
185
|
+
function get() {
|
|
193
186
|
return this.contentState === _constants.TILE_CONTENT_STATE.READY || this.hasEmptyContent;
|
|
194
187
|
}
|
|
188
|
+
|
|
195
189
|
}, {
|
|
196
190
|
key: "contentAvailable",
|
|
197
|
-
get:
|
|
191
|
+
get:
|
|
192
|
+
function get() {
|
|
198
193
|
return Boolean(this.contentReady && this.hasRenderContent || this._expiredContent && !this.contentFailed);
|
|
199
194
|
}
|
|
195
|
+
|
|
200
196
|
}, {
|
|
201
197
|
key: "hasUnloadedContent",
|
|
202
|
-
get:
|
|
198
|
+
get:
|
|
199
|
+
function get() {
|
|
203
200
|
return this.hasRenderContent && this.contentUnloaded;
|
|
204
201
|
}
|
|
202
|
+
|
|
205
203
|
}, {
|
|
206
204
|
key: "contentUnloaded",
|
|
207
|
-
get:
|
|
205
|
+
get:
|
|
206
|
+
function get() {
|
|
208
207
|
return this.contentState === _constants.TILE_CONTENT_STATE.UNLOADED;
|
|
209
208
|
}
|
|
209
|
+
|
|
210
210
|
}, {
|
|
211
211
|
key: "contentExpired",
|
|
212
|
-
get:
|
|
212
|
+
get:
|
|
213
|
+
function get() {
|
|
213
214
|
return this.contentState === _constants.TILE_CONTENT_STATE.EXPIRED;
|
|
214
215
|
}
|
|
216
|
+
|
|
215
217
|
}, {
|
|
216
218
|
key: "contentFailed",
|
|
217
|
-
get:
|
|
219
|
+
get:
|
|
220
|
+
function get() {
|
|
218
221
|
return this.contentState === _constants.TILE_CONTENT_STATE.FAILED;
|
|
219
222
|
}
|
|
223
|
+
|
|
224
|
+
}, {
|
|
225
|
+
key: "distanceToCamera",
|
|
226
|
+
get:
|
|
227
|
+
function get() {
|
|
228
|
+
return this._distanceToCamera;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
}, {
|
|
232
|
+
key: "screenSpaceError",
|
|
233
|
+
get:
|
|
234
|
+
function get() {
|
|
235
|
+
return this._screenSpaceError;
|
|
236
|
+
}
|
|
237
|
+
|
|
220
238
|
}, {
|
|
221
239
|
key: "getScreenSpaceError",
|
|
222
|
-
value:
|
|
240
|
+
value:
|
|
241
|
+
function getScreenSpaceError(frameState, useParentLodMetric) {
|
|
223
242
|
switch (this.tileset.type) {
|
|
224
243
|
case _constants.TILESET_TYPE.I3S:
|
|
225
244
|
return (0, _i3sLod.getProjectedRadius)(this, frameState);
|
|
226
|
-
|
|
227
245
|
case _constants.TILESET_TYPE.TILES3D:
|
|
228
246
|
return (0, _tiles3dLod.getTiles3DScreenSpaceError)(this, frameState, useParentLodMetric);
|
|
229
|
-
|
|
230
247
|
default:
|
|
231
248
|
throw new Error('Unsupported tileset type');
|
|
232
249
|
}
|
|
233
250
|
}
|
|
251
|
+
|
|
234
252
|
}, {
|
|
235
253
|
key: "unselect",
|
|
236
|
-
value:
|
|
254
|
+
value:
|
|
255
|
+
function unselect() {
|
|
237
256
|
this._selectedFrame = 0;
|
|
238
257
|
}
|
|
258
|
+
|
|
239
259
|
}, {
|
|
240
260
|
key: "_getPriority",
|
|
241
|
-
value:
|
|
261
|
+
value:
|
|
262
|
+
function _getPriority() {
|
|
242
263
|
var traverser = this.tileset._traverser;
|
|
243
264
|
var skipLevelOfDetail = traverser.options.skipLevelOfDetail;
|
|
265
|
+
|
|
244
266
|
var maySkipTile = this.refine === _constants.TILE_REFINEMENT.ADD || skipLevelOfDetail;
|
|
245
267
|
|
|
246
268
|
if (maySkipTile && !this.isVisible && this._visible !== undefined) {
|
|
247
269
|
return -1;
|
|
248
270
|
}
|
|
249
|
-
|
|
250
271
|
if (this.tileset._frameNumber - this._touchedFrame >= 1) {
|
|
251
272
|
return -1;
|
|
252
273
|
}
|
|
253
|
-
|
|
254
274
|
if (this.contentState === _constants.TILE_CONTENT_STATE.UNLOADED) {
|
|
255
275
|
return -1;
|
|
256
276
|
}
|
|
@@ -259,8 +279,10 @@ var TileHeader = function () {
|
|
|
259
279
|
var useParentScreenSpaceError = parent && (!maySkipTile || this._screenSpaceError === 0.0 || parent.hasTilesetContent);
|
|
260
280
|
var screenSpaceError = useParentScreenSpaceError ? parent._screenSpaceError : this._screenSpaceError;
|
|
261
281
|
var rootScreenSpaceError = traverser.root ? traverser.root._screenSpaceError : 0.0;
|
|
282
|
+
|
|
262
283
|
return Math.max(rootScreenSpaceError - screenSpaceError, 0);
|
|
263
284
|
}
|
|
285
|
+
|
|
264
286
|
}, {
|
|
265
287
|
key: "loadContent",
|
|
266
288
|
value: function () {
|
|
@@ -274,39 +296,29 @@ var TileHeader = function () {
|
|
|
274
296
|
_context.next = 2;
|
|
275
297
|
break;
|
|
276
298
|
}
|
|
277
|
-
|
|
278
299
|
return _context.abrupt("return", false);
|
|
279
|
-
|
|
280
300
|
case 2:
|
|
281
301
|
if (!this.content) {
|
|
282
302
|
_context.next = 4;
|
|
283
303
|
break;
|
|
284
304
|
}
|
|
285
|
-
|
|
286
305
|
return _context.abrupt("return", true);
|
|
287
|
-
|
|
288
306
|
case 4:
|
|
289
307
|
expired = this.contentExpired;
|
|
290
|
-
|
|
291
308
|
if (expired) {
|
|
292
309
|
this._expireDate = null;
|
|
293
310
|
}
|
|
294
|
-
|
|
295
311
|
this.contentState = _constants.TILE_CONTENT_STATE.LOADING;
|
|
296
312
|
_context.next = 9;
|
|
297
313
|
return this.tileset._requestScheduler.scheduleRequest(this.id, this._getPriority.bind(this));
|
|
298
|
-
|
|
299
314
|
case 9:
|
|
300
315
|
requestToken = _context.sent;
|
|
301
|
-
|
|
302
316
|
if (requestToken) {
|
|
303
317
|
_context.next = 13;
|
|
304
318
|
break;
|
|
305
319
|
}
|
|
306
|
-
|
|
307
320
|
this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
|
|
308
321
|
return _context.abrupt("return", false);
|
|
309
|
-
|
|
310
322
|
case 13:
|
|
311
323
|
_context.prev = 13;
|
|
312
324
|
contentUrl = this.tileset.getTileUrl(this.contentUrl);
|
|
@@ -316,40 +328,30 @@ var TileHeader = function () {
|
|
|
316
328
|
}, this._getLoaderSpecificOptions(loader.id))));
|
|
317
329
|
_context.next = 19;
|
|
318
330
|
return (0, _core2.load)(contentUrl, loader, options);
|
|
319
|
-
|
|
320
331
|
case 19:
|
|
321
332
|
this.content = _context.sent;
|
|
322
|
-
|
|
323
333
|
if (!this.tileset.options.contentLoader) {
|
|
324
334
|
_context.next = 23;
|
|
325
335
|
break;
|
|
326
336
|
}
|
|
327
|
-
|
|
328
337
|
_context.next = 23;
|
|
329
338
|
return this.tileset.options.contentLoader(this);
|
|
330
|
-
|
|
331
339
|
case 23:
|
|
332
340
|
if (this._isTileset()) {
|
|
333
341
|
this.tileset._initializeTileHeaders(this.content, this);
|
|
334
342
|
}
|
|
335
|
-
|
|
336
343
|
this.contentState = _constants.TILE_CONTENT_STATE.READY;
|
|
337
|
-
|
|
338
344
|
this._onContentLoaded();
|
|
339
|
-
|
|
340
345
|
return _context.abrupt("return", true);
|
|
341
|
-
|
|
342
346
|
case 29:
|
|
343
347
|
_context.prev = 29;
|
|
344
348
|
_context.t0 = _context["catch"](13);
|
|
345
349
|
this.contentState = _constants.TILE_CONTENT_STATE.FAILED;
|
|
346
350
|
throw _context.t0;
|
|
347
|
-
|
|
348
351
|
case 33:
|
|
349
352
|
_context.prev = 33;
|
|
350
353
|
requestToken.done();
|
|
351
354
|
return _context.finish(33);
|
|
352
|
-
|
|
353
355
|
case 36:
|
|
354
356
|
case "end":
|
|
355
357
|
return _context.stop();
|
|
@@ -357,46 +359,40 @@ var TileHeader = function () {
|
|
|
357
359
|
}
|
|
358
360
|
}, _callee, this, [[13, 29, 33, 36]]);
|
|
359
361
|
}));
|
|
360
|
-
|
|
361
362
|
function loadContent() {
|
|
362
363
|
return _loadContent.apply(this, arguments);
|
|
363
364
|
}
|
|
364
|
-
|
|
365
365
|
return loadContent;
|
|
366
366
|
}()
|
|
367
367
|
}, {
|
|
368
368
|
key: "unloadContent",
|
|
369
|
-
value:
|
|
369
|
+
value:
|
|
370
|
+
function unloadContent() {
|
|
370
371
|
if (this.content && this.content.destroy) {
|
|
371
372
|
this.content.destroy();
|
|
372
373
|
}
|
|
373
|
-
|
|
374
374
|
this.content = null;
|
|
375
|
-
|
|
376
375
|
if (this.header.content && this.header.content.destroy) {
|
|
377
376
|
this.header.content.destroy();
|
|
378
377
|
}
|
|
379
|
-
|
|
380
378
|
this.header.content = null;
|
|
381
379
|
this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
|
|
382
380
|
return true;
|
|
383
381
|
}
|
|
382
|
+
|
|
384
383
|
}, {
|
|
385
384
|
key: "updateVisibility",
|
|
386
|
-
value:
|
|
385
|
+
value:
|
|
386
|
+
function updateVisibility(frameState, viewportIds) {
|
|
387
387
|
if (this._frameNumber === frameState.frameNumber) {
|
|
388
388
|
return;
|
|
389
389
|
}
|
|
390
|
-
|
|
391
390
|
var parent = this.parent;
|
|
392
391
|
var parentVisibilityPlaneMask = parent ? parent._visibilityPlaneMask : _culling.CullingVolume.MASK_INDETERMINATE;
|
|
393
|
-
|
|
394
392
|
if (this.tileset._traverser.options.updateTransforms) {
|
|
395
393
|
var parentTransform = parent ? parent.computedTransform : this.tileset.modelMatrix;
|
|
396
|
-
|
|
397
394
|
this._updateTransform(parentTransform);
|
|
398
395
|
}
|
|
399
|
-
|
|
400
396
|
this._distanceToCamera = this.distanceToTile(frameState);
|
|
401
397
|
this._screenSpaceError = this.getScreenSpaceError(frameState, false);
|
|
402
398
|
this._visibilityPlaneMask = this.visibility(frameState, parentVisibilityPlaneMask);
|
|
@@ -405,44 +401,58 @@ var TileHeader = function () {
|
|
|
405
401
|
this._frameNumber = frameState.frameNumber;
|
|
406
402
|
this.viewportIds = viewportIds;
|
|
407
403
|
}
|
|
404
|
+
|
|
408
405
|
}, {
|
|
409
406
|
key: "visibility",
|
|
410
|
-
value:
|
|
407
|
+
value:
|
|
408
|
+
function visibility(frameState, parentVisibilityPlaneMask) {
|
|
411
409
|
var cullingVolume = frameState.cullingVolume;
|
|
412
410
|
var boundingVolume = this.boundingVolume;
|
|
411
|
+
|
|
413
412
|
return cullingVolume.computeVisibilityWithPlaneMask(boundingVolume, parentVisibilityPlaneMask);
|
|
414
413
|
}
|
|
414
|
+
|
|
415
415
|
}, {
|
|
416
416
|
key: "contentVisibility",
|
|
417
|
-
value:
|
|
417
|
+
value:
|
|
418
|
+
function contentVisibility() {
|
|
418
419
|
return true;
|
|
420
|
+
|
|
419
421
|
}
|
|
422
|
+
|
|
420
423
|
}, {
|
|
421
424
|
key: "distanceToTile",
|
|
422
|
-
value:
|
|
425
|
+
value:
|
|
426
|
+
function distanceToTile(frameState) {
|
|
423
427
|
var boundingVolume = this.boundingVolume;
|
|
424
428
|
return Math.sqrt(Math.max(boundingVolume.distanceSquaredTo(frameState.camera.position), 0));
|
|
425
429
|
}
|
|
430
|
+
|
|
426
431
|
}, {
|
|
427
432
|
key: "cameraSpaceZDepth",
|
|
428
|
-
value:
|
|
433
|
+
value:
|
|
434
|
+
function cameraSpaceZDepth(_ref) {
|
|
429
435
|
var camera = _ref.camera;
|
|
430
436
|
var boundingVolume = this.boundingVolume;
|
|
431
437
|
scratchVector.subVectors(boundingVolume.center, camera.position);
|
|
432
438
|
return camera.direction.dot(scratchVector);
|
|
433
439
|
}
|
|
440
|
+
|
|
434
441
|
}, {
|
|
435
442
|
key: "insideViewerRequestVolume",
|
|
436
|
-
value:
|
|
443
|
+
value:
|
|
444
|
+
function insideViewerRequestVolume(frameState) {
|
|
437
445
|
var viewerRequestVolume = this._viewerRequestVolume;
|
|
438
446
|
return !viewerRequestVolume || viewerRequestVolume.distanceSquaredTo(frameState.camera.position) <= 0;
|
|
439
447
|
}
|
|
448
|
+
|
|
440
449
|
}, {
|
|
441
450
|
key: "updateExpiration",
|
|
442
|
-
value:
|
|
451
|
+
value:
|
|
452
|
+
|
|
453
|
+
function updateExpiration() {
|
|
443
454
|
if (defined(this._expireDate) && this.contentReady && !this.hasEmptyContent) {
|
|
444
455
|
var now = Date.now();
|
|
445
|
-
|
|
446
456
|
if (Date.lessThan(this._expireDate, now)) {
|
|
447
457
|
this.contentState = _constants.TILE_CONTENT_STATE.EXPIRED;
|
|
448
458
|
this._expiredContent = this.content;
|
|
@@ -454,9 +464,12 @@ var TileHeader = function () {
|
|
|
454
464
|
get: function get() {
|
|
455
465
|
return this.header.extras;
|
|
456
466
|
}
|
|
467
|
+
|
|
457
468
|
}, {
|
|
458
469
|
key: "_initializeLodMetric",
|
|
459
|
-
value:
|
|
470
|
+
value:
|
|
471
|
+
|
|
472
|
+
function _initializeLodMetric(header) {
|
|
460
473
|
if ('lodMetricType' in header) {
|
|
461
474
|
this.lodMetricType = header.lodMetricType;
|
|
462
475
|
} else {
|
|
@@ -487,7 +500,6 @@ var TileHeader = function () {
|
|
|
487
500
|
value: function _initializeBoundingVolumes(tileHeader) {
|
|
488
501
|
this._contentBoundingVolume = null;
|
|
489
502
|
this._viewerRequestVolume = null;
|
|
490
|
-
|
|
491
503
|
this._updateBoundingVolume(tileHeader);
|
|
492
504
|
}
|
|
493
505
|
}, {
|
|
@@ -499,18 +511,21 @@ var TileHeader = function () {
|
|
|
499
511
|
};
|
|
500
512
|
this.hasEmptyContent = true;
|
|
501
513
|
this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
|
|
502
|
-
this.hasTilesetContent = false;
|
|
503
514
|
|
|
515
|
+
this.hasTilesetContent = false;
|
|
504
516
|
if (tileHeader.contentUrl) {
|
|
505
517
|
this.content = null;
|
|
506
518
|
this.hasEmptyContent = false;
|
|
507
519
|
}
|
|
508
520
|
}
|
|
521
|
+
|
|
509
522
|
}, {
|
|
510
523
|
key: "_initializeRenderingState",
|
|
511
|
-
value:
|
|
524
|
+
value:
|
|
525
|
+
function _initializeRenderingState(header) {
|
|
512
526
|
this.depth = header.level || (this.parent ? this.parent.depth + 1 : 0);
|
|
513
527
|
this._shouldRefine = false;
|
|
528
|
+
|
|
514
529
|
this._distanceToCamera = 0;
|
|
515
530
|
this._centerZDepth = 0;
|
|
516
531
|
this._screenSpaceError = 0;
|
|
@@ -544,7 +559,6 @@ var TileHeader = function () {
|
|
|
544
559
|
case 'geom':
|
|
545
560
|
this.tileset._traverser.disableSkipLevelOfDetail = true;
|
|
546
561
|
break;
|
|
547
|
-
|
|
548
562
|
default:
|
|
549
563
|
}
|
|
550
564
|
|
|
@@ -557,7 +571,6 @@ var TileHeader = function () {
|
|
|
557
571
|
value: function _updateBoundingVolume(header) {
|
|
558
572
|
this.boundingVolume = (0, _boundingVolume.createBoundingVolume)(header.boundingVolume, this.computedTransform, this.boundingVolume);
|
|
559
573
|
var content = header.content;
|
|
560
|
-
|
|
561
574
|
if (!content) {
|
|
562
575
|
return;
|
|
563
576
|
}
|
|
@@ -565,37 +578,48 @@ var TileHeader = function () {
|
|
|
565
578
|
if (content.boundingVolume) {
|
|
566
579
|
this._contentBoundingVolume = (0, _boundingVolume.createBoundingVolume)(content.boundingVolume, this.computedTransform, this._contentBoundingVolume);
|
|
567
580
|
}
|
|
568
|
-
|
|
569
581
|
if (header.viewerRequestVolume) {
|
|
570
582
|
this._viewerRequestVolume = (0, _boundingVolume.createBoundingVolume)(header.viewerRequestVolume, this.computedTransform, this._viewerRequestVolume);
|
|
571
583
|
}
|
|
572
584
|
}
|
|
585
|
+
|
|
573
586
|
}, {
|
|
574
587
|
key: "_updateTransform",
|
|
575
|
-
value:
|
|
588
|
+
value:
|
|
589
|
+
function _updateTransform() {
|
|
576
590
|
var parentTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _core.Matrix4();
|
|
577
591
|
var computedTransform = parentTransform.clone().multiplyRight(this.transform);
|
|
578
592
|
var didTransformChange = !computedTransform.equals(this.computedTransform);
|
|
579
|
-
|
|
580
593
|
if (!didTransformChange) {
|
|
581
594
|
return;
|
|
582
595
|
}
|
|
583
|
-
|
|
584
596
|
this.computedTransform = computedTransform;
|
|
585
|
-
|
|
586
597
|
this._updateBoundingVolume(this.header);
|
|
587
598
|
}
|
|
599
|
+
|
|
588
600
|
}, {
|
|
589
601
|
key: "_getLoaderSpecificOptions",
|
|
590
|
-
value:
|
|
602
|
+
value:
|
|
603
|
+
function _getLoaderSpecificOptions(loaderId) {
|
|
591
604
|
switch (loaderId) {
|
|
592
605
|
case 'i3s':
|
|
593
606
|
return _objectSpread(_objectSpread({}, this.tileset.options.i3s), {}, {
|
|
594
|
-
|
|
595
|
-
|
|
607
|
+
_tileOptions: {
|
|
608
|
+
attributeUrls: this.header.attributeUrls,
|
|
609
|
+
textureUrl: this.header.textureUrl,
|
|
610
|
+
textureFormat: this.header.textureFormat,
|
|
611
|
+
textureLoaderOptions: this.header.textureLoaderOptions,
|
|
612
|
+
materialDefinition: this.header.materialDefinition,
|
|
613
|
+
isDracoGeometry: this.header.isDracoGeometry,
|
|
614
|
+
mbs: this.header.mbs
|
|
615
|
+
},
|
|
616
|
+
_tilesetOptions: {
|
|
617
|
+
store: this.tileset.tileset.store,
|
|
618
|
+
attributeStorageInfo: this.tileset.tileset.attributeStorageInfo,
|
|
619
|
+
fields: this.tileset.tileset.fields
|
|
620
|
+
},
|
|
596
621
|
isTileHeader: false
|
|
597
622
|
});
|
|
598
|
-
|
|
599
623
|
case '3d-tiles':
|
|
600
624
|
case 'cesium-ion':
|
|
601
625
|
default:
|
|
@@ -605,6 +629,5 @@ var TileHeader = function () {
|
|
|
605
629
|
}]);
|
|
606
630
|
return TileHeader;
|
|
607
631
|
}();
|
|
608
|
-
|
|
609
632
|
exports.default = TileHeader;
|
|
610
633
|
//# sourceMappingURL=tile-3d.js.map
|