@antv/l7-layers 2.9.18 → 2.9.21
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/es/Geometry/index.js +12 -2
- package/es/Geometry/index.js.map +1 -1
- package/es/Geometry/models/billboard.d.ts +3 -3
- package/es/Geometry/models/billboard.js +11 -6
- package/es/Geometry/models/billboard.js.map +1 -1
- package/es/Geometry/models/plane.d.ts +3 -3
- package/es/Geometry/models/plane.js +12 -7
- package/es/Geometry/models/plane.js.map +1 -1
- package/es/Geometry/models/sprite.d.ts +3 -3
- package/es/Geometry/models/sprite.js +11 -6
- package/es/Geometry/models/sprite.js.map +1 -1
- package/es/canvas/index.js +12 -2
- package/es/canvas/index.js.map +1 -1
- package/es/citybuliding/building.js +12 -2
- package/es/citybuliding/building.js.map +1 -1
- package/es/citybuliding/models/build.d.ts +2 -1
- package/es/citybuliding/models/build.js +16 -3
- package/es/citybuliding/models/build.js.map +1 -1
- package/es/core/BaseLayer.d.ts +1 -1
- package/es/core/BaseLayer.js +105 -62
- package/es/core/BaseLayer.js.map +1 -1
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +2 -2
- package/es/core/BaseModel.js.map +1 -1
- package/es/core/interface.d.ts +13 -1
- package/es/core/interface.js +14 -0
- package/es/core/interface.js.map +1 -1
- package/es/core/triangulation.d.ts +1 -0
- package/es/core/triangulation.js +37 -11
- package/es/core/triangulation.js.map +1 -1
- package/es/earth/index.js +8 -2
- package/es/earth/index.js.map +1 -1
- package/es/earth/models/atmosphere.d.ts +2 -2
- package/es/earth/models/atmosphere.js +11 -6
- package/es/earth/models/atmosphere.js.map +1 -1
- package/es/earth/models/base.d.ts +2 -2
- package/es/earth/models/base.js +11 -6
- package/es/earth/models/base.js.map +1 -1
- package/es/earth/models/bloomsphere.d.ts +2 -2
- package/es/earth/models/bloomsphere.js +11 -6
- package/es/earth/models/bloomsphere.js.map +1 -1
- package/es/heatmap/index.js +17 -5
- package/es/heatmap/index.js.map +1 -1
- package/es/heatmap/models/grid.d.ts +2 -2
- package/es/heatmap/models/grid.js +12 -8
- package/es/heatmap/models/grid.js.map +1 -1
- package/es/heatmap/models/grid3d.d.ts +2 -2
- package/es/heatmap/models/grid3d.js +12 -6
- package/es/heatmap/models/grid3d.js.map +1 -1
- package/es/heatmap/models/heatmap.d.ts +2 -2
- package/es/heatmap/models/heatmap.js +112 -62
- package/es/heatmap/models/heatmap.js.map +1 -1
- package/es/heatmap/models/hexagon.d.ts +2 -2
- package/es/heatmap/models/hexagon.js +11 -6
- package/es/heatmap/models/hexagon.js.map +1 -1
- package/es/image/index.js +12 -2
- package/es/image/index.js.map +1 -1
- package/es/image/models/dataImage.d.ts +3 -3
- package/es/image/models/dataImage.js +10 -5
- package/es/image/models/dataImage.js.map +1 -1
- package/es/image/models/image.d.ts +3 -3
- package/es/image/models/image.js +11 -7
- package/es/image/models/image.js.map +1 -1
- package/es/line/index.d.ts +0 -2
- package/es/line/index.js +12 -5
- package/es/line/index.js.map +1 -1
- package/es/line/models/arc.d.ts +2 -2
- package/es/line/models/arc.js +14 -9
- package/es/line/models/arc.js.map +1 -1
- package/es/line/models/arc_3d.d.ts +2 -2
- package/es/line/models/arc_3d.js +13 -8
- package/es/line/models/arc_3d.js.map +1 -1
- package/es/line/models/earthArc_3d.d.ts +2 -2
- package/es/line/models/earthArc_3d.js +17 -9
- package/es/line/models/earthArc_3d.js.map +1 -1
- package/es/line/models/great_circle.d.ts +2 -2
- package/es/line/models/great_circle.js +11 -6
- package/es/line/models/great_circle.js.map +1 -1
- package/es/line/models/half.d.ts +2 -2
- package/es/line/models/half.js +46 -29
- package/es/line/models/half.js.map +1 -1
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +0 -2
- package/es/line/models/index.js.map +1 -1
- package/es/line/models/line.d.ts +2 -2
- package/es/line/models/line.js +37 -18
- package/es/line/models/line.js.map +1 -1
- package/es/line/models/linearline.d.ts +2 -11
- package/es/line/models/linearline.js +21 -27
- package/es/line/models/linearline.js.map +1 -1
- package/es/line/models/simpleLine.d.ts +2 -2
- package/es/line/models/simpleLine.js +13 -8
- package/es/line/models/simpleLine.js.map +1 -1
- package/es/line/models/tile.d.ts +2 -11
- package/es/line/models/tile.js +45 -39
- package/es/line/models/tile.js.map +1 -1
- package/es/line/models/wall.d.ts +2 -2
- package/es/line/models/wall.js +13 -9
- package/es/line/models/wall.js.map +1 -1
- package/es/mask/index.js +12 -2
- package/es/mask/index.js.map +1 -1
- package/es/mask/models/fill.d.ts +2 -2
- package/es/mask/models/fill.js +53 -27
- package/es/mask/models/fill.js.map +1 -1
- package/es/plugins/DataMappingPlugin.js +29 -8
- package/es/plugins/DataMappingPlugin.js.map +1 -1
- package/es/plugins/DataSourcePlugin.js +14 -5
- package/es/plugins/DataSourcePlugin.js.map +1 -1
- package/es/plugins/LayerModelPlugin.d.ts +2 -0
- package/es/plugins/LayerModelPlugin.js +35 -7
- package/es/plugins/LayerModelPlugin.js.map +1 -1
- package/es/plugins/PixelPickingPlugin.js +16 -13
- package/es/plugins/PixelPickingPlugin.js.map +1 -1
- package/es/point/index.d.ts +1 -1
- package/es/point/index.js +26 -15
- package/es/point/index.js.map +1 -1
- package/es/point/models/earthExtrude.d.ts +2 -2
- package/es/point/models/earthExtrude.js +16 -14
- package/es/point/models/earthExtrude.js.map +1 -1
- package/es/point/models/earthFill.d.ts +2 -11
- package/es/point/models/earthFill.js +13 -22
- package/es/point/models/earthFill.js.map +1 -1
- package/es/point/models/extrude.d.ts +2 -2
- package/es/point/models/extrude.js +49 -27
- package/es/point/models/extrude.js.map +1 -1
- package/es/point/models/fill.d.ts +2 -2
- package/es/point/models/fill.js +59 -41
- package/es/point/models/fill.js.map +1 -1
- package/es/point/models/fillmage.d.ts +2 -7
- package/es/point/models/fillmage.js +13 -22
- package/es/point/models/fillmage.js.map +1 -1
- package/es/point/models/image.d.ts +2 -2
- package/es/point/models/image.js +11 -6
- package/es/point/models/image.js.map +1 -1
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +0 -2
- package/es/point/models/index.js.map +1 -1
- package/es/point/models/normal.d.ts +2 -2
- package/es/point/models/normal.js +11 -6
- package/es/point/models/normal.js.map +1 -1
- package/es/point/models/radar.d.ts +2 -11
- package/es/point/models/radar.js +13 -22
- package/es/point/models/radar.js.map +1 -1
- package/es/point/models/simplePoint.d.ts +2 -2
- package/es/point/models/simplePoint.js +11 -6
- package/es/point/models/simplePoint.js.map +1 -1
- package/es/point/models/text.d.ts +3 -2
- package/es/point/models/text.js +110 -75
- package/es/point/models/text.js.map +1 -1
- package/es/point/models/tile.d.ts +2 -11
- package/es/point/models/tile.js +22 -25
- package/es/point/models/tile.js.map +1 -1
- package/es/polygon/index.js +12 -2
- package/es/polygon/index.js.map +1 -1
- package/es/polygon/models/extrude.d.ts +2 -2
- package/es/polygon/models/extrude.js +10 -5
- package/es/polygon/models/extrude.js.map +1 -1
- package/es/polygon/models/fill.d.ts +2 -2
- package/es/polygon/models/fill.js +27 -13
- package/es/polygon/models/fill.js.map +1 -1
- package/es/polygon/models/ocean.d.ts +2 -2
- package/es/polygon/models/ocean.js +12 -6
- package/es/polygon/models/ocean.js.map +1 -1
- package/es/polygon/models/tile.d.ts +2 -3
- package/es/polygon/models/tile.js +17 -27
- package/es/polygon/models/tile.js.map +1 -1
- package/es/polygon/models/water.d.ts +2 -2
- package/es/polygon/models/water.js +12 -6
- package/es/polygon/models/water.js.map +1 -1
- package/es/raster/index.js +12 -2
- package/es/raster/index.js.map +1 -1
- package/es/raster/models/raster.d.ts +3 -3
- package/es/raster/models/raster.js +11 -7
- package/es/raster/models/raster.js.map +1 -1
- package/es/tile/manager/tileLayerManager.js +3 -0
- package/es/tile/manager/tileLayerManager.js.map +1 -1
- package/es/tile/manager/tilePickerManager.js +1 -0
- package/es/tile/manager/tilePickerManager.js.map +1 -1
- package/es/tile/tileFactory/base.js.map +1 -1
- package/es/tile/tileFactory/point.js.map +1 -1
- package/es/tile/tileFactory/rasterDataLayer.js +12 -2
- package/es/tile/tileFactory/rasterDataLayer.js.map +1 -1
- package/es/tile/tileFactory/vectorLayer.js +12 -2
- package/es/tile/tileFactory/vectorLayer.js.map +1 -1
- package/es/utils/extrude_polyline.d.ts +15 -0
- package/es/utils/extrude_polyline.js +146 -14
- package/es/utils/extrude_polyline.js.map +1 -1
- package/es/wind/index.js +12 -2
- package/es/wind/index.js.map +1 -1
- package/es/wind/models/wind.d.ts +4 -2
- package/es/wind/models/wind.js +50 -18
- package/es/wind/models/wind.js.map +1 -1
- package/es/wind/models/windRender.js +1 -1
- package/es/wind/models/windRender.js.map +1 -1
- package/lib/Geometry/index.js +12 -2
- package/lib/Geometry/index.js.map +1 -1
- package/lib/Geometry/models/billboard.js +11 -6
- package/lib/Geometry/models/billboard.js.map +1 -1
- package/lib/Geometry/models/plane.js +12 -7
- package/lib/Geometry/models/plane.js.map +1 -1
- package/lib/Geometry/models/sprite.js +11 -6
- package/lib/Geometry/models/sprite.js.map +1 -1
- package/lib/canvas/index.js +12 -2
- package/lib/canvas/index.js.map +1 -1
- package/lib/citybuliding/building.js +12 -2
- package/lib/citybuliding/building.js.map +1 -1
- package/lib/citybuliding/models/build.js +16 -3
- package/lib/citybuliding/models/build.js.map +1 -1
- package/lib/core/BaseLayer.js +104 -61
- package/lib/core/BaseLayer.js.map +1 -1
- package/lib/core/BaseModel.js +2 -2
- package/lib/core/BaseModel.js.map +1 -1
- package/lib/core/interface.js +17 -1
- package/lib/core/interface.js.map +1 -1
- package/lib/core/triangulation.js +40 -16
- package/lib/core/triangulation.js.map +1 -1
- package/lib/earth/index.js +8 -2
- package/lib/earth/index.js.map +1 -1
- package/lib/earth/models/atmosphere.js +11 -6
- package/lib/earth/models/atmosphere.js.map +1 -1
- package/lib/earth/models/base.js +11 -6
- package/lib/earth/models/base.js.map +1 -1
- package/lib/earth/models/bloomsphere.js +11 -6
- package/lib/earth/models/bloomsphere.js.map +1 -1
- package/lib/heatmap/index.js +17 -5
- package/lib/heatmap/index.js.map +1 -1
- package/lib/heatmap/models/grid.js +12 -8
- package/lib/heatmap/models/grid.js.map +1 -1
- package/lib/heatmap/models/grid3d.js +12 -6
- package/lib/heatmap/models/grid3d.js.map +1 -1
- package/lib/heatmap/models/heatmap.js +113 -62
- package/lib/heatmap/models/heatmap.js.map +1 -1
- package/lib/heatmap/models/hexagon.js +11 -6
- package/lib/heatmap/models/hexagon.js.map +1 -1
- package/lib/image/index.js +12 -2
- package/lib/image/index.js.map +1 -1
- package/lib/image/models/dataImage.js +10 -5
- package/lib/image/models/dataImage.js.map +1 -1
- package/lib/image/models/image.js +11 -7
- package/lib/image/models/image.js.map +1 -1
- package/lib/line/index.js +12 -5
- package/lib/line/index.js.map +1 -1
- package/lib/line/models/arc.js +14 -9
- package/lib/line/models/arc.js.map +1 -1
- package/lib/line/models/arc_3d.js +13 -8
- package/lib/line/models/arc_3d.js.map +1 -1
- package/lib/line/models/earthArc_3d.js +17 -9
- package/lib/line/models/earthArc_3d.js.map +1 -1
- package/lib/line/models/great_circle.js +11 -6
- package/lib/line/models/great_circle.js.map +1 -1
- package/lib/line/models/half.js +48 -29
- package/lib/line/models/half.js.map +1 -1
- package/lib/line/models/index.js +0 -3
- package/lib/line/models/index.js.map +1 -1
- package/lib/line/models/line.js +38 -19
- package/lib/line/models/line.js.map +1 -1
- package/lib/line/models/linearline.js +22 -27
- package/lib/line/models/linearline.js.map +1 -1
- package/lib/line/models/simpleLine.js +13 -8
- package/lib/line/models/simpleLine.js.map +1 -1
- package/lib/line/models/tile.js +47 -39
- package/lib/line/models/tile.js.map +1 -1
- package/lib/line/models/wall.js +13 -9
- package/lib/line/models/wall.js.map +1 -1
- package/lib/mask/index.js +12 -2
- package/lib/mask/index.js.map +1 -1
- package/lib/mask/models/fill.js +55 -27
- package/lib/mask/models/fill.js.map +1 -1
- package/lib/plugins/DataMappingPlugin.js +29 -8
- package/lib/plugins/DataMappingPlugin.js.map +1 -1
- package/lib/plugins/DataSourcePlugin.js +13 -4
- package/lib/plugins/DataSourcePlugin.js.map +1 -1
- package/lib/plugins/LayerModelPlugin.js +35 -7
- package/lib/plugins/LayerModelPlugin.js.map +1 -1
- package/lib/plugins/PixelPickingPlugin.js +16 -13
- package/lib/plugins/PixelPickingPlugin.js.map +1 -1
- package/lib/point/index.js +26 -15
- package/lib/point/index.js.map +1 -1
- package/lib/point/models/earthExtrude.js +16 -15
- package/lib/point/models/earthExtrude.js.map +1 -1
- package/lib/point/models/earthFill.js +13 -22
- package/lib/point/models/earthFill.js.map +1 -1
- package/lib/point/models/extrude.js +51 -28
- package/lib/point/models/extrude.js.map +1 -1
- package/lib/point/models/fill.js +61 -42
- package/lib/point/models/fill.js.map +1 -1
- package/lib/point/models/fillmage.js +13 -22
- package/lib/point/models/fillmage.js.map +1 -1
- package/lib/point/models/image.js +11 -6
- package/lib/point/models/image.js.map +1 -1
- package/lib/point/models/index.js +0 -3
- package/lib/point/models/index.js.map +1 -1
- package/lib/point/models/normal.js +11 -6
- package/lib/point/models/normal.js.map +1 -1
- package/lib/point/models/radar.js +13 -22
- package/lib/point/models/radar.js.map +1 -1
- package/lib/point/models/simplePoint.js +11 -6
- package/lib/point/models/simplePoint.js.map +1 -1
- package/lib/point/models/text.js +112 -78
- package/lib/point/models/text.js.map +1 -1
- package/lib/point/models/tile.js +22 -25
- package/lib/point/models/tile.js.map +1 -1
- package/lib/polygon/index.js +12 -2
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/models/extrude.js +10 -5
- package/lib/polygon/models/extrude.js.map +1 -1
- package/lib/polygon/models/fill.js +25 -11
- package/lib/polygon/models/fill.js.map +1 -1
- package/lib/polygon/models/ocean.js +12 -6
- package/lib/polygon/models/ocean.js.map +1 -1
- package/lib/polygon/models/tile.js +17 -27
- package/lib/polygon/models/tile.js.map +1 -1
- package/lib/polygon/models/water.js +12 -6
- package/lib/polygon/models/water.js.map +1 -1
- package/lib/raster/index.js +12 -2
- package/lib/raster/index.js.map +1 -1
- package/lib/raster/models/raster.js +11 -7
- package/lib/raster/models/raster.js.map +1 -1
- package/lib/tile/manager/tileLayerManager.js +3 -0
- package/lib/tile/manager/tileLayerManager.js.map +1 -1
- package/lib/tile/manager/tilePickerManager.js +1 -0
- package/lib/tile/manager/tilePickerManager.js.map +1 -1
- package/lib/tile/tileFactory/base.js.map +1 -1
- package/lib/tile/tileFactory/point.js.map +1 -1
- package/lib/tile/tileFactory/rasterDataLayer.js +12 -2
- package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -1
- package/lib/tile/tileFactory/vectorLayer.js +12 -2
- package/lib/tile/tileFactory/vectorLayer.js.map +1 -1
- package/lib/utils/extrude_polyline.js +148 -14
- package/lib/utils/extrude_polyline.js.map +1 -1
- package/lib/wind/index.js +12 -2
- package/lib/wind/index.js.map +1 -1
- package/lib/wind/models/wind.js +49 -18
- package/lib/wind/models/wind.js.map +1 -1
- package/lib/wind/models/windRender.js +1 -1
- package/lib/wind/models/windRender.js.map +1 -1
- package/package.json +9 -8
- package/es/line/models/arcmini.d.ts +0 -9
- package/es/line/models/arcmini.js +0 -145
- package/es/line/models/arcmini.js.map +0 -1
- package/es/point/models/icon-font.d.ts +0 -11
- package/es/point/models/icon-font.js +0 -181
- package/es/point/models/icon-font.js.map +0 -1
- package/es/raster/image.d.ts +0 -0
- package/es/raster/image.js +0 -2
- package/es/raster/image.js.map +0 -1
- package/es/raster/raster2d.d.ts +0 -27
- package/es/raster/raster2d.js +0 -158
- package/es/raster/raster2d.js.map +0 -1
- package/es/utils/geo.d.ts +0 -12
- package/es/utils/geo.js +0 -53
- package/es/utils/geo.js.map +0 -1
- package/lib/line/models/arcmini.js +0 -161
- package/lib/line/models/arcmini.js.map +0 -1
- package/lib/point/models/icon-font.js +0 -196
- package/lib/point/models/icon-font.js.map +0 -1
- package/lib/raster/image.js +0 -2
- package/lib/raster/image.js.map +0 -1
- package/lib/raster/raster2d.js +0 -172
- package/lib/raster/raster2d.js.map +0 -1
- package/lib/utils/geo.js +0 -65
- package/lib/utils/geo.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Geometry/models/sprite.ts"],"names":["SPRITE_ANIMATE_DIR","SpriteModel","layer","getLayerConfig","spriteBottom","updateZ","spriteUpdate","bottomZ","topZ","spriteTop","i","positions","length","spriteAnimate","UP","vertices","indices","size","attributes","createAttrubutes","triangulation","planeGeometryUpdateTriangulation","models","map","m","updateAttributes","renderLayers","timer","requestAnimationFrame","updateModel","center","spriteCount","spriteRadius","initSprite","radius","lng","lat","mapService","heightLimit","height","Math","random","push","getPos","z","randomX","randomY","x","y","version","Version","lngLatToCoord","a","b","opacity","mapTexture","spriteScale","texture","destroy","updateTexture","u_opacity","u_mapFlag","u_texture","u_Scale","cancelAnimationFrame","DOWN","createTexture2D","rendererService","width","setTimeout","buildLayerModel","moduleName","vertexShader","spriteVert","fragmentShader","spriteFrag","planeGeometryTriangulation","primitive","gl","POINTS","depth","enable","blend","getBlend","initModels","img","Image","crossOrigin","onload","data","wrapS","CLAMP_TO_EDGE","wrapT","layerService","updateLayerRenderList","src","properties","type","minimum","maximum","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IAnimateOption,\n IEncodeFeature,\n ILayerConfig,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { Version } from '@antv/l7-maps';\n\nimport BaseModel from '../../core/BaseModel';\nimport { IGeometryLayerStyleOptions } from '../../core/interface';\nimport spriteFrag from '../shaders/sprite_frag.glsl';\nimport spriteVert from '../shaders/sprite_vert.glsl';\n\nenum SPRITE_ANIMATE_DIR {\n 'UP' = 'up',\n 'DOWN' = 'down',\n}\n\nexport default class SpriteModel extends BaseModel {\n protected texture: ITexture2D;\n protected mapTexture: string | undefined;\n protected positions: number[];\n protected indices: number[];\n protected timer: number;\n protected spriteTop: number;\n protected spriteUpdate: number;\n protected spriteAnimate: SPRITE_ANIMATE_DIR;\n\n public initSprite(radius = 10, spriteCount = 100, lng = 120, lat = 30) {\n const indices = [];\n const positions = [];\n const mapService = this.mapService;\n const heightLimit =\n this.spriteAnimate === SPRITE_ANIMATE_DIR.UP\n ? -this.spriteTop\n : this.spriteTop;\n for (let i = 0; i < spriteCount; i++) {\n const height = Math.random() * heightLimit;\n positions.push(...getPos(height));\n }\n for (let i = 0; i < spriteCount; i++) {\n indices.push(i);\n }\n\n function getPos(z: number) {\n const randomX = radius * Math.random();\n const randomY = radius * Math.random();\n const x = -radius / 2 + randomX;\n const y = -radius / 2 + randomY;\n if (mapService.version === Version['GAODE2.x']) {\n // @ts-ignore\n const [a, b] = mapService.lngLatToCoord([x + lng, -y + lat]) as [\n number,\n number,\n ];\n return [a, b, z, 0, 0];\n } else {\n return [x + lng, -y + lat, z, 0, 0];\n }\n }\n\n return { indices, positions };\n }\n\n public planeGeometryUpdateTriangulation = () => {\n const {\n spriteBottom = -100000,\n } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;\n const updateZ = this.spriteUpdate;\n // const bottomZ = -100000;\n const bottomZ = spriteBottom;\n const topZ = this.spriteTop;\n\n for (let i = 0; i < this.positions.length; i += 5) {\n if (this.spriteAnimate === SPRITE_ANIMATE_DIR.UP) {\n this.positions[i + 2] += updateZ;\n if (this.positions[i + 2] > topZ) {\n this.positions[i + 2] = bottomZ;\n }\n } else {\n this.positions[i + 2] -= updateZ;\n if (this.positions[i + 2] < bottomZ) {\n this.positions[i + 2] = topZ;\n }\n }\n }\n\n return {\n vertices: this.positions,\n indices: this.indices,\n size: 5,\n };\n };\n\n public updateModel = () => {\n // @ts-ignore\n const attributes = this.layer.createAttrubutes({\n triangulation: this.planeGeometryUpdateTriangulation,\n });\n this.layer.models.map((m) => {\n m.updateAttributes(attributes);\n });\n this.layer.renderLayers();\n\n this.timer = requestAnimationFrame(this.updateModel);\n };\n\n public planeGeometryTriangulation = () => {\n const {\n center = [120, 30],\n spriteCount = 100,\n spriteRadius = 10,\n } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;\n\n const { indices, positions } = this.initSprite(\n spriteRadius,\n spriteCount,\n ...center,\n );\n this.positions = positions;\n this.indices = indices;\n return {\n vertices: positions,\n indices,\n size: 5,\n };\n };\n\n public getUninforms(): IModelUniform {\n const {\n opacity,\n mapTexture,\n spriteScale = 1,\n } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;\n if (this.mapTexture !== mapTexture) {\n this.mapTexture = mapTexture;\n this.texture?.destroy();\n this.updateTexture(mapTexture);\n }\n return {\n u_opacity: opacity || 1,\n u_mapFlag: mapTexture ? 1 : 0,\n u_texture: this.texture,\n u_Scale: spriteScale,\n };\n }\n\n public clearModels(): void {\n cancelAnimationFrame(this.timer);\n this.texture?.destroy();\n }\n\n public initModels() {\n const {\n mapTexture,\n spriteTop = 5000000,\n spriteUpdate = 10000,\n spriteAnimate = SPRITE_ANIMATE_DIR.DOWN,\n } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;\n this.mapTexture = mapTexture;\n this.spriteTop = spriteTop;\n this.spriteUpdate = spriteUpdate;\n spriteAnimate === 'up'\n ? (this.spriteAnimate = SPRITE_ANIMATE_DIR.UP)\n : (this.spriteAnimate = SPRITE_ANIMATE_DIR.DOWN);\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n\n this.updateTexture(mapTexture);\n\n setTimeout(() => {\n this.updateModel();\n }, 100);\n\n return [\n this.layer.buildLayerModel({\n moduleName: 'geometry_sprite',\n vertexShader: spriteVert,\n fragmentShader: spriteFrag,\n triangulation: this.planeGeometryTriangulation,\n primitive: gl.POINTS,\n depth: { enable: false },\n blend: this.getBlend(),\n }),\n ];\n }\n\n public buildModels() {\n return this.initModels();\n }\n\n public updateTexture(mapTexture: string | undefined): void {\n const { createTexture2D } = this.rendererService;\n\n if (mapTexture) {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.onload = () => {\n this.texture = createTexture2D({\n data: img,\n width: img.width,\n height: img.height,\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n img.src = mapTexture;\n } else {\n this.texture = createTexture2D({\n width: 0,\n height: 0,\n });\n }\n }\n\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n protected registerBuiltinAttributes() {\n return '';\n }\n}\n"],"file":"sprite.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/Geometry/models/sprite.ts"],"names":["SPRITE_ANIMATE_DIR","SpriteModel","layer","getLayerConfig","spriteBottom","updateZ","spriteUpdate","bottomZ","topZ","spriteTop","i","positions","length","spriteAnimate","UP","vertices","indices","size","attributes","createAttrubutes","triangulation","planeGeometryUpdateTriangulation","models","map","m","updateAttributes","renderLayers","timer","requestAnimationFrame","updateModel","center","spriteCount","spriteRadius","initSprite","radius","lng","lat","mapService","heightLimit","height","Math","random","push","getPos","z","randomX","randomY","x","y","version","Version","lngLatToCoord","a","b","opacity","mapTexture","spriteScale","texture","destroy","updateTexture","u_opacity","u_mapFlag","u_texture","u_Scale","cancelAnimationFrame","callbackModel","DOWN","createTexture2D","rendererService","width","setTimeout","buildLayerModel","moduleName","vertexShader","spriteVert","fragmentShader","spriteFrag","planeGeometryTriangulation","primitive","gl","POINTS","depth","enable","blend","getBlend","then","model","catch","err","console","warn","initModels","img","Image","crossOrigin","onload","data","wrapS","CLAMP_TO_EDGE","wrapT","layerService","updateLayerRenderList","src","properties","type","minimum","maximum","BaseModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAUA;;AAEA;;;;;;;;IAKKA,kB;;WAAAA,kB;AAAAA,EAAAA,kB;AAAAA,EAAAA,kB;GAAAA,kB,KAAAA,kB;;IAKgBC,W;;;;;;;;;;;;;;;;;;;;;;;mHA8CuB,YAAM;AAC9C,iBAEI,MAAKC,KAAL,CAAWC,cAAX,EAFJ;AAAA,mCACEC,YADF;AAAA,UACEA,YADF,kCACiB,CAAC,MADlB;;AAGA,UAAMC,OAAO,GAAG,MAAKC,YAArB;AAEA,UAAMC,OAAO,GAAGH,YAAhB;AACA,UAAMI,IAAI,GAAG,MAAKC,SAAlB;;AAEA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,MAAKC,SAAL,CAAeC,MAAnC,EAA2CF,CAAC,IAAI,CAAhD,EAAmD;AACjD,YAAI,MAAKG,aAAL,KAAuBb,kBAAkB,CAACc,EAA9C,EAAkD;AAChD,gBAAKH,SAAL,CAAeD,CAAC,GAAG,CAAnB,KAAyBL,OAAzB;;AACA,cAAI,MAAKM,SAAL,CAAeD,CAAC,GAAG,CAAnB,IAAwBF,IAA5B,EAAkC;AAChC,kBAAKG,SAAL,CAAeD,CAAC,GAAG,CAAnB,IAAwBH,OAAxB;AACD;AACF,SALD,MAKO;AACL,gBAAKI,SAAL,CAAeD,CAAC,GAAG,CAAnB,KAAyBL,OAAzB;;AACA,cAAI,MAAKM,SAAL,CAAeD,CAAC,GAAG,CAAnB,IAAwBH,OAA5B,EAAqC;AACnC,kBAAKI,SAAL,CAAeD,CAAC,GAAG,CAAnB,IAAwBF,IAAxB;AACD;AACF;AACF;;AAED,aAAO;AACLO,QAAAA,QAAQ,EAAE,MAAKJ,SADV;AAELK,QAAAA,OAAO,EAAE,MAAKA,OAFT;AAGLC,QAAAA,IAAI,EAAE;AAHD,OAAP;AAKD,K;8FAEoB,YAAM;AAEzB,UAAMC,UAAU,GAAG,MAAKhB,KAAL,CAAWiB,gBAAX,CAA4B;AAC7CC,QAAAA,aAAa,EAAE,MAAKC;AADyB,OAA5B,CAAnB;;AAGA,YAAKnB,KAAL,CAAWoB,MAAX,CAAkBC,GAAlB,CAAsB,UAACC,CAAD,EAAO;AAC3BA,QAAAA,CAAC,CAACC,gBAAF,CAAmBP,UAAnB;AACD,OAFD;;AAGA,YAAKhB,KAAL,CAAWwB,YAAX;;AAEA,YAAKC,KAAL,GAAaC,qBAAqB,CAAC,MAAKC,WAAN,CAAlC;AACD,K;6GAEmC,YAAM;AAAA;;AACxC,kBAII,MAAK3B,KAAL,CAAWC,cAAX,EAJJ;AAAA,+BACE2B,MADF;AAAA,UACEA,MADF,6BACW,CAAC,GAAD,EAAM,EAAN,CADX;AAAA,oCAEEC,WAFF;AAAA,UAEEA,WAFF,kCAEgB,GAFhB;AAAA,qCAGEC,YAHF;AAAA,UAGEA,YAHF,mCAGiB,EAHjB;;AAMA,6BAA+B,iBAAKC,UAAL,gBAC7BD,YAD6B,EAE7BD,WAF6B,0CAG1BD,MAH0B,GAA/B;AAAA,UAAQd,OAAR,oBAAQA,OAAR;AAAA,UAAiBL,SAAjB,oBAAiBA,SAAjB;;AAKA,YAAKA,SAAL,GAAiBA,SAAjB;AACA,YAAKK,OAAL,GAAeA,OAAf;AACA,aAAO;AACLD,QAAAA,QAAQ,EAAEJ,SADL;AAELK,QAAAA,OAAO,EAAPA,OAFK;AAGLC,QAAAA,IAAI,EAAE;AAHD,OAAP;AAKD,K;;;;;;WAlGD,sBAAuE;AAAA,UAArDiB,MAAqD,uEAA5C,EAA4C;AAAA,UAAxCH,WAAwC,uEAA1B,GAA0B;AAAA,UAArBI,GAAqB,uEAAf,GAAe;AAAA,UAAVC,GAAU,uEAAJ,EAAI;AACrE,UAAMpB,OAAO,GAAG,EAAhB;AACA,UAAML,SAAS,GAAG,EAAlB;AACA,UAAM0B,UAAU,GAAG,KAAKA,UAAxB;AACA,UAAMC,WAAW,GACf,KAAKzB,aAAL,KAAuBb,kBAAkB,CAACc,EAA1C,GACI,CAAC,KAAKL,SADV,GAEI,KAAKA,SAHX;;AAIA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqB,WAApB,EAAiCrB,CAAC,EAAlC,EAAsC;AACpC,YAAM6B,MAAM,GAAGC,IAAI,CAACC,MAAL,KAAgBH,WAA/B;AACA3B,QAAAA,SAAS,CAAC+B,IAAV,OAAA/B,SAAS,mCAASgC,MAAM,CAACJ,MAAD,CAAf,EAAT;AACD;;AACD,WAAK,IAAI7B,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGqB,WAApB,EAAiCrB,EAAC,EAAlC,EAAsC;AACpCM,QAAAA,OAAO,CAAC0B,IAAR,CAAahC,EAAb;AACD;;AAED,eAASiC,MAAT,CAAgBC,CAAhB,EAA2B;AACzB,YAAMC,OAAO,GAAGX,MAAM,GAAGM,IAAI,CAACC,MAAL,EAAzB;AACA,YAAMK,OAAO,GAAGZ,MAAM,GAAGM,IAAI,CAACC,MAAL,EAAzB;AACA,YAAMM,CAAC,GAAG,CAACb,MAAD,GAAU,CAAV,GAAcW,OAAxB;AACA,YAAMG,CAAC,GAAG,CAACd,MAAD,GAAU,CAAV,GAAcY,OAAxB;;AACA,YAAIT,UAAU,CAACY,OAAX,KAAuBC,gBAAQ,UAAR,CAA3B,EAAgD;AAE9C,sBAAeb,UAAU,CAACc,aAAX,CAAyB,CAACJ,CAAC,GAAGZ,GAAL,EAAU,CAACa,CAAD,GAAKZ,GAAf,CAAzB,CAAf;AAAA;AAAA,cAAOgB,CAAP;AAAA,cAAUC,CAAV;;AAIA,iBAAO,CAACD,CAAD,EAAIC,CAAJ,EAAOT,CAAP,EAAU,CAAV,EAAa,CAAb,CAAP;AACD,SAPD,MAOO;AACL,iBAAO,CAACG,CAAC,GAAGZ,GAAL,EAAU,CAACa,CAAD,GAAKZ,GAAf,EAAoBQ,CAApB,EAAuB,CAAvB,EAA0B,CAA1B,CAAP;AACD;AACF;;AAED,aAAO;AAAE5B,QAAAA,OAAO,EAAPA,OAAF;AAAWL,QAAAA,SAAS,EAATA;AAAX,OAAP;AACD;;;WAkED,wBAAqC;AACnC,kBAII,KAAKT,KAAL,CAAWC,cAAX,EAJJ;AAAA,UACEmD,OADF,SACEA,OADF;AAAA,UAEEC,UAFF,SAEEA,UAFF;AAAA,oCAGEC,WAHF;AAAA,UAGEA,WAHF,kCAGgB,CAHhB;;AAKA,UAAI,KAAKD,UAAL,KAAoBA,UAAxB,EAAoC;AAAA;;AAClC,aAAKA,UAAL,GAAkBA,UAAlB;AACA,8BAAKE,OAAL,gEAAcC,OAAd;AACA,aAAKC,aAAL,CAAmBJ,UAAnB;AACD;;AACD,aAAO;AACLK,QAAAA,SAAS,EAAEN,OAAO,IAAI,CADjB;AAELO,QAAAA,SAAS,EAAEN,UAAU,GAAG,CAAH,GAAO,CAFvB;AAGLO,QAAAA,SAAS,EAAE,KAAKL,OAHX;AAILM,QAAAA,OAAO,EAAEP;AAJJ,OAAP;AAMD;;;WAED,uBAA2B;AAAA;;AACzBQ,MAAAA,oBAAoB,CAAC,KAAKrC,KAAN,CAApB;AACA,6BAAK8B,OAAL,kEAAcC,OAAd;AACD;;;WAED,oBAAkBO,aAAlB,EAA6D;AAAA;;AAC3D,kBAKI,KAAK/D,KAAL,CAAWC,cAAX,EALJ;AAAA,UACEoD,UADF,SACEA,UADF;AAAA,kCAEE9C,SAFF;AAAA,UAEEA,SAFF,gCAEc,OAFd;AAAA,qCAGEH,YAHF;AAAA,UAGEA,YAHF,mCAGiB,KAHjB;AAAA,sCAIEO,aAJF;AAAA,UAIEA,aAJF,oCAIkBb,kBAAkB,CAACkE,IAJrC;;AAMA,WAAKX,UAAL,GAAkBA,UAAlB;AACA,WAAK9C,SAAL,GAAiBA,SAAjB;AACA,WAAKH,YAAL,GAAoBA,YAApB;AACAO,MAAAA,aAAa,KAAK,IAAlB,GACK,KAAKA,aAAL,GAAqBb,kBAAkB,CAACc,EAD7C,GAEK,KAAKD,aAAL,GAAqBb,kBAAkB,CAACkE,IAF7C;AAIA,UAAQC,eAAR,GAA4B,KAAKC,eAAjC,CAAQD,eAAR;AACA,WAAKV,OAAL,GAAeU,eAAe,CAAC;AAC7B5B,QAAAA,MAAM,EAAE,CADqB;AAE7B8B,QAAAA,KAAK,EAAE;AAFsB,OAAD,CAA9B;AAKA,WAAKV,aAAL,CAAmBJ,UAAnB;AAEAe,MAAAA,UAAU,CAAC,YAAM;AACf,QAAA,MAAI,CAACzC,WAAL;AACD,OAFS,EAEP,GAFO,CAAV;AAIA,WAAK3B,KAAL,CACGqE,eADH,CACmB;AACfC,QAAAA,UAAU,EAAE,gBADG;AAEfC,QAAAA,YAAY,EAAEC,UAFC;AAGfC,QAAAA,cAAc,EAAEC,UAHD;AAIfxD,QAAAA,aAAa,EAAE,KAAKyD,0BAJL;AAKfC,QAAAA,SAAS,EAAEC,WAAGC,MALC;AAMfC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;AAAV,SANQ;AAOfC,QAAAA,KAAK,EAAE,KAAKC,QAAL;AAPQ,OADnB,EAUGC,IAVH,CAUQ,UAACC,KAAD,EAAW;AACfrB,QAAAA,aAAa,CAAC,CAACqB,KAAD,CAAD,CAAb;AACD,OAZH,EAaGC,KAbH,CAaS,UAACC,GAAD,EAAS;AACdC,QAAAA,OAAO,CAACC,IAAR,CAAaF,GAAb;AACAvB,QAAAA,aAAa,CAAC,EAAD,CAAb;AACD,OAhBH;AAiBD;;;WAED,qBAAmBA,aAAnB,EAA8D;AAC5D,WAAK0B,UAAL,CAAgB1B,aAAhB;AACD;;;WAED,uBAAqBV,UAArB,EAA2D;AAAA;;AACzD,UAAQY,eAAR,GAA4B,KAAKC,eAAjC,CAAQD,eAAR;;AAEA,UAAIZ,UAAJ,EAAgB;AACd,YAAMqC,GAAG,GAAG,IAAIC,KAAJ,EAAZ;AACAD,QAAAA,GAAG,CAACE,WAAJ,GAAkB,WAAlB;;AACAF,QAAAA,GAAG,CAACG,MAAJ,GAAa,YAAM;AACjB,UAAA,MAAI,CAACtC,OAAL,GAAeU,eAAe,CAAC;AAC7B6B,YAAAA,IAAI,EAAEJ,GADuB;AAE7BvB,YAAAA,KAAK,EAAEuB,GAAG,CAACvB,KAFkB;AAG7B9B,YAAAA,MAAM,EAAEqD,GAAG,CAACrD,MAHiB;AAI7B0D,YAAAA,KAAK,EAAElB,WAAGmB,aAJmB;AAK7BC,YAAAA,KAAK,EAAEpB,WAAGmB;AALmB,WAAD,CAA9B;;AAOA,UAAA,MAAI,CAACE,YAAL,CAAkBC,qBAAlB;;AACA,UAAA,MAAI,CAACD,YAAL,CAAkB1E,YAAlB;AACD,SAVD;;AAWAkE,QAAAA,GAAG,CAACU,GAAJ,GAAU/C,UAAV;AACD,OAfD,MAeO;AACL,aAAKE,OAAL,GAAeU,eAAe,CAAC;AAC7BE,UAAAA,KAAK,EAAE,CADsB;AAE7B9B,UAAAA,MAAM,EAAE;AAFqB,SAAD,CAA9B;AAID;AACF;;;WAED,2BAA4B;AAC1B,aAAO;AACLgE,QAAAA,UAAU,EAAE;AACVjD,UAAAA,OAAO,EAAE;AACPkD,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WAED,qCAAsC;AACpC,aAAO,EAAP;AACD;;;EA/NsCC,mB","sourcesContent":["import {\n AttributeType,\n gl,\n IAnimateOption,\n IEncodeFeature,\n ILayerConfig,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { Version } from '@antv/l7-maps';\n\nimport BaseModel from '../../core/BaseModel';\nimport { IGeometryLayerStyleOptions } from '../../core/interface';\nimport spriteFrag from '../shaders/sprite_frag.glsl';\nimport spriteVert from '../shaders/sprite_vert.glsl';\n\nenum SPRITE_ANIMATE_DIR {\n 'UP' = 'up',\n 'DOWN' = 'down',\n}\n\nexport default class SpriteModel extends BaseModel {\n protected texture: ITexture2D;\n protected mapTexture: string | undefined;\n protected positions: number[];\n protected indices: number[];\n protected timer: number;\n protected spriteTop: number;\n protected spriteUpdate: number;\n protected spriteAnimate: SPRITE_ANIMATE_DIR;\n\n public initSprite(radius = 10, spriteCount = 100, lng = 120, lat = 30) {\n const indices = [];\n const positions = [];\n const mapService = this.mapService;\n const heightLimit =\n this.spriteAnimate === SPRITE_ANIMATE_DIR.UP\n ? -this.spriteTop\n : this.spriteTop;\n for (let i = 0; i < spriteCount; i++) {\n const height = Math.random() * heightLimit;\n positions.push(...getPos(height));\n }\n for (let i = 0; i < spriteCount; i++) {\n indices.push(i);\n }\n\n function getPos(z: number) {\n const randomX = radius * Math.random();\n const randomY = radius * Math.random();\n const x = -radius / 2 + randomX;\n const y = -radius / 2 + randomY;\n if (mapService.version === Version['GAODE2.x']) {\n // @ts-ignore\n const [a, b] = mapService.lngLatToCoord([x + lng, -y + lat]) as [\n number,\n number,\n ];\n return [a, b, z, 0, 0];\n } else {\n return [x + lng, -y + lat, z, 0, 0];\n }\n }\n\n return { indices, positions };\n }\n\n public planeGeometryUpdateTriangulation = () => {\n const {\n spriteBottom = -100000,\n } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;\n const updateZ = this.spriteUpdate;\n // const bottomZ = -100000;\n const bottomZ = spriteBottom;\n const topZ = this.spriteTop;\n\n for (let i = 0; i < this.positions.length; i += 5) {\n if (this.spriteAnimate === SPRITE_ANIMATE_DIR.UP) {\n this.positions[i + 2] += updateZ;\n if (this.positions[i + 2] > topZ) {\n this.positions[i + 2] = bottomZ;\n }\n } else {\n this.positions[i + 2] -= updateZ;\n if (this.positions[i + 2] < bottomZ) {\n this.positions[i + 2] = topZ;\n }\n }\n }\n\n return {\n vertices: this.positions,\n indices: this.indices,\n size: 5,\n };\n };\n\n public updateModel = () => {\n // @ts-ignore\n const attributes = this.layer.createAttrubutes({\n triangulation: this.planeGeometryUpdateTriangulation,\n });\n this.layer.models.map((m) => {\n m.updateAttributes(attributes);\n });\n this.layer.renderLayers();\n\n this.timer = requestAnimationFrame(this.updateModel);\n };\n\n public planeGeometryTriangulation = () => {\n const {\n center = [120, 30],\n spriteCount = 100,\n spriteRadius = 10,\n } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;\n\n const { indices, positions } = this.initSprite(\n spriteRadius,\n spriteCount,\n ...center,\n );\n this.positions = positions;\n this.indices = indices;\n return {\n vertices: positions,\n indices,\n size: 5,\n };\n };\n\n public getUninforms(): IModelUniform {\n const {\n opacity,\n mapTexture,\n spriteScale = 1,\n } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;\n if (this.mapTexture !== mapTexture) {\n this.mapTexture = mapTexture;\n this.texture?.destroy();\n this.updateTexture(mapTexture);\n }\n return {\n u_opacity: opacity || 1,\n u_mapFlag: mapTexture ? 1 : 0,\n u_texture: this.texture,\n u_Scale: spriteScale,\n };\n }\n\n public clearModels(): void {\n cancelAnimationFrame(this.timer);\n this.texture?.destroy();\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n const {\n mapTexture,\n spriteTop = 5000000,\n spriteUpdate = 10000,\n spriteAnimate = SPRITE_ANIMATE_DIR.DOWN,\n } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;\n this.mapTexture = mapTexture;\n this.spriteTop = spriteTop;\n this.spriteUpdate = spriteUpdate;\n spriteAnimate === 'up'\n ? (this.spriteAnimate = SPRITE_ANIMATE_DIR.UP)\n : (this.spriteAnimate = SPRITE_ANIMATE_DIR.DOWN);\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n\n this.updateTexture(mapTexture);\n\n setTimeout(() => {\n this.updateModel();\n }, 100);\n\n this.layer\n .buildLayerModel({\n moduleName: 'geometrySprite',\n vertexShader: spriteVert,\n fragmentShader: spriteFrag,\n triangulation: this.planeGeometryTriangulation,\n primitive: gl.POINTS,\n depth: { enable: false },\n blend: this.getBlend(),\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n this.initModels(callbackModel);\n }\n\n public updateTexture(mapTexture: string | undefined): void {\n const { createTexture2D } = this.rendererService;\n\n if (mapTexture) {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.onload = () => {\n this.texture = createTexture2D({\n data: img,\n width: img.width,\n height: img.height,\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n img.src = mapTexture;\n } else {\n this.texture = createTexture2D({\n width: 0,\n height: 0,\n });\n }\n }\n\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n protected registerBuiltinAttributes() {\n return '';\n }\n}\n"],"file":"sprite.js"}
|
package/lib/canvas/index.js
CHANGED
|
@@ -51,14 +51,24 @@ var CanvasLayer = function (_BaseLayer) {
|
|
|
51
51
|
(0, _createClass2.default)(CanvasLayer, [{
|
|
52
52
|
key: "buildModels",
|
|
53
53
|
value: function buildModels() {
|
|
54
|
+
var _this2 = this;
|
|
55
|
+
|
|
54
56
|
var modelType = this.getModelType();
|
|
55
57
|
this.layerModel = new _index.default[modelType](this);
|
|
56
|
-
this.
|
|
58
|
+
this.layerModel.initModels(function (models) {
|
|
59
|
+
_this2.models = models;
|
|
60
|
+
|
|
61
|
+
_this2.renderLayers();
|
|
62
|
+
});
|
|
57
63
|
}
|
|
58
64
|
}, {
|
|
59
65
|
key: "rebuildModels",
|
|
60
66
|
value: function rebuildModels() {
|
|
61
|
-
|
|
67
|
+
var _this3 = this;
|
|
68
|
+
|
|
69
|
+
this.layerModel.buildModels(function (models) {
|
|
70
|
+
return _this3.models = models;
|
|
71
|
+
});
|
|
62
72
|
}
|
|
63
73
|
}, {
|
|
64
74
|
key: "getConfigSchema",
|
package/lib/canvas/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/canvas/index.ts"],"names":["CanvasLayer","modelType","getModelType","layerModel","CanvasModels","models","
|
|
1
|
+
{"version":3,"sources":["../../src/canvas/index.ts"],"names":["CanvasLayer","modelType","getModelType","layerModel","CanvasModels","initModels","models","renderLayers","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","canvas","BaseLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IACqBA,W;;;;;;;;;;;;;;;uFACG,a;;;;;;WACtB,uBAAqB;AAAA;;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIC,eAAaH,SAAb,CAAJ,CAA4B,IAA5B,CAAlB;AACA,WAAKE,UAAL,CAAgBE,UAAhB,CAA2B,UAACC,MAAD,EAAY;AACrC,QAAA,MAAI,CAACA,MAAL,GAAcA,MAAd;;AACA,QAAA,MAAI,CAACC,YAAL;AACD,OAHD;AAID;;;WACD,yBAAuB;AAAA;;AACrB,WAAKJ,UAAL,CAAgBK,WAAhB,CAA4B,UAACF,MAAD;AAAA,eAAa,MAAI,CAACA,MAAL,GAAcA,MAA3B;AAAA,OAA5B;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLG,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKT,YAAL,EAAb;AACA,UAAMY,aAAa,GAAG;AACpBC,QAAAA,MAAM,EAAE;AADY,OAAtB;AAGA,aAAOD,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA0C;AACxC,aAAO,QAAP;AACD;;;EAlCsCK,mB","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport { ICanvasLayerStyleOptions } from '../core/interface';\nimport CanvasModels, { CanvasModelType } from './models/index';\nexport default class CanvasLayer extends BaseLayer<ICanvasLayerStyleOptions> {\n public type: string = 'CanvasLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new CanvasModels[modelType](this);\n this.layerModel.initModels((models) => {\n this.models = models;\n this.renderLayers();\n });\n }\n public rebuildModels() {\n this.layerModel.buildModels((models) => (this.models = models));\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n canvas: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): CanvasModelType {\n return 'canvas';\n }\n}\n"],"file":"index.js"}
|
|
@@ -51,13 +51,23 @@ var CityBuildingLayer = function (_BaseLayer) {
|
|
|
51
51
|
(0, _createClass2.default)(CityBuildingLayer, [{
|
|
52
52
|
key: "buildModels",
|
|
53
53
|
value: function buildModels() {
|
|
54
|
+
var _this2 = this;
|
|
55
|
+
|
|
54
56
|
this.layerModel = new _build.default(this);
|
|
55
|
-
this.
|
|
57
|
+
this.layerModel.initModels(function (models) {
|
|
58
|
+
_this2.models = models;
|
|
59
|
+
|
|
60
|
+
_this2.renderLayers();
|
|
61
|
+
});
|
|
56
62
|
}
|
|
57
63
|
}, {
|
|
58
64
|
key: "rebuildModels",
|
|
59
65
|
value: function rebuildModels() {
|
|
60
|
-
|
|
66
|
+
var _this3 = this;
|
|
67
|
+
|
|
68
|
+
this.layerModel.buildModels(function (models) {
|
|
69
|
+
return _this3.models = models;
|
|
70
|
+
});
|
|
61
71
|
}
|
|
62
72
|
}, {
|
|
63
73
|
key: "setLight",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/citybuliding/building.ts"],"names":["CityBuildingLayer","layerModel","CityBuildModel","models","
|
|
1
|
+
{"version":3,"sources":["../../src/citybuliding/building.ts"],"names":["CityBuildingLayer","layerModel","CityBuildModel","initModels","models","renderLayers","buildModels","t","updateLayerConfig","time","properties","opacity","type","minimum","maximum","BaseLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,iB;;;;;;;;;;;;;;;uFACG,c;;;;;;WACtB,uBAAqB;AAAA;;AACnB,WAAKC,UAAL,GAAkB,IAAIC,cAAJ,CAAmB,IAAnB,CAAlB;AACA,WAAKD,UAAL,CAAgBE,UAAhB,CAA2B,UAACC,MAAD,EAAY;AACrC,QAAA,MAAI,CAACA,MAAL,GAAcA,MAAd;;AACA,QAAA,MAAI,CAACC,YAAL;AACD,OAHD;AAID;;;WACD,yBAAuB;AAAA;;AACrB,WAAKJ,UAAL,CAAgBK,WAAhB,CAA4B,UAACF,MAAD;AAAA,eAAa,MAAI,CAACA,MAAL,GAAcA,MAA3B;AAAA,OAA5B;AACD;;;WACD,kBAAgBG,CAAhB,EAA2B;AACzB,WAAKC,iBAAL,CAAuB;AACrBC,QAAAA,IAAI,EAAEF;AADe,OAAvB;AAGD;;;WACD,2BAA4B;AAC1B,aAAO;AACLG,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WAED,wBAAiC;AAC/B,aAAO,cAAP;AACD;;;EA/B4CC,mB","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport CityBuildModel from './models/build';\n\nexport default class CityBuildingLayer extends BaseLayer {\n public type: string = 'PolygonLayer';\n public buildModels() {\n this.layerModel = new CityBuildModel(this);\n this.layerModel.initModels((models) => {\n this.models = models;\n this.renderLayers();\n });\n }\n public rebuildModels() {\n this.layerModel.buildModels((models) => (this.models = models));\n }\n public setLight(t: number) {\n this.updateLayerConfig({\n time: t,\n });\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n protected getModelType(): string {\n return 'citybuilding';\n }\n}\n"],"file":"building.js"}
|
|
@@ -117,19 +117,32 @@ var CityBuildModel = function (_BaseModel) {
|
|
|
117
117
|
}
|
|
118
118
|
}, {
|
|
119
119
|
key: "initModels",
|
|
120
|
-
value: function initModels() {
|
|
120
|
+
value: function initModels(callbackModel) {
|
|
121
121
|
this.calCityGeo();
|
|
122
122
|
this.startModelAnimate();
|
|
123
|
-
|
|
123
|
+
this.buildModels(callbackModel);
|
|
124
|
+
}
|
|
125
|
+
}, {
|
|
126
|
+
key: "buildModels",
|
|
127
|
+
value: function buildModels(callbackModel) {
|
|
128
|
+
this.layer.buildLayerModel({
|
|
124
129
|
moduleName: 'cityBuilding',
|
|
125
130
|
vertexShader: buildVert,
|
|
126
131
|
fragmentShader: buildFrag,
|
|
127
132
|
triangulation: _triangulation.PolygonExtrudeTriangulation,
|
|
133
|
+
depth: {
|
|
134
|
+
enable: true
|
|
135
|
+
},
|
|
128
136
|
cull: {
|
|
129
137
|
enable: true,
|
|
130
138
|
face: _l7Core.gl.BACK
|
|
131
139
|
}
|
|
132
|
-
})
|
|
140
|
+
}).then(function (model) {
|
|
141
|
+
callbackModel([model]);
|
|
142
|
+
}).catch(function (err) {
|
|
143
|
+
console.warn(err);
|
|
144
|
+
callbackModel([]);
|
|
145
|
+
});
|
|
133
146
|
}
|
|
134
147
|
}, {
|
|
135
148
|
key: "registerBuiltinAttributes",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/citybuliding/models/build.ts"],"names":["CityBuildModel","layer","getLayerConfig","opacity","baseColor","brightColor","windowColor","time","sweep","enable","sweepRadius","sweepColor","sweepSpeed","sweepCenter","cityCenter","u_cityCenter","u_cityMinSize","cityMinSize","u_circleSweep","u_circleSweepColor","slice","u_circleSweepSpeed","u_opacity","u_baseColor","u_brightColor","u_windowColor","u_time","getLayerAnimateTime","getSource","extent","minLng","minLat","maxLng","maxLat","mapService","version","lngLatToCoord","l1","l2","Math","sqrt","pow","w","h","calCityGeo","startModelAnimate","buildLayerModel","moduleName","vertexShader","buildVert","fragmentShader","buildFrag","triangulation","PolygonExtrudeTriangulation","cull","face","gl","BACK","styleAttributeService","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","data","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","normal","DYNAMIC_DRAW","Array","isArray","BaseModel"],"mappings":"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","sourcesContent":["import { AttributeType, gl, IEncodeFeature, IModel } from '@antv/l7-core';\nimport { rgb2arr } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { PolygonExtrudeTriangulation } from '../../core/triangulation';\nimport buildFrag from '../shaders/build_frag.glsl';\nimport buildVert from '../shaders/build_vert.glsl';\ninterface ICityBuildLayerStyleOptions {\n opacity: number;\n baseColor: string;\n brightColor: string;\n windowColor: string;\n time: number;\n sweep: {\n enable: boolean;\n sweepRadius: number;\n sweepColor: string;\n sweepSpeed: number;\n sweepCenter?: [number, number];\n };\n}\nexport default class CityBuildModel extends BaseModel {\n private cityCenter: [number, number];\n private cityMinSize: number;\n\n public getUninforms() {\n const {\n opacity = 1,\n baseColor = 'rgb(16,16,16)',\n brightColor = 'rgb(255,176,38)',\n windowColor = 'rgb(30,60,89)',\n time = 0,\n sweep = {\n enable: false,\n sweepRadius: 1,\n sweepColor: 'rgb(255, 255, 255)',\n sweepSpeed: 0.4,\n sweepCenter: this.cityCenter,\n },\n } = this.layer.getLayerConfig() as ICityBuildLayerStyleOptions;\n return {\n u_cityCenter: sweep.sweepCenter || this.cityCenter,\n u_cityMinSize: this.cityMinSize * sweep.sweepRadius,\n u_circleSweep: sweep.enable ? 1.0 : 0.0,\n u_circleSweepColor: rgb2arr(sweep.sweepColor).slice(0, 3),\n u_circleSweepSpeed: sweep.sweepSpeed,\n\n u_opacity: opacity,\n u_baseColor: rgb2arr(baseColor),\n u_brightColor: rgb2arr(brightColor),\n u_windowColor: rgb2arr(windowColor),\n u_time: this.layer.getLayerAnimateTime() || time,\n };\n }\n\n public calCityGeo() {\n // @ts-ignore\n const [minLng, minLat, maxLng, maxLat] = this.layer.getSource().extent;\n if (this.mapService.version === 'GAODE2.x') {\n // @ts-ignore\n this.cityCenter = this.mapService.lngLatToCoord([\n (maxLng + minLng) / 2,\n (maxLat + minLat) / 2,\n ]);\n // @ts-ignore\n const l1 = this.mapService.lngLatToCoord([maxLng, maxLat]);\n // @ts-ignore\n const l2 = this.mapService.lngLatToCoord([minLng, minLat]);\n this.cityMinSize =\n Math.sqrt(Math.pow(l1[0] - l2[0], 2) + Math.pow(l1[1] - l2[1], 2)) / 4;\n } else {\n const w = maxLng - minLng;\n const h = maxLat - minLat;\n this.cityCenter = [(maxLng + minLng) / 2, (maxLat + minLat) / 2];\n this.cityMinSize = Math.sqrt(Math.pow(w, 2) + Math.pow(h, 2)) / 4;\n }\n }\n\n public initModels(): IModel[] {\n this.calCityGeo();\n\n this.startModelAnimate();\n return [\n this.layer.buildLayerModel({\n moduleName: 'cityBuilding',\n vertexShader: buildVert,\n fragmentShader: buildFrag,\n triangulation: PolygonExtrudeTriangulation,\n cull: {\n enable: true,\n face: gl.BACK,\n },\n }),\n ];\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'normal',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Normal',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.STATIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 3,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n normal: number[],\n ) => {\n return normal;\n },\n },\n });\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'size',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Size',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 1,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size = 10 } = feature;\n return Array.isArray(size) ? [size[0]] : [size as number];\n },\n },\n });\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size } = feature;\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n}\n"],"file":"build.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/citybuliding/models/build.ts"],"names":["CityBuildModel","layer","getLayerConfig","opacity","baseColor","brightColor","windowColor","time","sweep","enable","sweepRadius","sweepColor","sweepSpeed","sweepCenter","cityCenter","u_cityCenter","u_cityMinSize","cityMinSize","u_circleSweep","u_circleSweepColor","slice","u_circleSweepSpeed","u_opacity","u_baseColor","u_brightColor","u_windowColor","u_time","getLayerAnimateTime","getSource","extent","minLng","minLat","maxLng","maxLat","mapService","version","lngLatToCoord","l1","l2","Math","sqrt","pow","w","h","callbackModel","calCityGeo","startModelAnimate","buildModels","buildLayerModel","moduleName","vertexShader","buildVert","fragmentShader","buildFrag","triangulation","PolygonExtrudeTriangulation","depth","cull","face","gl","BACK","then","model","catch","err","console","warn","styleAttributeService","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","data","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","normal","DYNAMIC_DRAW","Array","isArray","BaseModel"],"mappings":"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","sourcesContent":["import { AttributeType, gl, IEncodeFeature, IModel } from '@antv/l7-core';\nimport { rgb2arr } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { PolygonExtrudeTriangulation } from '../../core/triangulation';\nimport buildFrag from '../shaders/build_frag.glsl';\nimport buildVert from '../shaders/build_vert.glsl';\ninterface ICityBuildLayerStyleOptions {\n opacity: number;\n baseColor: string;\n brightColor: string;\n windowColor: string;\n time: number;\n sweep: {\n enable: boolean;\n sweepRadius: number;\n sweepColor: string;\n sweepSpeed: number;\n sweepCenter?: [number, number];\n };\n}\nexport default class CityBuildModel extends BaseModel {\n private cityCenter: [number, number];\n private cityMinSize: number;\n\n public getUninforms() {\n const {\n opacity = 1,\n baseColor = 'rgb(16,16,16)',\n brightColor = 'rgb(255,176,38)',\n windowColor = 'rgb(30,60,89)',\n time = 0,\n sweep = {\n enable: false,\n sweepRadius: 1,\n sweepColor: 'rgb(255, 255, 255)',\n sweepSpeed: 0.4,\n sweepCenter: this.cityCenter,\n },\n } = this.layer.getLayerConfig() as ICityBuildLayerStyleOptions;\n return {\n u_cityCenter: sweep.sweepCenter || this.cityCenter,\n u_cityMinSize: this.cityMinSize * sweep.sweepRadius,\n u_circleSweep: sweep.enable ? 1.0 : 0.0,\n u_circleSweepColor: rgb2arr(sweep.sweepColor).slice(0, 3),\n u_circleSweepSpeed: sweep.sweepSpeed,\n\n u_opacity: opacity,\n u_baseColor: rgb2arr(baseColor),\n u_brightColor: rgb2arr(brightColor),\n u_windowColor: rgb2arr(windowColor),\n u_time: this.layer.getLayerAnimateTime() || time,\n };\n }\n\n public calCityGeo() {\n // @ts-ignore\n const [minLng, minLat, maxLng, maxLat] = this.layer.getSource().extent;\n if (this.mapService.version === 'GAODE2.x') {\n // @ts-ignore\n this.cityCenter = this.mapService.lngLatToCoord([\n (maxLng + minLng) / 2,\n (maxLat + minLat) / 2,\n ]);\n // @ts-ignore\n const l1 = this.mapService.lngLatToCoord([maxLng, maxLat]);\n // @ts-ignore\n const l2 = this.mapService.lngLatToCoord([minLng, minLat]);\n this.cityMinSize =\n Math.sqrt(Math.pow(l1[0] - l2[0], 2) + Math.pow(l1[1] - l2[1], 2)) / 4;\n } else {\n const w = maxLng - minLng;\n const h = maxLat - minLat;\n this.cityCenter = [(maxLng + minLng) / 2, (maxLat + minLat) / 2];\n this.cityMinSize = Math.sqrt(Math.pow(w, 2) + Math.pow(h, 2)) / 4;\n }\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n this.calCityGeo();\n\n this.startModelAnimate();\n\n this.buildModels(callbackModel);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n this.layer\n .buildLayerModel({\n moduleName: 'cityBuilding',\n vertexShader: buildVert,\n fragmentShader: buildFrag,\n triangulation: PolygonExtrudeTriangulation,\n depth: { enable: true },\n cull: {\n enable: true,\n face: gl.BACK,\n },\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'normal',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Normal',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.STATIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 3,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n normal: number[],\n ) => {\n return normal;\n },\n },\n });\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'size',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Size',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 1,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size = 10 } = feature;\n return Array.isArray(size) ? [size[0]] : [size as number];\n },\n },\n });\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size } = feature;\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n}\n"],"file":"build.js"}
|
package/lib/core/BaseLayer.js
CHANGED
|
@@ -60,7 +60,7 @@ var _multiPassRender = require("../utils/multiPassRender");
|
|
|
60
60
|
var _updateShape = require("../utils/updateShape");
|
|
61
61
|
|
|
62
62
|
var _excluded = ["passes"],
|
|
63
|
-
_excluded2 = ["moduleName", "vertexShader", "fragmentShader", "triangulation", "segmentNumber"];
|
|
63
|
+
_excluded2 = ["moduleName", "vertexShader", "fragmentShader", "triangulation", "segmentNumber", "workerEnabled", "workerOptions"];
|
|
64
64
|
|
|
65
65
|
var _dec, _class, _descriptor;
|
|
66
66
|
|
|
@@ -172,12 +172,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
172
172
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sourceEvent", function () {
|
|
173
173
|
_this.dataState.dataSourceNeedUpdate = true;
|
|
174
174
|
|
|
175
|
-
var
|
|
176
|
-
autoFit = _this$getLayerConfig.autoFit,
|
|
177
|
-
fitBoundsOptions = _this$getLayerConfig.fitBoundsOptions;
|
|
175
|
+
var layerConfig = _this.getLayerConfig();
|
|
178
176
|
|
|
179
|
-
if (autoFit) {
|
|
180
|
-
_this.fitBounds(fitBoundsOptions);
|
|
177
|
+
if (layerConfig && layerConfig.autoFit) {
|
|
178
|
+
_this.fitBounds(layerConfig.fitBoundsOptions);
|
|
181
179
|
}
|
|
182
180
|
|
|
183
181
|
_this.reRender();
|
|
@@ -277,9 +275,9 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
277
275
|
this.pickingService = this.container.get(_l7Core.TYPES.IPickingService);
|
|
278
276
|
this.mapService = this.container.get(_l7Core.TYPES.IMapService);
|
|
279
277
|
|
|
280
|
-
var _this$
|
|
281
|
-
enableMultiPassRenderer = _this$
|
|
282
|
-
passes = _this$
|
|
278
|
+
var _this$getLayerConfig = this.getLayerConfig(),
|
|
279
|
+
enableMultiPassRenderer = _this$getLayerConfig.enableMultiPassRenderer,
|
|
280
|
+
passes = _this$getLayerConfig.passes;
|
|
283
281
|
|
|
284
282
|
if (enableMultiPassRenderer && passes !== null && passes !== void 0 && passes.length && passes.length > 0) {
|
|
285
283
|
this.mapService.on('mapAfterFrameChange', function () {
|
|
@@ -356,7 +354,9 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
356
354
|
}, {
|
|
357
355
|
key: "createModelData",
|
|
358
356
|
value: function createModelData(data, option) {
|
|
359
|
-
|
|
357
|
+
var _this$layerModel;
|
|
358
|
+
|
|
359
|
+
if ((_this$layerModel = this.layerModel) !== null && _this$layerModel !== void 0 && _this$layerModel.createModelData) {
|
|
360
360
|
return this.layerModel.createModelData(option);
|
|
361
361
|
}
|
|
362
362
|
|
|
@@ -388,8 +388,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
388
388
|
this.inited = true;
|
|
389
389
|
this.updateLayerConfig(_objectSpread(_objectSpread({}, this.getDefaultConfig()), this.rawConfig));
|
|
390
390
|
|
|
391
|
-
var _this$
|
|
392
|
-
animateOption = _this$
|
|
391
|
+
var _this$getLayerConfig2 = this.getLayerConfig(),
|
|
392
|
+
animateOption = _this$getLayerConfig2.animateOption;
|
|
393
393
|
|
|
394
394
|
if (animateOption !== null && animateOption !== void 0 && animateOption.enable) {
|
|
395
395
|
this.layerService.startAnimate();
|
|
@@ -539,7 +539,9 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
539
539
|
|
|
540
540
|
if (lastConfig && lastConfig.mask === true && options.mask === false) {
|
|
541
541
|
this.clearModels();
|
|
542
|
-
this.
|
|
542
|
+
this.layerModel.buildModels(function (models) {
|
|
543
|
+
_this5.models = models;
|
|
544
|
+
});
|
|
543
545
|
}
|
|
544
546
|
|
|
545
547
|
return this;
|
|
@@ -570,7 +572,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
570
572
|
return this;
|
|
571
573
|
}
|
|
572
574
|
|
|
573
|
-
if (this.getEncodedData().length !== 0) {
|
|
575
|
+
if (this.getEncodedData() && this.getEncodedData().length !== 0) {
|
|
574
576
|
this.renderModels();
|
|
575
577
|
}
|
|
576
578
|
|
|
@@ -584,7 +586,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
584
586
|
while (1) {
|
|
585
587
|
switch (_context.prev = _context.next) {
|
|
586
588
|
case 0:
|
|
587
|
-
if (!(this.getEncodedData().length !== 0)) {
|
|
589
|
+
if (!(this.getEncodedData() && this.getEncodedData().length !== 0)) {
|
|
588
590
|
_context.next = 7;
|
|
589
591
|
break;
|
|
590
592
|
}
|
|
@@ -795,12 +797,12 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
795
797
|
value: function isVisible() {
|
|
796
798
|
var zoom = this.mapService.getZoom();
|
|
797
799
|
|
|
798
|
-
var _this$
|
|
799
|
-
visible = _this$
|
|
800
|
-
_this$
|
|
801
|
-
minZoom = _this$
|
|
802
|
-
_this$
|
|
803
|
-
maxZoom = _this$
|
|
800
|
+
var _this$getLayerConfig3 = this.getLayerConfig(),
|
|
801
|
+
visible = _this$getLayerConfig3.visible,
|
|
802
|
+
_this$getLayerConfig4 = _this$getLayerConfig3.minZoom,
|
|
803
|
+
minZoom = _this$getLayerConfig4 === void 0 ? -Infinity : _this$getLayerConfig4,
|
|
804
|
+
_this$getLayerConfig5 = _this$getLayerConfig3.maxZoom,
|
|
805
|
+
maxZoom = _this$getLayerConfig5 === void 0 ? Infinity : _this$getLayerConfig5;
|
|
804
806
|
|
|
805
807
|
return !!visible && zoom >= minZoom && zoom <= maxZoom;
|
|
806
808
|
}
|
|
@@ -818,9 +820,9 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
818
820
|
}
|
|
819
821
|
|
|
820
822
|
if (enableMultiPass) {
|
|
821
|
-
var _this$
|
|
822
|
-
_this$
|
|
823
|
-
passes = _this$
|
|
823
|
+
var _this$getLayerConfig6 = this.getLayerConfig(),
|
|
824
|
+
_this$getLayerConfig7 = _this$getLayerConfig6.passes,
|
|
825
|
+
passes = _this$getLayerConfig7 === void 0 ? [] : _this$getLayerConfig7;
|
|
824
826
|
|
|
825
827
|
this.multiPassRenderer = (0, _multiPassRender.createMultiPassRenderer)(this, passes, this.postProcessingPassFactory, this.normalPassFactory);
|
|
826
828
|
this.multiPassRenderer.setRenderFlag(true);
|
|
@@ -845,16 +847,16 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
845
847
|
}, {
|
|
846
848
|
key: "getMinZoom",
|
|
847
849
|
value: function getMinZoom() {
|
|
848
|
-
var _this$
|
|
849
|
-
minZoom = _this$
|
|
850
|
+
var _this$getLayerConfig8 = this.getLayerConfig(),
|
|
851
|
+
minZoom = _this$getLayerConfig8.minZoom;
|
|
850
852
|
|
|
851
853
|
return minZoom;
|
|
852
854
|
}
|
|
853
855
|
}, {
|
|
854
856
|
key: "getMaxZoom",
|
|
855
857
|
value: function getMaxZoom() {
|
|
856
|
-
var _this$
|
|
857
|
-
maxZoom = _this$
|
|
858
|
+
var _this$getLayerConfig9 = this.getLayerConfig(),
|
|
859
|
+
maxZoom = _this$getLayerConfig9.maxZoom;
|
|
858
860
|
|
|
859
861
|
return maxZoom;
|
|
860
862
|
}
|
|
@@ -906,7 +908,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
906
908
|
}, {
|
|
907
909
|
key: "destroy",
|
|
908
910
|
value: function destroy() {
|
|
909
|
-
var _this$
|
|
911
|
+
var _this$layerModel2;
|
|
910
912
|
|
|
911
913
|
var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
912
914
|
|
|
@@ -923,11 +925,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
923
925
|
});
|
|
924
926
|
this.masks = [];
|
|
925
927
|
this.hooks.beforeDestroy.call();
|
|
926
|
-
this.layerSource.off('
|
|
928
|
+
this.layerSource.off('sourceUpdate', this.sourceEvent);
|
|
927
929
|
this.multiPassRenderer.destroy();
|
|
928
930
|
this.styleAttributeService.clearAllAttributes();
|
|
929
931
|
this.hooks.afterDestroy.call();
|
|
930
|
-
(_this$
|
|
932
|
+
(_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels();
|
|
931
933
|
this.models = [];
|
|
932
934
|
this.layerService.cleanRemove(this, refresh);
|
|
933
935
|
this.emit('remove', {
|
|
@@ -949,10 +951,12 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
949
951
|
}, {
|
|
950
952
|
key: "clearModels",
|
|
951
953
|
value: function clearModels() {
|
|
954
|
+
var _this$layerModel3;
|
|
955
|
+
|
|
952
956
|
this.models.forEach(function (model) {
|
|
953
957
|
return model.destroy();
|
|
954
958
|
});
|
|
955
|
-
this.layerModel.clearModels();
|
|
959
|
+
(_this$layerModel3 = this.layerModel) === null || _this$layerModel3 === void 0 ? void 0 : _this$layerModel3.clearModels();
|
|
956
960
|
this.models = [];
|
|
957
961
|
}
|
|
958
962
|
}, {
|
|
@@ -965,8 +969,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
965
969
|
}, {
|
|
966
970
|
key: "setSource",
|
|
967
971
|
value: function setSource(source) {
|
|
972
|
+
var _this8 = this;
|
|
973
|
+
|
|
968
974
|
if (this.layerSource) {
|
|
969
|
-
this.layerSource.off('
|
|
975
|
+
this.layerSource.off('sourceUpdate', this.sourceEvent);
|
|
970
976
|
}
|
|
971
977
|
|
|
972
978
|
this.layerSource = source;
|
|
@@ -977,7 +983,13 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
977
983
|
this.layerSource.updateClusterData(zoom);
|
|
978
984
|
}
|
|
979
985
|
|
|
980
|
-
this.layerSource.
|
|
986
|
+
if (this.layerSource.inited) {
|
|
987
|
+
this.sourceEvent();
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
this.layerSource.on('sourceUpdate', function () {
|
|
991
|
+
_this8.sourceEvent();
|
|
992
|
+
});
|
|
981
993
|
}
|
|
982
994
|
}, {
|
|
983
995
|
key: "getSource",
|
|
@@ -1060,11 +1072,16 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1060
1072
|
}, {
|
|
1061
1073
|
key: "buildLayerModel",
|
|
1062
1074
|
value: function buildLayerModel(options) {
|
|
1075
|
+
var _this9 = this;
|
|
1076
|
+
|
|
1063
1077
|
var moduleName = options.moduleName,
|
|
1064
1078
|
vertexShader = options.vertexShader,
|
|
1065
1079
|
fragmentShader = options.fragmentShader,
|
|
1066
1080
|
triangulation = options.triangulation,
|
|
1067
1081
|
segmentNumber = options.segmentNumber,
|
|
1082
|
+
_options$workerEnable = options.workerEnabled,
|
|
1083
|
+
workerEnabled = _options$workerEnable === void 0 ? false : _options$workerEnable,
|
|
1084
|
+
workerOptions = options.workerOptions,
|
|
1068
1085
|
rest = (0, _objectWithoutProperties2.default)(options, _excluded2);
|
|
1069
1086
|
this.shaderModuleService.registerModule(moduleName, {
|
|
1070
1087
|
vs: vertexShader,
|
|
@@ -1077,27 +1094,47 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1077
1094
|
uniforms = _this$shaderModuleSer.uniforms;
|
|
1078
1095
|
|
|
1079
1096
|
var createModel = this.rendererService.createModel;
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1097
|
+
return new Promise(function (resolve, reject) {
|
|
1098
|
+
if (workerOptions && workerOptions.modelType in _l7Utils.WorkerSourceMap && workerEnabled) {
|
|
1099
|
+
_this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref6) {
|
|
1100
|
+
var attributes = _ref6.attributes,
|
|
1101
|
+
elements = _ref6.elements;
|
|
1102
|
+
var m = createModel(_objectSpread({
|
|
1103
|
+
attributes: attributes,
|
|
1104
|
+
uniforms: uniforms,
|
|
1105
|
+
fs: fs,
|
|
1106
|
+
vs: vs,
|
|
1107
|
+
elements: elements,
|
|
1108
|
+
blend: _blend.BlendTypes[_l7Core.BlendType.normal]
|
|
1109
|
+
}, rest));
|
|
1110
|
+
resolve(m);
|
|
1111
|
+
}).catch(function (err) {
|
|
1112
|
+
return reject(err);
|
|
1113
|
+
});
|
|
1114
|
+
} else {
|
|
1115
|
+
var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
|
|
1116
|
+
attributes = _this9$styleAttribute.attributes,
|
|
1117
|
+
elements = _this9$styleAttribute.elements;
|
|
1118
|
+
|
|
1119
|
+
var m = createModel(_objectSpread({
|
|
1120
|
+
attributes: attributes,
|
|
1121
|
+
uniforms: uniforms,
|
|
1122
|
+
fs: fs,
|
|
1123
|
+
vs: vs,
|
|
1124
|
+
elements: elements,
|
|
1125
|
+
blend: _blend.BlendTypes[_l7Core.BlendType.normal]
|
|
1126
|
+
}, rest));
|
|
1127
|
+
resolve(m);
|
|
1128
|
+
}
|
|
1129
|
+
});
|
|
1093
1130
|
}
|
|
1094
1131
|
}, {
|
|
1095
1132
|
key: "createAttrubutes",
|
|
1096
1133
|
value: function createAttrubutes(options) {
|
|
1097
1134
|
var triangulation = options.triangulation;
|
|
1098
1135
|
|
|
1099
|
-
var _this$
|
|
1100
|
-
attributes = _this$
|
|
1136
|
+
var _this$styleAttributeS4 = this.styleAttributeService.createAttributes(this.encodedData, triangulation),
|
|
1137
|
+
attributes = _this$styleAttributeS4.attributes;
|
|
1101
1138
|
|
|
1102
1139
|
return attributes;
|
|
1103
1140
|
}
|
|
@@ -1132,11 +1169,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1132
1169
|
}, {
|
|
1133
1170
|
key: "needPick",
|
|
1134
1171
|
value: function needPick(type) {
|
|
1135
|
-
var _this$
|
|
1136
|
-
_this$
|
|
1137
|
-
enableHighlight = _this$
|
|
1138
|
-
_this$
|
|
1139
|
-
enableSelect = _this$
|
|
1172
|
+
var _this$getLayerConfig10 = this.getLayerConfig(),
|
|
1173
|
+
_this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
|
|
1174
|
+
enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
|
|
1175
|
+
_this$getLayerConfig12 = _this$getLayerConfig10.enableSelect,
|
|
1176
|
+
enableSelect = _this$getLayerConfig12 === void 0 ? true : _this$getLayerConfig12;
|
|
1140
1177
|
|
|
1141
1178
|
var isPick = this.eventNames().indexOf(type) !== -1 || this.eventNames().indexOf('un' + type) !== -1;
|
|
1142
1179
|
|
|
@@ -1188,22 +1225,28 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1188
1225
|
}, {
|
|
1189
1226
|
key: "renderModels",
|
|
1190
1227
|
value: function renderModels(isPicking) {
|
|
1191
|
-
var
|
|
1228
|
+
var _this10 = this;
|
|
1229
|
+
|
|
1230
|
+
if (this.getEncodedData() && this.getEncodedData().length > 0) {
|
|
1231
|
+
var _this$layerModel4;
|
|
1192
1232
|
|
|
1193
|
-
if (this.getEncodedData().length > 0) {
|
|
1194
1233
|
if (this.layerModelNeedUpdate && this.layerModel) {
|
|
1195
|
-
this.
|
|
1196
|
-
|
|
1197
|
-
|
|
1234
|
+
this.layerModel.buildModels(function (models) {
|
|
1235
|
+
_this10.models = models;
|
|
1236
|
+
|
|
1237
|
+
_this10.hooks.beforeRender.call();
|
|
1238
|
+
|
|
1239
|
+
_this10.layerModelNeedUpdate = false;
|
|
1240
|
+
});
|
|
1198
1241
|
}
|
|
1199
1242
|
|
|
1200
|
-
if (this.layerModel.renderUpdate) {
|
|
1243
|
+
if (this !== null && this !== void 0 && (_this$layerModel4 = this.layerModel) !== null && _this$layerModel4 !== void 0 && _this$layerModel4.renderUpdate) {
|
|
1201
1244
|
this.layerModel.renderUpdate();
|
|
1202
1245
|
}
|
|
1203
1246
|
|
|
1204
1247
|
this.models.forEach(function (model) {
|
|
1205
1248
|
model.draw({
|
|
1206
|
-
uniforms:
|
|
1249
|
+
uniforms: _this10.layerModel.getUninforms()
|
|
1207
1250
|
}, isPicking);
|
|
1208
1251
|
});
|
|
1209
1252
|
}
|