@deck.gl/geo-layers 8.7.0-alpha.2 → 8.7.0-alpha.9
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.dev.js +7720 -4401
- package/dist/es5/great-circle-layer/great-circle-layer.js +26 -1
- package/dist/es5/great-circle-layer/great-circle-layer.js.map +1 -1
- package/dist/es5/h3-layers/h3-cluster-layer.js +149 -87
- package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
- package/dist/es5/h3-layers/h3-hexagon-layer.js +326 -230
- package/dist/es5/h3-layers/h3-hexagon-layer.js.map +1 -1
- package/dist/es5/index.js +9 -9
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js +1 -1
- package/dist/es5/mesh-layer/mesh-layer.js +153 -132
- package/dist/es5/mesh-layer/mesh-layer.js.map +1 -1
- package/dist/es5/mvt-layer/coordinate-transform.js +46 -20
- package/dist/es5/mvt-layer/coordinate-transform.js.map +1 -1
- package/dist/es5/mvt-layer/find-index-binary.js +45 -26
- package/dist/es5/mvt-layer/find-index-binary.js.map +1 -1
- package/dist/es5/mvt-layer/mvt-layer.js +395 -280
- package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/es5/s2-layer/s2-geometry.js +43 -32
- package/dist/es5/s2-layer/s2-geometry.js.map +1 -1
- package/dist/es5/s2-layer/s2-layer.js +104 -69
- package/dist/es5/s2-layer/s2-layer.js.map +1 -1
- package/dist/es5/s2-layer/s2-utils.js +27 -28
- package/dist/es5/s2-layer/s2-utils.js.map +1 -1
- package/dist/es5/terrain-layer/terrain-layer.js +250 -208
- package/dist/es5/terrain-layer/terrain-layer.js.map +1 -1
- package/dist/es5/tile-3d-layer/tile-3d-layer.js +384 -329
- package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -1
- package/dist/es5/tile-layer/tile-2d-header.js +182 -118
- package/dist/es5/tile-layer/tile-2d-header.js.map +1 -1
- package/dist/es5/tile-layer/tile-2d-traversal.js +176 -113
- package/dist/es5/tile-layer/tile-2d-traversal.js.map +1 -1
- package/dist/es5/tile-layer/tile-layer.js +253 -214
- package/dist/es5/tile-layer/tile-layer.js.map +1 -1
- package/dist/es5/tile-layer/tileset-2d.js +519 -300
- package/dist/es5/tile-layer/tileset-2d.js.map +1 -1
- package/dist/es5/tile-layer/utils.js +110 -61
- package/dist/es5/tile-layer/utils.js.map +1 -1
- package/dist/es5/trips-layer/trips-layer.js +81 -44
- package/dist/es5/trips-layer/trips-layer.js.map +1 -1
- package/dist/esm/h3-layers/h3-hexagon-layer.js +2 -1
- package/dist/esm/h3-layers/h3-hexagon-layer.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js +1 -1
- package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -1
- package/dist/esm/mesh-layer/mesh-layer.js +2 -8
- package/dist/esm/mesh-layer/mesh-layer.js.map +1 -1
- package/dist/esm/mvt-layer/coordinate-transform.js +1 -1
- package/dist/esm/mvt-layer/coordinate-transform.js.map +1 -1
- package/dist/esm/mvt-layer/mvt-layer.js +27 -1
- package/dist/esm/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/esm/terrain-layer/terrain-layer.js +8 -10
- package/dist/esm/terrain-layer/terrain-layer.js.map +1 -1
- package/dist/esm/tile-3d-layer/tile-3d-layer.js +2 -1
- package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +1 -1
- package/dist/esm/tile-layer/tile-layer.js +8 -16
- package/dist/esm/tile-layer/tile-layer.js.map +1 -1
- package/dist/esm/tile-layer/tileset-2d.js +85 -79
- package/dist/esm/tile-layer/tileset-2d.js.map +1 -1
- package/dist.min.js +2 -2
- package/package.json +12 -12
- package/src/h3-layers/h3-hexagon-layer.js +2 -1
- package/src/{index.js → index.ts} +0 -0
- package/src/mesh-layer/mesh-layer-vertex.glsl.js +24 -23
- package/src/mesh-layer/mesh-layer.js +5 -4
- package/src/mvt-layer/coordinate-transform.js +1 -1
- package/src/mvt-layer/mvt-layer.js +17 -1
- package/src/terrain-layer/terrain-layer.js +10 -9
- package/src/tile-3d-layer/tile-3d-layer.js +10 -2
- package/src/tile-layer/tile-layer.js +11 -12
- package/src/tile-layer/tileset-2d.js +103 -90
|
@@ -7,38 +7,55 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = exports.STRATEGY_DEFAULT = exports.STRATEGY_REPLACE = exports.STRATEGY_NEVER = void 0;
|
|
9
9
|
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
|
|
10
18
|
var _tile2dHeader = _interopRequireDefault(require("./tile-2d-header"));
|
|
11
19
|
|
|
12
20
|
var _utils = require("./utils");
|
|
13
21
|
|
|
14
22
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
15
23
|
|
|
16
|
-
var
|
|
24
|
+
var _core = require("@math.gl/core");
|
|
25
|
+
|
|
26
|
+
var _STRATEGIES;
|
|
27
|
+
|
|
28
|
+
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; } } }; }
|
|
29
|
+
|
|
30
|
+
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); }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
17
33
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const TILE_STATE_HIDDEN = 4;
|
|
22
|
-
const TILE_STATE_SELECTED = 5;
|
|
23
|
-
const STRATEGY_NEVER = 'never';
|
|
34
|
+
var TILE_STATE_VISITED = 1;
|
|
35
|
+
var TILE_STATE_VISIBLE = 2;
|
|
36
|
+
var STRATEGY_NEVER = 'never';
|
|
24
37
|
exports.STRATEGY_NEVER = STRATEGY_NEVER;
|
|
25
|
-
|
|
38
|
+
var STRATEGY_REPLACE = 'no-overlap';
|
|
26
39
|
exports.STRATEGY_REPLACE = STRATEGY_REPLACE;
|
|
27
|
-
|
|
40
|
+
var STRATEGY_DEFAULT = 'best-available';
|
|
28
41
|
exports.STRATEGY_DEFAULT = STRATEGY_DEFAULT;
|
|
29
|
-
|
|
42
|
+
var DEFAULT_CACHE_SCALE = 5;
|
|
43
|
+
var STRATEGIES = (_STRATEGIES = {}, (0, _defineProperty2.default)(_STRATEGIES, STRATEGY_DEFAULT, updateTileStateDefault), (0, _defineProperty2.default)(_STRATEGIES, STRATEGY_REPLACE, updateTileStateReplace), (0, _defineProperty2.default)(_STRATEGIES, STRATEGY_NEVER, function () {}), _STRATEGIES);
|
|
30
44
|
|
|
31
|
-
|
|
32
|
-
|
|
45
|
+
var Tileset2D = function () {
|
|
46
|
+
function Tileset2D(opts) {
|
|
47
|
+
var _this = this;
|
|
48
|
+
|
|
49
|
+
(0, _classCallCheck2.default)(this, Tileset2D);
|
|
33
50
|
this.opts = opts;
|
|
34
51
|
|
|
35
|
-
this.onTileLoad = tile
|
|
36
|
-
|
|
52
|
+
this.onTileLoad = function (tile) {
|
|
53
|
+
_this.opts.onTileLoad(tile);
|
|
37
54
|
|
|
38
|
-
if (
|
|
39
|
-
|
|
55
|
+
if (_this.opts.maxCacheByteSize) {
|
|
56
|
+
_this._cacheByteSize += tile.byteLength;
|
|
40
57
|
|
|
41
|
-
|
|
58
|
+
_this._resizeCache();
|
|
42
59
|
}
|
|
43
60
|
};
|
|
44
61
|
|
|
@@ -56,377 +73,579 @@ class Tileset2D {
|
|
|
56
73
|
this.setOptions(opts);
|
|
57
74
|
}
|
|
58
75
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
get selectedTiles() {
|
|
64
|
-
return this._selectedTiles;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
get isLoaded() {
|
|
68
|
-
return this._selectedTiles.every(tile => tile.isLoaded);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
setOptions(opts) {
|
|
72
|
-
Object.assign(this.opts, opts);
|
|
73
|
-
|
|
74
|
-
if (Number.isFinite(opts.maxZoom)) {
|
|
75
|
-
this._maxZoom = Math.floor(opts.maxZoom);
|
|
76
|
+
(0, _createClass2.default)(Tileset2D, [{
|
|
77
|
+
key: "tiles",
|
|
78
|
+
get: function get() {
|
|
79
|
+
return this._tiles;
|
|
76
80
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
81
|
+
}, {
|
|
82
|
+
key: "selectedTiles",
|
|
83
|
+
get: function get() {
|
|
84
|
+
return this._selectedTiles;
|
|
80
85
|
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
86
|
+
}, {
|
|
87
|
+
key: "isLoaded",
|
|
88
|
+
get: function get() {
|
|
89
|
+
return this._selectedTiles.every(function (tile) {
|
|
90
|
+
return tile.isLoaded;
|
|
91
|
+
});
|
|
88
92
|
}
|
|
93
|
+
}, {
|
|
94
|
+
key: "setOptions",
|
|
95
|
+
value: function setOptions(opts) {
|
|
96
|
+
Object.assign(this.opts, opts);
|
|
89
97
|
|
|
90
|
-
|
|
98
|
+
if (Number.isFinite(opts.maxZoom)) {
|
|
99
|
+
this._maxZoom = Math.floor(opts.maxZoom);
|
|
100
|
+
}
|
|
91
101
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
102
|
+
if (Number.isFinite(opts.minZoom)) {
|
|
103
|
+
this._minZoom = Math.ceil(opts.minZoom);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "finalize",
|
|
108
|
+
value: function finalize() {
|
|
109
|
+
var _iterator = _createForOfIteratorHelper(this._cache.values()),
|
|
110
|
+
_step;
|
|
111
|
+
|
|
112
|
+
try {
|
|
113
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
114
|
+
var tile = _step.value;
|
|
115
|
+
|
|
116
|
+
if (tile.isLoading) {
|
|
117
|
+
tile.abort();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
} catch (err) {
|
|
121
|
+
_iterator.e(err);
|
|
122
|
+
} finally {
|
|
123
|
+
_iterator.f();
|
|
124
|
+
}
|
|
95
125
|
|
|
96
|
-
|
|
97
|
-
for (const tileId of this._cache.keys()) {
|
|
98
|
-
const tile = this._cache.get(tileId);
|
|
126
|
+
this._cache.clear();
|
|
99
127
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
128
|
+
this._tiles = [];
|
|
129
|
+
this._selectedTiles = null;
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "reloadAll",
|
|
133
|
+
value: function reloadAll() {
|
|
134
|
+
var _iterator2 = _createForOfIteratorHelper(this._cache.keys()),
|
|
135
|
+
_step2;
|
|
136
|
+
|
|
137
|
+
try {
|
|
138
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
139
|
+
var tileId = _step2.value;
|
|
140
|
+
|
|
141
|
+
var tile = this._cache.get(tileId);
|
|
142
|
+
|
|
143
|
+
if (!this._selectedTiles.includes(tile)) {
|
|
144
|
+
this._cache.delete(tileId);
|
|
145
|
+
} else {
|
|
146
|
+
tile.setNeedsReload();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
} catch (err) {
|
|
150
|
+
_iterator2.e(err);
|
|
151
|
+
} finally {
|
|
152
|
+
_iterator2.f();
|
|
104
153
|
}
|
|
105
154
|
}
|
|
106
|
-
}
|
|
155
|
+
}, {
|
|
156
|
+
key: "update",
|
|
157
|
+
value: function update(viewport) {
|
|
158
|
+
var _this2 = this;
|
|
159
|
+
|
|
160
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
161
|
+
zRange = _ref.zRange,
|
|
162
|
+
modelMatrix = _ref.modelMatrix;
|
|
163
|
+
|
|
164
|
+
var modelMatrixAsMatrix4 = new _core.Matrix4(modelMatrix);
|
|
165
|
+
var isModelMatrixNew = !modelMatrixAsMatrix4.equals(this._modelMatrix);
|
|
166
|
+
|
|
167
|
+
if (!viewport.equals(this._viewport) || isModelMatrixNew) {
|
|
168
|
+
if (isModelMatrixNew) {
|
|
169
|
+
this._modelMatrixInverse = modelMatrix && modelMatrixAsMatrix4.clone().invert();
|
|
170
|
+
this._modelMatrix = modelMatrix && modelMatrixAsMatrix4;
|
|
171
|
+
}
|
|
107
172
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
this.
|
|
118
|
-
|
|
173
|
+
this._viewport = viewport;
|
|
174
|
+
var tileIndices = this.getTileIndices({
|
|
175
|
+
viewport: viewport,
|
|
176
|
+
maxZoom: this._maxZoom,
|
|
177
|
+
minZoom: this._minZoom,
|
|
178
|
+
zRange: zRange,
|
|
179
|
+
modelMatrix: this._modelMatrix,
|
|
180
|
+
modelMatrixInverse: this._modelMatrixInverse
|
|
181
|
+
});
|
|
182
|
+
this._selectedTiles = tileIndices.map(function (index) {
|
|
183
|
+
return _this2._getTile(index, true);
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
if (this._dirty) {
|
|
187
|
+
this._rebuildTree();
|
|
188
|
+
}
|
|
119
189
|
}
|
|
120
190
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
maxZoom: this._maxZoom,
|
|
125
|
-
minZoom: this._minZoom,
|
|
126
|
-
zRange,
|
|
127
|
-
modelMatrix: this._modelMatrix,
|
|
128
|
-
modelMatrixInverse: this._modelMatrixInverse
|
|
129
|
-
});
|
|
130
|
-
this._selectedTiles = tileIndices.map(index => this._getTile(index, true));
|
|
191
|
+
var changed = this.updateTileStates();
|
|
192
|
+
|
|
193
|
+
this._pruneRequests();
|
|
131
194
|
|
|
132
195
|
if (this._dirty) {
|
|
133
|
-
this.
|
|
196
|
+
this._resizeCache();
|
|
134
197
|
}
|
|
135
|
-
}
|
|
136
198
|
|
|
137
|
-
|
|
199
|
+
if (changed) {
|
|
200
|
+
this._frameNumber++;
|
|
201
|
+
}
|
|
138
202
|
|
|
139
|
-
|
|
140
|
-
this._resizeCache();
|
|
203
|
+
return this._frameNumber;
|
|
141
204
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
205
|
+
}, {
|
|
206
|
+
key: "getTileIndices",
|
|
207
|
+
value: function getTileIndices(_ref2) {
|
|
208
|
+
var viewport = _ref2.viewport,
|
|
209
|
+
maxZoom = _ref2.maxZoom,
|
|
210
|
+
minZoom = _ref2.minZoom,
|
|
211
|
+
zRange = _ref2.zRange,
|
|
212
|
+
modelMatrix = _ref2.modelMatrix,
|
|
213
|
+
modelMatrixInverse = _ref2.modelMatrixInverse;
|
|
214
|
+
var _this$opts = this.opts,
|
|
215
|
+
tileSize = _this$opts.tileSize,
|
|
216
|
+
extent = _this$opts.extent,
|
|
217
|
+
zoomOffset = _this$opts.zoomOffset;
|
|
218
|
+
return (0, _utils.getTileIndices)({
|
|
219
|
+
viewport: viewport,
|
|
220
|
+
maxZoom: maxZoom,
|
|
221
|
+
minZoom: minZoom,
|
|
222
|
+
zRange: zRange,
|
|
223
|
+
tileSize: tileSize,
|
|
224
|
+
extent: extent,
|
|
225
|
+
modelMatrix: modelMatrix,
|
|
226
|
+
modelMatrixInverse: modelMatrixInverse,
|
|
227
|
+
zoomOffset: zoomOffset
|
|
228
|
+
});
|
|
145
229
|
}
|
|
230
|
+
}, {
|
|
231
|
+
key: "getTileMetadata",
|
|
232
|
+
value: function getTileMetadata(_ref3) {
|
|
233
|
+
var x = _ref3.x,
|
|
234
|
+
y = _ref3.y,
|
|
235
|
+
z = _ref3.z;
|
|
236
|
+
var tileSize = this.opts.tileSize;
|
|
237
|
+
return {
|
|
238
|
+
bbox: (0, _utils.tileToBoundingBox)(this._viewport, x, y, z, tileSize)
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
}, {
|
|
242
|
+
key: "getParentIndex",
|
|
243
|
+
value: function getParentIndex(tileIndex) {
|
|
244
|
+
tileIndex.x = Math.floor(tileIndex.x / 2);
|
|
245
|
+
tileIndex.y = Math.floor(tileIndex.y / 2);
|
|
246
|
+
tileIndex.z -= 1;
|
|
247
|
+
return tileIndex;
|
|
248
|
+
}
|
|
249
|
+
}, {
|
|
250
|
+
key: "updateTileStates",
|
|
251
|
+
value: function updateTileStates() {
|
|
252
|
+
var refinementStrategy = this.opts.refinementStrategy || STRATEGY_DEFAULT;
|
|
253
|
+
var visibilities = new Array(this._cache.size);
|
|
254
|
+
var i = 0;
|
|
255
|
+
|
|
256
|
+
var _iterator3 = _createForOfIteratorHelper(this._cache.values()),
|
|
257
|
+
_step3;
|
|
258
|
+
|
|
259
|
+
try {
|
|
260
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
261
|
+
var tile = _step3.value;
|
|
262
|
+
visibilities[i++] = tile.isVisible;
|
|
263
|
+
tile.isSelected = false;
|
|
264
|
+
tile.isVisible = false;
|
|
265
|
+
}
|
|
266
|
+
} catch (err) {
|
|
267
|
+
_iterator3.e(err);
|
|
268
|
+
} finally {
|
|
269
|
+
_iterator3.f();
|
|
270
|
+
}
|
|
146
271
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
getTileIndices({
|
|
151
|
-
viewport,
|
|
152
|
-
maxZoom,
|
|
153
|
-
minZoom,
|
|
154
|
-
zRange,
|
|
155
|
-
modelMatrix,
|
|
156
|
-
modelMatrixInverse
|
|
157
|
-
}) {
|
|
158
|
-
const {
|
|
159
|
-
tileSize,
|
|
160
|
-
extent,
|
|
161
|
-
zoomOffset
|
|
162
|
-
} = this.opts;
|
|
163
|
-
return (0, _utils.getTileIndices)({
|
|
164
|
-
viewport,
|
|
165
|
-
maxZoom,
|
|
166
|
-
minZoom,
|
|
167
|
-
zRange,
|
|
168
|
-
tileSize,
|
|
169
|
-
extent,
|
|
170
|
-
modelMatrix,
|
|
171
|
-
modelMatrixInverse,
|
|
172
|
-
zoomOffset
|
|
173
|
-
});
|
|
174
|
-
}
|
|
272
|
+
var _iterator4 = _createForOfIteratorHelper(this._selectedTiles),
|
|
273
|
+
_step4;
|
|
175
274
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
getParentIndex(tileIndex) {
|
|
190
|
-
tileIndex.x = Math.floor(tileIndex.x / 2);
|
|
191
|
-
tileIndex.y = Math.floor(tileIndex.y / 2);
|
|
192
|
-
tileIndex.z -= 1;
|
|
193
|
-
return tileIndex;
|
|
194
|
-
}
|
|
275
|
+
try {
|
|
276
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
277
|
+
var _tile = _step4.value;
|
|
278
|
+
_tile.isSelected = true;
|
|
279
|
+
_tile.isVisible = true;
|
|
280
|
+
}
|
|
281
|
+
} catch (err) {
|
|
282
|
+
_iterator4.e(err);
|
|
283
|
+
} finally {
|
|
284
|
+
_iterator4.f();
|
|
285
|
+
}
|
|
195
286
|
|
|
196
|
-
|
|
197
|
-
|
|
287
|
+
(typeof refinementStrategy === 'function' ? refinementStrategy : STRATEGIES[refinementStrategy])(Array.from(this._cache.values()));
|
|
288
|
+
i = 0;
|
|
198
289
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
} = this.opts;
|
|
202
|
-
const abortCandidates = [];
|
|
203
|
-
let ongoingRequestCount = 0;
|
|
204
|
-
let changed = false;
|
|
290
|
+
var _iterator5 = _createForOfIteratorHelper(this._cache.values()),
|
|
291
|
+
_step5;
|
|
205
292
|
|
|
206
|
-
|
|
207
|
-
|
|
293
|
+
try {
|
|
294
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
295
|
+
var _tile2 = _step5.value;
|
|
208
296
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
297
|
+
if (visibilities[i++] !== _tile2.isVisible) {
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
} catch (err) {
|
|
302
|
+
_iterator5.e(err);
|
|
303
|
+
} finally {
|
|
304
|
+
_iterator5.f();
|
|
212
305
|
}
|
|
213
306
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
307
|
+
return false;
|
|
308
|
+
}
|
|
309
|
+
}, {
|
|
310
|
+
key: "_pruneRequests",
|
|
311
|
+
value: function _pruneRequests() {
|
|
312
|
+
var maxRequests = this.opts.maxRequests;
|
|
313
|
+
var abortCandidates = [];
|
|
314
|
+
var ongoingRequestCount = 0;
|
|
315
|
+
|
|
316
|
+
var _iterator6 = _createForOfIteratorHelper(this._cache.values()),
|
|
317
|
+
_step6;
|
|
318
|
+
|
|
319
|
+
try {
|
|
320
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
321
|
+
var _tile3 = _step6.value;
|
|
322
|
+
|
|
323
|
+
if (_tile3.isLoading) {
|
|
324
|
+
ongoingRequestCount++;
|
|
325
|
+
|
|
326
|
+
if (!_tile3.isSelected && !_tile3.isVisible) {
|
|
327
|
+
abortCandidates.push(_tile3);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
221
330
|
}
|
|
331
|
+
} catch (err) {
|
|
332
|
+
_iterator6.e(err);
|
|
333
|
+
} finally {
|
|
334
|
+
_iterator6.f();
|
|
222
335
|
}
|
|
223
|
-
}
|
|
224
336
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const tile = abortCandidates.shift();
|
|
337
|
+
while (maxRequests > 0 && ongoingRequestCount > maxRequests && abortCandidates.length > 0) {
|
|
338
|
+
var tile = abortCandidates.shift();
|
|
228
339
|
tile.abort();
|
|
229
340
|
ongoingRequestCount--;
|
|
230
341
|
}
|
|
231
342
|
}
|
|
343
|
+
}, {
|
|
344
|
+
key: "_rebuildTree",
|
|
345
|
+
value: function _rebuildTree() {
|
|
346
|
+
var _cache = this._cache;
|
|
347
|
+
|
|
348
|
+
var _iterator7 = _createForOfIteratorHelper(_cache.values()),
|
|
349
|
+
_step7;
|
|
350
|
+
|
|
351
|
+
try {
|
|
352
|
+
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
353
|
+
var tile = _step7.value;
|
|
354
|
+
tile.parent = null;
|
|
355
|
+
tile.children.length = 0;
|
|
356
|
+
}
|
|
357
|
+
} catch (err) {
|
|
358
|
+
_iterator7.e(err);
|
|
359
|
+
} finally {
|
|
360
|
+
_iterator7.f();
|
|
361
|
+
}
|
|
232
362
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
_rebuildTree() {
|
|
237
|
-
const {
|
|
238
|
-
_cache
|
|
239
|
-
} = this;
|
|
363
|
+
var _iterator8 = _createForOfIteratorHelper(_cache.values()),
|
|
364
|
+
_step8;
|
|
240
365
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
366
|
+
try {
|
|
367
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
368
|
+
var _tile4 = _step8.value;
|
|
245
369
|
|
|
246
|
-
|
|
247
|
-
const parent = this._getNearestAncestor(tile.x, tile.y, tile.z);
|
|
370
|
+
var parent = this._getNearestAncestor(_tile4.x, _tile4.y, _tile4.z);
|
|
248
371
|
|
|
249
|
-
|
|
372
|
+
_tile4.parent = parent;
|
|
250
373
|
|
|
251
|
-
|
|
252
|
-
|
|
374
|
+
if (parent) {
|
|
375
|
+
parent.children.push(_tile4);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
} catch (err) {
|
|
379
|
+
_iterator8.e(err);
|
|
380
|
+
} finally {
|
|
381
|
+
_iterator8.f();
|
|
253
382
|
}
|
|
254
383
|
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
384
|
+
}, {
|
|
385
|
+
key: "_resizeCache",
|
|
386
|
+
value: function _resizeCache() {
|
|
387
|
+
var _cache = this._cache,
|
|
388
|
+
opts = this.opts;
|
|
389
|
+
var maxCacheSize = opts.maxCacheSize || (opts.maxCacheByteSize ? Infinity : DEFAULT_CACHE_SCALE * this.selectedTiles.length);
|
|
390
|
+
var maxCacheByteSize = opts.maxCacheByteSize || Infinity;
|
|
391
|
+
var overflown = _cache.size > maxCacheSize || this._cacheByteSize > maxCacheByteSize;
|
|
392
|
+
|
|
393
|
+
if (overflown) {
|
|
394
|
+
var _iterator9 = _createForOfIteratorHelper(_cache),
|
|
395
|
+
_step9;
|
|
396
|
+
|
|
397
|
+
try {
|
|
398
|
+
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
399
|
+
var _step9$value = (0, _slicedToArray2.default)(_step9.value, 2),
|
|
400
|
+
tileId = _step9$value[0],
|
|
401
|
+
tile = _step9$value[1];
|
|
402
|
+
|
|
403
|
+
if (!tile.isVisible) {
|
|
404
|
+
this._cacheByteSize -= opts.maxCacheByteSize ? tile.byteLength : 0;
|
|
405
|
+
|
|
406
|
+
_cache.delete(tileId);
|
|
407
|
+
|
|
408
|
+
this.opts.onTileUnload(tile);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
if (_cache.size <= maxCacheSize && this._cacheByteSize <= maxCacheByteSize) {
|
|
412
|
+
break;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
} catch (err) {
|
|
416
|
+
_iterator9.e(err);
|
|
417
|
+
} finally {
|
|
418
|
+
_iterator9.f();
|
|
419
|
+
}
|
|
266
420
|
|
|
267
|
-
|
|
268
|
-
tile.state = TILE_STATE_SELECTED;
|
|
269
|
-
}
|
|
421
|
+
this._rebuildTree();
|
|
270
422
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}
|
|
423
|
+
this._dirty = true;
|
|
424
|
+
}
|
|
274
425
|
|
|
275
|
-
|
|
276
|
-
|
|
426
|
+
if (this._dirty) {
|
|
427
|
+
this._tiles = Array.from(this._cache.values()).sort(function (t1, t2) {
|
|
428
|
+
return t1.z - t2.z;
|
|
429
|
+
});
|
|
430
|
+
this._dirty = false;
|
|
431
|
+
}
|
|
277
432
|
}
|
|
433
|
+
}, {
|
|
434
|
+
key: "_getTile",
|
|
435
|
+
value: function _getTile(_ref4, create) {
|
|
436
|
+
var x = _ref4.x,
|
|
437
|
+
y = _ref4.y,
|
|
438
|
+
z = _ref4.z;
|
|
439
|
+
var tileId = "".concat(x, ",").concat(y, ",").concat(z);
|
|
440
|
+
|
|
441
|
+
var tile = this._cache.get(tileId);
|
|
442
|
+
|
|
443
|
+
var needsReload = false;
|
|
444
|
+
|
|
445
|
+
if (!tile && create) {
|
|
446
|
+
tile = new _tile2dHeader.default({
|
|
447
|
+
x: x,
|
|
448
|
+
y: y,
|
|
449
|
+
z: z
|
|
450
|
+
});
|
|
451
|
+
Object.assign(tile, this.getTileMetadata(tile));
|
|
452
|
+
needsReload = true;
|
|
453
|
+
|
|
454
|
+
this._cache.set(tileId, tile);
|
|
455
|
+
|
|
456
|
+
this._dirty = true;
|
|
457
|
+
} else if (tile && tile.needsReload) {
|
|
458
|
+
needsReload = true;
|
|
459
|
+
}
|
|
278
460
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
461
|
+
if (needsReload) {
|
|
462
|
+
tile.loadData({
|
|
463
|
+
getData: this.opts.getTileData,
|
|
464
|
+
requestScheduler: this._requestScheduler,
|
|
465
|
+
onLoad: this.onTileLoad,
|
|
466
|
+
onError: this.opts.onTileError
|
|
467
|
+
});
|
|
282
468
|
}
|
|
469
|
+
|
|
470
|
+
return tile;
|
|
283
471
|
}
|
|
284
|
-
}
|
|
472
|
+
}, {
|
|
473
|
+
key: "_getNearestAncestor",
|
|
474
|
+
value: function _getNearestAncestor(x, y, z) {
|
|
475
|
+
var _this$_minZoom = this._minZoom,
|
|
476
|
+
_minZoom = _this$_minZoom === void 0 ? 0 : _this$_minZoom;
|
|
285
477
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
const maxCacheSize = opts.maxCacheSize || (opts.maxCacheByteSize ? Infinity : DEFAULT_CACHE_SCALE * this.selectedTiles.length);
|
|
292
|
-
const maxCacheByteSize = opts.maxCacheByteSize || Infinity;
|
|
293
|
-
const overflown = _cache.size > maxCacheSize || this._cacheByteSize > maxCacheByteSize;
|
|
478
|
+
var index = {
|
|
479
|
+
x: x,
|
|
480
|
+
y: y,
|
|
481
|
+
z: z
|
|
482
|
+
};
|
|
294
483
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
if (!tile.isVisible) {
|
|
298
|
-
this._cacheByteSize -= opts.maxCacheByteSize ? tile.byteLength : 0;
|
|
484
|
+
while (index.z > _minZoom) {
|
|
485
|
+
index = this.getParentIndex(index);
|
|
299
486
|
|
|
300
|
-
|
|
487
|
+
var parent = this._getTile(index);
|
|
301
488
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
if (_cache.size <= maxCacheSize && this._cacheByteSize <= maxCacheByteSize) {
|
|
306
|
-
break;
|
|
489
|
+
if (parent) {
|
|
490
|
+
return parent;
|
|
307
491
|
}
|
|
308
492
|
}
|
|
309
493
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
this._dirty = true;
|
|
494
|
+
return null;
|
|
313
495
|
}
|
|
496
|
+
}]);
|
|
497
|
+
return Tileset2D;
|
|
498
|
+
}();
|
|
499
|
+
|
|
500
|
+
exports.default = Tileset2D;
|
|
314
501
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
502
|
+
function updateTileStateDefault(allTiles) {
|
|
503
|
+
var _iterator10 = _createForOfIteratorHelper(allTiles),
|
|
504
|
+
_step10;
|
|
505
|
+
|
|
506
|
+
try {
|
|
507
|
+
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
|
|
508
|
+
var tile = _step10.value;
|
|
509
|
+
tile.state = 0;
|
|
318
510
|
}
|
|
511
|
+
} catch (err) {
|
|
512
|
+
_iterator10.e(err);
|
|
513
|
+
} finally {
|
|
514
|
+
_iterator10.f();
|
|
319
515
|
}
|
|
320
516
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
y,
|
|
324
|
-
z
|
|
325
|
-
}, create) {
|
|
326
|
-
const tileId = "".concat(x, ",").concat(y, ",").concat(z);
|
|
327
|
-
|
|
328
|
-
let tile = this._cache.get(tileId);
|
|
517
|
+
var _iterator11 = _createForOfIteratorHelper(allTiles),
|
|
518
|
+
_step11;
|
|
329
519
|
|
|
330
|
-
|
|
520
|
+
try {
|
|
521
|
+
for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
|
|
522
|
+
var _tile5 = _step11.value;
|
|
331
523
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
524
|
+
if (_tile5.isSelected && !getPlaceholderInAncestors(_tile5)) {
|
|
525
|
+
getPlaceholderInChildren(_tile5);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
} catch (err) {
|
|
529
|
+
_iterator11.e(err);
|
|
530
|
+
} finally {
|
|
531
|
+
_iterator11.f();
|
|
532
|
+
}
|
|
340
533
|
|
|
341
|
-
|
|
534
|
+
var _iterator12 = _createForOfIteratorHelper(allTiles),
|
|
535
|
+
_step12;
|
|
342
536
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
537
|
+
try {
|
|
538
|
+
for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
|
|
539
|
+
var _tile6 = _step12.value;
|
|
540
|
+
_tile6.isVisible = Boolean(_tile6.state & TILE_STATE_VISIBLE);
|
|
346
541
|
}
|
|
542
|
+
} catch (err) {
|
|
543
|
+
_iterator12.e(err);
|
|
544
|
+
} finally {
|
|
545
|
+
_iterator12.f();
|
|
546
|
+
}
|
|
547
|
+
}
|
|
347
548
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
requestScheduler: this._requestScheduler,
|
|
352
|
-
onLoad: this.onTileLoad,
|
|
353
|
-
onError: this.opts.onTileError
|
|
354
|
-
});
|
|
355
|
-
}
|
|
549
|
+
function updateTileStateReplace(allTiles) {
|
|
550
|
+
var _iterator13 = _createForOfIteratorHelper(allTiles),
|
|
551
|
+
_step13;
|
|
356
552
|
|
|
357
|
-
|
|
553
|
+
try {
|
|
554
|
+
for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
|
|
555
|
+
var tile = _step13.value;
|
|
556
|
+
tile.state = 0;
|
|
557
|
+
}
|
|
558
|
+
} catch (err) {
|
|
559
|
+
_iterator13.e(err);
|
|
560
|
+
} finally {
|
|
561
|
+
_iterator13.f();
|
|
358
562
|
}
|
|
359
563
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
_minZoom = 0
|
|
363
|
-
} = this;
|
|
364
|
-
let index = {
|
|
365
|
-
x,
|
|
366
|
-
y,
|
|
367
|
-
z
|
|
368
|
-
};
|
|
369
|
-
|
|
370
|
-
while (index.z > _minZoom) {
|
|
371
|
-
index = this.getParentIndex(index);
|
|
564
|
+
var _iterator14 = _createForOfIteratorHelper(allTiles),
|
|
565
|
+
_step14;
|
|
372
566
|
|
|
373
|
-
|
|
567
|
+
try {
|
|
568
|
+
for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
|
|
569
|
+
var _tile7 = _step14.value;
|
|
374
570
|
|
|
375
|
-
if (
|
|
376
|
-
|
|
571
|
+
if (_tile7.isSelected) {
|
|
572
|
+
getPlaceholderInAncestors(_tile7);
|
|
377
573
|
}
|
|
378
574
|
}
|
|
379
|
-
|
|
380
|
-
|
|
575
|
+
} catch (err) {
|
|
576
|
+
_iterator14.e(err);
|
|
577
|
+
} finally {
|
|
578
|
+
_iterator14.f();
|
|
381
579
|
}
|
|
382
580
|
|
|
581
|
+
var sortedTiles = Array.from(allTiles).sort(function (t1, t2) {
|
|
582
|
+
return t1.z - t2.z;
|
|
583
|
+
});
|
|
584
|
+
|
|
585
|
+
var _iterator15 = _createForOfIteratorHelper(sortedTiles),
|
|
586
|
+
_step15;
|
|
587
|
+
|
|
588
|
+
try {
|
|
589
|
+
for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
|
|
590
|
+
var _tile8 = _step15.value;
|
|
591
|
+
_tile8.isVisible = Boolean(_tile8.state & TILE_STATE_VISIBLE);
|
|
592
|
+
|
|
593
|
+
if (_tile8.isVisible || _tile8.state & TILE_STATE_VISITED) {
|
|
594
|
+
var _iterator16 = _createForOfIteratorHelper(_tile8.children),
|
|
595
|
+
_step16;
|
|
596
|
+
|
|
597
|
+
try {
|
|
598
|
+
for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
|
|
599
|
+
var child = _step16.value;
|
|
600
|
+
child.state = TILE_STATE_VISITED;
|
|
601
|
+
}
|
|
602
|
+
} catch (err) {
|
|
603
|
+
_iterator16.e(err);
|
|
604
|
+
} finally {
|
|
605
|
+
_iterator16.f();
|
|
606
|
+
}
|
|
607
|
+
} else if (_tile8.isSelected) {
|
|
608
|
+
getPlaceholderInChildren(_tile8);
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
} catch (err) {
|
|
612
|
+
_iterator15.e(err);
|
|
613
|
+
} finally {
|
|
614
|
+
_iterator15.f();
|
|
615
|
+
}
|
|
383
616
|
}
|
|
384
617
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
while (t) {
|
|
391
|
-
if (t.state & TILE_STATE_VISIBLE === 0) {
|
|
618
|
+
function getPlaceholderInAncestors(tile) {
|
|
619
|
+
while (tile) {
|
|
620
|
+
if (tile.isLoaded || tile.content) {
|
|
621
|
+
tile.state |= TILE_STATE_VISIBLE;
|
|
392
622
|
return true;
|
|
393
623
|
}
|
|
394
624
|
|
|
395
|
-
|
|
396
|
-
return false;
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
t = t.parent;
|
|
625
|
+
tile = tile.parent;
|
|
400
626
|
}
|
|
401
627
|
|
|
402
|
-
return
|
|
628
|
+
return false;
|
|
403
629
|
}
|
|
404
630
|
|
|
405
|
-
function
|
|
406
|
-
|
|
407
|
-
|
|
631
|
+
function getPlaceholderInChildren(tile) {
|
|
632
|
+
var _iterator17 = _createForOfIteratorHelper(tile.children),
|
|
633
|
+
_step17;
|
|
408
634
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
635
|
+
try {
|
|
636
|
+
for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
|
|
637
|
+
var child = _step17.value;
|
|
412
638
|
|
|
413
|
-
if (
|
|
414
|
-
|
|
639
|
+
if (child.isLoaded || child.content) {
|
|
640
|
+
child.state |= TILE_STATE_VISIBLE;
|
|
641
|
+
} else {
|
|
642
|
+
getPlaceholderInChildren(child);
|
|
415
643
|
}
|
|
416
644
|
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
function getPlaceholderInChildren(tile) {
|
|
424
|
-
for (const child of tile.children) {
|
|
425
|
-
child.state = Math.max(child.state, TILE_STATE_PLACEHOLDER);
|
|
426
|
-
|
|
427
|
-
if (!child.isLoaded) {
|
|
428
|
-
getPlaceholderInChildren(child);
|
|
429
|
-
}
|
|
645
|
+
} catch (err) {
|
|
646
|
+
_iterator17.e(err);
|
|
647
|
+
} finally {
|
|
648
|
+
_iterator17.f();
|
|
430
649
|
}
|
|
431
650
|
}
|
|
432
651
|
//# sourceMappingURL=tileset-2d.js.map
|