@deck.gl/geo-layers 8.10.0-alpha.4 → 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.
Files changed (84) hide show
  1. package/dist/dist.dev.js +23 -666
  2. package/dist/es5/geo-cell-layer/GeoCellLayer.js +66 -69
  3. package/dist/es5/geo-cell-layer/GeoCellLayer.js.map +1 -1
  4. package/dist/es5/geohash-layer/geohash-layer.js +18 -22
  5. package/dist/es5/geohash-layer/geohash-layer.js.map +1 -1
  6. package/dist/es5/great-circle-layer/great-circle-layer.js +2 -4
  7. package/dist/es5/great-circle-layer/great-circle-layer.js.map +1 -1
  8. package/dist/es5/h3-layers/h3-cluster-layer.js +85 -91
  9. package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
  10. package/dist/es5/h3-layers/h3-hexagon-layer.js +222 -234
  11. package/dist/es5/h3-layers/h3-hexagon-layer.js.map +1 -1
  12. package/dist/es5/index.js.map +1 -1
  13. package/dist/es5/mesh-layer/mesh-layer.js +126 -136
  14. package/dist/es5/mesh-layer/mesh-layer.js.map +1 -1
  15. package/dist/es5/mvt-layer/mvt-layer.js +338 -350
  16. package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
  17. package/dist/es5/quadkey-layer/quadkey-layer.js +23 -27
  18. package/dist/es5/quadkey-layer/quadkey-layer.js.map +1 -1
  19. package/dist/es5/s2-layer/s2-layer.js +18 -22
  20. package/dist/es5/s2-layer/s2-layer.js.map +1 -1
  21. package/dist/es5/terrain-layer/terrain-layer.js +225 -234
  22. package/dist/es5/terrain-layer/terrain-layer.js.map +1 -1
  23. package/dist/es5/tile-3d-layer/tile-3d-layer.js +338 -354
  24. package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -1
  25. package/dist/es5/tile-layer/tile-layer.js +219 -234
  26. package/dist/es5/tile-layer/tile-layer.js.map +1 -1
  27. package/dist/es5/tileset-2d/tile-2d-header.js +160 -164
  28. package/dist/es5/tileset-2d/tile-2d-header.js.map +1 -1
  29. package/dist/es5/tileset-2d/tile-2d-traversal.js +118 -122
  30. package/dist/es5/tileset-2d/tile-2d-traversal.js.map +1 -1
  31. package/dist/es5/tileset-2d/tileset-2d.js +397 -411
  32. package/dist/es5/tileset-2d/tileset-2d.js.map +1 -1
  33. package/dist/es5/trips-layer/trips-layer.js +48 -52
  34. package/dist/es5/trips-layer/trips-layer.js.map +1 -1
  35. package/dist/es5/wms-layer/wms-layer.js +263 -274
  36. package/dist/es5/wms-layer/wms-layer.js.map +1 -1
  37. package/dist/esm/geo-cell-layer/GeoCellLayer.js +2 -5
  38. package/dist/esm/geo-cell-layer/GeoCellLayer.js.map +1 -1
  39. package/dist/esm/geohash-layer/geohash-layer.js +2 -5
  40. package/dist/esm/geohash-layer/geohash-layer.js.map +1 -1
  41. package/dist/esm/great-circle-layer/great-circle-layer.js +2 -5
  42. package/dist/esm/great-circle-layer/great-circle-layer.js.map +1 -1
  43. package/dist/esm/h3-layers/h3-cluster-layer.js +2 -5
  44. package/dist/esm/h3-layers/h3-cluster-layer.js.map +1 -1
  45. package/dist/esm/h3-layers/h3-hexagon-layer.js +4 -8
  46. package/dist/esm/h3-layers/h3-hexagon-layer.js.map +1 -1
  47. package/dist/esm/index.js.map +1 -1
  48. package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js +55 -1
  49. package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js.map +1 -1
  50. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js +80 -1
  51. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -1
  52. package/dist/esm/mesh-layer/mesh-layer.js +2 -5
  53. package/dist/esm/mesh-layer/mesh-layer.js.map +1 -1
  54. package/dist/esm/mvt-layer/mvt-layer.js +2 -5
  55. package/dist/esm/mvt-layer/mvt-layer.js.map +1 -1
  56. package/dist/esm/quadkey-layer/quadkey-layer.js +2 -5
  57. package/dist/esm/quadkey-layer/quadkey-layer.js.map +1 -1
  58. package/dist/esm/s2-layer/s2-geometry.js +1 -1
  59. package/dist/esm/s2-layer/s2-geometry.js.map +1 -1
  60. package/dist/esm/s2-layer/s2-layer.js +2 -5
  61. package/dist/esm/s2-layer/s2-layer.js.map +1 -1
  62. package/dist/esm/terrain-layer/terrain-layer.js +3 -7
  63. package/dist/esm/terrain-layer/terrain-layer.js.map +1 -1
  64. package/dist/esm/tile-3d-layer/tile-3d-layer.js +7 -11
  65. package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +1 -1
  66. package/dist/esm/tile-layer/tile-layer.js +2 -5
  67. package/dist/esm/tile-layer/tile-layer.js.map +1 -1
  68. package/dist/esm/tileset-2d/tile-2d-header.js +19 -39
  69. package/dist/esm/tileset-2d/tile-2d-header.js.map +1 -1
  70. package/dist/esm/tileset-2d/tile-2d-traversal.js +6 -13
  71. package/dist/esm/tileset-2d/tile-2d-traversal.js.map +1 -1
  72. package/dist/esm/tileset-2d/tileset-2d.js +17 -34
  73. package/dist/esm/tileset-2d/tileset-2d.js.map +1 -1
  74. package/dist/esm/tileset-2d/utils.js +1 -1
  75. package/dist/esm/tileset-2d/utils.js.map +1 -1
  76. package/dist/esm/trips-layer/trips-layer.js +27 -10
  77. package/dist/esm/trips-layer/trips-layer.js.map +1 -1
  78. package/dist/esm/wms-layer/wms-layer.js +3 -7
  79. package/dist/esm/wms-layer/wms-layer.js.map +1 -1
  80. package/dist.min.js +111 -56
  81. package/package.json +2 -2
  82. package/src/index.ts +1 -0
  83. package/typed/index.d.ts +1 -0
  84. package/typed/index.d.ts.map +1 -1
@@ -1 +1 @@
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","props","log","removed","state","layerMap","activeViewports","lastUpdatedViewports","isLoaded","changeFlags","somethingChanged","oldProps","_loadTileset","viewportChanged","viewportsNumber","Object","keys","length","_updateTileset","propsChanged","key","needsUpdate","viewport","internalState","id","lastViewport","equals","setChangeFlags","setNeedsUpdate","info","sourceLayer","sourceTile","picked","object","layer","viewportId","selected","viewportIds","includes","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","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","drawMode","getMeshGeometry","MeshLayer","pbrMaterial","tiles","map","_getSubLayer","filter","Boolean","CompositeLayer","contentAttributes","Float32Array","texCoords","uvRegions"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {Geometry} from '@luma.gl/core';\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 = any> = _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 const {tileset3d} = this.state;\n return tileset3d !== null && tileset3d.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 let loader = this.props.loader || this.props.loaders;\n if (Array.isArray(loader)) {\n loader = loader[0];\n }\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) {\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 drawMode: GL.TRIANGLES,\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"}
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","drawMode","getMeshGeometry","MeshLayer","pbrMaterial","renderLayers","tiles","map","filter","Boolean","isLoaded","CompositeLayer","layerName","contentAttributes","Float32Array","texCoords","uvRegions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AAgBA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;;;;;;;;;AAEA,IAAMA,WAAW,GAAG,CAAC,CAAD,CAApB;AAEA,IAAMC,YAA4C,GAAG;AACnDC,EAAAA,aAAa,EAAE;AAACC,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,GAAV;AAA1B,GADoC;AAEnDC,EAAAA,SAAS,EAAE,GAFwC;AAKnDC,EAAAA,IAAI,EAAE,EAL6C;AAMnDC,EAAAA,MAAM,EAAEC,qBAN2C;AAQnDC,EAAAA,aAAa,EAAE;AAACN,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAAAM,SAAS,EAAI,CAAE;AAAzC,GARoC;AASnDC,EAAAA,UAAU,EAAE;AAACR,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAAAQ,UAAU,EAAI,CAAE;AAA1C,GATuC;AAUnDC,EAAAA,YAAY,EAAE;AAACV,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAAAQ,UAAU,EAAI,CAAE;AAA1C,GAVqC;AAWnDE,EAAAA,WAAW,EAAE;AAACX,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAACW,IAAD,EAAOC,OAAP,EAAgBC,GAAhB,EAAwB,CAAE;AAApD,GAXsC;AAYnDC,EAAAA,aAAa,EAAE;AAACf,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAAAQ,UAAU;AAAA,aAAI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAAJ;AAAA;AAApC;AAZoC,CAArD;;IAiDqBO,W;;;;;;;;;;;;;;;UAMnBC,K;;;;;;SAQAC,e,GAAA,2BAAkB;AAChB,QAAI,oBAAoB,KAAKC,KAA7B,EAAoC;AAClCC,iBAAIC,OAAJ,CAAY,gBAAZ,EAA8B,aAA9B;AACD;;AAED,SAAKJ,KAAL,GAAa;AACXK,MAAAA,QAAQ,EAAE,EADC;AAEXf,MAAAA,SAAS,EAAE,IAFA;AAGXgB,MAAAA,eAAe,EAAE,EAHN;AAIXC,MAAAA,oBAAoB,EAAE;AAJX,KAAb;AAMD,G;;SAODC,iB,GAAA,iCAAkE;AAAA,QAA/CC,WAA+C,QAA/CA,WAA+C;AAChE,WAAOA,WAAW,CAACC,gBAAnB;AACD,G;;SAEDC,W,GAAA,4BAA0E;AAAA,QAA7DT,KAA6D,SAA7DA,KAA6D;AAAA,QAAtDU,QAAsD,SAAtDA,QAAsD;AAAA,QAA5CH,WAA4C,SAA5CA,WAA4C;;AACxE,QAAIP,KAAK,CAAChB,IAAN,IAAcgB,KAAK,CAAChB,IAAN,KAAe0B,QAAQ,CAAC1B,IAA1C,EAAgD;AAE9C,WAAK2B,YAAL,CAAkBX,KAAK,CAAChB,IAAxB;AACD;;AAED,QAAIuB,WAAW,CAACK,eAAhB,EAAiC;AAC/B,UAAOR,eAAP,GAA0B,KAAKN,KAA/B,CAAOM,eAAP;AACA,UAAMS,eAAe,GAAGC,MAAM,CAACC,IAAP,CAAYX,eAAZ,EAA6BY,MAArD;;AACA,UAAIH,eAAJ,EAAqB;AACnB,aAAKI,cAAL,CAAoBb,eAApB;;AACA,aAAKN,KAAL,CAAWO,oBAAX,GAAkCD,eAAlC;AACA,aAAKN,KAAL,CAAWM,eAAX,GAA6B,EAA7B;AACD;AACF;;AACD,QAAIG,WAAW,CAACW,YAAhB,EAA8B;AAC5B,UAAOf,QAAP,GAAmB,KAAKL,KAAxB,CAAOK,QAAP;;AACA,WAAK,IAAMgB,GAAX,IAAkBhB,QAAlB,EAA4B;AAC1BA,QAAAA,QAAQ,CAACgB,GAAD,CAAR,CAAcC,WAAd,GAA4B,IAA5B;AACD;AACF;AACF,G;;SAEDC,gB,GAAA,0BAAiBC,QAAjB,EAA2C;AACzC,sBAAgD,KAAKxB,KAArD;AAAA,QAAOM,eAAP,eAAOA,eAAP;AAAA,QAAwBC,oBAAxB,eAAwBA,oBAAxB;AACA,SAAKkB,aAAL,CAAoBD,QAApB,GAA+BA,QAA/B;AAEAlB,IAAAA,eAAe,CAACkB,QAAQ,CAACE,EAAV,CAAf,GAA+BF,QAA/B;AACA,QAAMG,YAAY,GAAGpB,oBAAH,aAAGA,oBAAH,uBAAGA,oBAAoB,CAAGiB,QAAQ,CAACE,EAAZ,CAAzC;;AACA,QAAI,CAACC,YAAD,IAAiB,CAACH,QAAQ,CAACI,MAAT,CAAgBD,YAAhB,CAAtB,EAAqD;AACnD,WAAKE,cAAL,CAAoB;AAACf,QAAAA,eAAe,EAAE;AAAlB,OAApB;AACA,WAAKgB,cAAL;AACD;AACF,G;;SAEDC,c,GAAA,+BAA0D;AAAA,QAA1CC,IAA0C,SAA1CA,IAA0C;AAAA,QAApCC,WAAoC,SAApCA,WAAoC;AACxD,QAAMC,UAAU,GAAGD,WAAW,IAAKA,WAAW,CAAC/B,KAAb,CAA2BP,IAA7D;;AACA,QAAIqC,IAAI,CAACG,MAAT,EAAiB;AACfH,MAAAA,IAAI,CAACI,MAAL,GAAcF,UAAd;AACD;;AACAF,IAAAA,IAAD,CAAcE,UAAd,GAA2BA,UAA3B;AAEA,WAAOF,IAAP;AACD,G;;SAEDK,c,GAAA,+BAA0D;AAAA,QAA1CC,KAA0C,SAA1CA,KAA0C;AAAA,QAAnCd,QAAmC,SAAnCA,QAAmC;AAExD,gBAAec,KAAK,CAACpC,KAArB;AAAA,QAAOP,IAAP,SAAOA,IAAP;AACA,QAAW4C,UAAX,GAAyBf,QAAzB,CAAOE,EAAP;AACA,WAAO/B,IAAI,CAAC6C,QAAL,IAAiB7C,IAAI,CAAC8C,WAAL,CAAiBC,QAAjB,CAA0BH,UAA1B,CAAxB;AACD,G;;SAESI,oB,GAAV,8BAA+BX,IAA/B,EAAwD;AACtD,QAAME,UAAU,GAAIF,IAAD,CAAcE,UAAjC;AACA,QAAMU,UAAU,GAAG,KAAK5C,KAAL,CAAWK,QAAX,CAAoB6B,UAApB,aAAoBA,UAApB,uBAAoBA,UAAU,CAAER,EAAhC,CAAnB;;AACA,QAAIkB,UAAU,IAAIA,UAAU,CAACN,KAA7B,EAAoC;AAClCM,MAAAA,UAAU,CAACN,KAAX,CAAiBO,mBAAjB,CAAqCb,IAArC;AACD;AACF,G;;SAEanB,Y;kFAAd,iBAA2BiC,UAA3B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sCAC6B,KAAK5C,KADlC,CACS6C,WADT,EACSA,WADT,sCACuB,EADvB;AAKM5D,cAAAA,MALN,GAKe,KAAKe,KAAL,CAAWf,MAAX,IAAqB,KAAKe,KAAL,CAAW8C,OAL/C;;AAME,kBAAIC,KAAK,CAACC,OAAN,CAAc/D,MAAd,CAAJ,EAA2B;AACzBA,gBAAAA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAf;AACD;;AAEKgE,cAAAA,OAVR,GAUkB;AAACJ,gBAAAA,WAAW,oBAAMA,WAAN;AAAZ,eAVlB;AAWMK,cAAAA,gBAXN,GAWyBN,UAXzB;;AAAA,mBAYM3D,MAAM,CAACkE,OAZb;AAAA;AAAA;AAAA;;AAAA;AAAA,qBAaiClE,MAAM,CAACkE,OAAP,CAAeP,UAAf,EAA2BC,WAA3B,CAbjC;;AAAA;AAaUO,cAAAA,cAbV;;AAcI,kBAAIA,cAAc,CAACzD,GAAnB,EAAwB;AACtBuD,gBAAAA,gBAAgB,GAAGE,cAAc,CAACzD,GAAlC;AACD;;AAED,kBAAIyD,cAAc,CAACC,OAAnB,EAA4B;AAC1BJ,gBAAAA,OAAO,CAACJ,WAAR,CAAoBS,KAApB,mCACKL,OAAO,CAACJ,WAAR,CAAoBS,KADzB;AAEED,kBAAAA,OAAO,EAAED,cAAc,CAACC;AAF1B;AAID;;AACDvC,cAAAA,MAAM,CAACyC,MAAP,CAAcN,OAAd,EAAuBG,cAAvB;;AAxBJ;AAAA;AAAA,qBA0B4B,iBAAKF,gBAAL,EAAuBjE,MAAvB,EAA+BgE,OAAO,CAACJ,WAAvC,CA1B5B;;AAAA;AA0BQW,cAAAA,WA1BR;AA4BQpE,cAAAA,SA5BR,GA4BoB,IAAIqE,gBAAJ,CAAcD,WAAd;AAChBnE,gBAAAA,UAAU,EAAE,KAAKqE,WAAL,CAAiBC,IAAjB,CAAsB,IAAtB,CADI;AAEhBpE,gBAAAA,YAAY,EAAE,KAAKqE,aAAL,CAAmBD,IAAnB,CAAwB,IAAxB,CAFE;AAGhBnE,gBAAAA,WAAW,EAAE,KAAKQ,KAAL,CAAWR;AAHR,iBAIbyD,OAJa,EA5BpB;AAmCE,mBAAKY,QAAL,CAAc;AACZzE,gBAAAA,SAAS,EAATA,SADY;AAEZe,gBAAAA,QAAQ,EAAE;AAFE,eAAd;;AAKA,mBAAKc,cAAL,CAAoB,KAAKnB,KAAL,CAAWM,eAA/B;;AACA,mBAAKJ,KAAL,CAAWb,aAAX,CAAyBC,SAAzB;;AAzCF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;;;;;;;;SA4CQsE,W,GAAR,qBAAoBpE,UAApB,EAA8C;AAC5C,QAAOe,oBAAP,GAA+B,KAAKP,KAApC,CAAOO,oBAAP;AACA,SAAKL,KAAL,CAAWX,UAAX,CAAsBC,UAAtB;;AACA,SAAK2B,cAAL,CAAoBZ,oBAApB;;AACA,SAAKuB,cAAL;AACD,G;;SAEOgC,a,GAAR,uBAAsBtE,UAAtB,EAAgD;AAE9C,WAAO,KAAKQ,KAAL,CAAWK,QAAX,CAAoBb,UAAU,CAACkC,EAA/B,CAAP;AACA,SAAKxB,KAAL,CAAWT,YAAX,CAAwBD,UAAxB;AACD,G;;SAEO2B,c,GAAR,wBAAuB6C,SAAvB,EAAiF;AAAA;;AAC/E,QAAI,CAACA,SAAL,EAAgB;AACd;AACD;;AACD,QAAO1E,SAAP,GAAoB,KAAKU,KAAzB,CAAOV,SAAP;AACA,QAAO2E,QAAP,GAAmB,KAAKC,OAAxB,CAAOD,QAAP;AACA,QAAMlD,eAAe,GAAGC,MAAM,CAACC,IAAP,CAAY+C,SAAZ,EAAuB9C,MAA/C;;AACA,QAAI,CAAC+C,QAAD,IAAa,CAAClD,eAAd,IAAiC,CAACzB,SAAtC,EAAiD;AAC/C;AACD;;AAGDA,IAAAA,SAAS,CAAC6E,WAAV,CAAsBnD,MAAM,CAACoD,MAAP,CAAcJ,SAAd,CAAtB,EAAgDK,IAAhD,CAAqD,UAAAC,WAAW,EAAI;AAClE,UAAMC,cAAc,GAAG,MAAI,CAACvE,KAAL,CAAWsE,WAAX,KAA2BA,WAAlD;;AACA,UAAIC,cAAJ,EAAoB;AAClB,QAAA,MAAI,CAACR,QAAL,CAAc;AAACO,UAAAA,WAAW,EAAXA;AAAD,SAAd;AACD;AACF,KALD;AAMD,G;;SAEOE,Y,GAAR,sBACEhF,UADF,EAEEiF,QAFF,EAG6E;AAC3E,QAAI,CAACjF,UAAU,CAACkF,OAAhB,EAAyB;AACvB,aAAO,IAAP;AACD;;AAED,YAAQlF,UAAU,CAACT,IAAnB;AACE,WAAK4F,iBAAUC,UAAf;AACE,eAAO,KAAKC,oBAAL,CAA0BrF,UAA1B,EAAsCiF,QAAtC,CAAP;;AACF,WAAKE,iBAAUG,UAAf;AACE,eAAO,KAAKC,iBAAL,CAAuBvF,UAAvB,CAAP;;AACF,WAAKmF,iBAAUK,IAAf;AACE,eAAO,KAAKC,oBAAL,CAA0BzF,UAA1B,EAAsCiF,QAAtC,CAAP;;AACF;AACE,cAAM,IAAIS,KAAJ,uDAAyD1F,UAAU,CAACkF,OAAX,CAAmB3F,IAA5E,EAAN;AARJ;AAUD,G;;SAEO8F,oB,GAAR,8BACErF,UADF,EAEEiF,QAFF,EAGiC;AAC/B,8BACEjF,UAAU,CAACkF,OADb;AAAA,QAAOS,UAAP,uBAAOA,UAAP;AAAA,QAAmBC,UAAnB,uBAAmBA,UAAnB;AAAA,QAA+BC,YAA/B,uBAA+BA,YAA/B;AAAA,QAA6CC,kBAA7C,uBAA6CA,kBAA7C;AAAA,QAAiEC,WAAjE,uBAAiEA,WAAjE;AAEA,QAAOC,SAAP,GAAqCL,UAArC,CAAOK,SAAP;AAAA,QAAkBC,OAAlB,GAAqCN,UAArC,CAAkBM,OAAlB;AAAA,QAA2BC,MAA3B,GAAqCP,UAArC,CAA2BO,MAA3B;;AAEA,QAAI,CAACF,SAAL,EAAgB;AACd,aAAO,IAAP;AACD;;AACD,QAAMtG,IAAI,GAAIuF,QAAQ,IAAIA,QAAQ,CAACvE,KAAT,CAAehB,IAA5B,IAAqC;AAChDyG,MAAAA,MAAM,EAAE;AACNC,QAAAA,WAAW,EAAER;AADP,OADwC;AAIhDD,MAAAA,UAAU,EAAE;AACVU,QAAAA,QAAQ,EAAEL,SADA;AAEVM,QAAAA,MAAM,EAAEL,OAFE;AAGVM,QAAAA,OAAO,EAAEL;AAHC;AAJoC,KAAlD;AAWA,sBAAmC,KAAKxF,KAAxC;AAAA,QAAOjB,SAAP,eAAOA,SAAP;AAAA,QAAkBH,aAAlB,eAAkBA,aAAlB;AACA,QAAMkH,aAAa,GAAG,KAAKC,gBAAL,CAAsB,YAAtB,EAAoCC,uBAApC,CAAtB;AACA,WAAO,IAAIF,aAAJ,CACL;AACE/G,MAAAA,SAAS,EAATA;AADF,KADK,EAIL,KAAKkH,gBAAL,CAAsB;AACpBzE,MAAAA,EAAE,EAAE;AADgB,KAAtB,CAJK,EAOL;AACEA,MAAAA,EAAE,YAAK,KAAKA,EAAV,yBAA2BlC,UAAU,CAACkC,EAAtC,CADJ;AAEE/B,MAAAA,IAAI,EAAEH,UAFR;AAGEN,MAAAA,IAAI,EAAJA,IAHF;AAIEkH,MAAAA,gBAAgB,EAAEC,yBAAkBC,aAJtC;AAKEC,MAAAA,gBAAgB,EAAEjB,kBALpB;AAMEC,MAAAA,WAAW,EAAXA,WANF;AAOEiB,MAAAA,QAAQ,EAAEnB,YAAY,IAAIvG,aAP5B;AAQE2H,MAAAA,OAAO,EAAE;AARX,KAPK,CAAP;AAkBD,G;;SAEO1B,iB,GAAR,2BAA0BvF,UAA1B,EAAsE;AACpE,+BAA2DA,UAAU,CAACkF,OAAtE;AAAA,QAAOgC,IAAP,wBAAOA,IAAP;AAAA,QAAaC,SAAb,wBAAaA,SAAb;AAAA,QAAwBrB,kBAAxB,wBAAwBA,kBAAxB;AAAA,QAA4CC,WAA5C,wBAA4CA,WAA5C;AAEA,QAAMS,aAAa,GAAG,KAAKC,gBAAL,CAAsB,YAAtB,EAAoCW,2BAApC,CAAtB;AAEA,WAAO,IAAIZ,aAAJ,CACL;AACEa,MAAAA,SAAS,EAAE;AADb,KADK,EAIL,KAAKV,gBAAL,CAAsB;AACpBzE,MAAAA,EAAE,EAAE;AADgB,KAAtB,CAJK,EAOL;AACEA,MAAAA,EAAE,YAAK,KAAKA,EAAV,yBAA2BlC,UAAU,CAACkC,EAAtC,CADJ;AAEE/B,MAAAA,IAAI,EAAEH,UAFR;AAGEN,MAAAA,IAAI,EAAEyH,SAAS,IAAI/H,WAHrB;AAIEkI,MAAAA,UAAU,EAAEJ,IAJd;AAMEN,MAAAA,gBAAgB,EAAEC,yBAAkBC,aANtC;AAOEC,MAAAA,gBAAgB,EAAEjB,kBAPpB;AAQEC,MAAAA,WAAW,EAAXA,WARF;AASEwB,MAAAA,kBAAkB,EAAE,4BAAAC,QAAQ;AAAA,eAAIA,QAAQ,CAACzB,WAAb;AAAA,OAT9B;AAUE0B,MAAAA,WAAW,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAVf;AAWER,MAAAA,OAAO,EAAE;AAXX,KAPK,CAAP;AAqBD,G;;SAEOxB,oB,GAAR,8BAA6BzF,UAA7B,EAAiDiF,QAAjD,EAAgG;AAC9F,QAAMC,OAAO,GAAGlF,UAAU,CAACkF,OAA3B;AACA,QACES,UADF,GAQIT,OARJ,CACES,UADF;AAAA,QAEE+B,OAFF,GAQIxC,OARJ,CAEEwC,OAFF;AAAA,QAGE3B,WAHF,GAQIb,OARJ,CAGEa,WAHF;AAAA,QAIED,kBAJF,GAQIZ,OARJ,CAIEY,kBAJF;AAAA,gCAQIZ,OARJ,CAKE0B,gBALF;AAAA,QAKEA,gBALF,sCAKqBC,yBAAkBC,aALvC;AAAA,QAMEa,QANF,GAQIzC,OARJ,CAMEyC,QANF;AAAA,QAOEC,UAPF,GAQI1C,OARJ,CAOE0C,UAPF;AASA,QAAOtH,aAAP,GAAwB,KAAKI,KAA7B,CAAOJ,aAAP;AAEA,QAAMuH,QAAQ,GACX5C,QAAQ,IAAIA,QAAQ,CAACvE,KAAT,CAAeoH,IAA5B,IACA,IAAIC,cAAJ,CAAa;AACXC,MAAAA,QAAQ,GADG;AAEXrC,MAAAA,UAAU,EAAEsC,eAAe,CAACtC,UAAD,CAFhB;AAGX+B,MAAAA,OAAO,EAAPA;AAHW,KAAb,CAFF;AAQA,QAAMlB,aAAa,GAAG,KAAKC,gBAAL,CAAsB,MAAtB,EAA8ByB,kBAA9B,CAAtB;AAEA,WAAO,IAAI1B,aAAJ,CACL,KAAKG,gBAAL,CAAsB;AACpBzE,MAAAA,EAAE,EAAE;AADgB,KAAtB,CADK,EAIL;AACEA,MAAAA,EAAE,YAAK,KAAKA,EAAV,mBAAqBlC,UAAU,CAACkC,EAAhC,CADJ;AAEE/B,MAAAA,IAAI,EAAEH,UAFR;AAGE8H,MAAAA,IAAI,EAAED,QAHR;AAIEnI,MAAAA,IAAI,EAAEN,WAJR;AAKE4H,MAAAA,QAAQ,EAAE1G,aAAa,CAACN,UAAD,CALzB;AAMEmI,MAAAA,WAAW,EAAER,QANf;AAOE5B,MAAAA,WAAW,EAAXA,WAPF;AAQEgB,MAAAA,gBAAgB,EAAEjB,kBARpB;AASEc,MAAAA,gBAAgB,EAAhBA,gBATF;AAUEgB,MAAAA,UAAU,EAAVA,UAVF;AAWEX,MAAAA,OAAO,EAAE;AAXX,KAJK,CAAP;AAkBD,G;;SAEDmB,Y,GAAA,wBAA0C;AAAA;;AACxC,uBAA8B,KAAK5H,KAAnC;AAAA,QAAOV,SAAP,gBAAOA,SAAP;AAAA,QAAkBe,QAAlB,gBAAkBA,QAAlB;;AACA,QAAI,CAACf,SAAL,EAAgB;AACd,aAAO,IAAP;AACD;;AAGD,WAAQA,SAAS,CAACuI,KAAX,CACJC,GADI,CACA,UAAAnI,IAAI,EAAI;AACX,UAAMiD,UAAU,GAAIvC,QAAQ,CAACV,IAAI,CAAC+B,EAAN,CAAR,GAAoBrB,QAAQ,CAACV,IAAI,CAAC+B,EAAN,CAAR,IAAqB;AAAC/B,QAAAA,IAAI,EAAJA;AAAD,OAA7D;AACA,UAAK2C,KAAL,GAAcM,UAAd,CAAKN,KAAL;;AACA,UAAI3C,IAAI,CAAC6C,QAAT,EAAmB;AAEjB,YAAI,CAACF,KAAL,EAAY;AAEVA,UAAAA,KAAK,GAAG,MAAI,CAACkC,YAAL,CAAkB7E,IAAlB,CAAR;AACD,SAHD,MAGO,IAAIiD,UAAU,CAACtB,WAAf,EAA4B;AAEjCgB,UAAAA,KAAK,GAAG,MAAI,CAACkC,YAAL,CAAkB7E,IAAlB,EAAwB2C,KAAxB,CAAR;AACAM,UAAAA,UAAU,CAACtB,WAAX,GAAyB,KAAzB;AACD;AACF;;AACDsB,MAAAA,UAAU,CAACN,KAAX,GAAmBA,KAAnB;AACA,aAAOA,KAAP;AACD,KAjBI,EAkBJyF,MAlBI,CAkBGC,OAlBH,CAAP;AAmBD,G;;;;SAnTD,eAAwB;AACtB,UAAO1I,SAAP,GAAoB,KAAKU,KAAzB,CAAOV,SAAP;AACA,aAAOA,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAAC2I,QAAV,EAA7B;AACD;;;EA9BgFC,qB;;;AAA9DnI,W,CAGZlB,Y,GAAeA,Y;AAHHkB,W,CAIZoI,S,GAAY,a;;AA6UrB,SAASV,eAAT,CAAyBW,iBAAzB,EAA4E;AAC1E,MAAMjD,UAA0B,GAAG,EAAnC;AACAA,EAAAA,UAAU,CAACK,SAAX,mCACK4C,iBAAiB,CAAC5C,SADvB;AAEExG,IAAAA,KAAK,EAAE,IAAIqJ,YAAJ,CAAiBD,iBAAiB,CAAC5C,SAAlB,CAA4BxG,KAA7C;AAFT;;AAIA,MAAIoJ,iBAAiB,CAAC3C,OAAtB,EAA+B;AAC7BN,IAAAA,UAAU,CAACM,OAAX,GAAqB2C,iBAAiB,CAAC3C,OAAvC;AACD;;AACD,MAAI2C,iBAAiB,CAACE,SAAtB,EAAiC;AAC/BnD,IAAAA,UAAU,CAACmD,SAAX,GAAuBF,iBAAiB,CAACE,SAAzC;AACD;;AACD,MAAIF,iBAAiB,CAAC1C,MAAtB,EAA8B;AAC5BP,IAAAA,UAAU,CAACO,MAAX,GAAoB0C,iBAAiB,CAAC1C,MAAtC;AACD;;AACD,MAAI0C,iBAAiB,CAACG,SAAtB,EAAiC;AAC/BpD,IAAAA,UAAU,CAACoD,SAAX,GAAuBH,iBAAiB,CAACG,SAAzC;AACD;;AACD,SAAOpD,UAAP;AACD","sourcesContent":["import GL from '@luma.gl/constants';\nimport {Geometry} from '@luma.gl/core';\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 = any> = _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 const {tileset3d} = this.state;\n return tileset3d !== null && tileset3d.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 let loader = this.props.loader || this.props.loaders;\n if (Array.isArray(loader)) {\n loader = loader[0];\n }\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) {\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 drawMode: GL.TRIANGLES,\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"}
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -17,8 +19,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
17
19
 
18
20
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
21
 
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
22
  var _core = require("@deck.gl/core");
23
23
 
24
24
  var _layers = require("@deck.gl/layers");
@@ -103,266 +103,251 @@ var TileLayer = function (_CompositeLayer) {
103
103
  return _super.apply(this, arguments);
104
104
  }
105
105
 
106
- (0, _createClass2.default)(TileLayer, [{
107
- key: "initializeState",
108
- value: function initializeState() {
109
- this.state = {
110
- tileset: null,
111
- isLoaded: false
112
- };
113
- }
114
- }, {
115
- key: "finalizeState",
116
- value: function finalizeState() {
117
- var _this$state, _this$state$tileset;
106
+ var _proto = TileLayer.prototype;
118
107
 
119
- (_this$state = this.state) === null || _this$state === void 0 ? void 0 : (_this$state$tileset = _this$state.tileset) === null || _this$state$tileset === void 0 ? void 0 : _this$state$tileset.finalize();
120
- }
121
- }, {
122
- key: "isLoaded",
123
- get: function get() {
124
- var _this$state2, _this$state2$tileset, _this$state2$tileset$;
108
+ _proto.initializeState = function initializeState() {
109
+ this.state = {
110
+ tileset: null,
111
+ isLoaded: false
112
+ };
113
+ };
125
114
 
126
- return (_this$state2 = this.state) === null || _this$state2 === void 0 ? void 0 : (_this$state2$tileset = _this$state2.tileset) === null || _this$state2$tileset === void 0 ? void 0 : (_this$state2$tileset$ = _this$state2$tileset.selectedTiles) === null || _this$state2$tileset$ === void 0 ? void 0 : _this$state2$tileset$.every(function (tile) {
127
- return tile.isLoaded && tile.layers && tile.layers.every(function (layer) {
128
- return layer.isLoaded;
129
- });
115
+ _proto.finalizeState = function finalizeState() {
116
+ var _this$state, _this$state$tileset;
117
+
118
+ (_this$state = this.state) === null || _this$state === void 0 ? void 0 : (_this$state$tileset = _this$state.tileset) === null || _this$state$tileset === void 0 ? void 0 : _this$state$tileset.finalize();
119
+ };
120
+
121
+ _proto.shouldUpdateState = function shouldUpdateState(_ref) {
122
+ var changeFlags = _ref.changeFlags;
123
+ return changeFlags.somethingChanged;
124
+ };
125
+
126
+ _proto.updateState = function updateState(_ref2) {
127
+ var changeFlags = _ref2.changeFlags;
128
+ var tileset = this.state.tileset;
129
+ var propsChanged = changeFlags.propsOrDataChanged || changeFlags.updateTriggersChanged;
130
+ var dataChanged = changeFlags.dataChanged || changeFlags.updateTriggersChanged && (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getTileData);
131
+
132
+ if (!tileset) {
133
+ tileset = new this.props.TilesetClass(this._getTilesetOptions());
134
+ this.setState({
135
+ tileset: tileset
130
136
  });
131
- }
132
- }, {
133
- key: "shouldUpdateState",
134
- value: function shouldUpdateState(_ref) {
135
- var changeFlags = _ref.changeFlags;
136
- return changeFlags.somethingChanged;
137
- }
138
- }, {
139
- key: "updateState",
140
- value: function updateState(_ref2) {
141
- var changeFlags = _ref2.changeFlags;
142
- var tileset = this.state.tileset;
143
- var propsChanged = changeFlags.propsOrDataChanged || changeFlags.updateTriggersChanged;
144
- var dataChanged = changeFlags.dataChanged || changeFlags.updateTriggersChanged && (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getTileData);
145
-
146
- if (!tileset) {
147
- tileset = new this.props.TilesetClass(this._getTilesetOptions());
148
- this.setState({
149
- tileset: tileset
137
+ } else if (propsChanged) {
138
+ tileset.setOptions(this._getTilesetOptions());
139
+
140
+ if (dataChanged) {
141
+ tileset.reloadAll();
142
+ } else {
143
+ this.state.tileset.tiles.forEach(function (tile) {
144
+ tile.layers = null;
150
145
  });
151
- } else if (propsChanged) {
152
- tileset.setOptions(this._getTilesetOptions());
153
-
154
- if (dataChanged) {
155
- tileset.reloadAll();
156
- } else {
157
- this.state.tileset.tiles.forEach(function (tile) {
158
- tile.layers = null;
159
- });
160
- }
161
146
  }
162
-
163
- this._updateTileset();
164
147
  }
165
- }, {
166
- key: "_getTilesetOptions",
167
- value: function _getTilesetOptions() {
168
- var _this$props = this.props,
169
- tileSize = _this$props.tileSize,
170
- maxCacheSize = _this$props.maxCacheSize,
171
- maxCacheByteSize = _this$props.maxCacheByteSize,
172
- refinementStrategy = _this$props.refinementStrategy,
173
- extent = _this$props.extent,
174
- maxZoom = _this$props.maxZoom,
175
- minZoom = _this$props.minZoom,
176
- maxRequests = _this$props.maxRequests,
177
- zoomOffset = _this$props.zoomOffset;
178
- return {
179
- maxCacheSize: maxCacheSize,
180
- maxCacheByteSize: maxCacheByteSize,
181
- maxZoom: maxZoom,
182
- minZoom: minZoom,
183
- tileSize: tileSize,
184
- refinementStrategy: refinementStrategy,
185
- extent: extent,
186
- maxRequests: maxRequests,
187
- zoomOffset: zoomOffset,
188
- getTileData: this.getTileData.bind(this),
189
- onTileLoad: this._onTileLoad.bind(this),
190
- onTileError: this._onTileError.bind(this),
191
- onTileUnload: this._onTileUnload.bind(this)
192
- };
148
+
149
+ this._updateTileset();
150
+ };
151
+
152
+ _proto._getTilesetOptions = function _getTilesetOptions() {
153
+ var _this$props = this.props,
154
+ tileSize = _this$props.tileSize,
155
+ maxCacheSize = _this$props.maxCacheSize,
156
+ maxCacheByteSize = _this$props.maxCacheByteSize,
157
+ refinementStrategy = _this$props.refinementStrategy,
158
+ extent = _this$props.extent,
159
+ maxZoom = _this$props.maxZoom,
160
+ minZoom = _this$props.minZoom,
161
+ maxRequests = _this$props.maxRequests,
162
+ zoomOffset = _this$props.zoomOffset;
163
+ return {
164
+ maxCacheSize: maxCacheSize,
165
+ maxCacheByteSize: maxCacheByteSize,
166
+ maxZoom: maxZoom,
167
+ minZoom: minZoom,
168
+ tileSize: tileSize,
169
+ refinementStrategy: refinementStrategy,
170
+ extent: extent,
171
+ maxRequests: maxRequests,
172
+ zoomOffset: zoomOffset,
173
+ getTileData: this.getTileData.bind(this),
174
+ onTileLoad: this._onTileLoad.bind(this),
175
+ onTileError: this._onTileError.bind(this),
176
+ onTileUnload: this._onTileUnload.bind(this)
177
+ };
178
+ };
179
+
180
+ _proto._updateTileset = function _updateTileset() {
181
+ var tileset = this.state.tileset;
182
+ var _this$props2 = this.props,
183
+ zRange = _this$props2.zRange,
184
+ modelMatrix = _this$props2.modelMatrix;
185
+ var frameNumber = tileset.update(this.context.viewport, {
186
+ zRange: zRange,
187
+ modelMatrix: modelMatrix
188
+ });
189
+ var isLoaded = tileset.isLoaded;
190
+ var loadingStateChanged = this.state.isLoaded !== isLoaded;
191
+ var tilesetChanged = this.state.frameNumber !== frameNumber;
192
+
193
+ if (isLoaded && (loadingStateChanged || tilesetChanged)) {
194
+ this._onViewportLoad();
193
195
  }
194
- }, {
195
- key: "_updateTileset",
196
- value: function _updateTileset() {
197
- var tileset = this.state.tileset;
198
- var _this$props2 = this.props,
199
- zRange = _this$props2.zRange,
200
- modelMatrix = _this$props2.modelMatrix;
201
- var frameNumber = tileset.update(this.context.viewport, {
202
- zRange: zRange,
203
- modelMatrix: modelMatrix
196
+
197
+ if (tilesetChanged) {
198
+ this.setState({
199
+ frameNumber: frameNumber
204
200
  });
205
- var isLoaded = tileset.isLoaded;
206
- var loadingStateChanged = this.state.isLoaded !== isLoaded;
207
- var tilesetChanged = this.state.frameNumber !== frameNumber;
201
+ }
208
202
 
209
- if (isLoaded && (loadingStateChanged || tilesetChanged)) {
210
- this._onViewportLoad();
211
- }
203
+ this.state.isLoaded = isLoaded;
204
+ };
212
205
 
213
- if (tilesetChanged) {
214
- this.setState({
215
- frameNumber: frameNumber
216
- });
217
- }
206
+ _proto._onViewportLoad = function _onViewportLoad() {
207
+ var tileset = this.state.tileset;
208
+ var onViewportLoad = this.props.onViewportLoad;
218
209
 
219
- this.state.isLoaded = isLoaded;
220
- }
221
- }, {
222
- key: "_onViewportLoad",
223
- value: function _onViewportLoad() {
224
- var tileset = this.state.tileset;
225
- var onViewportLoad = this.props.onViewportLoad;
226
-
227
- if (onViewportLoad) {
228
- onViewportLoad(tileset.selectedTiles);
229
- }
230
- }
231
- }, {
232
- key: "_onTileLoad",
233
- value: function _onTileLoad(tile) {
234
- this.props.onTileLoad(tile);
235
- tile.layers = null;
236
- this.setNeedsUpdate();
210
+ if (onViewportLoad) {
211
+ onViewportLoad(tileset.selectedTiles);
237
212
  }
238
- }, {
239
- key: "_onTileError",
240
- value: function _onTileError(error, tile) {
241
- this.props.onTileError(error);
242
- tile.layers = null;
243
- this.setNeedsUpdate();
213
+ };
214
+
215
+ _proto._onTileLoad = function _onTileLoad(tile) {
216
+ this.props.onTileLoad(tile);
217
+ tile.layers = null;
218
+ this.setNeedsUpdate();
219
+ };
220
+
221
+ _proto._onTileError = function _onTileError(error, tile) {
222
+ this.props.onTileError(error);
223
+ tile.layers = null;
224
+ this.setNeedsUpdate();
225
+ };
226
+
227
+ _proto._onTileUnload = function _onTileUnload(tile) {
228
+ this.props.onTileUnload(tile);
229
+ };
230
+
231
+ _proto.getTileData = function getTileData(tile) {
232
+ var _this$props3 = this.props,
233
+ data = _this$props3.data,
234
+ getTileData = _this$props3.getTileData,
235
+ fetch = _this$props3.fetch;
236
+ var signal = tile.signal;
237
+ tile.url = typeof data === 'string' || Array.isArray(data) ? (0, _tileset2d.getURLFromTemplate)(data, tile) : null;
238
+
239
+ if (getTileData) {
240
+ return getTileData(tile);
244
241
  }
245
- }, {
246
- key: "_onTileUnload",
247
- value: function _onTileUnload(tile) {
248
- this.props.onTileUnload(tile);
242
+
243
+ if (fetch && tile.url) {
244
+ return fetch(tile.url, {
245
+ propName: 'data',
246
+ layer: this,
247
+ signal: signal
248
+ });
249
249
  }
250
- }, {
251
- key: "getTileData",
252
- value: function getTileData(tile) {
253
- var _this$props3 = this.props,
254
- data = _this$props3.data,
255
- getTileData = _this$props3.getTileData,
256
- fetch = _this$props3.fetch;
257
- var signal = tile.signal;
258
- tile.url = typeof data === 'string' || Array.isArray(data) ? (0, _tileset2d.getURLFromTemplate)(data, tile) : null;
259
-
260
- if (getTileData) {
261
- return getTileData(tile);
262
- }
263
250
 
264
- if (fetch && tile.url) {
265
- return fetch(tile.url, {
266
- propName: 'data',
267
- layer: this,
268
- signal: signal
269
- });
270
- }
251
+ return null;
252
+ };
271
253
 
272
- return null;
273
- }
274
- }, {
275
- key: "renderSubLayers",
276
- value: function renderSubLayers(props) {
277
- return this.props.renderSubLayers(props);
278
- }
279
- }, {
280
- key: "getSubLayerPropsByTile",
281
- value: function getSubLayerPropsByTile(tile) {
282
- return null;
283
- }
284
- }, {
285
- key: "getPickingInfo",
286
- value: function getPickingInfo(_ref3) {
287
- var info = _ref3.info,
288
- sourceLayer = _ref3.sourceLayer;
289
- var sourceTile = sourceLayer.props.tile;
290
-
291
- if (info.picked) {
292
- info.tile = sourceTile;
293
- }
254
+ _proto.renderSubLayers = function renderSubLayers(props) {
255
+ return this.props.renderSubLayers(props);
256
+ };
257
+
258
+ _proto.getSubLayerPropsByTile = function getSubLayerPropsByTile(tile) {
259
+ return null;
260
+ };
294
261
 
295
- info.sourceTile = sourceTile;
296
- return info;
262
+ _proto.getPickingInfo = function getPickingInfo(_ref3) {
263
+ var info = _ref3.info,
264
+ sourceLayer = _ref3.sourceLayer;
265
+ var sourceTile = sourceLayer.props.tile;
266
+
267
+ if (info.picked) {
268
+ info.tile = sourceTile;
297
269
  }
298
- }, {
299
- key: "_updateAutoHighlight",
300
- value: function _updateAutoHighlight(info) {
301
- var sourceTile = info.sourceTile;
302
-
303
- if (sourceTile && sourceTile.layers) {
304
- var _iterator = _createForOfIteratorHelper(sourceTile.layers),
305
- _step;
306
-
307
- try {
308
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
309
- var layer = _step.value;
310
- layer.updateAutoHighlight(info);
311
- }
312
- } catch (err) {
313
- _iterator.e(err);
314
- } finally {
315
- _iterator.f();
270
+
271
+ info.sourceTile = sourceTile;
272
+ return info;
273
+ };
274
+
275
+ _proto._updateAutoHighlight = function _updateAutoHighlight(info) {
276
+ var sourceTile = info.sourceTile;
277
+
278
+ if (sourceTile && sourceTile.layers) {
279
+ var _iterator = _createForOfIteratorHelper(sourceTile.layers),
280
+ _step;
281
+
282
+ try {
283
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
284
+ var layer = _step.value;
285
+ layer.updateAutoHighlight(info);
316
286
  }
287
+ } catch (err) {
288
+ _iterator.e(err);
289
+ } finally {
290
+ _iterator.f();
317
291
  }
318
292
  }
319
- }, {
320
- key: "renderLayers",
321
- value: function renderLayers() {
322
- var _this = this;
323
-
324
- return this.state.tileset.tiles.map(function (tile) {
325
- var subLayerProps = _this.getSubLayerPropsByTile(tile);
326
-
327
- if (!tile.isLoaded && !tile.content) {} else if (!tile.layers) {
328
- var layers = _this.renderSubLayers(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.getSubLayerProps({
329
- id: tile.id,
330
- updateTriggers: _this.props.updateTriggers
331
- })), {}, {
332
- data: tile.content,
333
- _offset: 0,
293
+ };
294
+
295
+ _proto.renderLayers = function renderLayers() {
296
+ var _this = this;
297
+
298
+ return this.state.tileset.tiles.map(function (tile) {
299
+ var subLayerProps = _this.getSubLayerPropsByTile(tile);
300
+
301
+ if (!tile.isLoaded && !tile.content) {} else if (!tile.layers) {
302
+ var layers = _this.renderSubLayers(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.getSubLayerProps({
303
+ id: tile.id,
304
+ updateTriggers: _this.props.updateTriggers
305
+ })), {}, {
306
+ data: tile.content,
307
+ _offset: 0,
308
+ tile: tile
309
+ }));
310
+
311
+ tile.layers = (0, _core._flatten)(layers, Boolean).map(function (layer) {
312
+ return layer.clone(_objectSpread({
334
313
  tile: tile
335
- }));
336
-
337
- tile.layers = (0, _core._flatten)(layers, Boolean).map(function (layer) {
338
- return layer.clone(_objectSpread({
339
- tile: tile
340
- }, subLayerProps));
341
- });
342
- } else if (subLayerProps && tile.layers[0] && Object.keys(subLayerProps).some(function (propName) {
343
- return tile.layers[0].props[propName] !== subLayerProps[propName];
344
- })) {
345
- tile.layers = tile.layers.map(function (layer) {
346
- return layer.clone(subLayerProps);
347
- });
348
- }
314
+ }, subLayerProps));
315
+ });
316
+ } else if (subLayerProps && tile.layers[0] && Object.keys(subLayerProps).some(function (propName) {
317
+ return tile.layers[0].props[propName] !== subLayerProps[propName];
318
+ })) {
319
+ tile.layers = tile.layers.map(function (layer) {
320
+ return layer.clone(subLayerProps);
321
+ });
322
+ }
323
+
324
+ return tile.layers;
325
+ });
326
+ };
349
327
 
350
- return tile.layers;
328
+ _proto.filterSubLayer = function filterSubLayer(_ref4) {
329
+ var layer = _ref4.layer,
330
+ cullRect = _ref4.cullRect;
331
+ var tile = layer.props.tile;
332
+ return this.state.tileset.isTileVisible(tile, cullRect);
333
+ };
334
+
335
+ (0, _createClass2.default)(TileLayer, [{
336
+ key: "isLoaded",
337
+ get: function get() {
338
+ var _this$state2, _this$state2$tileset, _this$state2$tileset$;
339
+
340
+ return (_this$state2 = this.state) === null || _this$state2 === void 0 ? void 0 : (_this$state2$tileset = _this$state2.tileset) === null || _this$state2$tileset === void 0 ? void 0 : (_this$state2$tileset$ = _this$state2$tileset.selectedTiles) === null || _this$state2$tileset$ === void 0 ? void 0 : _this$state2$tileset$.every(function (tile) {
341
+ return tile.isLoaded && tile.layers && tile.layers.every(function (layer) {
342
+ return layer.isLoaded;
343
+ });
351
344
  });
352
345
  }
353
- }, {
354
- key: "filterSubLayer",
355
- value: function filterSubLayer(_ref4) {
356
- var layer = _ref4.layer,
357
- cullRect = _ref4.cullRect;
358
- var tile = layer.props.tile;
359
- return this.state.tileset.isTileVisible(tile, cullRect);
360
- }
361
346
  }]);
362
347
  return TileLayer;
363
348
  }(_core.CompositeLayer);
364
349
 
365
350
  exports.default = TileLayer;
366
- (0, _defineProperty2.default)(TileLayer, "defaultProps", defaultProps);
367
- (0, _defineProperty2.default)(TileLayer, "layerName", 'TileLayer');
351
+ TileLayer.defaultProps = defaultProps;
352
+ TileLayer.layerName = 'TileLayer';
368
353
  //# sourceMappingURL=tile-layer.js.map