@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/polygon/models/fill.ts"],"names":["FillModel","layer","getLayerConfig","raisingHeight","opacity","opacityLinear","enable","dir","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_raisingHeight","Number","u_opacity","u_opacitylinear","u_dir","buildModels","getModelParams","frag","vert","triangulation","mask","maskInside","buildLayerModel","moduleName","vertexShader","fragmentShader","blend","getBlend","depth","stencil","destroy","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","polygon_linear_frag","polygon_linear_vert","polygonTriangulationWithCenter","polygon_frag","polygon_vert","polygonTriangulation","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n Triangulation,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport {\n polygonTriangulation,\n polygonTriangulationWithCenter,\n} from '../../core/triangulation';\nimport polygon_frag from '../shaders/polygon_frag.glsl';\nimport polygon_linear_frag from '../shaders/polygon_linear_frag.glsl';\nimport polygon_linear_vert from '../shaders/polygon_linear_vert.glsl';\nimport polygon_vert from '../shaders/polygon_vert.glsl';\nexport default class FillModel extends BaseModel {\n public getUninforms() {\n const {\n raisingHeight = 0,\n opacity = 1,\n opacityLinear = {\n enable: false,\n dir: 'in',\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n\n u_raisingHeight: Number(raisingHeight),\n\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n\n u_opacitylinear: Number(opacityLinear.enable),\n u_dir: opacityLinear.dir === 'in' ? 1.0 : 0.0,\n };\n }\n\n public initModels(): IModel[] {\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const { frag, vert, triangulation, type } = this.getModelParams();\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n this.layer.triangulation = triangulation;\n return [\n this.layer.buildLayerModel({\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation,\n blend: this.getBlend(),\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const {\n opacityLinear = {\n enable: false,\n dir: 'in',\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (opacityLinear.enable) {\n this.styleAttributeService.registerStyleAttribute({\n name: 'linear',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_linear',\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 // center[0] center[1] radius\n return [vertex[3], vertex[4], vertex[5]];\n },\n },\n });\n }\n }\n\n private getModelParams(): {\n frag: string;\n vert: string;\n type: string;\n triangulation: Triangulation;\n } {\n const {\n opacityLinear = {\n enable: false,\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (opacityLinear.enable) {\n return {\n frag: polygon_linear_frag,\n vert: polygon_linear_vert,\n type: 'polygon_linear',\n triangulation: polygonTriangulationWithCenter,\n };\n } else {\n return {\n frag: polygon_frag,\n vert: polygon_vert,\n type: 'polygon_fill',\n triangulation: polygonTriangulation,\n };\n }\n }\n}\n"],"file":"fill.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/fill.ts"],"names":["FillModel","layer","getLayerConfig","raisingHeight","opacity","opacityLinear","enable","dir","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_raisingHeight","Number","u_opacity","u_opacitylinear","u_dir","callbackModel","buildModels","getModelParams","frag","vert","triangulation","mask","maskInside","workerEnabled","enablePicking","buildLayerModel","moduleName","vertexShader","fragmentShader","primitive","TRIANGLES","depth","blend","getBlend","stencil","workerOptions","modelType","then","model","catch","err","console","warn","destroy","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","polygon_linear_frag","polygon_linear_vert","polygonTriangulationWithCenter","polygon_frag","polygon_vert","polygonFillTriangulation","BaseModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA;;AAEA;;AAEA;;;;;;;;;;;IAKqBA,S;;;;;;;;;;;;WACnB,wBAAsB;AACpB,iBAOI,KAAKC,KAAL,CAAWC,cAAX,EAPJ;AAAA,oCACEC,aADF;AAAA,UACEA,aADF,mCACkB,CADlB;AAAA,8BAEEC,OAFF;AAAA,UAEEA,OAFF,6BAEY,CAFZ;AAAA,oCAGEC,aAHF;AAAA,UAGEA,aAHF,mCAGkB;AACdC,QAAAA,MAAM,EAAE,KADM;AAEdC,QAAAA,GAAG,EAAE;AAFS,OAHlB;;AAQA,UAAI,KAAKC,eAAL,IAAwB,KAAKC,qBAAL,CAA2B;AAAEL,QAAAA,OAAO,EAAPA;AAAF,OAA3B,CAA5B,EAAqE;AACnE,aAAKM,oBAAL,CAA0B;AAAEN,UAAAA,OAAO,EAAPA;AAAF,SAA1B;AACA,YAAMO,UAAU,GAAG,KAAKV,KAAL,CAAWW,cAAX,EAAnB;;AACA,iCAAgC,KAAKC,YAAL,CAC9B,KAAKC,UADyB,EAE9BH,UAF8B,EAG9B,KAAKI,cAHyB,CAAhC;AAAA,YAAQC,IAAR,sBAAQA,IAAR;AAAA,YAAcC,KAAd,sBAAcA,KAAd;AAAA,YAAqBC,MAArB,sBAAqBA,MAArB;;AAKA,aAAKC,QAAL,GAAgBD,MAAhB;AAEA,aAAKE,WAAL,GACE,KAAKN,UAAL,GAAkB,CAAlB,IAAuBE,IAAI,CAACK,MAAL,GAAc,CAArC,GACI,KAAKC,eAAL,CAAqB;AACnBC,UAAAA,KAAK,EAAE,IADY;AAEnBP,UAAAA,IAAI,EAAJA,IAFmB;AAGnBQ,UAAAA,MAAM,EAAEC,WAAGC,SAHQ;AAInBC,UAAAA,IAAI,EAAEF,WAAGG,KAJU;AAKnBX,UAAAA,KAAK,EAALA,KALmB;AAMnBC,UAAAA,MAAM,EAANA;AANmB,SAArB,CADJ,GASI,KAAKI,eAAL,CAAqB;AACnBC,UAAAA,KAAK,EAAE,IADY;AAEnBP,UAAAA,IAAI,EAAE,CAAC,CAAD,CAFa;AAGnBQ,UAAAA,MAAM,EAAEC,WAAGC,SAHQ;AAInBC,UAAAA,IAAI,EAAEF,WAAGG,KAJU;AAKnBX,UAAAA,KAAK,EAAE,CALY;AAMnBC,UAAAA,MAAM,EAAE;AANW,SAArB,CAVN;AAkBD;;AACD,aAAO;AACLW,QAAAA,aAAa,EAAE,KAAKT,WADf;AAELU,QAAAA,gBAAgB,EAAE,KAAKC,iBAAL,EAFb;AAILC,QAAAA,eAAe,EAAEC,MAAM,CAAC9B,aAAD,CAJlB;AAML+B,QAAAA,SAAS,EAAE,wBAAS9B,OAAT,IAAoBA,OAApB,GAA8B,GANpC;AAQL+B,QAAAA,eAAe,EAAEF,MAAM,CAAC5B,aAAa,CAACC,MAAf,CARlB;AASL8B,QAAAA,KAAK,EAAE/B,aAAa,CAACE,GAAd,KAAsB,IAAtB,GAA6B,GAA7B,GAAmC;AATrC,OAAP;AAWD;;;WAED,oBAAkB8B,aAAlB,EAA6D;AAC3D,WAAKC,WAAL,CAAiBD,aAAjB;AACD;;;WAED,qBAAmBA,aAAnB,EAA8D;AAC5D,iCAA4C,KAAKE,cAAL,EAA5C;AAAA,UAAQC,IAAR,wBAAQA,IAAR;AAAA,UAAcC,IAAd,wBAAcA,IAAd;AAAA,UAAoBC,aAApB,wBAAoBA,aAApB;AAAA,UAAmCf,IAAnC,wBAAmCA,IAAnC;;AACA,kBAKI,KAAK1B,KAAL,CAAWC,cAAX,EALJ;AAAA,6BACEyC,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;AAAA,sCAGEC,aAHF;AAAA,UAGEA,aAHF,oCAGkB,KAHlB;AAAA,UAIEC,aAJF,SAIEA,aAJF;;AAQA,WAAK7C,KAAL,CAAWyC,aAAX,GAA2BA,aAA3B;AACA,WAAKzC,KAAL,CACG8C,eADH,CACmB;AACfC,QAAAA,UAAU,EAAErB,IADG;AAEfsB,QAAAA,YAAY,EAAER,IAFC;AAGfS,QAAAA,cAAc,EAAEV,IAHD;AAIfE,QAAAA,aAAa,EAAbA,aAJe;AAKfS,QAAAA,SAAS,EAAE1B,WAAG2B,SALC;AAMfC,QAAAA,KAAK,EAAE;AAAE/C,UAAAA,MAAM,EAAE;AAAV,SANQ;AAOfgD,QAAAA,KAAK,EAAE,KAAKC,QAAL,EAPQ;AAQfC,QAAAA,OAAO,EAAE,sBAAQb,IAAR,EAAcC,UAAd,CARM;AASfC,QAAAA,aAAa,EAAbA,aATe;AAUfY,QAAAA,aAAa,EAAE;AACbC,UAAAA,SAAS,EAAE/B,IADE;AAEbmB,UAAAA,aAAa,EAAbA;AAFa;AAVA,OADnB,EAgBGa,IAhBH,CAgBQ,UAACC,KAAD,EAAW;AACfvB,QAAAA,aAAa,CAAC,CAACuB,KAAD,CAAD,CAAb;AACD,OAlBH,EAmBGC,KAnBH,CAmBS,UAACC,GAAD,EAAS;AACdC,QAAAA,OAAO,CAACC,IAAR,CAAaF,GAAb;AACAzB,QAAAA,aAAa,CAAC,EAAD,CAAb;AACD,OAtBH;AAuBD;;;WAED,uBAAqB;AAAA;;AACnB,gCAAKjB,WAAL,wEAAkB6C,OAAlB;AACD;;;WAED,qCAAsC;AACpC,kBAKI,KAAKhE,KAAL,CAAWC,cAAX,EALJ;AAAA,sCACEG,aADF;AAAA,UACEA,aADF,oCACkB;AACdC,QAAAA,MAAM,EAAE,KADM;AAEdC,QAAAA,GAAG,EAAE;AAFS,OADlB;;AAMA,UAAIF,aAAa,CAACC,MAAlB,EAA0B;AACxB,aAAK4D,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,UAAAA,IAAI,EAAE,QAD0C;AAEhDzC,UAAAA,IAAI,EAAE0C,sBAAcC,SAF4B;AAGhDC,UAAAA,UAAU,EAAE;AACVH,YAAAA,IAAI,EAAE,UADI;AAEVI,YAAAA,MAAM,EAAE;AAENC,cAAAA,KAAK,EAAEhD,WAAGiD,WAFJ;AAGN1D,cAAAA,IAAI,EAAE,EAHA;AAINW,cAAAA,IAAI,EAAEF,WAAGG;AAJH,aAFE;AAQV+C,YAAAA,IAAI,EAAE,CARI;AASVC,YAAAA,MAAM,EAAE,gBACNC,OADM,EAENC,UAFM,EAGNC,MAHM,EAINC,YAJM,EAKNC,MALM,EAMH;AAEH,qBAAO,CAACF,MAAM,CAAC,CAAD,CAAP,EAAYA,MAAM,CAAC,CAAD,CAAlB,EAAuBA,MAAM,CAAC,CAAD,CAA7B,CAAP;AACD;AAlBS;AAHoC,SAAlD;AAwBD;AACF;;;WAED,0BAKE;AACA,kBAII,KAAK9E,KAAL,CAAWC,cAAX,EAJJ;AAAA,sCACEG,aADF;AAAA,UACEA,aADF,oCACkB;AACdC,QAAAA,MAAM,EAAE;AADM,OADlB;;AAKA,UAAID,aAAa,CAACC,MAAlB,EAA0B;AACxB,eAAO;AACLkC,UAAAA,IAAI,EAAE0C,mBADD;AAELzC,UAAAA,IAAI,EAAE0C,mBAFD;AAGLxD,UAAAA,IAAI,EAAE,eAHD;AAILe,UAAAA,aAAa,EAAE0C;AAJV,SAAP;AAMD,OAPD,MAOO;AACL,eAAO;AACL5C,UAAAA,IAAI,EAAE6C,YADD;AAEL5C,UAAAA,IAAI,EAAE6C,YAFD;AAGL3D,UAAAA,IAAI,EAAE,aAHD;AAILe,UAAAA,aAAa,EAAE6C;AAJV,SAAP;AAMD;AACF;;;EA7JoCC,mB","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n ILayerConfig,\n IModel,\n Triangulation,\n} from '@antv/l7-core';\nimport { getMask, polygonFillTriangulation } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulationWithCenter } from '../../core/triangulation';\nimport polygon_frag from '../shaders/polygon_frag.glsl';\nimport polygon_linear_frag from '../shaders/polygon_linear_frag.glsl';\nimport polygon_linear_vert from '../shaders/polygon_linear_vert.glsl';\nimport polygon_vert from '../shaders/polygon_vert.glsl';\nexport default class FillModel extends BaseModel {\n public getUninforms() {\n const {\n raisingHeight = 0,\n opacity = 1,\n opacityLinear = {\n enable: false,\n dir: 'in',\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n\n u_raisingHeight: Number(raisingHeight),\n\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n\n u_opacitylinear: Number(opacityLinear.enable),\n u_dir: opacityLinear.dir === 'in' ? 1.0 : 0.0,\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n this.buildModels(callbackModel);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n const { frag, vert, triangulation, type } = this.getModelParams();\n const {\n mask = false,\n maskInside = true,\n workerEnabled = false,\n enablePicking,\n } = this.layer.getLayerConfig() as Partial<\n ILayerConfig & IPolygonLayerStyleOptions\n >;\n this.layer.triangulation = triangulation;\n this.layer\n .buildLayerModel({\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n workerEnabled,\n workerOptions: {\n modelType: type,\n enablePicking,\n },\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const {\n opacityLinear = {\n enable: false,\n dir: 'in',\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (opacityLinear.enable) {\n this.styleAttributeService.registerStyleAttribute({\n name: 'linear',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_linear',\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 // center[0] center[1] radius\n return [vertex[3], vertex[4], vertex[5]];\n },\n },\n });\n }\n }\n\n private getModelParams(): {\n frag: string;\n vert: string;\n type: string;\n triangulation: Triangulation;\n } {\n const {\n opacityLinear = {\n enable: false,\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (opacityLinear.enable) {\n return {\n frag: polygon_linear_frag,\n vert: polygon_linear_vert,\n type: 'polygonLinear',\n triangulation: polygonTriangulationWithCenter,\n };\n } else {\n return {\n frag: polygon_frag,\n vert: polygon_vert,\n type: 'polygonFill',\n triangulation: polygonFillTriangulation,\n };\n }\n }\n}\n"],"file":"fill.js"}
|
|
@@ -123,29 +123,35 @@ var OceanModel = function (_BaseModel) {
|
|
|
123
123
|
}
|
|
124
124
|
}, {
|
|
125
125
|
key: "initModels",
|
|
126
|
-
value: function initModels() {
|
|
126
|
+
value: function initModels(callbackModel) {
|
|
127
127
|
this.loadTexture();
|
|
128
|
-
|
|
128
|
+
this.buildModels(callbackModel);
|
|
129
129
|
}
|
|
130
130
|
}, {
|
|
131
131
|
key: "buildModels",
|
|
132
|
-
value: function buildModels() {
|
|
132
|
+
value: function buildModels(callbackModel) {
|
|
133
133
|
var _ref2 = this.layer.getLayerConfig(),
|
|
134
134
|
_ref2$mask = _ref2.mask,
|
|
135
135
|
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
136
136
|
_ref2$maskInside = _ref2.maskInside,
|
|
137
137
|
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
moduleName: '
|
|
139
|
+
this.layer.buildLayerModel({
|
|
140
|
+
moduleName: 'polygonOcean',
|
|
141
141
|
vertexShader: ocean_vert,
|
|
142
142
|
fragmentShader: ocean_frag,
|
|
143
143
|
triangulation: _triangulation.polygonTriangulation,
|
|
144
|
+
primitive: _l7Core.gl.TRIANGLES,
|
|
144
145
|
depth: {
|
|
145
146
|
enable: false
|
|
146
147
|
},
|
|
147
148
|
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
148
|
-
})
|
|
149
|
+
}).then(function (model) {
|
|
150
|
+
callbackModel([model]);
|
|
151
|
+
}).catch(function (err) {
|
|
152
|
+
console.warn(err);
|
|
153
|
+
callbackModel([]);
|
|
154
|
+
});
|
|
149
155
|
}
|
|
150
156
|
}, {
|
|
151
157
|
key: "clearModels",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/ocean.ts"],"names":["OceanModel","layer","getLayerConfig","opacity","watercolor","watercolor2","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_texture1","texture1","u_texture2","texture2","u_texture3","texture3","u_watercolor","u_watercolor2","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","u_time","getLayerAnimateTime","loadTexture","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","ocean_vert","fragmentShader","ocean_frag","triangulation","polygonTriangulation","depth","enable","stencil","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","rendererService","defaultTextureOptions","initImage","images","initTex","layerService","updateLayerRenderList","renderLayers","callback","loadedCount","loadedImages","map","imgSrc","image","Image","crossOrigin","src","push","onload","wrapS","MIRRORED_REPEAT","wrapT","min","LINEAR","mag","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask, rgb2arr } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\nimport ocean_frag from '../shaders/water/polygon_ocean_frag.glsl';\nimport ocean_vert from '../shaders/water/polygon_ocean_vert.glsl';\nexport default class OceanModel extends BaseModel {\n private texture1: ITexture2D;\n private texture2: ITexture2D;\n private texture3: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n watercolor = '#6D99A8',\n watercolor2 = '#0F121C',\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_texture1: this.texture1,\n u_texture2: this.texture2,\n u_texture3: this.texture3,\n u_watercolor: rgb2arr(watercolor),\n u_watercolor2: rgb2arr(watercolor2),\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n };\n }\n\n public getAnimateUniforms(): IModelUniform {\n return {\n u_time: this.layer.getLayerAnimateTime(),\n };\n }\n\n public initModels(): IModel[] {\n this.loadTexture();\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n return [\n this.layer.buildLayerModel({\n moduleName: 'polygon_ocean',\n vertexShader: ocean_vert,\n fragmentShader: ocean_frag,\n triangulation: polygonTriangulation,\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.texture1?.destroy();\n this.texture2?.destroy();\n this.texture3?.destroy();\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'oceanUv',\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.STATIC_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 normal: number[],\n ) => {\n const [lng, lat] = vertex;\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen];\n },\n },\n });\n }\n\n private loadTexture() {\n const { createTexture2D } = this.rendererService;\n const defaultTextureOptions = { height: 0, width: 0 };\n // 默认索引为 undefined,所以单独赋值\n this.texture1 = createTexture2D(defaultTextureOptions);\n this.texture2 = createTexture2D(defaultTextureOptions);\n this.texture3 = createTexture2D(defaultTextureOptions);\n\n // 加载完 image 后单独给 texture f赋值\n initImage((images: HTMLImageElement[]) => {\n this.texture1 = initTex(images[0]);\n this.texture2 = initTex(images[1]);\n this.texture3 = initTex(images[2]);\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n });\n\n function initImage(callback: (loadedImages: HTMLImageElement[]) => void) {\n let loadedCount = 0;\n const loadedImages: HTMLImageElement[] = [];\n const images = [\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ',\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*MJ22QbpuCzIAAAAAAAAAAAAAARQnAQ',\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*-z2HSIVDsHIAAAAAAAAAAAAAARQnAQ',\n ];\n images.map((imgSrc: string) => {\n const image = new Image();\n image.crossOrigin = '';\n image.src = imgSrc;\n loadedImages.push(image);\n image.onload = () => {\n loadedCount++;\n if (loadedCount === 3) {\n callback(loadedImages);\n }\n };\n });\n }\n\n function initTex(image: HTMLImageElement) {\n return createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.MIRRORED_REPEAT,\n wrapT: gl.MIRRORED_REPEAT,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n }\n }\n}\n"],"file":"ocean.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/ocean.ts"],"names":["OceanModel","layer","getLayerConfig","opacity","watercolor","watercolor2","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_texture1","texture1","u_texture2","texture2","u_texture3","texture3","u_watercolor","u_watercolor2","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","u_time","getLayerAnimateTime","callbackModel","loadTexture","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","ocean_vert","fragmentShader","ocean_frag","triangulation","polygonTriangulation","primitive","TRIANGLES","depth","enable","stencil","then","model","catch","err","console","warn","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","rendererService","defaultTextureOptions","initImage","images","initTex","layerService","updateLayerRenderList","renderLayers","callback","loadedCount","loadedImages","map","imgSrc","image","Image","crossOrigin","src","push","onload","wrapS","MIRRORED_REPEAT","wrapT","min","LINEAR","mag","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask, rgb2arr } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\nimport ocean_frag from '../shaders/water/polygon_ocean_frag.glsl';\nimport ocean_vert from '../shaders/water/polygon_ocean_vert.glsl';\nexport default class OceanModel extends BaseModel {\n private texture1: ITexture2D;\n private texture2: ITexture2D;\n private texture3: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n watercolor = '#6D99A8',\n watercolor2 = '#0F121C',\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_texture1: this.texture1,\n u_texture2: this.texture2,\n u_texture3: this.texture3,\n u_watercolor: rgb2arr(watercolor),\n u_watercolor2: rgb2arr(watercolor2),\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n };\n }\n\n public getAnimateUniforms(): IModelUniform {\n return {\n u_time: this.layer.getLayerAnimateTime(),\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n this.loadTexture();\n this.buildModels(callbackModel);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n this.layer\n .buildLayerModel({\n moduleName: 'polygonOcean',\n vertexShader: ocean_vert,\n fragmentShader: ocean_frag,\n triangulation: polygonTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n\n public clearModels() {\n this.texture1?.destroy();\n this.texture2?.destroy();\n this.texture3?.destroy();\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'oceanUv',\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.STATIC_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 normal: number[],\n ) => {\n const [lng, lat] = vertex;\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen];\n },\n },\n });\n }\n\n private loadTexture() {\n const { createTexture2D } = this.rendererService;\n const defaultTextureOptions = { height: 0, width: 0 };\n // 默认索引为 undefined,所以单独赋值\n this.texture1 = createTexture2D(defaultTextureOptions);\n this.texture2 = createTexture2D(defaultTextureOptions);\n this.texture3 = createTexture2D(defaultTextureOptions);\n\n // 加载完 image 后单独给 texture f赋值\n initImage((images: HTMLImageElement[]) => {\n this.texture1 = initTex(images[0]);\n this.texture2 = initTex(images[1]);\n this.texture3 = initTex(images[2]);\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n });\n\n function initImage(callback: (loadedImages: HTMLImageElement[]) => void) {\n let loadedCount = 0;\n const loadedImages: HTMLImageElement[] = [];\n const images = [\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ',\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*MJ22QbpuCzIAAAAAAAAAAAAAARQnAQ',\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*-z2HSIVDsHIAAAAAAAAAAAAAARQnAQ',\n ];\n images.map((imgSrc: string) => {\n const image = new Image();\n image.crossOrigin = '';\n image.src = imgSrc;\n loadedImages.push(image);\n image.onload = () => {\n loadedCount++;\n if (loadedCount === 3) {\n callback(loadedImages);\n }\n };\n });\n }\n\n function initTex(image: HTMLImageElement) {\n return createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.MIRRORED_REPEAT,\n wrapT: gl.MIRRORED_REPEAT,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n }\n }\n}\n"],"file":"ocean.js"}
|
|
@@ -93,36 +93,36 @@ var FillModel = function (_BaseModel) {
|
|
|
93
93
|
}
|
|
94
94
|
}, {
|
|
95
95
|
key: "initModels",
|
|
96
|
-
value: function initModels() {
|
|
97
|
-
|
|
96
|
+
value: function initModels(callbackModel) {
|
|
97
|
+
this.buildModels(callbackModel);
|
|
98
98
|
}
|
|
99
99
|
}, {
|
|
100
100
|
key: "buildModels",
|
|
101
|
-
value: function buildModels() {
|
|
102
|
-
var _this$getModelParams = this.getModelParams(),
|
|
103
|
-
frag = _this$getModelParams.frag,
|
|
104
|
-
vert = _this$getModelParams.vert,
|
|
105
|
-
triangulation = _this$getModelParams.triangulation,
|
|
106
|
-
type = _this$getModelParams.type;
|
|
107
|
-
|
|
101
|
+
value: function buildModels(callbackModel) {
|
|
108
102
|
var _ref2 = this.layer.getLayerConfig(),
|
|
109
103
|
_ref2$mask = _ref2.mask,
|
|
110
104
|
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
111
105
|
_ref2$maskInside = _ref2.maskInside,
|
|
112
106
|
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
113
107
|
|
|
114
|
-
this.layer.triangulation =
|
|
115
|
-
|
|
116
|
-
moduleName:
|
|
117
|
-
vertexShader:
|
|
118
|
-
fragmentShader:
|
|
119
|
-
triangulation:
|
|
120
|
-
|
|
108
|
+
this.layer.triangulation = _triangulation.polygonTriangulation;
|
|
109
|
+
this.layer.buildLayerModel({
|
|
110
|
+
moduleName: 'polygonTile',
|
|
111
|
+
vertexShader: polygon_tile_vert,
|
|
112
|
+
fragmentShader: polygon_tile_frag,
|
|
113
|
+
triangulation: _triangulation.polygonTriangulation,
|
|
114
|
+
primitive: _l7Core.gl.TRIANGLES,
|
|
121
115
|
depth: {
|
|
122
116
|
enable: false
|
|
123
117
|
},
|
|
118
|
+
blend: this.getBlend(),
|
|
124
119
|
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
125
|
-
})
|
|
120
|
+
}).then(function (model) {
|
|
121
|
+
callbackModel([model]);
|
|
122
|
+
}).catch(function (err) {
|
|
123
|
+
console.warn(err);
|
|
124
|
+
callbackModel([]);
|
|
125
|
+
});
|
|
126
126
|
}
|
|
127
127
|
}, {
|
|
128
128
|
key: "clearModels",
|
|
@@ -134,16 +134,6 @@ var FillModel = function (_BaseModel) {
|
|
|
134
134
|
}, {
|
|
135
135
|
key: "registerBuiltinAttributes",
|
|
136
136
|
value: function registerBuiltinAttributes() {}
|
|
137
|
-
}, {
|
|
138
|
-
key: "getModelParams",
|
|
139
|
-
value: function getModelParams() {
|
|
140
|
-
return {
|
|
141
|
-
frag: polygon_tile_frag,
|
|
142
|
-
vert: polygon_tile_vert,
|
|
143
|
-
type: 'polygon_tile',
|
|
144
|
-
triangulation: _triangulation.polygonTriangulation
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
137
|
}]);
|
|
148
138
|
return FillModel;
|
|
149
139
|
}(_BaseModel2.default);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/tile.ts"],"names":["FillModel","layer","getLayerConfig","opacity","tileOrigin","coord","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_tileOrigin","u_coord","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/tile.ts"],"names":["FillModel","layer","getLayerConfig","opacity","tileOrigin","coord","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_tileOrigin","u_coord","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","callbackModel","buildModels","mask","maskInside","triangulation","polygonTriangulation","buildLayerModel","moduleName","vertexShader","polygon_tile_vert","fragmentShader","polygon_tile_frag","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","then","model","catch","err","console","warn","destroy","BaseModel"],"mappings":"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","sourcesContent":["import { gl, IModel, Triangulation } from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\n\nimport polygon_tile_frag from '../shaders/tile/polygon_tile_frag.glsl';\nimport polygon_tile_vert from '../shaders/tile/polygon_tile_vert.glsl';\nexport default class FillModel extends BaseModel {\n public getUninforms() {\n const {\n opacity = 1,\n tileOrigin,\n coord = 'lnglat',\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_tileOrigin: tileOrigin || [0, 0],\n u_coord: coord === 'lnglat' ? 1.0 : 0.0,\n\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n\n u_opacity: opacity,\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n this.buildModels(callbackModel);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n this.layer.triangulation = polygonTriangulation;\n this.layer\n .buildLayerModel({\n moduleName: 'polygonTile',\n vertexShader: polygon_tile_vert,\n fragmentShader: polygon_tile_frag,\n triangulation: polygonTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n //\n }\n}\n"],"file":"tile.js"}
|
|
@@ -116,29 +116,35 @@ var WaterModel = function (_BaseModel) {
|
|
|
116
116
|
}
|
|
117
117
|
}, {
|
|
118
118
|
key: "initModels",
|
|
119
|
-
value: function initModels() {
|
|
119
|
+
value: function initModels(callbackModel) {
|
|
120
120
|
this.loadTexture();
|
|
121
|
-
|
|
121
|
+
this.buildModels(callbackModel);
|
|
122
122
|
}
|
|
123
123
|
}, {
|
|
124
124
|
key: "buildModels",
|
|
125
|
-
value: function buildModels() {
|
|
125
|
+
value: function buildModels(callbackModel) {
|
|
126
126
|
var _ref2 = this.layer.getLayerConfig(),
|
|
127
127
|
_ref2$mask = _ref2.mask,
|
|
128
128
|
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
129
129
|
_ref2$maskInside = _ref2.maskInside,
|
|
130
130
|
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
moduleName: '
|
|
132
|
+
this.layer.buildLayerModel({
|
|
133
|
+
moduleName: 'polygonWater',
|
|
134
134
|
vertexShader: water_vert,
|
|
135
135
|
fragmentShader: water_frag,
|
|
136
136
|
triangulation: _triangulation.polygonTriangulation,
|
|
137
|
+
primitive: _l7Core.gl.TRIANGLES,
|
|
137
138
|
depth: {
|
|
138
139
|
enable: false
|
|
139
140
|
},
|
|
140
141
|
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
141
|
-
})
|
|
142
|
+
}).then(function (model) {
|
|
143
|
+
callbackModel([model]);
|
|
144
|
+
}).catch(function (err) {
|
|
145
|
+
console.warn(err);
|
|
146
|
+
callbackModel([]);
|
|
147
|
+
});
|
|
142
148
|
}
|
|
143
149
|
}, {
|
|
144
150
|
key: "clearModels",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/water.ts"],"names":["WaterModel","layer","getLayerConfig","opacity","speed","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_texture","texture","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_speed","u_opacity","u_time","getLayerAnimateTime","loadTexture","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","water_vert","fragmentShader","water_frag","triangulation","polygonTriangulation","depth","enable","stencil","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","waterTexture","rendererService","image","Image","crossOrigin","console","warn","src","onload","wrapS","MIRRORED_REPEAT","wrapT","min","LINEAR","mag","layerService","updateLayerRenderList","renderLayers","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\nimport water_frag from '../shaders/water/polygon_water_frag.glsl';\nimport water_vert from '../shaders/water/polygon_water_vert.glsl';\nexport default class WaterModel extends BaseModel {\n private texture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n speed = 0.5,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_texture: this.texture,\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_speed: speed,\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n };\n }\n\n public getAnimateUniforms(): IModelUniform {\n return {\n u_time: this.layer.getLayerAnimateTime(),\n };\n }\n\n public initModels(): IModel[] {\n this.loadTexture();\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n return [\n this.layer.buildLayerModel({\n moduleName: 'polygon_water',\n vertexShader: water_vert,\n fragmentShader: water_frag,\n triangulation: polygonTriangulation,\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.texture?.destroy();\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'waterUv',\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.STATIC_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 normal: number[],\n ) => {\n const [lng, lat] = vertex;\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen];\n },\n },\n });\n }\n\n private loadTexture() {\n const {\n waterTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n const image = new Image();\n image.crossOrigin = '';\n if (waterTexture) {\n // custom texture\n console.warn(\n 'L7 recommend:https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ',\n );\n image.src = waterTexture;\n } else {\n // default texture\n image.src =\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ';\n }\n\n image.onload = () => {\n this.texture = createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.MIRRORED_REPEAT,\n wrapT: gl.MIRRORED_REPEAT,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n }\n}\n"],"file":"water.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/water.ts"],"names":["WaterModel","layer","getLayerConfig","opacity","speed","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_texture","texture","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_speed","u_opacity","u_time","getLayerAnimateTime","callbackModel","loadTexture","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","water_vert","fragmentShader","water_frag","triangulation","polygonTriangulation","primitive","TRIANGLES","depth","enable","stencil","then","model","catch","err","console","warn","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","waterTexture","rendererService","image","Image","crossOrigin","src","onload","wrapS","MIRRORED_REPEAT","wrapT","min","LINEAR","mag","layerService","updateLayerRenderList","renderLayers","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\nimport water_frag from '../shaders/water/polygon_water_frag.glsl';\nimport water_vert from '../shaders/water/polygon_water_vert.glsl';\nexport default class WaterModel extends BaseModel {\n private texture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n speed = 0.5,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_texture: this.texture,\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_speed: speed,\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n };\n }\n\n public getAnimateUniforms(): IModelUniform {\n return {\n u_time: this.layer.getLayerAnimateTime(),\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n this.loadTexture();\n this.buildModels(callbackModel);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n this.layer\n .buildLayerModel({\n moduleName: 'polygonWater',\n vertexShader: water_vert,\n fragmentShader: water_frag,\n triangulation: polygonTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n\n public clearModels() {\n this.texture?.destroy();\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'waterUv',\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.STATIC_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 normal: number[],\n ) => {\n const [lng, lat] = vertex;\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen];\n },\n },\n });\n }\n\n private loadTexture() {\n const {\n waterTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n const image = new Image();\n image.crossOrigin = '';\n if (waterTexture) {\n // custom texture\n console.warn(\n 'L7 recommend:https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ',\n );\n image.src = waterTexture;\n } else {\n // default texture\n image.src =\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ';\n }\n\n image.onload = () => {\n this.texture = createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.MIRRORED_REPEAT,\n wrapT: gl.MIRRORED_REPEAT,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n }\n}\n"],"file":"water.js"}
|
package/lib/raster/index.js
CHANGED
|
@@ -51,14 +51,24 @@ var RaterLayer = function (_BaseLayer) {
|
|
|
51
51
|
(0, _createClass2.default)(RaterLayer, [{
|
|
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/raster/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/raster/index.ts"],"names":["RaterLayer","modelType","getModelType","layerModel","RasterModels","models","
|
|
1
|
+
{"version":3,"sources":["../../src/raster/index.ts"],"names":["RaterLayer","modelType","getModelType","layerModel","RasterModels","initModels","models","renderLayers","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d","rasterTile","layerSource","parser","BaseLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IACqBA,U;;;;;;;;;;;;;;;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,EADY;AAEpBC,QAAAA,QAAQ,EAAE,EAFU;AAGpBC,QAAAA,UAAU,EAAE;AAHQ,OAAtB;AAKA,aAAOH,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA0C;AAExC,cAAQ,KAAKO,WAAL,CAAiBC,MAAjB,CAAwBR,IAAhC;AACE,aAAK,QAAL;AACE,iBAAO,QAAP;;AACF,aAAK,YAAL;AACE,iBAAO,YAAP;;AACF;AACE,iBAAO,QAAP;AANJ;AASD;;;EA7CqCS,mB","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport { IRasterLayerStyleOptions } from '../core/interface';\nimport RasterModels, { RasterModelType } from './models/index';\nexport default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new RasterModels[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 raster: {},\n raster3d: {},\n rasterTile: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): RasterModelType {\n // 根据 source 的类型判断 model type\n switch (this.layerSource.parser.type) {\n case 'raster':\n return 'raster';\n case 'rasterTile':\n return 'rasterTile';\n default:\n return 'raster';\n }\n // return 'raster';\n }\n}\n"],"file":"index.js"}
|
|
@@ -92,7 +92,7 @@ var RasterModel = function (_BaseModel) {
|
|
|
92
92
|
}
|
|
93
93
|
}, {
|
|
94
94
|
key: "initModels",
|
|
95
|
-
value: function initModels() {
|
|
95
|
+
value: function initModels(callbackModel) {
|
|
96
96
|
var _ref2 = this.layer.getLayerConfig(),
|
|
97
97
|
_ref2$mask = _ref2.mask,
|
|
98
98
|
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
@@ -118,8 +118,8 @@ var RasterModel = function (_BaseModel) {
|
|
|
118
118
|
height: imageData.height,
|
|
119
119
|
flipY: false
|
|
120
120
|
});
|
|
121
|
-
|
|
122
|
-
moduleName: '
|
|
121
|
+
this.layer.buildLayerModel({
|
|
122
|
+
moduleName: 'rasterImageData',
|
|
123
123
|
vertexShader: rasterVert,
|
|
124
124
|
fragmentShader: rasterFrag,
|
|
125
125
|
triangulation: _triangulation.RasterImageTriangulation,
|
|
@@ -127,14 +127,18 @@ var RasterModel = function (_BaseModel) {
|
|
|
127
127
|
depth: {
|
|
128
128
|
enable: false
|
|
129
129
|
},
|
|
130
|
-
blend: this.getBlend(),
|
|
131
130
|
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
132
|
-
})
|
|
131
|
+
}).then(function (model) {
|
|
132
|
+
callbackModel([model]);
|
|
133
|
+
}).catch(function (err) {
|
|
134
|
+
console.warn(err);
|
|
135
|
+
callbackModel([]);
|
|
136
|
+
});
|
|
133
137
|
}
|
|
134
138
|
}, {
|
|
135
139
|
key: "buildModels",
|
|
136
|
-
value: function buildModels() {
|
|
137
|
-
|
|
140
|
+
value: function buildModels(callbackModel) {
|
|
141
|
+
this.initModels(callbackModel);
|
|
138
142
|
}
|
|
139
143
|
}, {
|
|
140
144
|
key: "clearModels",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","rampColors","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","mask","maskInside","rampColorsData","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","width","height","format","gl","LUMINANCE","type","FLOAT","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","RasterImageTriangulation","primitive","TRIANGLES","depth","enable","
|
|
1
|
+
{"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","rampColors","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","callbackModel","mask","maskInside","rampColorsData","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","width","height","format","gl","LUMINANCE","type","FLOAT","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","RasterImageTriangulation","primitive","TRIANGLES","depth","enable","stencil","then","model","catch","err","console","warn","initModels","destroy","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","BaseModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AASA;;AAEA;;AAEA;;;;;;;;;IAGqBA,W;;;;;;;;;;;;;;;;;;;;;;;WAInB,wBAAsB;AACpB,iBAOI,KAAKC,KAAL,CAAWC,cAAX,EAPJ;AAAA,8BACEC,OADF;AAAA,UACEA,OADF,6BACY,CADZ;AAAA,+BAEEC,QAFF;AAAA,UAEEA,QAFF,8BAEa,IAFb;AAAA,gCAGEC,SAHF;AAAA,UAGEA,SAHF,+BAGc,IAHd;AAAA,kCAIEC,WAJF;AAAA,UAIEA,WAJF,iCAIgB,CAAC,OAJjB;AAAA,6BAKEC,MALF;AAAA,UAKEA,MALF,4BAKW,CAAC,CAAD,EAAI,CAAJ,CALX;AAAA,UAMEC,UANF,QAMEA,UANF;;AAQA,UAAI,CAAC,uBAAQ,KAAKA,UAAb,EAAyBA,UAAzB,CAAL,EAA2C;AACzC,aAAKC,iBAAL;AACA,aAAKD,UAAL,GAAkBA,UAAlB;AACD;;AAED,aAAO;AACLE,QAAAA,SAAS,EAAEP,OAAO,IAAI,CADjB;AAELQ,QAAAA,SAAS,EAAE,KAAKC,OAFX;AAGLC,QAAAA,QAAQ,EAAEN,MAHL;AAILO,QAAAA,UAAU,EAAEV,QAJP;AAKLW,QAAAA,WAAW,EAAE,OAAOV,SAAP,KAAqB,WAArB,GAAmCA,SAAnC,GAA+CD,QALvD;AAMLY,QAAAA,aAAa,EAAEV,WANV;AAOLW,QAAAA,cAAc,EAAE,KAAKC;AAPhB,OAAP;AASD;;;WAED,oBAAkBC,aAAlB,EAA6D;AAC3D,kBAKI,KAAKlB,KAAL,CAAWC,cAAX,EALJ;AAAA,6BACEkB,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;AAAA,UAGEC,cAHF,SAGEA,cAHF;AAAA,UAIEd,UAJF,SAIEA,UAJF;;AAMA,UAAMe,MAAM,GAAG,KAAKtB,KAAL,CAAWuB,SAAX,EAAf;AACA,UAAQC,eAAR,GAA4B,KAAKC,eAAjC,CAAQD,eAAR;AACA,UAAME,cAAc,GAAGJ,MAAM,CAACK,IAAP,CAAYC,SAAZ,CAAsB,CAAtB,CAAvB;AACA,WAAKjB,OAAL,GAAea,eAAe,CAAC;AAC7BG,QAAAA,IAAI,EAAED,cAAc,CAACC,IADQ;AAE7BE,QAAAA,KAAK,EAAEH,cAAc,CAACG,KAFO;AAG7BC,QAAAA,MAAM,EAAEJ,cAAc,CAACI,MAHM;AAI7BC,QAAAA,MAAM,EAAEC,WAAGC,SAJkB;AAK7BC,QAAAA,IAAI,EAAEF,WAAGG;AALoB,OAAD,CAA9B;AAQA,UAAMC,SAAS,GAAGf,cAAc,GAC5BA,cAD4B,GAE5B,gCAAkBd,UAAlB,CAFJ;AAGA,WAAKU,YAAL,GAAoBO,eAAe,CAAC;AAClCG,QAAAA,IAAI,EAAES,SAAS,CAACT,IADkB;AAElCE,QAAAA,KAAK,EAAEO,SAAS,CAACP,KAFiB;AAGlCC,QAAAA,MAAM,EAAEM,SAAS,CAACN,MAHgB;AAIlCO,QAAAA,KAAK,EAAE;AAJ2B,OAAD,CAAnC;AAOA,WAAKrC,KAAL,CACGsC,eADH,CACmB;AACfC,QAAAA,UAAU,EAAE,iBADG;AAEfC,QAAAA,YAAY,EAAEC,UAFC;AAGfC,QAAAA,cAAc,EAAEC,UAHD;AAIfC,QAAAA,aAAa,EAAEC,uCAJA;AAKfC,QAAAA,SAAS,EAAEd,WAAGe,SALC;AAMfC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;AAAV,SANQ;AAOfC,QAAAA,OAAO,EAAE,sBAAQ/B,IAAR,EAAcC,UAAd;AAPM,OADnB,EAUG+B,IAVH,CAUQ,UAACC,KAAD,EAAW;AACflC,QAAAA,aAAa,CAAC,CAACkC,KAAD,CAAD,CAAb;AACD,OAZH,EAaGC,KAbH,CAaS,UAACC,GAAD,EAAS;AACdC,QAAAA,OAAO,CAACC,IAAR,CAAaF,GAAb;AACApC,QAAAA,aAAa,CAAC,EAAD,CAAb;AACD,OAhBH;AAiBD;;;WAED,qBAAmBA,aAAnB,EAA8D;AAC5D,WAAKuC,UAAL,CAAgBvC,aAAhB;AACD;;;WAED,uBAA2B;AAAA;;AACzB,4BAAKP,OAAL,gEAAc+C,OAAd;AACA,iCAAKzC,YAAL,0EAAmByC,OAAnB;AACD;;;WAED,qCAAsC;AAEpC,WAAKC,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,IAD0C;AAEhD3B,QAAAA,IAAI,EAAE4B,sBAAcC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,MADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAElC,WAAGmC,YAFJ;AAGNxC,YAAAA,IAAI,EAAE,EAHA;AAINO,YAAAA,IAAI,EAAEF,WAAGG;AAJH,WAFE;AAQViC,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBACNC,OADM,EAENC,UAFM,EAGNC,MAHM,EAINC,YAJM,EAKH;AACH,mBAAO,CAACD,MAAM,CAAC,CAAD,CAAP,EAAYA,MAAM,CAAC,CAAD,CAAlB,CAAP;AACD;AAhBS;AAHoC,OAAlD;AAsBD;;;WAED,6BAA4B;AAC1B,UAAQhD,eAAR,GAA4B,KAAKC,eAAjC,CAAQD,eAAR;;AACA,kBAEI,KAAKxB,KAAL,CAAWC,cAAX,EAFJ;AAAA,UACEM,UADF,SACEA,UADF;;AAGA,UAAM6B,SAAS,GAAG,gCAAkB7B,UAAlB,CAAlB;AACA,WAAKU,YAAL,GAAoBO,eAAe,CAAC;AAClCG,QAAAA,IAAI,EAAES,SAAS,CAACT,IADkB;AAElCE,QAAAA,KAAK,EAAEO,SAAS,CAACP,KAFiB;AAGlCC,QAAAA,MAAM,EAAEM,SAAS,CAACN,MAHgB;AAIlCO,QAAAA,KAAK,EAAE;AAJ2B,OAAD,CAAnC;AAMD;;;EA3HsCqC,mB","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n ITexture2D,\n lazyInject,\n TYPES,\n} from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\nimport { isEqual } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IRasterLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport rasterFrag from '../shaders/raster_2d_frag.glsl';\nimport rasterVert from '../shaders/raster_2d_vert.glsl';\nexport default class RasterModel extends BaseModel {\n protected texture: ITexture2D;\n protected colorTexture: ITexture2D;\n private rampColors: any;\n public getUninforms() {\n const {\n opacity = 1,\n clampLow = true,\n clampHigh = true,\n noDataValue = -9999999,\n domain = [0, 1],\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n if (!isEqual(this.rampColors, rampColors)) {\n this.updateColorTexure();\n this.rampColors = rampColors;\n }\n\n return {\n u_opacity: opacity || 1,\n u_texture: this.texture,\n u_domain: domain,\n u_clampLow: clampLow,\n u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,\n u_noDataValue: noDataValue,\n u_colorTexture: this.colorTexture,\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n const {\n mask = false,\n maskInside = true,\n rampColorsData,\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const source = this.layer.getSource();\n const { createTexture2D } = this.rendererService;\n const parserDataItem = source.data.dataArray[0];\n this.texture = createTexture2D({\n data: parserDataItem.data,\n width: parserDataItem.width,\n height: parserDataItem.height,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n // aniso: 4,\n });\n const imageData = rampColorsData\n ? rampColorsData\n : generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n\n this.layer\n .buildLayerModel({\n moduleName: 'rasterImageData',\n vertexShader: rasterVert,\n fragmentShader: rasterFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\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 clearModels(): void {\n this.texture?.destroy();\n this.colorTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\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 return [vertex[3], vertex[4]];\n },\n },\n });\n }\n\n private updateColorTexure() {\n const { createTexture2D } = this.rendererService;\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n }\n}\n"],"file":"raster.js"}
|
|
@@ -177,6 +177,8 @@ var TileLayerManager = function () {
|
|
|
177
177
|
} : _ref$rampColors,
|
|
178
178
|
_ref$featureId = _ref.featureId,
|
|
179
179
|
featureId = _ref$featureId === void 0 ? 'id' : _ref$featureId,
|
|
180
|
+
_ref$workerEnabled = _ref.workerEnabled,
|
|
181
|
+
workerEnabled = _ref$workerEnabled === void 0 ? false : _ref$workerEnabled,
|
|
180
182
|
sourceLayer = _ref.sourceLayer,
|
|
181
183
|
_ref$pixelConstant = _ref.pixelConstant,
|
|
182
184
|
pixelConstant = _ref$pixelConstant === void 0 ? 0 : _ref$pixelConstant,
|
|
@@ -221,6 +223,7 @@ var TileLayerManager = function () {
|
|
|
221
223
|
domain: domain,
|
|
222
224
|
rampColors: rampColors,
|
|
223
225
|
rampColorsData: this.rampColorsData,
|
|
226
|
+
workerEnabled: workerEnabled,
|
|
224
227
|
pixelConstant: pixelConstant,
|
|
225
228
|
pixelConstantR: pixelConstantR,
|
|
226
229
|
pixelConstantG: pixelConstantG,
|