@loaders.gl/tiles 3.3.0-alpha.1 → 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 +1027 -1431
- 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,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,90 +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
|
+
|
|
220
224
|
}, {
|
|
221
225
|
key: "distanceToCamera",
|
|
222
|
-
get:
|
|
226
|
+
get:
|
|
227
|
+
function get() {
|
|
223
228
|
return this._distanceToCamera;
|
|
224
229
|
}
|
|
230
|
+
|
|
225
231
|
}, {
|
|
226
232
|
key: "screenSpaceError",
|
|
227
|
-
get:
|
|
233
|
+
get:
|
|
234
|
+
function get() {
|
|
228
235
|
return this._screenSpaceError;
|
|
229
236
|
}
|
|
237
|
+
|
|
230
238
|
}, {
|
|
231
239
|
key: "getScreenSpaceError",
|
|
232
|
-
value:
|
|
240
|
+
value:
|
|
241
|
+
function getScreenSpaceError(frameState, useParentLodMetric) {
|
|
233
242
|
switch (this.tileset.type) {
|
|
234
243
|
case _constants.TILESET_TYPE.I3S:
|
|
235
244
|
return (0, _i3sLod.getProjectedRadius)(this, frameState);
|
|
236
|
-
|
|
237
245
|
case _constants.TILESET_TYPE.TILES3D:
|
|
238
246
|
return (0, _tiles3dLod.getTiles3DScreenSpaceError)(this, frameState, useParentLodMetric);
|
|
239
|
-
|
|
240
247
|
default:
|
|
241
248
|
throw new Error('Unsupported tileset type');
|
|
242
249
|
}
|
|
243
250
|
}
|
|
251
|
+
|
|
244
252
|
}, {
|
|
245
253
|
key: "unselect",
|
|
246
|
-
value:
|
|
254
|
+
value:
|
|
255
|
+
function unselect() {
|
|
247
256
|
this._selectedFrame = 0;
|
|
248
257
|
}
|
|
258
|
+
|
|
249
259
|
}, {
|
|
250
260
|
key: "_getPriority",
|
|
251
|
-
value:
|
|
261
|
+
value:
|
|
262
|
+
function _getPriority() {
|
|
252
263
|
var traverser = this.tileset._traverser;
|
|
253
264
|
var skipLevelOfDetail = traverser.options.skipLevelOfDetail;
|
|
265
|
+
|
|
254
266
|
var maySkipTile = this.refine === _constants.TILE_REFINEMENT.ADD || skipLevelOfDetail;
|
|
255
267
|
|
|
256
268
|
if (maySkipTile && !this.isVisible && this._visible !== undefined) {
|
|
257
269
|
return -1;
|
|
258
270
|
}
|
|
259
|
-
|
|
260
271
|
if (this.tileset._frameNumber - this._touchedFrame >= 1) {
|
|
261
272
|
return -1;
|
|
262
273
|
}
|
|
263
|
-
|
|
264
274
|
if (this.contentState === _constants.TILE_CONTENT_STATE.UNLOADED) {
|
|
265
275
|
return -1;
|
|
266
276
|
}
|
|
@@ -269,8 +279,10 @@ var TileHeader = function () {
|
|
|
269
279
|
var useParentScreenSpaceError = parent && (!maySkipTile || this._screenSpaceError === 0.0 || parent.hasTilesetContent);
|
|
270
280
|
var screenSpaceError = useParentScreenSpaceError ? parent._screenSpaceError : this._screenSpaceError;
|
|
271
281
|
var rootScreenSpaceError = traverser.root ? traverser.root._screenSpaceError : 0.0;
|
|
282
|
+
|
|
272
283
|
return Math.max(rootScreenSpaceError - screenSpaceError, 0);
|
|
273
284
|
}
|
|
285
|
+
|
|
274
286
|
}, {
|
|
275
287
|
key: "loadContent",
|
|
276
288
|
value: function () {
|
|
@@ -284,39 +296,29 @@ var TileHeader = function () {
|
|
|
284
296
|
_context.next = 2;
|
|
285
297
|
break;
|
|
286
298
|
}
|
|
287
|
-
|
|
288
299
|
return _context.abrupt("return", false);
|
|
289
|
-
|
|
290
300
|
case 2:
|
|
291
301
|
if (!this.content) {
|
|
292
302
|
_context.next = 4;
|
|
293
303
|
break;
|
|
294
304
|
}
|
|
295
|
-
|
|
296
305
|
return _context.abrupt("return", true);
|
|
297
|
-
|
|
298
306
|
case 4:
|
|
299
307
|
expired = this.contentExpired;
|
|
300
|
-
|
|
301
308
|
if (expired) {
|
|
302
309
|
this._expireDate = null;
|
|
303
310
|
}
|
|
304
|
-
|
|
305
311
|
this.contentState = _constants.TILE_CONTENT_STATE.LOADING;
|
|
306
312
|
_context.next = 9;
|
|
307
313
|
return this.tileset._requestScheduler.scheduleRequest(this.id, this._getPriority.bind(this));
|
|
308
|
-
|
|
309
314
|
case 9:
|
|
310
315
|
requestToken = _context.sent;
|
|
311
|
-
|
|
312
316
|
if (requestToken) {
|
|
313
317
|
_context.next = 13;
|
|
314
318
|
break;
|
|
315
319
|
}
|
|
316
|
-
|
|
317
320
|
this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
|
|
318
321
|
return _context.abrupt("return", false);
|
|
319
|
-
|
|
320
322
|
case 13:
|
|
321
323
|
_context.prev = 13;
|
|
322
324
|
contentUrl = this.tileset.getTileUrl(this.contentUrl);
|
|
@@ -326,40 +328,30 @@ var TileHeader = function () {
|
|
|
326
328
|
}, this._getLoaderSpecificOptions(loader.id))));
|
|
327
329
|
_context.next = 19;
|
|
328
330
|
return (0, _core2.load)(contentUrl, loader, options);
|
|
329
|
-
|
|
330
331
|
case 19:
|
|
331
332
|
this.content = _context.sent;
|
|
332
|
-
|
|
333
333
|
if (!this.tileset.options.contentLoader) {
|
|
334
334
|
_context.next = 23;
|
|
335
335
|
break;
|
|
336
336
|
}
|
|
337
|
-
|
|
338
337
|
_context.next = 23;
|
|
339
338
|
return this.tileset.options.contentLoader(this);
|
|
340
|
-
|
|
341
339
|
case 23:
|
|
342
340
|
if (this._isTileset()) {
|
|
343
341
|
this.tileset._initializeTileHeaders(this.content, this);
|
|
344
342
|
}
|
|
345
|
-
|
|
346
343
|
this.contentState = _constants.TILE_CONTENT_STATE.READY;
|
|
347
|
-
|
|
348
344
|
this._onContentLoaded();
|
|
349
|
-
|
|
350
345
|
return _context.abrupt("return", true);
|
|
351
|
-
|
|
352
346
|
case 29:
|
|
353
347
|
_context.prev = 29;
|
|
354
348
|
_context.t0 = _context["catch"](13);
|
|
355
349
|
this.contentState = _constants.TILE_CONTENT_STATE.FAILED;
|
|
356
350
|
throw _context.t0;
|
|
357
|
-
|
|
358
351
|
case 33:
|
|
359
352
|
_context.prev = 33;
|
|
360
353
|
requestToken.done();
|
|
361
354
|
return _context.finish(33);
|
|
362
|
-
|
|
363
355
|
case 36:
|
|
364
356
|
case "end":
|
|
365
357
|
return _context.stop();
|
|
@@ -367,46 +359,40 @@ var TileHeader = function () {
|
|
|
367
359
|
}
|
|
368
360
|
}, _callee, this, [[13, 29, 33, 36]]);
|
|
369
361
|
}));
|
|
370
|
-
|
|
371
362
|
function loadContent() {
|
|
372
363
|
return _loadContent.apply(this, arguments);
|
|
373
364
|
}
|
|
374
|
-
|
|
375
365
|
return loadContent;
|
|
376
366
|
}()
|
|
377
367
|
}, {
|
|
378
368
|
key: "unloadContent",
|
|
379
|
-
value:
|
|
369
|
+
value:
|
|
370
|
+
function unloadContent() {
|
|
380
371
|
if (this.content && this.content.destroy) {
|
|
381
372
|
this.content.destroy();
|
|
382
373
|
}
|
|
383
|
-
|
|
384
374
|
this.content = null;
|
|
385
|
-
|
|
386
375
|
if (this.header.content && this.header.content.destroy) {
|
|
387
376
|
this.header.content.destroy();
|
|
388
377
|
}
|
|
389
|
-
|
|
390
378
|
this.header.content = null;
|
|
391
379
|
this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
|
|
392
380
|
return true;
|
|
393
381
|
}
|
|
382
|
+
|
|
394
383
|
}, {
|
|
395
384
|
key: "updateVisibility",
|
|
396
|
-
value:
|
|
385
|
+
value:
|
|
386
|
+
function updateVisibility(frameState, viewportIds) {
|
|
397
387
|
if (this._frameNumber === frameState.frameNumber) {
|
|
398
388
|
return;
|
|
399
389
|
}
|
|
400
|
-
|
|
401
390
|
var parent = this.parent;
|
|
402
391
|
var parentVisibilityPlaneMask = parent ? parent._visibilityPlaneMask : _culling.CullingVolume.MASK_INDETERMINATE;
|
|
403
|
-
|
|
404
392
|
if (this.tileset._traverser.options.updateTransforms) {
|
|
405
393
|
var parentTransform = parent ? parent.computedTransform : this.tileset.modelMatrix;
|
|
406
|
-
|
|
407
394
|
this._updateTransform(parentTransform);
|
|
408
395
|
}
|
|
409
|
-
|
|
410
396
|
this._distanceToCamera = this.distanceToTile(frameState);
|
|
411
397
|
this._screenSpaceError = this.getScreenSpaceError(frameState, false);
|
|
412
398
|
this._visibilityPlaneMask = this.visibility(frameState, parentVisibilityPlaneMask);
|
|
@@ -415,44 +401,58 @@ var TileHeader = function () {
|
|
|
415
401
|
this._frameNumber = frameState.frameNumber;
|
|
416
402
|
this.viewportIds = viewportIds;
|
|
417
403
|
}
|
|
404
|
+
|
|
418
405
|
}, {
|
|
419
406
|
key: "visibility",
|
|
420
|
-
value:
|
|
407
|
+
value:
|
|
408
|
+
function visibility(frameState, parentVisibilityPlaneMask) {
|
|
421
409
|
var cullingVolume = frameState.cullingVolume;
|
|
422
410
|
var boundingVolume = this.boundingVolume;
|
|
411
|
+
|
|
423
412
|
return cullingVolume.computeVisibilityWithPlaneMask(boundingVolume, parentVisibilityPlaneMask);
|
|
424
413
|
}
|
|
414
|
+
|
|
425
415
|
}, {
|
|
426
416
|
key: "contentVisibility",
|
|
427
|
-
value:
|
|
417
|
+
value:
|
|
418
|
+
function contentVisibility() {
|
|
428
419
|
return true;
|
|
420
|
+
|
|
429
421
|
}
|
|
422
|
+
|
|
430
423
|
}, {
|
|
431
424
|
key: "distanceToTile",
|
|
432
|
-
value:
|
|
425
|
+
value:
|
|
426
|
+
function distanceToTile(frameState) {
|
|
433
427
|
var boundingVolume = this.boundingVolume;
|
|
434
428
|
return Math.sqrt(Math.max(boundingVolume.distanceSquaredTo(frameState.camera.position), 0));
|
|
435
429
|
}
|
|
430
|
+
|
|
436
431
|
}, {
|
|
437
432
|
key: "cameraSpaceZDepth",
|
|
438
|
-
value:
|
|
433
|
+
value:
|
|
434
|
+
function cameraSpaceZDepth(_ref) {
|
|
439
435
|
var camera = _ref.camera;
|
|
440
436
|
var boundingVolume = this.boundingVolume;
|
|
441
437
|
scratchVector.subVectors(boundingVolume.center, camera.position);
|
|
442
438
|
return camera.direction.dot(scratchVector);
|
|
443
439
|
}
|
|
440
|
+
|
|
444
441
|
}, {
|
|
445
442
|
key: "insideViewerRequestVolume",
|
|
446
|
-
value:
|
|
443
|
+
value:
|
|
444
|
+
function insideViewerRequestVolume(frameState) {
|
|
447
445
|
var viewerRequestVolume = this._viewerRequestVolume;
|
|
448
446
|
return !viewerRequestVolume || viewerRequestVolume.distanceSquaredTo(frameState.camera.position) <= 0;
|
|
449
447
|
}
|
|
448
|
+
|
|
450
449
|
}, {
|
|
451
450
|
key: "updateExpiration",
|
|
452
|
-
value:
|
|
451
|
+
value:
|
|
452
|
+
|
|
453
|
+
function updateExpiration() {
|
|
453
454
|
if (defined(this._expireDate) && this.contentReady && !this.hasEmptyContent) {
|
|
454
455
|
var now = Date.now();
|
|
455
|
-
|
|
456
456
|
if (Date.lessThan(this._expireDate, now)) {
|
|
457
457
|
this.contentState = _constants.TILE_CONTENT_STATE.EXPIRED;
|
|
458
458
|
this._expiredContent = this.content;
|
|
@@ -464,9 +464,12 @@ var TileHeader = function () {
|
|
|
464
464
|
get: function get() {
|
|
465
465
|
return this.header.extras;
|
|
466
466
|
}
|
|
467
|
+
|
|
467
468
|
}, {
|
|
468
469
|
key: "_initializeLodMetric",
|
|
469
|
-
value:
|
|
470
|
+
value:
|
|
471
|
+
|
|
472
|
+
function _initializeLodMetric(header) {
|
|
470
473
|
if ('lodMetricType' in header) {
|
|
471
474
|
this.lodMetricType = header.lodMetricType;
|
|
472
475
|
} else {
|
|
@@ -497,7 +500,6 @@ var TileHeader = function () {
|
|
|
497
500
|
value: function _initializeBoundingVolumes(tileHeader) {
|
|
498
501
|
this._contentBoundingVolume = null;
|
|
499
502
|
this._viewerRequestVolume = null;
|
|
500
|
-
|
|
501
503
|
this._updateBoundingVolume(tileHeader);
|
|
502
504
|
}
|
|
503
505
|
}, {
|
|
@@ -509,18 +511,21 @@ var TileHeader = function () {
|
|
|
509
511
|
};
|
|
510
512
|
this.hasEmptyContent = true;
|
|
511
513
|
this.contentState = _constants.TILE_CONTENT_STATE.UNLOADED;
|
|
512
|
-
this.hasTilesetContent = false;
|
|
513
514
|
|
|
515
|
+
this.hasTilesetContent = false;
|
|
514
516
|
if (tileHeader.contentUrl) {
|
|
515
517
|
this.content = null;
|
|
516
518
|
this.hasEmptyContent = false;
|
|
517
519
|
}
|
|
518
520
|
}
|
|
521
|
+
|
|
519
522
|
}, {
|
|
520
523
|
key: "_initializeRenderingState",
|
|
521
|
-
value:
|
|
524
|
+
value:
|
|
525
|
+
function _initializeRenderingState(header) {
|
|
522
526
|
this.depth = header.level || (this.parent ? this.parent.depth + 1 : 0);
|
|
523
527
|
this._shouldRefine = false;
|
|
528
|
+
|
|
524
529
|
this._distanceToCamera = 0;
|
|
525
530
|
this._centerZDepth = 0;
|
|
526
531
|
this._screenSpaceError = 0;
|
|
@@ -554,7 +559,6 @@ var TileHeader = function () {
|
|
|
554
559
|
case 'geom':
|
|
555
560
|
this.tileset._traverser.disableSkipLevelOfDetail = true;
|
|
556
561
|
break;
|
|
557
|
-
|
|
558
562
|
default:
|
|
559
563
|
}
|
|
560
564
|
|
|
@@ -567,7 +571,6 @@ var TileHeader = function () {
|
|
|
567
571
|
value: function _updateBoundingVolume(header) {
|
|
568
572
|
this.boundingVolume = (0, _boundingVolume.createBoundingVolume)(header.boundingVolume, this.computedTransform, this.boundingVolume);
|
|
569
573
|
var content = header.content;
|
|
570
|
-
|
|
571
574
|
if (!content) {
|
|
572
575
|
return;
|
|
573
576
|
}
|
|
@@ -575,37 +578,48 @@ var TileHeader = function () {
|
|
|
575
578
|
if (content.boundingVolume) {
|
|
576
579
|
this._contentBoundingVolume = (0, _boundingVolume.createBoundingVolume)(content.boundingVolume, this.computedTransform, this._contentBoundingVolume);
|
|
577
580
|
}
|
|
578
|
-
|
|
579
581
|
if (header.viewerRequestVolume) {
|
|
580
582
|
this._viewerRequestVolume = (0, _boundingVolume.createBoundingVolume)(header.viewerRequestVolume, this.computedTransform, this._viewerRequestVolume);
|
|
581
583
|
}
|
|
582
584
|
}
|
|
585
|
+
|
|
583
586
|
}, {
|
|
584
587
|
key: "_updateTransform",
|
|
585
|
-
value:
|
|
588
|
+
value:
|
|
589
|
+
function _updateTransform() {
|
|
586
590
|
var parentTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _core.Matrix4();
|
|
587
591
|
var computedTransform = parentTransform.clone().multiplyRight(this.transform);
|
|
588
592
|
var didTransformChange = !computedTransform.equals(this.computedTransform);
|
|
589
|
-
|
|
590
593
|
if (!didTransformChange) {
|
|
591
594
|
return;
|
|
592
595
|
}
|
|
593
|
-
|
|
594
596
|
this.computedTransform = computedTransform;
|
|
595
|
-
|
|
596
597
|
this._updateBoundingVolume(this.header);
|
|
597
598
|
}
|
|
599
|
+
|
|
598
600
|
}, {
|
|
599
601
|
key: "_getLoaderSpecificOptions",
|
|
600
|
-
value:
|
|
602
|
+
value:
|
|
603
|
+
function _getLoaderSpecificOptions(loaderId) {
|
|
601
604
|
switch (loaderId) {
|
|
602
605
|
case 'i3s':
|
|
603
606
|
return _objectSpread(_objectSpread({}, this.tileset.options.i3s), {}, {
|
|
604
|
-
|
|
605
|
-
|
|
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
|
+
},
|
|
606
621
|
isTileHeader: false
|
|
607
622
|
});
|
|
608
|
-
|
|
609
623
|
case '3d-tiles':
|
|
610
624
|
case 'cesium-ion':
|
|
611
625
|
default:
|
|
@@ -615,6 +629,5 @@ var TileHeader = function () {
|
|
|
615
629
|
}]);
|
|
616
630
|
return TileHeader;
|
|
617
631
|
}();
|
|
618
|
-
|
|
619
632
|
exports.default = TileHeader;
|
|
620
633
|
//# sourceMappingURL=tile-3d.js.map
|