@deck.gl/geo-layers 9.0.0-beta.2 → 9.0.0-beta.3
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 +2796 -7199
- package/dist/geo-cell-layer/GeoCellLayer.js +51 -0
- package/dist/geohash-layer/geohash-layer.js +19 -0
- package/dist/geohash-layer/geohash-utils.js +50 -0
- package/dist/great-circle-layer/great-circle-layer.js +12 -0
- package/dist/h3-layers/h3-cluster-layer.js +47 -0
- package/dist/h3-layers/h3-hexagon-layer.js +204 -0
- package/dist/h3-layers/h3-utils.js +56 -0
- package/dist/index.cjs +3199 -0
- package/dist/index.cjs.map +7 -0
- package/{typed → dist}/index.d.ts +5 -5
- package/{typed → dist}/index.d.ts.map +1 -1
- package/dist/index.js +36 -0
- package/dist/{esm/mesh-layer → mesh-layer}/mesh-layer-fragment.glsl.js +0 -1
- package/dist/{esm/mesh-layer → mesh-layer}/mesh-layer-vertex.glsl.js +0 -1
- package/dist/mesh-layer/mesh-layer.js +129 -0
- package/{typed → dist}/mvt-layer/coordinate-transform.d.ts +1 -1
- package/{typed → dist}/mvt-layer/coordinate-transform.d.ts.map +1 -1
- package/dist/mvt-layer/coordinate-transform.js +41 -0
- package/dist/mvt-layer/find-index-binary.d.ts +11 -0
- package/dist/mvt-layer/find-index-binary.d.ts.map +1 -0
- package/dist/mvt-layer/find-index-binary.js +96 -0
- package/{typed → dist}/mvt-layer/mvt-layer.d.ts +6 -5
- package/dist/mvt-layer/mvt-layer.d.ts.map +1 -0
- package/dist/mvt-layer/mvt-layer.js +305 -0
- package/dist/quadkey-layer/quadkey-layer.js +22 -0
- package/dist/quadkey-layer/quadkey-utils.js +26 -0
- package/dist/s2-layer/s2-geometry.js +123 -0
- package/dist/s2-layer/s2-layer.js +38 -0
- package/dist/s2-layer/s2-utils.js +87 -0
- package/{typed → dist}/terrain-layer/terrain-layer.d.ts +3 -3
- package/dist/terrain-layer/terrain-layer.d.ts.map +1 -0
- package/dist/terrain-layer/terrain-layer.js +233 -0
- package/dist/tile-3d-layer/tile-3d-layer.js +302 -0
- package/{typed → dist}/tile-layer/tile-layer.d.ts +3 -3
- package/dist/tile-layer/tile-layer.d.ts.map +1 -0
- package/dist/tile-layer/tile-layer.js +204 -0
- package/dist/tileset-2d/index.js +4 -0
- package/dist/tileset-2d/memoize.js +41 -0
- package/{typed → dist}/tileset-2d/tile-2d-header.d.ts +2 -1
- package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -0
- package/dist/tileset-2d/tile-2d-header.js +135 -0
- package/{typed → dist}/tileset-2d/tile-2d-traversal.d.ts +1 -1
- package/{typed → dist}/tileset-2d/tile-2d-traversal.d.ts.map +1 -1
- package/dist/tileset-2d/tile-2d-traversal.js +182 -0
- package/{typed → dist}/tileset-2d/tileset-2d.d.ts +4 -4
- package/{typed → dist}/tileset-2d/tileset-2d.d.ts.map +1 -1
- package/dist/tileset-2d/tileset-2d.js +456 -0
- package/dist/tileset-2d/types.js +1 -0
- package/{typed → dist}/tileset-2d/utils.d.ts +2 -2
- package/dist/tileset-2d/utils.d.ts.map +1 -0
- package/dist/tileset-2d/utils.js +234 -0
- package/dist/trips-layer/trips-layer.js +93 -0
- package/dist/wms-layer/utils.js +13 -0
- package/dist/wms-layer/wms-layer.js +192 -0
- package/dist.min.js +27 -162
- package/package.json +32 -18
- package/src/index.ts +5 -5
- package/src/mvt-layer/coordinate-transform.ts +1 -1
- package/src/mvt-layer/find-index-binary.ts +5 -9
- package/src/mvt-layer/mvt-layer.ts +19 -15
- package/src/terrain-layer/terrain-layer.ts +13 -3
- package/src/tile-layer/tile-layer.ts +8 -9
- package/src/tileset-2d/tile-2d-header.ts +2 -1
- package/src/tileset-2d/tile-2d-traversal.ts +1 -1
- package/src/tileset-2d/tileset-2d.ts +7 -3
- package/src/tileset-2d/utils.ts +2 -2
- package/src/wms-layer/wms-layer.ts +1 -1
- package/dist/es5/geo-cell-layer/GeoCellLayer.js +0 -118
- package/dist/es5/geo-cell-layer/GeoCellLayer.js.map +0 -1
- package/dist/es5/geohash-layer/geohash-layer.js +0 -67
- package/dist/es5/geohash-layer/geohash-layer.js.map +0 -1
- package/dist/es5/geohash-layer/geohash-utils.js +0 -77
- package/dist/es5/geohash-layer/geohash-utils.js.map +0 -1
- package/dist/es5/great-circle-layer/great-circle-layer.js +0 -48
- package/dist/es5/great-circle-layer/great-circle-layer.js.map +0 -1
- package/dist/es5/h3-layers/h3-cluster-layer.js +0 -162
- package/dist/es5/h3-layers/h3-cluster-layer.js.map +0 -1
- package/dist/es5/h3-layers/h3-hexagon-layer.js +0 -351
- package/dist/es5/h3-layers/h3-hexagon-layer.js.map +0 -1
- package/dist/es5/h3-layers/h3-utils.js +0 -111
- package/dist/es5/h3-layers/h3-utils.js.map +0 -1
- package/dist/es5/index.js +0 -132
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/mesh-layer/mesh-layer-fragment.glsl.js +0 -9
- package/dist/es5/mesh-layer/mesh-layer-fragment.glsl.js.map +0 -1
- package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js +0 -9
- package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js.map +0 -1
- package/dist/es5/mesh-layer/mesh-layer.js +0 -217
- package/dist/es5/mesh-layer/mesh-layer.js.map +0 -1
- package/dist/es5/mvt-layer/coordinate-transform.js +0 -83
- package/dist/es5/mvt-layer/coordinate-transform.js.map +0 -1
- package/dist/es5/mvt-layer/find-index-binary.js +0 -127
- package/dist/es5/mvt-layer/find-index-binary.js.map +0 -1
- package/dist/es5/mvt-layer/mvt-layer.js +0 -533
- package/dist/es5/mvt-layer/mvt-layer.js.map +0 -1
- package/dist/es5/quadkey-layer/quadkey-layer.js +0 -72
- package/dist/es5/quadkey-layer/quadkey-layer.js.map +0 -1
- package/dist/es5/quadkey-layer/quadkey-utils.js +0 -53
- package/dist/es5/quadkey-layer/quadkey-utils.js.map +0 -1
- package/dist/es5/s2-layer/s2-geometry.js +0 -158
- package/dist/es5/s2-layer/s2-geometry.js.map +0 -1
- package/dist/es5/s2-layer/s2-layer.js +0 -67
- package/dist/es5/s2-layer/s2-layer.js.map +0 -1
- package/dist/es5/s2-layer/s2-utils.js +0 -80
- package/dist/es5/s2-layer/s2-utils.js.map +0 -1
- package/dist/es5/terrain-layer/terrain-layer.js +0 -347
- package/dist/es5/terrain-layer/terrain-layer.js.map +0 -1
- package/dist/es5/tile-3d-layer/tile-3d-layer.js +0 -511
- package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +0 -1
- package/dist/es5/tile-layer/tile-layer.js +0 -363
- package/dist/es5/tile-layer/tile-layer.js.map +0 -1
- package/dist/es5/tileset-2d/index.js +0 -66
- package/dist/es5/tileset-2d/index.js.map +0 -1
- package/dist/es5/tileset-2d/memoize.js +0 -47
- package/dist/es5/tileset-2d/memoize.js.map +0 -1
- package/dist/es5/tileset-2d/tile-2d-header.js +0 -250
- package/dist/es5/tileset-2d/tile-2d-header.js.map +0 -1
- package/dist/es5/tileset-2d/tile-2d-traversal.js +0 -256
- package/dist/es5/tileset-2d/tile-2d-traversal.js.map +0 -1
- package/dist/es5/tileset-2d/tileset-2d.js +0 -757
- package/dist/es5/tileset-2d/tileset-2d.js.map +0 -1
- package/dist/es5/tileset-2d/types.js +0 -2
- package/dist/es5/tileset-2d/types.js.map +0 -1
- package/dist/es5/tileset-2d/utils.js +0 -302
- package/dist/es5/tileset-2d/utils.js.map +0 -1
- package/dist/es5/trips-layer/trips-layer.js +0 -114
- package/dist/es5/trips-layer/trips-layer.js.map +0 -1
- package/dist/es5/wms-layer/utils.js +0 -18
- package/dist/es5/wms-layer/utils.js.map +0 -1
- package/dist/es5/wms-layer/wms-layer.js +0 -376
- package/dist/es5/wms-layer/wms-layer.js.map +0 -1
- package/dist/esm/geo-cell-layer/GeoCellLayer.js +0 -72
- package/dist/esm/geo-cell-layer/GeoCellLayer.js.map +0 -1
- package/dist/esm/geohash-layer/geohash-layer.js +0 -26
- package/dist/esm/geohash-layer/geohash-layer.js.map +0 -1
- package/dist/esm/geohash-layer/geohash-utils.js +0 -56
- package/dist/esm/geohash-layer/geohash-utils.js.map +0 -1
- package/dist/esm/great-circle-layer/great-circle-layer.js +0 -12
- package/dist/esm/great-circle-layer/great-circle-layer.js.map +0 -1
- package/dist/esm/h3-layers/h3-cluster-layer.js +0 -79
- package/dist/esm/h3-layers/h3-cluster-layer.js.map +0 -1
- package/dist/esm/h3-layers/h3-hexagon-layer.js +0 -280
- package/dist/esm/h3-layers/h3-hexagon-layer.js.map +0 -1
- package/dist/esm/h3-layers/h3-utils.js +0 -54
- package/dist/esm/h3-layers/h3-utils.js.map +0 -1
- package/dist/esm/index.js +0 -17
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js.map +0 -1
- package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js.map +0 -1
- package/dist/esm/mesh-layer/mesh-layer.js +0 -178
- package/dist/esm/mesh-layer/mesh-layer.js.map +0 -1
- package/dist/esm/mvt-layer/coordinate-transform.js +0 -49
- package/dist/esm/mvt-layer/coordinate-transform.js.map +0 -1
- package/dist/esm/mvt-layer/find-index-binary.js +0 -99
- package/dist/esm/mvt-layer/find-index-binary.js.map +0 -1
- package/dist/esm/mvt-layer/mvt-layer.js +0 -427
- package/dist/esm/mvt-layer/mvt-layer.js.map +0 -1
- package/dist/esm/quadkey-layer/quadkey-layer.js +0 -31
- package/dist/esm/quadkey-layer/quadkey-layer.js.map +0 -1
- package/dist/esm/quadkey-layer/quadkey-utils.js +0 -24
- package/dist/esm/quadkey-layer/quadkey-utils.js.map +0 -1
- package/dist/esm/s2-layer/s2-geometry.js +0 -126
- package/dist/esm/s2-layer/s2-geometry.js.map +0 -1
- package/dist/esm/s2-layer/s2-layer.js +0 -26
- package/dist/esm/s2-layer/s2-layer.js.map +0 -1
- package/dist/esm/s2-layer/s2-utils.js +0 -69
- package/dist/esm/s2-layer/s2-utils.js.map +0 -1
- package/dist/esm/terrain-layer/terrain-layer.js +0 -292
- package/dist/esm/terrain-layer/terrain-layer.js.map +0 -1
- package/dist/esm/tile-3d-layer/tile-3d-layer.js +0 -438
- package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +0 -1
- package/dist/esm/tile-layer/tile-layer.js +0 -299
- package/dist/esm/tile-layer/tile-layer.js.map +0 -1
- package/dist/esm/tileset-2d/index.js +0 -4
- package/dist/esm/tileset-2d/index.js.map +0 -1
- package/dist/esm/tileset-2d/memoize.js +0 -40
- package/dist/esm/tileset-2d/memoize.js.map +0 -1
- package/dist/esm/tileset-2d/tile-2d-header.js +0 -179
- package/dist/esm/tileset-2d/tile-2d-header.js.map +0 -1
- package/dist/esm/tileset-2d/tile-2d-traversal.js +0 -184
- package/dist/esm/tileset-2d/tile-2d-traversal.js.map +0 -1
- package/dist/esm/tileset-2d/tileset-2d.js +0 -509
- package/dist/esm/tileset-2d/tileset-2d.js.map +0 -1
- package/dist/esm/tileset-2d/types.js +0 -2
- package/dist/esm/tileset-2d/types.js.map +0 -1
- package/dist/esm/tileset-2d/utils.js +0 -233
- package/dist/esm/tileset-2d/utils.js.map +0 -1
- package/dist/esm/trips-layer/trips-layer.js +0 -88
- package/dist/esm/trips-layer/trips-layer.js.map +0 -1
- package/dist/esm/wms-layer/utils.js +0 -9
- package/dist/esm/wms-layer/utils.js.map +0 -1
- package/dist/esm/wms-layer/wms-layer.js +0 -231
- package/dist/esm/wms-layer/wms-layer.js.map +0 -1
- package/typed/mvt-layer/find-index-binary.d.ts +0 -12
- package/typed/mvt-layer/find-index-binary.d.ts.map +0 -1
- package/typed/mvt-layer/mvt-layer.d.ts.map +0 -1
- package/typed/terrain-layer/terrain-layer.d.ts.map +0 -1
- package/typed/tile-layer/tile-layer.d.ts.map +0 -1
- package/typed/tileset-2d/tile-2d-header.d.ts.map +0 -1
- package/typed/tileset-2d/utils.d.ts.map +0 -1
- /package/{typed → dist}/geo-cell-layer/GeoCellLayer.d.ts +0 -0
- /package/{typed → dist}/geo-cell-layer/GeoCellLayer.d.ts.map +0 -0
- /package/{typed → dist}/geohash-layer/geohash-layer.d.ts +0 -0
- /package/{typed → dist}/geohash-layer/geohash-layer.d.ts.map +0 -0
- /package/{typed → dist}/geohash-layer/geohash-utils.d.ts +0 -0
- /package/{typed → dist}/geohash-layer/geohash-utils.d.ts.map +0 -0
- /package/{typed → dist}/great-circle-layer/great-circle-layer.d.ts +0 -0
- /package/{typed → dist}/great-circle-layer/great-circle-layer.d.ts.map +0 -0
- /package/{typed → dist}/h3-layers/h3-cluster-layer.d.ts +0 -0
- /package/{typed → dist}/h3-layers/h3-cluster-layer.d.ts.map +0 -0
- /package/{typed → dist}/h3-layers/h3-hexagon-layer.d.ts +0 -0
- /package/{typed → dist}/h3-layers/h3-hexagon-layer.d.ts.map +0 -0
- /package/{typed → dist}/h3-layers/h3-utils.d.ts +0 -0
- /package/{typed → dist}/h3-layers/h3-utils.d.ts.map +0 -0
- /package/{typed → dist}/mesh-layer/mesh-layer-fragment.glsl.d.ts +0 -0
- /package/{typed → dist}/mesh-layer/mesh-layer-fragment.glsl.d.ts.map +0 -0
- /package/{typed → dist}/mesh-layer/mesh-layer-vertex.glsl.d.ts +0 -0
- /package/{typed → dist}/mesh-layer/mesh-layer-vertex.glsl.d.ts.map +0 -0
- /package/{typed → dist}/mesh-layer/mesh-layer.d.ts +0 -0
- /package/{typed → dist}/mesh-layer/mesh-layer.d.ts.map +0 -0
- /package/{typed → dist}/quadkey-layer/quadkey-layer.d.ts +0 -0
- /package/{typed → dist}/quadkey-layer/quadkey-layer.d.ts.map +0 -0
- /package/{typed → dist}/quadkey-layer/quadkey-utils.d.ts +0 -0
- /package/{typed → dist}/quadkey-layer/quadkey-utils.d.ts.map +0 -0
- /package/{typed → dist}/s2-layer/s2-geometry.d.ts +0 -0
- /package/{typed → dist}/s2-layer/s2-geometry.d.ts.map +0 -0
- /package/{typed → dist}/s2-layer/s2-layer.d.ts +0 -0
- /package/{typed → dist}/s2-layer/s2-layer.d.ts.map +0 -0
- /package/{typed → dist}/s2-layer/s2-utils.d.ts +0 -0
- /package/{typed → dist}/s2-layer/s2-utils.d.ts.map +0 -0
- /package/{typed → dist}/tile-3d-layer/tile-3d-layer.d.ts +0 -0
- /package/{typed → dist}/tile-3d-layer/tile-3d-layer.d.ts.map +0 -0
- /package/{typed → dist}/tileset-2d/index.d.ts +0 -0
- /package/{typed → dist}/tileset-2d/index.d.ts.map +0 -0
- /package/{typed → dist}/tileset-2d/memoize.d.ts +0 -0
- /package/{typed → dist}/tileset-2d/memoize.d.ts.map +0 -0
- /package/{typed → dist}/tileset-2d/types.d.ts +0 -0
- /package/{typed → dist}/tileset-2d/types.d.ts.map +0 -0
- /package/{typed → dist}/trips-layer/trips-layer.d.ts +0 -0
- /package/{typed → dist}/trips-layer/trips-layer.d.ts.map +0 -0
- /package/{typed → dist}/wms-layer/utils.d.ts +0 -0
- /package/{typed → dist}/wms-layer/utils.d.ts.map +0 -0
- /package/{typed → dist}/wms-layer/wms-layer.d.ts +0 -0
- /package/{typed → dist}/wms-layer/wms-layer.d.ts.map +0 -0
|
@@ -1,511 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
21
|
-
|
|
22
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
-
|
|
24
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
-
|
|
26
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
-
|
|
28
|
-
var _engine = require("@luma.gl/engine");
|
|
29
|
-
|
|
30
|
-
var _core = require("@deck.gl/core");
|
|
31
|
-
|
|
32
|
-
var _layers = require("@deck.gl/layers");
|
|
33
|
-
|
|
34
|
-
var _meshLayers = require("@deck.gl/mesh-layers");
|
|
35
|
-
|
|
36
|
-
var _meshLayer = _interopRequireDefault(require("../mesh-layer/mesh-layer"));
|
|
37
|
-
|
|
38
|
-
var _core2 = require("@loaders.gl/core");
|
|
39
|
-
|
|
40
|
-
var _tiles = require("@loaders.gl/tiles");
|
|
41
|
-
|
|
42
|
-
var _dTiles = require("@loaders.gl/3d-tiles");
|
|
43
|
-
|
|
44
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
-
|
|
46
|
-
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; }
|
|
47
|
-
|
|
48
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
49
|
-
|
|
50
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
51
|
-
|
|
52
|
-
var SINGLE_DATA = [0];
|
|
53
|
-
var defaultProps = {
|
|
54
|
-
getPointColor: {
|
|
55
|
-
type: 'accessor',
|
|
56
|
-
value: [0, 0, 0, 255]
|
|
57
|
-
},
|
|
58
|
-
pointSize: 1.0,
|
|
59
|
-
data: '',
|
|
60
|
-
loader: _dTiles.Tiles3DLoader,
|
|
61
|
-
onTilesetLoad: {
|
|
62
|
-
type: 'function',
|
|
63
|
-
value: function value(tileset3d) {}
|
|
64
|
-
},
|
|
65
|
-
onTileLoad: {
|
|
66
|
-
type: 'function',
|
|
67
|
-
value: function value(tileHeader) {}
|
|
68
|
-
},
|
|
69
|
-
onTileUnload: {
|
|
70
|
-
type: 'function',
|
|
71
|
-
value: function value(tileHeader) {}
|
|
72
|
-
},
|
|
73
|
-
onTileError: {
|
|
74
|
-
type: 'function',
|
|
75
|
-
value: function value(tile, message, url) {}
|
|
76
|
-
},
|
|
77
|
-
_getMeshColor: {
|
|
78
|
-
type: 'function',
|
|
79
|
-
value: function value(tileHeader) {
|
|
80
|
-
return [255, 255, 255];
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
var Tile3DLayer = function (_CompositeLayer) {
|
|
86
|
-
(0, _inherits2.default)(Tile3DLayer, _CompositeLayer);
|
|
87
|
-
|
|
88
|
-
var _super = _createSuper(Tile3DLayer);
|
|
89
|
-
|
|
90
|
-
function Tile3DLayer() {
|
|
91
|
-
var _this;
|
|
92
|
-
|
|
93
|
-
(0, _classCallCheck2.default)(this, Tile3DLayer);
|
|
94
|
-
|
|
95
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
96
|
-
args[_key] = arguments[_key];
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
100
|
-
_this.state = void 0;
|
|
101
|
-
return _this;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
var _proto = Tile3DLayer.prototype;
|
|
105
|
-
|
|
106
|
-
_proto.initializeState = function initializeState() {
|
|
107
|
-
if ('onTileLoadFail' in this.props) {
|
|
108
|
-
_core.log.removed('onTileLoadFail', 'onTileError')();
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
this.state = {
|
|
112
|
-
layerMap: {},
|
|
113
|
-
tileset3d: null,
|
|
114
|
-
activeViewports: {},
|
|
115
|
-
lastUpdatedViewports: null
|
|
116
|
-
};
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
_proto.shouldUpdateState = function shouldUpdateState(_ref) {
|
|
120
|
-
var changeFlags = _ref.changeFlags;
|
|
121
|
-
return changeFlags.somethingChanged;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
_proto.updateState = function updateState(_ref2) {
|
|
125
|
-
var props = _ref2.props,
|
|
126
|
-
oldProps = _ref2.oldProps,
|
|
127
|
-
changeFlags = _ref2.changeFlags;
|
|
128
|
-
|
|
129
|
-
if (props.data && props.data !== oldProps.data) {
|
|
130
|
-
this._loadTileset(props.data);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
if (changeFlags.viewportChanged) {
|
|
134
|
-
var activeViewports = this.state.activeViewports;
|
|
135
|
-
var viewportsNumber = Object.keys(activeViewports).length;
|
|
136
|
-
|
|
137
|
-
if (viewportsNumber) {
|
|
138
|
-
this._updateTileset(activeViewports);
|
|
139
|
-
|
|
140
|
-
this.state.lastUpdatedViewports = activeViewports;
|
|
141
|
-
this.state.activeViewports = {};
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
if (changeFlags.propsChanged) {
|
|
146
|
-
var layerMap = this.state.layerMap;
|
|
147
|
-
|
|
148
|
-
for (var key in layerMap) {
|
|
149
|
-
layerMap[key].needsUpdate = true;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
_proto.activateViewport = function activateViewport(viewport) {
|
|
155
|
-
var _this$state = this.state,
|
|
156
|
-
activeViewports = _this$state.activeViewports,
|
|
157
|
-
lastUpdatedViewports = _this$state.lastUpdatedViewports;
|
|
158
|
-
this.internalState.viewport = viewport;
|
|
159
|
-
activeViewports[viewport.id] = viewport;
|
|
160
|
-
var lastViewport = lastUpdatedViewports === null || lastUpdatedViewports === void 0 ? void 0 : lastUpdatedViewports[viewport.id];
|
|
161
|
-
|
|
162
|
-
if (!lastViewport || !viewport.equals(lastViewport)) {
|
|
163
|
-
this.setChangeFlags({
|
|
164
|
-
viewportChanged: true
|
|
165
|
-
});
|
|
166
|
-
this.setNeedsUpdate();
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
_proto.getPickingInfo = function getPickingInfo(_ref3) {
|
|
171
|
-
var info = _ref3.info,
|
|
172
|
-
sourceLayer = _ref3.sourceLayer;
|
|
173
|
-
var sourceTile = sourceLayer && sourceLayer.props.tile;
|
|
174
|
-
|
|
175
|
-
if (info.picked) {
|
|
176
|
-
info.object = sourceTile;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
info.sourceTile = sourceTile;
|
|
180
|
-
return info;
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
_proto.filterSubLayer = function filterSubLayer(_ref4) {
|
|
184
|
-
var layer = _ref4.layer,
|
|
185
|
-
viewport = _ref4.viewport;
|
|
186
|
-
var _ref5 = layer.props,
|
|
187
|
-
tile = _ref5.tile;
|
|
188
|
-
var viewportId = viewport.id;
|
|
189
|
-
return tile.selected && tile.viewportIds.includes(viewportId);
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
_proto._updateAutoHighlight = function _updateAutoHighlight(info) {
|
|
193
|
-
var sourceTile = info.sourceTile;
|
|
194
|
-
var layerCache = this.state.layerMap[sourceTile === null || sourceTile === void 0 ? void 0 : sourceTile.id];
|
|
195
|
-
|
|
196
|
-
if (layerCache && layerCache.layer) {
|
|
197
|
-
layerCache.layer.updateAutoHighlight(info);
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
_proto._loadTileset = function () {
|
|
202
|
-
var _loadTileset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tilesetUrl) {
|
|
203
|
-
var _this$props$loadOptio, loadOptions, loaders, loader, options, actualTilesetUrl, preloadOptions, tilesetJson, tileset3d;
|
|
204
|
-
|
|
205
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
206
|
-
while (1) {
|
|
207
|
-
switch (_context.prev = _context.next) {
|
|
208
|
-
case 0:
|
|
209
|
-
_this$props$loadOptio = this.props.loadOptions, loadOptions = _this$props$loadOptio === void 0 ? {} : _this$props$loadOptio;
|
|
210
|
-
loaders = this.props.loader || this.props.loaders;
|
|
211
|
-
loader = Array.isArray(loaders) ? loaders[0] : loaders;
|
|
212
|
-
options = {
|
|
213
|
-
loadOptions: _objectSpread({}, loadOptions)
|
|
214
|
-
};
|
|
215
|
-
actualTilesetUrl = tilesetUrl;
|
|
216
|
-
|
|
217
|
-
if (!loader.preload) {
|
|
218
|
-
_context.next = 12;
|
|
219
|
-
break;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
_context.next = 8;
|
|
223
|
-
return loader.preload(tilesetUrl, loadOptions);
|
|
224
|
-
|
|
225
|
-
case 8:
|
|
226
|
-
preloadOptions = _context.sent;
|
|
227
|
-
|
|
228
|
-
if (preloadOptions.url) {
|
|
229
|
-
actualTilesetUrl = preloadOptions.url;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
if (preloadOptions.headers) {
|
|
233
|
-
options.loadOptions.fetch = _objectSpread(_objectSpread({}, options.loadOptions.fetch), {}, {
|
|
234
|
-
headers: preloadOptions.headers
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
Object.assign(options, preloadOptions);
|
|
239
|
-
|
|
240
|
-
case 12:
|
|
241
|
-
_context.next = 14;
|
|
242
|
-
return (0, _core2.load)(actualTilesetUrl, loader, options.loadOptions);
|
|
243
|
-
|
|
244
|
-
case 14:
|
|
245
|
-
tilesetJson = _context.sent;
|
|
246
|
-
tileset3d = new _tiles.Tileset3D(tilesetJson, _objectSpread({
|
|
247
|
-
onTileLoad: this._onTileLoad.bind(this),
|
|
248
|
-
onTileUnload: this._onTileUnload.bind(this),
|
|
249
|
-
onTileError: this.props.onTileError
|
|
250
|
-
}, options));
|
|
251
|
-
this.setState({
|
|
252
|
-
tileset3d: tileset3d,
|
|
253
|
-
layerMap: {}
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
this._updateTileset(this.state.activeViewports);
|
|
257
|
-
|
|
258
|
-
this.props.onTilesetLoad(tileset3d);
|
|
259
|
-
|
|
260
|
-
case 19:
|
|
261
|
-
case "end":
|
|
262
|
-
return _context.stop();
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}, _callee, this);
|
|
266
|
-
}));
|
|
267
|
-
|
|
268
|
-
function _loadTileset(_x) {
|
|
269
|
-
return _loadTileset2.apply(this, arguments);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
return _loadTileset;
|
|
273
|
-
}();
|
|
274
|
-
|
|
275
|
-
_proto._onTileLoad = function _onTileLoad(tileHeader) {
|
|
276
|
-
var lastUpdatedViewports = this.state.lastUpdatedViewports;
|
|
277
|
-
this.props.onTileLoad(tileHeader);
|
|
278
|
-
|
|
279
|
-
this._updateTileset(lastUpdatedViewports);
|
|
280
|
-
|
|
281
|
-
this.setNeedsUpdate();
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
_proto._onTileUnload = function _onTileUnload(tileHeader) {
|
|
285
|
-
delete this.state.layerMap[tileHeader.id];
|
|
286
|
-
this.props.onTileUnload(tileHeader);
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
_proto._updateTileset = function _updateTileset(viewports) {
|
|
290
|
-
var _this2 = this;
|
|
291
|
-
|
|
292
|
-
if (!viewports) {
|
|
293
|
-
return;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
var tileset3d = this.state.tileset3d;
|
|
297
|
-
var timeline = this.context.timeline;
|
|
298
|
-
var viewportsNumber = Object.keys(viewports).length;
|
|
299
|
-
|
|
300
|
-
if (!timeline || !viewportsNumber || !tileset3d) {
|
|
301
|
-
return;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
tileset3d.selectTiles(Object.values(viewports)).then(function (frameNumber) {
|
|
305
|
-
var tilesetChanged = _this2.state.frameNumber !== frameNumber;
|
|
306
|
-
|
|
307
|
-
if (tilesetChanged) {
|
|
308
|
-
_this2.setState({
|
|
309
|
-
frameNumber: frameNumber
|
|
310
|
-
});
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
};
|
|
314
|
-
|
|
315
|
-
_proto._getSubLayer = function _getSubLayer(tileHeader, oldLayer) {
|
|
316
|
-
if (!tileHeader.content) {
|
|
317
|
-
return null;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
switch (tileHeader.type) {
|
|
321
|
-
case _tiles.TILE_TYPE.POINTCLOUD:
|
|
322
|
-
return this._makePointCloudLayer(tileHeader, oldLayer);
|
|
323
|
-
|
|
324
|
-
case _tiles.TILE_TYPE.SCENEGRAPH:
|
|
325
|
-
return this._make3DModelLayer(tileHeader);
|
|
326
|
-
|
|
327
|
-
case _tiles.TILE_TYPE.MESH:
|
|
328
|
-
return this._makeSimpleMeshLayer(tileHeader, oldLayer);
|
|
329
|
-
|
|
330
|
-
default:
|
|
331
|
-
throw new Error("Tile3DLayer: Failed to render layer of type ".concat(tileHeader.content.type));
|
|
332
|
-
}
|
|
333
|
-
};
|
|
334
|
-
|
|
335
|
-
_proto._makePointCloudLayer = function _makePointCloudLayer(tileHeader, oldLayer) {
|
|
336
|
-
var _tileHeader$content = tileHeader.content,
|
|
337
|
-
attributes = _tileHeader$content.attributes,
|
|
338
|
-
pointCount = _tileHeader$content.pointCount,
|
|
339
|
-
constantRGBA = _tileHeader$content.constantRGBA,
|
|
340
|
-
cartographicOrigin = _tileHeader$content.cartographicOrigin,
|
|
341
|
-
modelMatrix = _tileHeader$content.modelMatrix;
|
|
342
|
-
var positions = attributes.positions,
|
|
343
|
-
normals = attributes.normals,
|
|
344
|
-
colors = attributes.colors;
|
|
345
|
-
|
|
346
|
-
if (!positions) {
|
|
347
|
-
return null;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
var data = oldLayer && oldLayer.props.data || {
|
|
351
|
-
header: {
|
|
352
|
-
vertexCount: pointCount
|
|
353
|
-
},
|
|
354
|
-
attributes: {
|
|
355
|
-
POSITION: positions,
|
|
356
|
-
NORMAL: normals,
|
|
357
|
-
COLOR_0: colors
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
var _this$props = this.props,
|
|
361
|
-
pointSize = _this$props.pointSize,
|
|
362
|
-
getPointColor = _this$props.getPointColor;
|
|
363
|
-
var SubLayerClass = this.getSubLayerClass('pointcloud', _layers.PointCloudLayer);
|
|
364
|
-
return new SubLayerClass({
|
|
365
|
-
pointSize: pointSize
|
|
366
|
-
}, this.getSubLayerProps({
|
|
367
|
-
id: 'pointcloud'
|
|
368
|
-
}), {
|
|
369
|
-
id: "".concat(this.id, "-pointcloud-").concat(tileHeader.id),
|
|
370
|
-
tile: tileHeader,
|
|
371
|
-
data: data,
|
|
372
|
-
coordinateSystem: _core.COORDINATE_SYSTEM.METER_OFFSETS,
|
|
373
|
-
coordinateOrigin: cartographicOrigin,
|
|
374
|
-
modelMatrix: modelMatrix,
|
|
375
|
-
getColor: constantRGBA || getPointColor,
|
|
376
|
-
_offset: 0
|
|
377
|
-
});
|
|
378
|
-
};
|
|
379
|
-
|
|
380
|
-
_proto._make3DModelLayer = function _make3DModelLayer(tileHeader) {
|
|
381
|
-
var _tileHeader$content2 = tileHeader.content,
|
|
382
|
-
gltf = _tileHeader$content2.gltf,
|
|
383
|
-
instances = _tileHeader$content2.instances,
|
|
384
|
-
cartographicOrigin = _tileHeader$content2.cartographicOrigin,
|
|
385
|
-
modelMatrix = _tileHeader$content2.modelMatrix;
|
|
386
|
-
var SubLayerClass = this.getSubLayerClass('scenegraph', _meshLayers.ScenegraphLayer);
|
|
387
|
-
return new SubLayerClass({
|
|
388
|
-
_lighting: 'pbr'
|
|
389
|
-
}, this.getSubLayerProps({
|
|
390
|
-
id: 'scenegraph'
|
|
391
|
-
}), {
|
|
392
|
-
id: "".concat(this.id, "-scenegraph-").concat(tileHeader.id),
|
|
393
|
-
tile: tileHeader,
|
|
394
|
-
data: instances || SINGLE_DATA,
|
|
395
|
-
scenegraph: gltf,
|
|
396
|
-
coordinateSystem: _core.COORDINATE_SYSTEM.METER_OFFSETS,
|
|
397
|
-
coordinateOrigin: cartographicOrigin,
|
|
398
|
-
modelMatrix: modelMatrix,
|
|
399
|
-
getTransformMatrix: function getTransformMatrix(instance) {
|
|
400
|
-
return instance.modelMatrix;
|
|
401
|
-
},
|
|
402
|
-
getPosition: [0, 0, 0],
|
|
403
|
-
_offset: 0
|
|
404
|
-
});
|
|
405
|
-
};
|
|
406
|
-
|
|
407
|
-
_proto._makeSimpleMeshLayer = function _makeSimpleMeshLayer(tileHeader, oldLayer) {
|
|
408
|
-
var content = tileHeader.content;
|
|
409
|
-
var attributes = content.attributes,
|
|
410
|
-
indices = content.indices,
|
|
411
|
-
modelMatrix = content.modelMatrix,
|
|
412
|
-
cartographicOrigin = content.cartographicOrigin,
|
|
413
|
-
_content$coordinateSy = content.coordinateSystem,
|
|
414
|
-
coordinateSystem = _content$coordinateSy === void 0 ? _core.COORDINATE_SYSTEM.METER_OFFSETS : _content$coordinateSy,
|
|
415
|
-
material = content.material,
|
|
416
|
-
featureIds = content.featureIds;
|
|
417
|
-
var _getMeshColor = this.props._getMeshColor;
|
|
418
|
-
var geometry = oldLayer && oldLayer.props.mesh || new _engine.Geometry({
|
|
419
|
-
topology: 'triangle-list',
|
|
420
|
-
attributes: getMeshGeometry(attributes),
|
|
421
|
-
indices: indices
|
|
422
|
-
});
|
|
423
|
-
var SubLayerClass = this.getSubLayerClass('mesh', _meshLayer.default);
|
|
424
|
-
return new SubLayerClass(this.getSubLayerProps({
|
|
425
|
-
id: 'mesh'
|
|
426
|
-
}), {
|
|
427
|
-
id: "".concat(this.id, "-mesh-").concat(tileHeader.id),
|
|
428
|
-
tile: tileHeader,
|
|
429
|
-
mesh: geometry,
|
|
430
|
-
data: SINGLE_DATA,
|
|
431
|
-
getColor: _getMeshColor(tileHeader),
|
|
432
|
-
pbrMaterial: material,
|
|
433
|
-
modelMatrix: modelMatrix,
|
|
434
|
-
coordinateOrigin: cartographicOrigin,
|
|
435
|
-
coordinateSystem: coordinateSystem,
|
|
436
|
-
featureIds: featureIds,
|
|
437
|
-
_offset: 0
|
|
438
|
-
});
|
|
439
|
-
};
|
|
440
|
-
|
|
441
|
-
_proto.renderLayers = function renderLayers() {
|
|
442
|
-
var _this3 = this;
|
|
443
|
-
|
|
444
|
-
var _this$state2 = this.state,
|
|
445
|
-
tileset3d = _this$state2.tileset3d,
|
|
446
|
-
layerMap = _this$state2.layerMap;
|
|
447
|
-
|
|
448
|
-
if (!tileset3d) {
|
|
449
|
-
return null;
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
return tileset3d.tiles.map(function (tile) {
|
|
453
|
-
var layerCache = layerMap[tile.id] = layerMap[tile.id] || {
|
|
454
|
-
tile: tile
|
|
455
|
-
};
|
|
456
|
-
var layer = layerCache.layer;
|
|
457
|
-
|
|
458
|
-
if (tile.selected) {
|
|
459
|
-
if (!layer) {
|
|
460
|
-
layer = _this3._getSubLayer(tile);
|
|
461
|
-
} else if (layerCache.needsUpdate) {
|
|
462
|
-
layer = _this3._getSubLayer(tile, layer);
|
|
463
|
-
layerCache.needsUpdate = false;
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
layerCache.layer = layer;
|
|
468
|
-
return layer;
|
|
469
|
-
}).filter(Boolean);
|
|
470
|
-
};
|
|
471
|
-
|
|
472
|
-
(0, _createClass2.default)(Tile3DLayer, [{
|
|
473
|
-
key: "isLoaded",
|
|
474
|
-
get: function get() {
|
|
475
|
-
var _this$state3, _this$state3$tileset;
|
|
476
|
-
|
|
477
|
-
return Boolean(((_this$state3 = this.state) === null || _this$state3 === void 0 ? void 0 : (_this$state3$tileset = _this$state3.tileset3d) === null || _this$state3$tileset === void 0 ? void 0 : _this$state3$tileset.isLoaded()) && (0, _get2.default)((0, _getPrototypeOf2.default)(Tile3DLayer.prototype), "isLoaded", this));
|
|
478
|
-
}
|
|
479
|
-
}]);
|
|
480
|
-
return Tile3DLayer;
|
|
481
|
-
}(_core.CompositeLayer);
|
|
482
|
-
|
|
483
|
-
exports.default = Tile3DLayer;
|
|
484
|
-
Tile3DLayer.defaultProps = defaultProps;
|
|
485
|
-
Tile3DLayer.layerName = 'Tile3DLayer';
|
|
486
|
-
|
|
487
|
-
function getMeshGeometry(contentAttributes) {
|
|
488
|
-
var attributes = {};
|
|
489
|
-
attributes.positions = _objectSpread(_objectSpread({}, contentAttributes.positions), {}, {
|
|
490
|
-
value: new Float32Array(contentAttributes.positions.value)
|
|
491
|
-
});
|
|
492
|
-
|
|
493
|
-
if (contentAttributes.normals) {
|
|
494
|
-
attributes.normals = contentAttributes.normals;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
if (contentAttributes.texCoords) {
|
|
498
|
-
attributes.texCoords = contentAttributes.texCoords;
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
if (contentAttributes.colors) {
|
|
502
|
-
attributes.colors = contentAttributes.colors;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
if (contentAttributes.uvRegions) {
|
|
506
|
-
attributes.uvRegions = contentAttributes.uvRegions;
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
return attributes;
|
|
510
|
-
}
|
|
511
|
-
//# sourceMappingURL=tile-3d-layer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tile-3d-layer/tile-3d-layer.ts"],"names":["SINGLE_DATA","defaultProps","getPointColor","type","value","pointSize","data","loader","Tiles3DLoader","onTilesetLoad","tileset3d","onTileLoad","tileHeader","onTileUnload","onTileError","tile","message","url","_getMeshColor","Tile3DLayer","state","initializeState","props","log","removed","layerMap","activeViewports","lastUpdatedViewports","shouldUpdateState","changeFlags","somethingChanged","updateState","oldProps","_loadTileset","viewportChanged","viewportsNumber","Object","keys","length","_updateTileset","propsChanged","key","needsUpdate","activateViewport","viewport","internalState","id","lastViewport","equals","setChangeFlags","setNeedsUpdate","getPickingInfo","info","sourceLayer","sourceTile","picked","object","filterSubLayer","layer","viewportId","selected","viewportIds","includes","_updateAutoHighlight","layerCache","updateAutoHighlight","tilesetUrl","loadOptions","loaders","Array","isArray","options","actualTilesetUrl","preload","preloadOptions","headers","fetch","assign","tilesetJson","Tileset3D","_onTileLoad","bind","_onTileUnload","setState","viewports","timeline","context","selectTiles","values","then","frameNumber","tilesetChanged","_getSubLayer","oldLayer","content","TILE_TYPE","POINTCLOUD","_makePointCloudLayer","SCENEGRAPH","_make3DModelLayer","MESH","_makeSimpleMeshLayer","Error","attributes","pointCount","constantRGBA","cartographicOrigin","modelMatrix","positions","normals","colors","header","vertexCount","POSITION","NORMAL","COLOR_0","SubLayerClass","getSubLayerClass","PointCloudLayer","getSubLayerProps","coordinateSystem","COORDINATE_SYSTEM","METER_OFFSETS","coordinateOrigin","getColor","_offset","gltf","instances","ScenegraphLayer","_lighting","scenegraph","getTransformMatrix","instance","getPosition","indices","material","featureIds","geometry","mesh","Geometry","topology","getMeshGeometry","MeshLayer","pbrMaterial","renderLayers","tiles","map","filter","Boolean","isLoaded","CompositeLayer","layerName","contentAttributes","Float32Array","texCoords","uvRegions"],"mappings":"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","sourcesContent":["import {Geometry} from '@luma.gl/engine';\n\nimport {\n Accessor,\n Color,\n CompositeLayer,\n CompositeLayerProps,\n COORDINATE_SYSTEM,\n FilterContext,\n GetPickingInfoParams,\n Layer,\n LayersList,\n log,\n PickingInfo,\n UpdateParameters,\n Viewport,\n DefaultProps\n} from '@deck.gl/core';\nimport {PointCloudLayer} from '@deck.gl/layers';\nimport {ScenegraphLayer} from '@deck.gl/mesh-layers';\nimport {default as MeshLayer} from '../mesh-layer/mesh-layer';\n\nimport {load} from '@loaders.gl/core';\nimport {MeshAttributes} from '@loaders.gl/schema';\nimport {Tileset3D, Tile3D, TILE_TYPE} from '@loaders.gl/tiles';\nimport {Tiles3DLoader} from '@loaders.gl/3d-tiles';\n\nconst SINGLE_DATA = [0];\n\nconst defaultProps: DefaultProps<Tile3DLayerProps> = {\n getPointColor: {type: 'accessor', value: [0, 0, 0, 255]},\n pointSize: 1.0,\n\n // Disable async data loading (handling it in _loadTileSet)\n data: '',\n loader: Tiles3DLoader,\n\n onTilesetLoad: {type: 'function', value: tileset3d => {}},\n onTileLoad: {type: 'function', value: tileHeader => {}},\n onTileUnload: {type: 'function', value: tileHeader => {}},\n onTileError: {type: 'function', value: (tile, message, url) => {}},\n _getMeshColor: {type: 'function', value: tileHeader => [255, 255, 255]}\n};\n\n/** All properties supported by Tile3DLayer */\nexport type Tile3DLayerProps<DataT = unknown> = _Tile3DLayerProps<DataT> & CompositeLayerProps;\n\n/** Props added by the Tile3DLayer */\ntype _Tile3DLayerProps<DataT> = {\n data: string;\n /** Color Accessor for point clouds. **/\n getPointColor?: Accessor<DataT, Color>;\n\n /** Global radius of all points in pixels. **/\n pointSize?: number;\n\n /** A loader which is used to decode the fetched tiles.\n * @deprecated Use `loaders` instead\n */\n loader?: typeof Tiles3DLoader;\n\n /** Called when Tileset JSON file is loaded. **/\n onTilesetLoad?: (tile: Tileset3D) => void;\n\n /** Called when a tile in the tileset hierarchy is loaded. **/\n onTileLoad?: (tile: Tile3D) => void;\n\n /** Called when a tile is unloaded. **/\n onTileUnload?: (tile: Tile3D) => void;\n\n /** Called when a tile fails to load. **/\n onTileError?: (tile: Tile3D, url: string, message: string) => void;\n\n /** (Experimental) Accessor to change color of mesh based on properties. **/\n _getMeshColor?: (tile: Tile3D) => Color;\n};\n\n/** Render 3d tiles data formatted according to the [3D Tiles Specification](https://www.opengeospatial.org/standards/3DTiles) and [`ESRI I3S`](https://github.com/Esri/i3s-spec) */\nexport default class Tile3DLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_Tile3DLayerProps<DataT>>\n> {\n static defaultProps = defaultProps;\n static layerName = 'Tile3DLayer';\n\n state!: {\n activeViewports: {};\n frameNumber?: number;\n lastUpdatedViewports: {[viewportId: string]: Viewport} | null;\n layerMap: {[layerId: string]: any};\n tileset3d: Tileset3D | null;\n };\n\n initializeState() {\n if ('onTileLoadFail' in this.props) {\n log.removed('onTileLoadFail', 'onTileError')();\n }\n // prop verification\n this.state = {\n layerMap: {},\n tileset3d: null,\n activeViewports: {},\n lastUpdatedViewports: null\n };\n }\n\n get isLoaded(): boolean {\n return Boolean(this.state?.tileset3d?.isLoaded() && super.isLoaded);\n }\n\n shouldUpdateState({changeFlags}: UpdateParameters<this>): boolean {\n return changeFlags.somethingChanged;\n }\n\n updateState({props, oldProps, changeFlags}: UpdateParameters<this>): void {\n if (props.data && props.data !== oldProps.data) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._loadTileset(props.data);\n }\n\n if (changeFlags.viewportChanged) {\n const {activeViewports} = this.state;\n const viewportsNumber = Object.keys(activeViewports).length;\n if (viewportsNumber) {\n this._updateTileset(activeViewports);\n this.state.lastUpdatedViewports = activeViewports;\n this.state.activeViewports = {};\n }\n }\n if (changeFlags.propsChanged) {\n const {layerMap} = this.state;\n for (const key in layerMap) {\n layerMap[key].needsUpdate = true;\n }\n }\n }\n\n activateViewport(viewport: Viewport): void {\n const {activeViewports, lastUpdatedViewports} = this.state;\n this.internalState!.viewport = viewport;\n\n activeViewports[viewport.id] = viewport;\n const lastViewport = lastUpdatedViewports?.[viewport.id];\n if (!lastViewport || !viewport.equals(lastViewport)) {\n this.setChangeFlags({viewportChanged: true});\n this.setNeedsUpdate();\n }\n }\n\n getPickingInfo({info, sourceLayer}: GetPickingInfoParams) {\n const sourceTile = sourceLayer && (sourceLayer.props as any).tile;\n if (info.picked) {\n info.object = sourceTile;\n }\n (info as any).sourceTile = sourceTile;\n\n return info;\n }\n\n filterSubLayer({layer, viewport}: FilterContext): boolean {\n // All sublayers will have a tile prop\n const {tile} = layer.props as unknown as {tile: Tile3D};\n const {id: viewportId} = viewport;\n return tile.selected && tile.viewportIds.includes(viewportId);\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const sourceTile = (info as any).sourceTile;\n const layerCache = this.state.layerMap[sourceTile?.id];\n if (layerCache && layerCache.layer) {\n layerCache.layer.updateAutoHighlight(info);\n }\n }\n\n private async _loadTileset(tilesetUrl) {\n const {loadOptions = {}} = this.props;\n\n // TODO: deprecate `loader` in v9.0\n // @ts-ignore\n const loaders = this.props.loader || this.props.loaders;\n const loader = Array.isArray(loaders) ? loaders[0] : loaders;\n\n const options = {loadOptions: {...loadOptions}};\n let actualTilesetUrl = tilesetUrl;\n if (loader.preload) {\n const preloadOptions = await loader.preload(tilesetUrl, loadOptions);\n if (preloadOptions.url) {\n actualTilesetUrl = preloadOptions.url;\n }\n\n if (preloadOptions.headers) {\n options.loadOptions.fetch = {\n ...options.loadOptions.fetch,\n headers: preloadOptions.headers\n };\n }\n Object.assign(options, preloadOptions);\n }\n const tilesetJson = await load(actualTilesetUrl, loader, options.loadOptions);\n\n const tileset3d = new Tileset3D(tilesetJson, {\n onTileLoad: this._onTileLoad.bind(this),\n onTileUnload: this._onTileUnload.bind(this),\n onTileError: this.props.onTileError,\n ...options\n });\n\n this.setState({\n tileset3d,\n layerMap: {}\n });\n\n this._updateTileset(this.state.activeViewports);\n this.props.onTilesetLoad(tileset3d);\n }\n\n private _onTileLoad(tileHeader: Tile3D): void {\n const {lastUpdatedViewports} = this.state;\n this.props.onTileLoad(tileHeader);\n this._updateTileset(lastUpdatedViewports);\n this.setNeedsUpdate();\n }\n\n private _onTileUnload(tileHeader: Tile3D): void {\n // Was cleaned up from tileset cache. We no longer need to track it.\n delete this.state.layerMap[tileHeader.id];\n this.props.onTileUnload(tileHeader);\n }\n\n private _updateTileset(viewports: {[viewportId: string]: Viewport} | null): void {\n if (!viewports) {\n return;\n }\n const {tileset3d} = this.state;\n const {timeline} = this.context;\n const viewportsNumber = Object.keys(viewports).length;\n if (!timeline || !viewportsNumber || !tileset3d) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n tileset3d.selectTiles(Object.values(viewports)).then(frameNumber => {\n const tilesetChanged = this.state.frameNumber !== frameNumber;\n if (tilesetChanged) {\n this.setState({frameNumber});\n }\n });\n }\n\n private _getSubLayer(\n tileHeader: Tile3D,\n oldLayer?: Layer\n ): MeshLayer<DataT> | PointCloudLayer<DataT> | ScenegraphLayer<DataT> | null {\n if (!tileHeader.content) {\n return null;\n }\n\n switch (tileHeader.type as TILE_TYPE) {\n case TILE_TYPE.POINTCLOUD:\n return this._makePointCloudLayer(tileHeader, oldLayer as PointCloudLayer<DataT>);\n case TILE_TYPE.SCENEGRAPH:\n return this._make3DModelLayer(tileHeader);\n case TILE_TYPE.MESH:\n return this._makeSimpleMeshLayer(tileHeader, oldLayer as MeshLayer<DataT>);\n default:\n throw new Error(`Tile3DLayer: Failed to render layer of type ${tileHeader.content.type}`);\n }\n }\n\n private _makePointCloudLayer(\n tileHeader: Tile3D,\n oldLayer?: PointCloudLayer<DataT>\n ): PointCloudLayer<DataT> | null {\n const {attributes, pointCount, constantRGBA, cartographicOrigin, modelMatrix} =\n tileHeader.content;\n const {positions, normals, colors} = attributes;\n\n if (!positions) {\n return null;\n }\n const data = (oldLayer && oldLayer.props.data) || {\n header: {\n vertexCount: pointCount\n },\n attributes: {\n POSITION: positions,\n NORMAL: normals,\n COLOR_0: colors\n }\n };\n\n const {pointSize, getPointColor} = this.props;\n const SubLayerClass = this.getSubLayerClass('pointcloud', PointCloudLayer);\n return new SubLayerClass(\n {\n pointSize\n },\n this.getSubLayerProps({\n id: 'pointcloud'\n }),\n {\n id: `${this.id}-pointcloud-${tileHeader.id}`,\n tile: tileHeader,\n data,\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n coordinateOrigin: cartographicOrigin,\n modelMatrix,\n getColor: constantRGBA || getPointColor,\n _offset: 0\n }\n );\n }\n\n private _make3DModelLayer(tileHeader: Tile3D): ScenegraphLayer<DataT> {\n const {gltf, instances, cartographicOrigin, modelMatrix} = tileHeader.content;\n\n const SubLayerClass = this.getSubLayerClass('scenegraph', ScenegraphLayer);\n\n return new SubLayerClass(\n {\n _lighting: 'pbr'\n },\n this.getSubLayerProps({\n id: 'scenegraph'\n }),\n {\n id: `${this.id}-scenegraph-${tileHeader.id}`,\n tile: tileHeader,\n data: instances || SINGLE_DATA,\n scenegraph: gltf,\n\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n coordinateOrigin: cartographicOrigin,\n modelMatrix,\n getTransformMatrix: instance => instance.modelMatrix,\n getPosition: [0, 0, 0],\n _offset: 0\n }\n );\n }\n\n private _makeSimpleMeshLayer(tileHeader: Tile3D, oldLayer?: MeshLayer<DataT>): MeshLayer<DataT> {\n const content = tileHeader.content;\n const {\n attributes,\n indices,\n modelMatrix,\n cartographicOrigin,\n coordinateSystem = COORDINATE_SYSTEM.METER_OFFSETS,\n material,\n featureIds\n } = content;\n const {_getMeshColor} = this.props;\n\n const geometry =\n (oldLayer && oldLayer.props.mesh) ||\n new Geometry({\n topology: 'triangle-list',\n attributes: getMeshGeometry(attributes),\n indices\n });\n\n const SubLayerClass = this.getSubLayerClass('mesh', MeshLayer);\n\n return new SubLayerClass(\n this.getSubLayerProps({\n id: 'mesh'\n }),\n {\n id: `${this.id}-mesh-${tileHeader.id}`,\n tile: tileHeader,\n mesh: geometry,\n data: SINGLE_DATA,\n getColor: _getMeshColor(tileHeader),\n pbrMaterial: material,\n modelMatrix,\n coordinateOrigin: cartographicOrigin,\n coordinateSystem,\n featureIds,\n _offset: 0\n }\n );\n }\n\n renderLayers(): Layer | null | LayersList {\n const {tileset3d, layerMap} = this.state;\n if (!tileset3d) {\n return null;\n }\n\n // loaders.gl doesn't provide a type for tileset3d.tiles\n return (tileset3d.tiles as Tile3D[])\n .map(tile => {\n const layerCache = (layerMap[tile.id] = layerMap[tile.id] || {tile});\n let {layer} = layerCache;\n if (tile.selected) {\n // render selected tiles\n if (!layer) {\n // create layer\n layer = this._getSubLayer(tile);\n } else if (layerCache.needsUpdate) {\n // props have changed, rerender layer\n layer = this._getSubLayer(tile, layer);\n layerCache.needsUpdate = false;\n }\n }\n layerCache.layer = layer;\n return layer;\n })\n .filter(Boolean);\n }\n}\n\nfunction getMeshGeometry(contentAttributes: MeshAttributes): MeshAttributes {\n const attributes: MeshAttributes = {};\n attributes.positions = {\n ...contentAttributes.positions,\n value: new Float32Array(contentAttributes.positions.value)\n };\n if (contentAttributes.normals) {\n attributes.normals = contentAttributes.normals;\n }\n if (contentAttributes.texCoords) {\n attributes.texCoords = contentAttributes.texCoords;\n }\n if (contentAttributes.colors) {\n attributes.colors = contentAttributes.colors;\n }\n if (contentAttributes.uvRegions) {\n attributes.uvRegions = contentAttributes.uvRegions;\n }\n return attributes;\n}\n"],"file":"tile-3d-layer.js"}
|