@deck.gl/geo-layers 8.10.0-alpha.2 → 8.10.0-alpha.5
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/LICENSE +1 -1
- package/dist/dist.dev.js +76 -694
- package/dist/es5/geo-cell-layer/GeoCellLayer.js +66 -69
- package/dist/es5/geo-cell-layer/GeoCellLayer.js.map +1 -1
- package/dist/es5/geohash-layer/geohash-layer.js +18 -22
- package/dist/es5/geohash-layer/geohash-layer.js.map +1 -1
- package/dist/es5/great-circle-layer/great-circle-layer.js +2 -4
- package/dist/es5/great-circle-layer/great-circle-layer.js.map +1 -1
- package/dist/es5/h3-layers/h3-cluster-layer.js +85 -91
- package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
- package/dist/es5/h3-layers/h3-hexagon-layer.js +222 -234
- package/dist/es5/h3-layers/h3-hexagon-layer.js.map +1 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/mesh-layer/mesh-layer.js +126 -136
- package/dist/es5/mesh-layer/mesh-layer.js.map +1 -1
- package/dist/es5/mvt-layer/mvt-layer.js +338 -350
- package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/es5/quadkey-layer/quadkey-layer.js +23 -27
- package/dist/es5/quadkey-layer/quadkey-layer.js.map +1 -1
- package/dist/es5/s2-layer/s2-layer.js +18 -22
- package/dist/es5/s2-layer/s2-layer.js.map +1 -1
- package/dist/es5/terrain-layer/terrain-layer.js +225 -234
- package/dist/es5/terrain-layer/terrain-layer.js.map +1 -1
- package/dist/es5/tile-3d-layer/tile-3d-layer.js +338 -354
- package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -1
- package/dist/es5/tile-layer/tile-layer.js +219 -233
- package/dist/es5/tile-layer/tile-layer.js.map +1 -1
- package/dist/es5/tileset-2d/tile-2d-header.js +160 -164
- package/dist/es5/tileset-2d/tile-2d-header.js.map +1 -1
- package/dist/es5/tileset-2d/tile-2d-traversal.js +118 -122
- package/dist/es5/tileset-2d/tile-2d-traversal.js.map +1 -1
- package/dist/es5/tileset-2d/tileset-2d.js +397 -411
- package/dist/es5/tileset-2d/tileset-2d.js.map +1 -1
- package/dist/es5/trips-layer/trips-layer.js +48 -52
- package/dist/es5/trips-layer/trips-layer.js.map +1 -1
- package/dist/es5/wms-layer/wms-layer.js +263 -274
- package/dist/es5/wms-layer/wms-layer.js.map +1 -1
- package/dist/esm/geo-cell-layer/GeoCellLayer.js +2 -5
- package/dist/esm/geo-cell-layer/GeoCellLayer.js.map +1 -1
- package/dist/esm/geohash-layer/geohash-layer.js +2 -5
- package/dist/esm/geohash-layer/geohash-layer.js.map +1 -1
- package/dist/esm/great-circle-layer/great-circle-layer.js +2 -5
- package/dist/esm/great-circle-layer/great-circle-layer.js.map +1 -1
- package/dist/esm/h3-layers/h3-cluster-layer.js +2 -5
- package/dist/esm/h3-layers/h3-cluster-layer.js.map +1 -1
- package/dist/esm/h3-layers/h3-hexagon-layer.js +4 -8
- 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-fragment.glsl.js +55 -1
- package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js.map +1 -1
- package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js +80 -1
- package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -1
- package/dist/esm/mesh-layer/mesh-layer.js +2 -5
- package/dist/esm/mesh-layer/mesh-layer.js.map +1 -1
- package/dist/esm/mvt-layer/mvt-layer.js +2 -5
- package/dist/esm/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/esm/quadkey-layer/quadkey-layer.js +2 -5
- package/dist/esm/quadkey-layer/quadkey-layer.js.map +1 -1
- package/dist/esm/s2-layer/s2-geometry.js +1 -1
- package/dist/esm/s2-layer/s2-geometry.js.map +1 -1
- package/dist/esm/s2-layer/s2-layer.js +2 -5
- package/dist/esm/s2-layer/s2-layer.js.map +1 -1
- package/dist/esm/terrain-layer/terrain-layer.js +3 -7
- package/dist/esm/terrain-layer/terrain-layer.js.map +1 -1
- package/dist/esm/tile-3d-layer/tile-3d-layer.js +7 -11
- package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +1 -1
- package/dist/esm/tile-layer/tile-layer.js +6 -8
- package/dist/esm/tile-layer/tile-layer.js.map +1 -1
- package/dist/esm/tileset-2d/tile-2d-header.js +19 -39
- package/dist/esm/tileset-2d/tile-2d-header.js.map +1 -1
- package/dist/esm/tileset-2d/tile-2d-traversal.js +6 -13
- package/dist/esm/tileset-2d/tile-2d-traversal.js.map +1 -1
- package/dist/esm/tileset-2d/tileset-2d.js +17 -34
- package/dist/esm/tileset-2d/tileset-2d.js.map +1 -1
- package/dist/esm/tileset-2d/utils.js +1 -1
- package/dist/esm/tileset-2d/utils.js.map +1 -1
- package/dist/esm/trips-layer/trips-layer.js +27 -10
- package/dist/esm/trips-layer/trips-layer.js.map +1 -1
- package/dist/esm/wms-layer/wms-layer.js +3 -7
- package/dist/esm/wms-layer/wms-layer.js.map +1 -1
- package/dist.min.js +111 -56
- package/package.json +11 -11
- package/src/index.ts +1 -0
- package/src/tile-layer/tile-layer.ts +3 -2
- package/typed/index.d.ts +1 -0
- package/typed/index.d.ts.map +1 -1
- package/typed/tile-layer/tile-layer.d.ts.map +1 -1
- package/typed/geo-cell-layer/GeoCellLayer.js +0 -49
- package/typed/great-circle-layer/great-circle-layer.js +0 -29
- package/typed/h3-layers/h3-cluster-layer.js +0 -33
- package/typed/h3-layers/h3-hexagon-layer.js +0 -251
- package/typed/imagery-layer/imagery-layer.d.ts +0 -53
- package/typed/imagery-layer/imagery-layer.d.ts.map +0 -1
- package/typed/index.js +0 -33
- package/typed/mesh-layer/mesh-layer-fragment.glsl.js +0 -55
- package/typed/mesh-layer/mesh-layer-vertex.glsl.js +0 -80
- package/typed/mesh-layer/mesh-layer.js +0 -110
- package/typed/mvt-layer/coordinate-transform.js +0 -41
- package/typed/mvt-layer/find-index-binary.js +0 -96
- package/typed/mvt-layer/mvt-layer.js +0 -297
- package/typed/quadkey-layer/quadkey-layer.js +0 -18
- package/typed/quadkey-layer/quadkey-utils.js +0 -26
- package/typed/s2-layer/s2-geometry.js +0 -123
- package/typed/s2-layer/s2-layer.js +0 -37
- package/typed/s2-layer/s2-utils.js +0 -88
- package/typed/terrain-layer/terrain-layer.js +0 -226
- package/typed/tile-3d-layer/tile-3d-layer.js +0 -294
- package/typed/tile-layer/tile-2d-header.d.ts +0 -40
- package/typed/tile-layer/tile-2d-header.d.ts.map +0 -1
- package/typed/tile-layer/tile-2d-header.js +0 -113
- package/typed/tile-layer/tile-2d-traversal.d.ts +0 -4
- package/typed/tile-layer/tile-2d-traversal.d.ts.map +0 -1
- package/typed/tile-layer/tile-2d-traversal.js +0 -181
- package/typed/tile-layer/tile-layer.js +0 -192
- package/typed/tile-layer/tileset-2d.d.ts +0 -96
- package/typed/tile-layer/tileset-2d.d.ts.map +0 -1
- package/typed/tile-layer/tileset-2d.js +0 -399
- package/typed/tile-layer/types.d.ts +0 -30
- package/typed/tile-layer/types.d.ts.map +0 -1
- package/typed/tile-layer/types.js +0 -1
- package/typed/tile-layer/utils.d.ts +0 -51
- package/typed/tile-layer/utils.d.ts.map +0 -1
- package/typed/tile-layer/utils.js +0 -197
- package/typed/trips-layer/trips-layer.js +0 -92
|
@@ -9,22 +9,20 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
12
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
15
|
|
|
14
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
17
|
|
|
16
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
19
|
|
|
18
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
20
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
21
|
|
|
22
22
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
23
|
|
|
24
24
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
25
|
|
|
26
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
26
|
var _core = require("@luma.gl/core");
|
|
29
27
|
|
|
30
28
|
var _core2 = require("@deck.gl/core");
|
|
@@ -97,409 +95,395 @@ var Tile3DLayer = function (_CompositeLayer) {
|
|
|
97
95
|
}
|
|
98
96
|
|
|
99
97
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
100
|
-
|
|
98
|
+
_this.state = void 0;
|
|
101
99
|
return _this;
|
|
102
100
|
}
|
|
103
101
|
|
|
104
|
-
|
|
105
|
-
key: "initializeState",
|
|
106
|
-
value: function initializeState() {
|
|
107
|
-
if ('onTileLoadFail' in this.props) {
|
|
108
|
-
_core2.log.removed('onTileLoadFail', 'onTileError')();
|
|
109
|
-
}
|
|
102
|
+
var _proto = Tile3DLayer.prototype;
|
|
110
103
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
activeViewports: {},
|
|
115
|
-
lastUpdatedViewports: null
|
|
116
|
-
};
|
|
104
|
+
_proto.initializeState = function initializeState() {
|
|
105
|
+
if ('onTileLoadFail' in this.props) {
|
|
106
|
+
_core2.log.removed('onTileLoadFail', 'onTileError')();
|
|
117
107
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
108
|
+
|
|
109
|
+
this.state = {
|
|
110
|
+
layerMap: {},
|
|
111
|
+
tileset3d: null,
|
|
112
|
+
activeViewports: {},
|
|
113
|
+
lastUpdatedViewports: null
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
_proto.shouldUpdateState = function shouldUpdateState(_ref) {
|
|
118
|
+
var changeFlags = _ref.changeFlags;
|
|
119
|
+
return changeFlags.somethingChanged;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
_proto.updateState = function updateState(_ref2) {
|
|
123
|
+
var props = _ref2.props,
|
|
124
|
+
oldProps = _ref2.oldProps,
|
|
125
|
+
changeFlags = _ref2.changeFlags;
|
|
126
|
+
|
|
127
|
+
if (props.data && props.data !== oldProps.data) {
|
|
128
|
+
this._loadTileset(props.data);
|
|
129
129
|
}
|
|
130
|
-
}, {
|
|
131
|
-
key: "updateState",
|
|
132
|
-
value: function updateState(_ref2) {
|
|
133
|
-
var props = _ref2.props,
|
|
134
|
-
oldProps = _ref2.oldProps,
|
|
135
|
-
changeFlags = _ref2.changeFlags;
|
|
136
|
-
|
|
137
|
-
if (props.data && props.data !== oldProps.data) {
|
|
138
|
-
this._loadTileset(props.data);
|
|
139
|
-
}
|
|
140
130
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
131
|
+
if (changeFlags.viewportChanged) {
|
|
132
|
+
var activeViewports = this.state.activeViewports;
|
|
133
|
+
var viewportsNumber = Object.keys(activeViewports).length;
|
|
144
134
|
|
|
145
|
-
|
|
146
|
-
|
|
135
|
+
if (viewportsNumber) {
|
|
136
|
+
this._updateTileset(activeViewports);
|
|
147
137
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
138
|
+
this.state.lastUpdatedViewports = activeViewports;
|
|
139
|
+
this.state.activeViewports = {};
|
|
151
140
|
}
|
|
141
|
+
}
|
|
152
142
|
|
|
153
|
-
|
|
154
|
-
|
|
143
|
+
if (changeFlags.propsChanged) {
|
|
144
|
+
var layerMap = this.state.layerMap;
|
|
155
145
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
146
|
+
for (var key in layerMap) {
|
|
147
|
+
layerMap[key].needsUpdate = true;
|
|
159
148
|
}
|
|
160
149
|
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
_proto.activateViewport = function activateViewport(viewport) {
|
|
153
|
+
var _this$state = this.state,
|
|
154
|
+
activeViewports = _this$state.activeViewports,
|
|
155
|
+
lastUpdatedViewports = _this$state.lastUpdatedViewports;
|
|
156
|
+
this.internalState.viewport = viewport;
|
|
157
|
+
activeViewports[viewport.id] = viewport;
|
|
158
|
+
var lastViewport = lastUpdatedViewports === null || lastUpdatedViewports === void 0 ? void 0 : lastUpdatedViewports[viewport.id];
|
|
159
|
+
|
|
160
|
+
if (!lastViewport || !viewport.equals(lastViewport)) {
|
|
161
|
+
this.setChangeFlags({
|
|
162
|
+
viewportChanged: true
|
|
163
|
+
});
|
|
164
|
+
this.setNeedsUpdate();
|
|
177
165
|
}
|
|
178
|
-
}
|
|
179
|
-
key: "getPickingInfo",
|
|
180
|
-
value: function getPickingInfo(_ref3) {
|
|
181
|
-
var info = _ref3.info,
|
|
182
|
-
sourceLayer = _ref3.sourceLayer;
|
|
183
|
-
var sourceTile = sourceLayer && sourceLayer.props.tile;
|
|
184
|
-
|
|
185
|
-
if (info.picked) {
|
|
186
|
-
info.object = sourceTile;
|
|
187
|
-
}
|
|
166
|
+
};
|
|
188
167
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
viewport = _ref4.viewport;
|
|
197
|
-
var _ref5 = layer.props,
|
|
198
|
-
tile = _ref5.tile;
|
|
199
|
-
var viewportId = viewport.id;
|
|
200
|
-
return tile.selected && tile.viewportIds.includes(viewportId);
|
|
168
|
+
_proto.getPickingInfo = function getPickingInfo(_ref3) {
|
|
169
|
+
var info = _ref3.info,
|
|
170
|
+
sourceLayer = _ref3.sourceLayer;
|
|
171
|
+
var sourceTile = sourceLayer && sourceLayer.props.tile;
|
|
172
|
+
|
|
173
|
+
if (info.picked) {
|
|
174
|
+
info.object = sourceTile;
|
|
201
175
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
176
|
+
|
|
177
|
+
info.sourceTile = sourceTile;
|
|
178
|
+
return info;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
_proto.filterSubLayer = function filterSubLayer(_ref4) {
|
|
182
|
+
var layer = _ref4.layer,
|
|
183
|
+
viewport = _ref4.viewport;
|
|
184
|
+
var _ref5 = layer.props,
|
|
185
|
+
tile = _ref5.tile;
|
|
186
|
+
var viewportId = viewport.id;
|
|
187
|
+
return tile.selected && tile.viewportIds.includes(viewportId);
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
_proto._updateAutoHighlight = function _updateAutoHighlight(info) {
|
|
191
|
+
var sourceTile = info.sourceTile;
|
|
192
|
+
var layerCache = this.state.layerMap[sourceTile === null || sourceTile === void 0 ? void 0 : sourceTile.id];
|
|
193
|
+
|
|
194
|
+
if (layerCache && layerCache.layer) {
|
|
195
|
+
layerCache.layer.updateAutoHighlight(info);
|
|
211
196
|
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
Object.assign(options, preloadOptions);
|
|
256
|
-
|
|
257
|
-
case 12:
|
|
258
|
-
_context.next = 14;
|
|
259
|
-
return (0, _core3.load)(actualTilesetUrl, loader, options.loadOptions);
|
|
260
|
-
|
|
261
|
-
case 14:
|
|
262
|
-
tilesetJson = _context.sent;
|
|
263
|
-
tileset3d = new _tiles.Tileset3D(tilesetJson, _objectSpread({
|
|
264
|
-
onTileLoad: this._onTileLoad.bind(this),
|
|
265
|
-
onTileUnload: this._onTileUnload.bind(this),
|
|
266
|
-
onTileError: this.props.onTileError
|
|
267
|
-
}, options));
|
|
268
|
-
this.setState({
|
|
269
|
-
tileset3d: tileset3d,
|
|
270
|
-
layerMap: {}
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
_proto._loadTileset = function () {
|
|
200
|
+
var _loadTileset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tilesetUrl) {
|
|
201
|
+
var _this$props$loadOptio, loadOptions, loader, options, actualTilesetUrl, preloadOptions, tilesetJson, tileset3d;
|
|
202
|
+
|
|
203
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
204
|
+
while (1) {
|
|
205
|
+
switch (_context.prev = _context.next) {
|
|
206
|
+
case 0:
|
|
207
|
+
_this$props$loadOptio = this.props.loadOptions, loadOptions = _this$props$loadOptio === void 0 ? {} : _this$props$loadOptio;
|
|
208
|
+
loader = this.props.loader || this.props.loaders;
|
|
209
|
+
|
|
210
|
+
if (Array.isArray(loader)) {
|
|
211
|
+
loader = loader[0];
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
options = {
|
|
215
|
+
loadOptions: _objectSpread({}, loadOptions)
|
|
216
|
+
};
|
|
217
|
+
actualTilesetUrl = tilesetUrl;
|
|
218
|
+
|
|
219
|
+
if (!loader.preload) {
|
|
220
|
+
_context.next = 12;
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
_context.next = 8;
|
|
225
|
+
return loader.preload(tilesetUrl, loadOptions);
|
|
226
|
+
|
|
227
|
+
case 8:
|
|
228
|
+
preloadOptions = _context.sent;
|
|
229
|
+
|
|
230
|
+
if (preloadOptions.url) {
|
|
231
|
+
actualTilesetUrl = preloadOptions.url;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
if (preloadOptions.headers) {
|
|
235
|
+
options.loadOptions.fetch = _objectSpread(_objectSpread({}, options.loadOptions.fetch), {}, {
|
|
236
|
+
headers: preloadOptions.headers
|
|
271
237
|
});
|
|
238
|
+
}
|
|
272
239
|
|
|
273
|
-
|
|
240
|
+
Object.assign(options, preloadOptions);
|
|
274
241
|
|
|
275
|
-
|
|
242
|
+
case 12:
|
|
243
|
+
_context.next = 14;
|
|
244
|
+
return (0, _core3.load)(actualTilesetUrl, loader, options.loadOptions);
|
|
276
245
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
246
|
+
case 14:
|
|
247
|
+
tilesetJson = _context.sent;
|
|
248
|
+
tileset3d = new _tiles.Tileset3D(tilesetJson, _objectSpread({
|
|
249
|
+
onTileLoad: this._onTileLoad.bind(this),
|
|
250
|
+
onTileUnload: this._onTileUnload.bind(this),
|
|
251
|
+
onTileError: this.props.onTileError
|
|
252
|
+
}, options));
|
|
253
|
+
this.setState({
|
|
254
|
+
tileset3d: tileset3d,
|
|
255
|
+
layerMap: {}
|
|
256
|
+
});
|
|
284
257
|
|
|
285
|
-
|
|
286
|
-
return _loadTileset2.apply(this, arguments);
|
|
287
|
-
}
|
|
258
|
+
this._updateTileset(this.state.activeViewports);
|
|
288
259
|
|
|
289
|
-
|
|
290
|
-
}()
|
|
291
|
-
}, {
|
|
292
|
-
key: "_onTileLoad",
|
|
293
|
-
value: function _onTileLoad(tileHeader) {
|
|
294
|
-
var lastUpdatedViewports = this.state.lastUpdatedViewports;
|
|
295
|
-
this.props.onTileLoad(tileHeader);
|
|
260
|
+
this.props.onTilesetLoad(tileset3d);
|
|
296
261
|
|
|
297
|
-
|
|
262
|
+
case 19:
|
|
263
|
+
case "end":
|
|
264
|
+
return _context.stop();
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}, _callee, this);
|
|
268
|
+
}));
|
|
298
269
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
}, {
|
|
302
|
-
key: "_onTileUnload",
|
|
303
|
-
value: function _onTileUnload(tileHeader) {
|
|
304
|
-
delete this.state.layerMap[tileHeader.id];
|
|
305
|
-
this.props.onTileUnload(tileHeader);
|
|
270
|
+
function _loadTileset(_x) {
|
|
271
|
+
return _loadTileset2.apply(this, arguments);
|
|
306
272
|
}
|
|
307
|
-
}, {
|
|
308
|
-
key: "_updateTileset",
|
|
309
|
-
value: function _updateTileset(viewports) {
|
|
310
|
-
var _this2 = this;
|
|
311
273
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}
|
|
274
|
+
return _loadTileset;
|
|
275
|
+
}();
|
|
315
276
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
277
|
+
_proto._onTileLoad = function _onTileLoad(tileHeader) {
|
|
278
|
+
var lastUpdatedViewports = this.state.lastUpdatedViewports;
|
|
279
|
+
this.props.onTileLoad(tileHeader);
|
|
319
280
|
|
|
320
|
-
|
|
321
|
-
return;
|
|
322
|
-
}
|
|
281
|
+
this._updateTileset(lastUpdatedViewports);
|
|
323
282
|
|
|
324
|
-
|
|
325
|
-
|
|
283
|
+
this.setNeedsUpdate();
|
|
284
|
+
};
|
|
326
285
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
}, {
|
|
335
|
-
key: "_getSubLayer",
|
|
336
|
-
value: function _getSubLayer(tileHeader, oldLayer) {
|
|
337
|
-
if (!tileHeader.content) {
|
|
338
|
-
return null;
|
|
339
|
-
}
|
|
286
|
+
_proto._onTileUnload = function _onTileUnload(tileHeader) {
|
|
287
|
+
delete this.state.layerMap[tileHeader.id];
|
|
288
|
+
this.props.onTileUnload(tileHeader);
|
|
289
|
+
};
|
|
340
290
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
return this._makePointCloudLayer(tileHeader, oldLayer);
|
|
291
|
+
_proto._updateTileset = function _updateTileset(viewports) {
|
|
292
|
+
var _this2 = this;
|
|
344
293
|
|
|
345
|
-
|
|
346
|
-
|
|
294
|
+
if (!viewports) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
347
297
|
|
|
348
|
-
|
|
349
|
-
|
|
298
|
+
var tileset3d = this.state.tileset3d;
|
|
299
|
+
var timeline = this.context.timeline;
|
|
300
|
+
var viewportsNumber = Object.keys(viewports).length;
|
|
350
301
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
}
|
|
302
|
+
if (!timeline || !viewportsNumber || !tileset3d) {
|
|
303
|
+
return;
|
|
354
304
|
}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
modelMatrix = _tileHeader$content.modelMatrix;
|
|
364
|
-
var positions = attributes.positions,
|
|
365
|
-
normals = attributes.normals,
|
|
366
|
-
colors = attributes.colors;
|
|
367
|
-
|
|
368
|
-
if (!positions) {
|
|
369
|
-
return null;
|
|
305
|
+
|
|
306
|
+
tileset3d.selectTiles(Object.values(viewports)).then(function (frameNumber) {
|
|
307
|
+
var tilesetChanged = _this2.state.frameNumber !== frameNumber;
|
|
308
|
+
|
|
309
|
+
if (tilesetChanged) {
|
|
310
|
+
_this2.setState({
|
|
311
|
+
frameNumber: frameNumber
|
|
312
|
+
});
|
|
370
313
|
}
|
|
314
|
+
});
|
|
315
|
+
};
|
|
371
316
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
},
|
|
376
|
-
attributes: {
|
|
377
|
-
POSITION: positions,
|
|
378
|
-
NORMAL: normals,
|
|
379
|
-
COLOR_0: colors
|
|
380
|
-
}
|
|
381
|
-
};
|
|
382
|
-
var _this$props = this.props,
|
|
383
|
-
pointSize = _this$props.pointSize,
|
|
384
|
-
getPointColor = _this$props.getPointColor;
|
|
385
|
-
var SubLayerClass = this.getSubLayerClass('pointcloud', _layers.PointCloudLayer);
|
|
386
|
-
return new SubLayerClass({
|
|
387
|
-
pointSize: pointSize
|
|
388
|
-
}, this.getSubLayerProps({
|
|
389
|
-
id: 'pointcloud'
|
|
390
|
-
}), {
|
|
391
|
-
id: "".concat(this.id, "-pointcloud-").concat(tileHeader.id),
|
|
392
|
-
tile: tileHeader,
|
|
393
|
-
data: data,
|
|
394
|
-
coordinateSystem: _core2.COORDINATE_SYSTEM.METER_OFFSETS,
|
|
395
|
-
coordinateOrigin: cartographicOrigin,
|
|
396
|
-
modelMatrix: modelMatrix,
|
|
397
|
-
getColor: constantRGBA || getPointColor,
|
|
398
|
-
_offset: 0
|
|
399
|
-
});
|
|
317
|
+
_proto._getSubLayer = function _getSubLayer(tileHeader, oldLayer) {
|
|
318
|
+
if (!tileHeader.content) {
|
|
319
|
+
return null;
|
|
400
320
|
}
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
}), {
|
|
415
|
-
id: "".concat(this.id, "-scenegraph-").concat(tileHeader.id),
|
|
416
|
-
tile: tileHeader,
|
|
417
|
-
data: instances || SINGLE_DATA,
|
|
418
|
-
scenegraph: gltf,
|
|
419
|
-
coordinateSystem: _core2.COORDINATE_SYSTEM.METER_OFFSETS,
|
|
420
|
-
coordinateOrigin: cartographicOrigin,
|
|
421
|
-
modelMatrix: modelMatrix,
|
|
422
|
-
getTransformMatrix: function getTransformMatrix(instance) {
|
|
423
|
-
return instance.modelMatrix;
|
|
424
|
-
},
|
|
425
|
-
getPosition: [0, 0, 0],
|
|
426
|
-
_offset: 0
|
|
427
|
-
});
|
|
321
|
+
|
|
322
|
+
switch (tileHeader.type) {
|
|
323
|
+
case _tiles.TILE_TYPE.POINTCLOUD:
|
|
324
|
+
return this._makePointCloudLayer(tileHeader, oldLayer);
|
|
325
|
+
|
|
326
|
+
case _tiles.TILE_TYPE.SCENEGRAPH:
|
|
327
|
+
return this._make3DModelLayer(tileHeader);
|
|
328
|
+
|
|
329
|
+
case _tiles.TILE_TYPE.MESH:
|
|
330
|
+
return this._makeSimpleMeshLayer(tileHeader, oldLayer);
|
|
331
|
+
|
|
332
|
+
default:
|
|
333
|
+
throw new Error("Tile3DLayer: Failed to render layer of type ".concat(tileHeader.content.type));
|
|
428
334
|
}
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
attributes: getMeshGeometry(attributes),
|
|
445
|
-
indices: indices
|
|
446
|
-
});
|
|
447
|
-
var SubLayerClass = this.getSubLayerClass('mesh', _meshLayer.default);
|
|
448
|
-
return new SubLayerClass(this.getSubLayerProps({
|
|
449
|
-
id: 'mesh'
|
|
450
|
-
}), {
|
|
451
|
-
id: "".concat(this.id, "-mesh-").concat(tileHeader.id),
|
|
452
|
-
tile: tileHeader,
|
|
453
|
-
mesh: geometry,
|
|
454
|
-
data: SINGLE_DATA,
|
|
455
|
-
getColor: _getMeshColor(tileHeader),
|
|
456
|
-
pbrMaterial: material,
|
|
457
|
-
modelMatrix: modelMatrix,
|
|
458
|
-
coordinateOrigin: cartographicOrigin,
|
|
459
|
-
coordinateSystem: coordinateSystem,
|
|
460
|
-
featureIds: featureIds,
|
|
461
|
-
_offset: 0
|
|
462
|
-
});
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
_proto._makePointCloudLayer = function _makePointCloudLayer(tileHeader, oldLayer) {
|
|
338
|
+
var _tileHeader$content = tileHeader.content,
|
|
339
|
+
attributes = _tileHeader$content.attributes,
|
|
340
|
+
pointCount = _tileHeader$content.pointCount,
|
|
341
|
+
constantRGBA = _tileHeader$content.constantRGBA,
|
|
342
|
+
cartographicOrigin = _tileHeader$content.cartographicOrigin,
|
|
343
|
+
modelMatrix = _tileHeader$content.modelMatrix;
|
|
344
|
+
var positions = attributes.positions,
|
|
345
|
+
normals = attributes.normals,
|
|
346
|
+
colors = attributes.colors;
|
|
347
|
+
|
|
348
|
+
if (!positions) {
|
|
349
|
+
return null;
|
|
463
350
|
}
|
|
464
|
-
}, {
|
|
465
|
-
key: "renderLayers",
|
|
466
|
-
value: function renderLayers() {
|
|
467
|
-
var _this3 = this;
|
|
468
|
-
|
|
469
|
-
var _this$state2 = this.state,
|
|
470
|
-
tileset3d = _this$state2.tileset3d,
|
|
471
|
-
layerMap = _this$state2.layerMap;
|
|
472
351
|
|
|
473
|
-
|
|
474
|
-
|
|
352
|
+
var data = oldLayer && oldLayer.props.data || {
|
|
353
|
+
header: {
|
|
354
|
+
vertexCount: pointCount
|
|
355
|
+
},
|
|
356
|
+
attributes: {
|
|
357
|
+
POSITION: positions,
|
|
358
|
+
NORMAL: normals,
|
|
359
|
+
COLOR_0: colors
|
|
475
360
|
}
|
|
361
|
+
};
|
|
362
|
+
var _this$props = this.props,
|
|
363
|
+
pointSize = _this$props.pointSize,
|
|
364
|
+
getPointColor = _this$props.getPointColor;
|
|
365
|
+
var SubLayerClass = this.getSubLayerClass('pointcloud', _layers.PointCloudLayer);
|
|
366
|
+
return new SubLayerClass({
|
|
367
|
+
pointSize: pointSize
|
|
368
|
+
}, this.getSubLayerProps({
|
|
369
|
+
id: 'pointcloud'
|
|
370
|
+
}), {
|
|
371
|
+
id: "".concat(this.id, "-pointcloud-").concat(tileHeader.id),
|
|
372
|
+
tile: tileHeader,
|
|
373
|
+
data: data,
|
|
374
|
+
coordinateSystem: _core2.COORDINATE_SYSTEM.METER_OFFSETS,
|
|
375
|
+
coordinateOrigin: cartographicOrigin,
|
|
376
|
+
modelMatrix: modelMatrix,
|
|
377
|
+
getColor: constantRGBA || getPointColor,
|
|
378
|
+
_offset: 0
|
|
379
|
+
});
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
_proto._make3DModelLayer = function _make3DModelLayer(tileHeader) {
|
|
383
|
+
var _tileHeader$content2 = tileHeader.content,
|
|
384
|
+
gltf = _tileHeader$content2.gltf,
|
|
385
|
+
instances = _tileHeader$content2.instances,
|
|
386
|
+
cartographicOrigin = _tileHeader$content2.cartographicOrigin,
|
|
387
|
+
modelMatrix = _tileHeader$content2.modelMatrix;
|
|
388
|
+
var SubLayerClass = this.getSubLayerClass('scenegraph', _meshLayers.ScenegraphLayer);
|
|
389
|
+
return new SubLayerClass({
|
|
390
|
+
_lighting: 'pbr'
|
|
391
|
+
}, this.getSubLayerProps({
|
|
392
|
+
id: 'scenegraph'
|
|
393
|
+
}), {
|
|
394
|
+
id: "".concat(this.id, "-scenegraph-").concat(tileHeader.id),
|
|
395
|
+
tile: tileHeader,
|
|
396
|
+
data: instances || SINGLE_DATA,
|
|
397
|
+
scenegraph: gltf,
|
|
398
|
+
coordinateSystem: _core2.COORDINATE_SYSTEM.METER_OFFSETS,
|
|
399
|
+
coordinateOrigin: cartographicOrigin,
|
|
400
|
+
modelMatrix: modelMatrix,
|
|
401
|
+
getTransformMatrix: function getTransformMatrix(instance) {
|
|
402
|
+
return instance.modelMatrix;
|
|
403
|
+
},
|
|
404
|
+
getPosition: [0, 0, 0],
|
|
405
|
+
_offset: 0
|
|
406
|
+
});
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
_proto._makeSimpleMeshLayer = function _makeSimpleMeshLayer(tileHeader, oldLayer) {
|
|
410
|
+
var content = tileHeader.content;
|
|
411
|
+
var attributes = content.attributes,
|
|
412
|
+
indices = content.indices,
|
|
413
|
+
modelMatrix = content.modelMatrix,
|
|
414
|
+
cartographicOrigin = content.cartographicOrigin,
|
|
415
|
+
_content$coordinateSy = content.coordinateSystem,
|
|
416
|
+
coordinateSystem = _content$coordinateSy === void 0 ? _core2.COORDINATE_SYSTEM.METER_OFFSETS : _content$coordinateSy,
|
|
417
|
+
material = content.material,
|
|
418
|
+
featureIds = content.featureIds;
|
|
419
|
+
var _getMeshColor = this.props._getMeshColor;
|
|
420
|
+
var geometry = oldLayer && oldLayer.props.mesh || new _core.Geometry({
|
|
421
|
+
drawMode: 4,
|
|
422
|
+
attributes: getMeshGeometry(attributes),
|
|
423
|
+
indices: indices
|
|
424
|
+
});
|
|
425
|
+
var SubLayerClass = this.getSubLayerClass('mesh', _meshLayer.default);
|
|
426
|
+
return new SubLayerClass(this.getSubLayerProps({
|
|
427
|
+
id: 'mesh'
|
|
428
|
+
}), {
|
|
429
|
+
id: "".concat(this.id, "-mesh-").concat(tileHeader.id),
|
|
430
|
+
tile: tileHeader,
|
|
431
|
+
mesh: geometry,
|
|
432
|
+
data: SINGLE_DATA,
|
|
433
|
+
getColor: _getMeshColor(tileHeader),
|
|
434
|
+
pbrMaterial: material,
|
|
435
|
+
modelMatrix: modelMatrix,
|
|
436
|
+
coordinateOrigin: cartographicOrigin,
|
|
437
|
+
coordinateSystem: coordinateSystem,
|
|
438
|
+
featureIds: featureIds,
|
|
439
|
+
_offset: 0
|
|
440
|
+
});
|
|
441
|
+
};
|
|
442
|
+
|
|
443
|
+
_proto.renderLayers = function renderLayers() {
|
|
444
|
+
var _this3 = this;
|
|
445
|
+
|
|
446
|
+
var _this$state2 = this.state,
|
|
447
|
+
tileset3d = _this$state2.tileset3d,
|
|
448
|
+
layerMap = _this$state2.layerMap;
|
|
449
|
+
|
|
450
|
+
if (!tileset3d) {
|
|
451
|
+
return null;
|
|
452
|
+
}
|
|
476
453
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
}
|
|
454
|
+
return tileset3d.tiles.map(function (tile) {
|
|
455
|
+
var layerCache = layerMap[tile.id] = layerMap[tile.id] || {
|
|
456
|
+
tile: tile
|
|
457
|
+
};
|
|
458
|
+
var layer = layerCache.layer;
|
|
459
|
+
|
|
460
|
+
if (tile.selected) {
|
|
461
|
+
if (!layer) {
|
|
462
|
+
layer = _this3._getSubLayer(tile);
|
|
463
|
+
} else if (layerCache.needsUpdate) {
|
|
464
|
+
layer = _this3._getSubLayer(tile, layer);
|
|
465
|
+
layerCache.needsUpdate = false;
|
|
490
466
|
}
|
|
467
|
+
}
|
|
491
468
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
469
|
+
layerCache.layer = layer;
|
|
470
|
+
return layer;
|
|
471
|
+
}).filter(Boolean);
|
|
472
|
+
};
|
|
473
|
+
|
|
474
|
+
(0, _createClass2.default)(Tile3DLayer, [{
|
|
475
|
+
key: "isLoaded",
|
|
476
|
+
get: function get() {
|
|
477
|
+
var tileset3d = this.state.tileset3d;
|
|
478
|
+
return tileset3d !== null && tileset3d.isLoaded();
|
|
495
479
|
}
|
|
496
480
|
}]);
|
|
497
481
|
return Tile3DLayer;
|
|
498
482
|
}(_core2.CompositeLayer);
|
|
499
483
|
|
|
500
484
|
exports.default = Tile3DLayer;
|
|
501
|
-
|
|
502
|
-
|
|
485
|
+
Tile3DLayer.defaultProps = defaultProps;
|
|
486
|
+
Tile3DLayer.layerName = 'Tile3DLayer';
|
|
503
487
|
|
|
504
488
|
function getMeshGeometry(contentAttributes) {
|
|
505
489
|
var attributes = {};
|