@antv/l7-layers 2.8.43 → 2.9.0
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/core/BaseLayer.d.ts +3 -1
- package/es/core/BaseLayer.js +23 -3
- package/es/core/BaseLayer.js.map +1 -1
- package/es/core/BaseModel.d.ts +2 -1
- package/es/core/BaseModel.js +3 -0
- package/es/core/BaseModel.js.map +1 -1
- package/es/core/interface.d.ts +12 -0
- package/es/core/interface.js.map +1 -1
- package/es/image/models/image.js.map +1 -1
- package/es/line/index.d.ts +1 -1
- package/es/line/index.js +7 -1
- package/es/line/index.js.map +1 -1
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +5 -1
- package/es/line/models/index.js.map +1 -1
- package/es/line/models/tile.d.ts +20 -0
- package/es/line/models/tile.js +327 -0
- package/es/line/models/tile.js.map +1 -0
- package/es/plugins/ShaderUniformPlugin.js +3 -1
- package/es/plugins/ShaderUniformPlugin.js.map +1 -1
- package/es/point/index.d.ts +1 -1
- package/es/point/index.js +8 -2
- package/es/point/index.js.map +1 -1
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +5 -1
- package/es/point/models/index.js.map +1 -1
- package/es/point/models/tile.d.ts +31 -0
- package/es/point/models/tile.js +291 -0
- package/es/point/models/tile.js.map +1 -0
- package/es/polygon/index.js +6 -0
- package/es/polygon/index.js.map +1 -1
- package/es/polygon/models/extrude.js +1 -5
- package/es/polygon/models/extrude.js.map +1 -1
- package/es/polygon/models/fill.js +0 -4
- package/es/polygon/models/fill.js.map +1 -1
- package/es/polygon/models/index.d.ts +1 -1
- package/es/polygon/models/index.js +5 -1
- package/es/polygon/models/index.js.map +1 -1
- package/es/polygon/models/tile.d.ts +16 -0
- package/es/polygon/models/tile.js +137 -0
- package/es/polygon/models/tile.js.map +1 -0
- package/es/raster/index.d.ts +2 -2
- package/es/raster/index.js +4 -4
- package/es/raster/index.js.map +1 -1
- package/es/raster/models/index.js +1 -1
- package/es/raster/models/index.js.map +1 -1
- package/es/raster/models/raster.d.ts +1 -0
- package/es/raster/models/raster.js +8 -2
- package/es/raster/models/raster.js.map +1 -1
- package/es/tile/interface.d.ts +28 -0
- package/es/tile/interface.js +2 -0
- package/es/tile/interface.js.map +1 -0
- package/es/tile/manager/tileConfigManager.d.ts +17 -0
- package/es/tile/manager/tileConfigManager.js +123 -0
- package/es/tile/manager/tileConfigManager.js.map +1 -0
- package/es/tile/manager/tileLayerManager.d.ts +34 -0
- package/es/tile/manager/tileLayerManager.js +283 -0
- package/es/tile/manager/tileLayerManager.js.map +1 -0
- package/es/tile/manager/tilePickerManager.d.ts +20 -0
- package/es/tile/manager/tilePickerManager.js +164 -0
- package/es/tile/manager/tilePickerManager.js.map +1 -0
- package/es/tile/models/tileModel.d.ts +8 -0
- package/es/tile/models/tileModel.js +61 -0
- package/es/tile/models/tileModel.js.map +1 -0
- package/es/tile/tileFactory/base.d.ts +40 -0
- package/es/tile/tileFactory/base.js +352 -0
- package/es/tile/tileFactory/base.js.map +1 -0
- package/es/tile/tileFactory/index.d.ts +5 -0
- package/es/tile/tileFactory/index.js +30 -0
- package/es/tile/tileFactory/index.js.map +1 -0
- package/es/tile/tileFactory/line.d.ts +12 -0
- package/es/tile/tileFactory/line.js +65 -0
- package/es/tile/tileFactory/line.js.map +1 -0
- package/es/tile/tileFactory/point.d.ts +12 -0
- package/es/tile/tileFactory/point.js +65 -0
- package/es/tile/tileFactory/point.js.map +1 -0
- package/es/tile/tileFactory/polygon.d.ts +12 -0
- package/es/tile/tileFactory/polygon.js +65 -0
- package/es/tile/tileFactory/polygon.js.map +1 -0
- package/es/tile/tileFactory/raster.d.ts +12 -0
- package/es/tile/tileFactory/raster.js +61 -0
- package/es/tile/tileFactory/raster.js.map +1 -0
- package/es/tile/tileFactory/rasterData.d.ts +12 -0
- package/es/tile/tileFactory/rasterData.js +75 -0
- package/es/tile/tileFactory/rasterData.js.map +1 -0
- package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
- package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
- package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
- package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
- package/es/tile/tileFactory/vectorLayer.js +131 -0
- package/es/tile/tileFactory/vectorLayer.js.map +1 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +51 -0
- package/es/tile/tileLayer/baseTileLayer.js +409 -0
- package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
- package/es/tile/tmsTileLayer.d.ts +7 -0
- package/es/tile/tmsTileLayer.js +94 -0
- package/es/tile/tmsTileLayer.js.map +1 -0
- package/es/tile/utils.d.ts +11 -0
- package/es/tile/utils.js +120 -0
- package/es/tile/utils.js.map +1 -0
- package/lib/core/BaseLayer.js +21 -2
- package/lib/core/BaseLayer.js.map +1 -1
- package/lib/core/BaseModel.js +2 -0
- package/lib/core/BaseModel.js.map +1 -1
- package/lib/core/interface.js.map +1 -1
- package/lib/image/models/image.js.map +1 -1
- package/lib/line/index.js +7 -1
- package/lib/line/index.js.map +1 -1
- package/lib/line/models/index.js +7 -1
- package/lib/line/models/index.js.map +1 -1
- package/lib/line/models/tile.js +342 -0
- package/lib/line/models/tile.js.map +1 -0
- package/lib/plugins/ShaderUniformPlugin.js +3 -1
- package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
- package/lib/point/index.js +8 -2
- package/lib/point/index.js.map +1 -1
- package/lib/point/models/index.js +7 -1
- package/lib/point/models/index.js.map +1 -1
- package/lib/point/models/tile.js +308 -0
- package/lib/point/models/tile.js.map +1 -0
- package/lib/polygon/index.js +6 -0
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/models/extrude.js +1 -5
- package/lib/polygon/models/extrude.js.map +1 -1
- package/lib/polygon/models/fill.js +0 -4
- package/lib/polygon/models/fill.js.map +1 -1
- package/lib/polygon/models/index.js +7 -1
- package/lib/polygon/models/index.js.map +1 -1
- package/lib/polygon/models/tile.js +152 -0
- package/lib/polygon/models/tile.js.map +1 -0
- package/lib/raster/index.js +4 -4
- package/lib/raster/index.js.map +1 -1
- package/lib/raster/models/index.js +2 -2
- package/lib/raster/models/index.js.map +1 -1
- package/lib/raster/models/raster.js +8 -2
- package/lib/raster/models/raster.js.map +1 -1
- package/lib/tile/interface.js +2 -0
- package/lib/tile/interface.js.map +1 -0
- package/lib/tile/manager/tileConfigManager.js +134 -0
- package/lib/tile/manager/tileConfigManager.js.map +1 -0
- package/lib/tile/manager/tileLayerManager.js +291 -0
- package/lib/tile/manager/tileLayerManager.js.map +1 -0
- package/lib/tile/manager/tilePickerManager.js +170 -0
- package/lib/tile/manager/tilePickerManager.js.map +1 -0
- package/lib/tile/models/tileModel.js +73 -0
- package/lib/tile/models/tileModel.js.map +1 -0
- package/lib/tile/tileFactory/base.js +366 -0
- package/lib/tile/tileFactory/base.js.map +1 -0
- package/lib/tile/tileFactory/index.js +60 -0
- package/lib/tile/tileFactory/index.js.map +1 -0
- package/lib/tile/tileFactory/line.js +76 -0
- package/lib/tile/tileFactory/line.js.map +1 -0
- package/lib/tile/tileFactory/point.js +76 -0
- package/lib/tile/tileFactory/point.js.map +1 -0
- package/lib/tile/tileFactory/polygon.js +76 -0
- package/lib/tile/tileFactory/polygon.js.map +1 -0
- package/lib/tile/tileFactory/raster.js +74 -0
- package/lib/tile/tileFactory/raster.js.map +1 -0
- package/lib/tile/tileFactory/rasterData.js +88 -0
- package/lib/tile/tileFactory/rasterData.js.map +1 -0
- package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
- package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
- package/lib/tile/tileFactory/vectorLayer.js +145 -0
- package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
- package/lib/tile/tileLayer/baseTileLayer.js +408 -0
- package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
- package/lib/tile/tmsTileLayer.js +109 -0
- package/lib/tile/tmsTileLayer.js.map +1 -0
- package/lib/tile/utils.js +142 -0
- package/lib/tile/utils.js.map +1 -0
- package/package.json +7 -5
- package/es/core/LayerGroup.d.ts +0 -9
- package/es/core/LayerGroup.js.map +0 -1
- package/es/raster/models/raste-tile.d.ts +0 -23
- package/es/raster/models/raste-tile.js +0 -285
- package/es/raster/models/raste-tile.js.map +0 -1
- package/lib/core/LayerGroup.js.map +0 -1
- package/lib/raster/models/raste-tile.js +0 -294
- package/lib/raster/models/raste-tile.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/extrude.ts"],"names":["AttributeType","gl","getMask","rgb2arr","BaseModel","PolygonExtrudeTriangulation","ExtrudeModel","layer","getLayerConfig","opacity","heightfixed","raisingHeight","topsurface","sidesurface","sourceColor","targetColor","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","LUMINANCE","type","FLOAT","useLinearColor","sourceColorArr","targetColorArr","u_topsurface","Number","u_sidesurface","u_heightfixed","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_raisingHeight","u_opacity","u_linearColor","u_sourceColor","u_targetColor","u_texture","texture","loadTexture","buildModels","mask","maskInside","getShaders","frag","vert","buildLayerModel","moduleName","vertexShader","fragmentShader","triangulation","stencil","cull","enable","face","BACK","pickLight","mapTexture","polygonExtrudeTexFrag","polygonExtrudeTexVert","polygonExtrudePickLightFrag","polygonExtrudePickLightVert","polygonExtrudeFrag","polygonExtrudeVert","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","DYNAMIC_DRAW","Array","isArray","rendererService","image","Image","crossOrigin","src","onload","wrapS","CLAMP_TO_EDGE","wrapT","min","LINEAR","mag","layerService","updateLayerRenderList","renderLayers"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\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 { PolygonExtrudeTriangulation } from '../../core/triangulation';\nimport polygonExtrudeFrag from '../shaders/extrude/polygon_extrude_frag.glsl';\n// extrude\nimport polygonExtrudeVert from '../shaders/extrude/polygon_extrude_vert.glsl';\nimport polygonExtrudeTexFrag from '../shaders/extrude/polygon_extrudetex_frag.glsl';\n// texture\nimport polygonExtrudeTexVert from '../shaders/extrude/polygon_extrudetex_vert.glsl';\n// extrude picking\n\nimport polygonExtrudePickLightFrag from '../shaders/extrude/polygon_extrude_picklight_frag.glsl';\nimport polygonExtrudePickLightVert from '../shaders/extrude/polygon_extrude_picklight_vert.glsl';\n\nexport default class ExtrudeModel extends BaseModel {\n protected texture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n heightfixed = false,\n raisingHeight = 0,\n topsurface = true,\n sidesurface = true,\n sourceColor,\n targetColor,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\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\n // 转化渐变色\n let useLinearColor = 0; // 默认不生效\n let sourceColorArr = [1, 1, 1, 1];\n let targetColorArr = [1, 1, 1, 1];\n if (sourceColor && targetColor) {\n sourceColorArr = rgb2arr(sourceColor);\n targetColorArr = rgb2arr(targetColor);\n useLinearColor = 1;\n }\n\n return {\n // 控制侧面和顶面的显示隐藏\n u_topsurface: Number(topsurface),\n u_sidesurface: Number(sidesurface),\n\n u_heightfixed: Number(heightfixed),\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_raisingHeight: Number(raisingHeight),\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n\n // 渐变色支持参数\n u_linearColor: useLinearColor,\n u_sourceColor: sourceColorArr,\n u_targetColor: targetColorArr,\n u_texture: this.texture,\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\n const { frag, vert, type } = this.getShaders();\n\n return [\n this.layer.buildLayerModel({\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation: PolygonExtrudeTriangulation,\n stencil: getMask(mask, maskInside),\n cull: {\n enable: true,\n face: gl.BACK, // gl.FRONT | gl.BACK;\n },\n }),\n ];\n }\n\n public getShaders() {\n const {\n pickLight,\n mapTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (mapTexture) {\n return {\n frag: polygonExtrudeTexFrag,\n vert: polygonExtrudeTexVert,\n type: 'polygonExtrudeTexture',\n };\n }\n if (pickLight) {\n return {\n frag: polygonExtrudePickLightFrag,\n vert: polygonExtrudePickLightVert,\n type: 'polygonExtrudePickLight',\n };\n } else {\n return {\n frag: polygonExtrudeFrag,\n vert: polygonExtrudeVert,\n type: 'polygonExtrude',\n };\n }\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n this.texture?.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: 'uvs',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_uvs',\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 const lng = vertex[0];\n const lat = vertex[1];\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen, vertex[4]];\n },\n },\n });\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 }\n\n private loadTexture() {\n const {\n mapTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n if (mapTexture) {\n const image = new Image();\n image.crossOrigin = '';\n image.src = mapTexture;\n\n image.onload = () => {\n this.texture = createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n }\n }\n}\n"],"file":"extrude.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/extrude.ts"],"names":["AttributeType","gl","getMask","rgb2arr","BaseModel","PolygonExtrudeTriangulation","ExtrudeModel","layer","getLayerConfig","opacity","heightfixed","raisingHeight","topsurface","sidesurface","sourceColor","targetColor","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","LUMINANCE","type","FLOAT","useLinearColor","sourceColorArr","targetColorArr","u_topsurface","Number","u_sidesurface","u_heightfixed","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_raisingHeight","u_opacity","u_linearColor","u_sourceColor","u_targetColor","u_texture","texture","loadTexture","buildModels","mask","maskInside","getShaders","frag","vert","buildLayerModel","moduleName","vertexShader","fragmentShader","triangulation","stencil","pickLight","mapTexture","polygonExtrudeTexFrag","polygonExtrudeTexVert","polygonExtrudePickLightFrag","polygonExtrudePickLightVert","polygonExtrudeFrag","polygonExtrudeVert","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","DYNAMIC_DRAW","Array","isArray","rendererService","image","Image","crossOrigin","src","onload","wrapS","CLAMP_TO_EDGE","wrapT","min","LINEAR","mag","layerService","updateLayerRenderList","renderLayers"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\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 { PolygonExtrudeTriangulation } from '../../core/triangulation';\nimport polygonExtrudeFrag from '../shaders/extrude/polygon_extrude_frag.glsl';\n// extrude\nimport polygonExtrudeVert from '../shaders/extrude/polygon_extrude_vert.glsl';\nimport polygonExtrudeTexFrag from '../shaders/extrude/polygon_extrudetex_frag.glsl';\n// texture\nimport polygonExtrudeTexVert from '../shaders/extrude/polygon_extrudetex_vert.glsl';\n// extrude picking\n\nimport polygonExtrudePickLightFrag from '../shaders/extrude/polygon_extrude_picklight_frag.glsl';\nimport polygonExtrudePickLightVert from '../shaders/extrude/polygon_extrude_picklight_vert.glsl';\n\nexport default class ExtrudeModel extends BaseModel {\n protected texture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n heightfixed = false,\n raisingHeight = 0,\n topsurface = true,\n sidesurface = true,\n sourceColor,\n targetColor,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\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\n // 转化渐变色\n let useLinearColor = 0; // 默认不生效\n let sourceColorArr = [1, 1, 1, 1];\n let targetColorArr = [1, 1, 1, 1];\n if (sourceColor && targetColor) {\n sourceColorArr = rgb2arr(sourceColor);\n targetColorArr = rgb2arr(targetColor);\n useLinearColor = 1;\n }\n\n return {\n // 控制侧面和顶面的显示隐藏\n u_topsurface: Number(topsurface),\n u_sidesurface: Number(sidesurface),\n\n u_heightfixed: Number(heightfixed),\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_raisingHeight: Number(raisingHeight),\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n\n // 渐变色支持参数\n u_linearColor: useLinearColor,\n u_sourceColor: sourceColorArr,\n u_targetColor: targetColorArr,\n u_texture: this.texture,\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\n const { frag, vert, type } = this.getShaders();\n\n return [\n this.layer.buildLayerModel({\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation: PolygonExtrudeTriangulation,\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public getShaders() {\n const {\n pickLight,\n mapTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (mapTexture) {\n return {\n frag: polygonExtrudeTexFrag,\n vert: polygonExtrudeTexVert,\n type: 'polygonExtrudeTexture',\n };\n }\n if (pickLight) {\n return {\n frag: polygonExtrudePickLightFrag,\n vert: polygonExtrudePickLightVert,\n type: 'polygonExtrudePickLight',\n };\n } else {\n return {\n frag: polygonExtrudeFrag,\n vert: polygonExtrudeVert,\n type: 'polygonExtrude',\n };\n }\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n this.texture?.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: 'uvs',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_uvs',\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 const lng = vertex[0];\n const lat = vertex[1];\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen, vertex[4]];\n },\n },\n });\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 }\n\n private loadTexture() {\n const {\n mapTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n if (mapTexture) {\n const image = new Image();\n image.crossOrigin = '';\n image.src = mapTexture;\n\n image.onload = () => {\n this.texture = createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n }\n }\n}\n"],"file":"extrude.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/fill.ts"],"names":["AttributeType","gl","getMask","BaseModel","polygonTriangulation","polygonTriangulationWithCenter","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","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","
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/fill.ts"],"names":["AttributeType","gl","getMask","BaseModel","polygonTriangulation","polygonTriangulationWithCenter","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","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","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","polygon_linear_frag","polygon_linear_vert","polygon_frag","polygon_vert"],"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,4 +1,4 @@
|
|
|
1
|
-
export declare type PolygonModelType = 'fill' | 'extrude' | 'line' | 'point_fill' | 'point_image' | 'point_normal' | 'point_extrude' | 'text' | 'water' | 'ocean';
|
|
1
|
+
export declare type PolygonModelType = 'fill' | 'extrude' | 'line' | 'point_fill' | 'point_image' | 'point_normal' | 'point_extrude' | 'text' | 'water' | 'ocean' | 'vectorpolygon' | 'tile';
|
|
2
2
|
declare const PolygonModels: {
|
|
3
3
|
[key in PolygonModelType]: any;
|
|
4
4
|
};
|
|
@@ -4,9 +4,11 @@ import PointFillModel from '../../point/models/fill';
|
|
|
4
4
|
import IMageModel from '../../point/models/image';
|
|
5
5
|
import NormalModel from '../../point/models/normal';
|
|
6
6
|
import TextModel from '../../point/models/text';
|
|
7
|
+
import PolygonTileModel from '../../tile/models/tileModel';
|
|
7
8
|
import ExtrudeModel from './extrude';
|
|
8
9
|
import FillModel from './fill';
|
|
9
10
|
import Ocean from './ocean';
|
|
11
|
+
import TilePolygonModel from './tile';
|
|
10
12
|
import Water from './water';
|
|
11
13
|
var PolygonModels = {
|
|
12
14
|
fill: FillModel,
|
|
@@ -18,7 +20,9 @@ var PolygonModels = {
|
|
|
18
20
|
point_normal: NormalModel,
|
|
19
21
|
point_extrude: PointExtrudeModel,
|
|
20
22
|
water: Water,
|
|
21
|
-
ocean: Ocean
|
|
23
|
+
ocean: Ocean,
|
|
24
|
+
vectorpolygon: PolygonTileModel,
|
|
25
|
+
tile: TilePolygonModel
|
|
22
26
|
};
|
|
23
27
|
export default PolygonModels;
|
|
24
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/index.ts"],"names":["LineModel","PointExtrudeModel","PointFillModel","IMageModel","NormalModel","TextModel","ExtrudeModel","FillModel","Ocean","Water","PolygonModels","fill","line","extrude","text","point_fill","point_image","point_normal","point_extrude","water","ocean"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,wBAAtB;AACA,OAAOC,iBAAP,MAA8B,4BAA9B;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,UAAP,MAAuB,0BAAvB;AACA,OAAOC,WAAP,MAAwB,2BAAxB;AACA,OAAOC,SAAP,MAAsB,yBAAtB;AACA,OAAOC,YAAP,MAAyB,WAAzB;AACA,OAAOC,SAAP,MAAsB,QAAtB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,OAAOC,KAAP,MAAkB,SAAlB;
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/index.ts"],"names":["LineModel","PointExtrudeModel","PointFillModel","IMageModel","NormalModel","TextModel","PolygonTileModel","ExtrudeModel","FillModel","Ocean","TilePolygonModel","Water","PolygonModels","fill","line","extrude","text","point_fill","point_image","point_normal","point_extrude","water","ocean","vectorpolygon","tile"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,wBAAtB;AACA,OAAOC,iBAAP,MAA8B,4BAA9B;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,UAAP,MAAuB,0BAAvB;AACA,OAAOC,WAAP,MAAwB,2BAAxB;AACA,OAAOC,SAAP,MAAsB,yBAAtB;AACA,OAAOC,gBAAP,MAA6B,6BAA7B;AACA,OAAOC,YAAP,MAAyB,WAAzB;AACA,OAAOC,SAAP,MAAsB,QAAtB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,OAAOC,gBAAP,MAA6B,QAA7B;AACA,OAAOC,KAAP,MAAkB,SAAlB;AAgBA,IAAMC,aAAiD,GAAG;AACxDC,EAAAA,IAAI,EAAEL,SADkD;AAExDM,EAAAA,IAAI,EAAEd,SAFkD;AAGxDe,EAAAA,OAAO,EAAER,YAH+C;AAIxDS,EAAAA,IAAI,EAAEX,SAJkD;AAKxDY,EAAAA,UAAU,EAAEf,cAL4C;AAMxDgB,EAAAA,WAAW,EAAEf,UAN2C;AAOxDgB,EAAAA,YAAY,EAAEf,WAP0C;AAQxDgB,EAAAA,aAAa,EAAEnB,iBARyC;AASxDoB,EAAAA,KAAK,EAAEV,KATiD;AAUxDW,EAAAA,KAAK,EAAEb,KAViD;AAYxDc,EAAAA,aAAa,EAAEjB,gBAZyC;AAaxDkB,EAAAA,IAAI,EAAEd;AAbkD,CAA1D;AAeA,eAAeE,aAAf","sourcesContent":["import LineModel from '../../line/models/line';\nimport PointExtrudeModel from '../../point/models/extrude';\nimport PointFillModel from '../../point/models/fill';\nimport IMageModel from '../../point/models/image';\nimport NormalModel from '../../point/models/normal';\nimport TextModel from '../../point/models/text';\nimport PolygonTileModel from '../../tile/models/tileModel';\nimport ExtrudeModel from './extrude';\nimport FillModel from './fill';\nimport Ocean from './ocean';\nimport TilePolygonModel from './tile';\nimport Water from './water';\n\nexport type PolygonModelType =\n | 'fill'\n | 'extrude'\n | 'line'\n | 'point_fill'\n | 'point_image'\n | 'point_normal'\n | 'point_extrude'\n | 'text'\n | 'water'\n | 'ocean'\n | 'vectorpolygon'\n | 'tile';\n\nconst PolygonModels: { [key in PolygonModelType]: any } = {\n fill: FillModel,\n line: LineModel,\n extrude: ExtrudeModel,\n text: TextModel,\n point_fill: PointFillModel,\n point_image: IMageModel,\n point_normal: NormalModel,\n point_extrude: PointExtrudeModel,\n water: Water,\n ocean: Ocean,\n // point_fill: PointModels.fill,\n vectorpolygon: PolygonTileModel,\n tile: TilePolygonModel,\n};\nexport default PolygonModels;\n"],"file":"index.js"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IModel } from '@antv/l7-core';
|
|
2
|
+
import BaseModel from '../../core/BaseModel';
|
|
3
|
+
export default class FillModel extends BaseModel {
|
|
4
|
+
getUninforms(): {
|
|
5
|
+
u_tileOrigin: number[];
|
|
6
|
+
u_coord: number;
|
|
7
|
+
u_dataTexture: import("@antv/l7-core").ITexture2D;
|
|
8
|
+
u_cellTypeLayout: number[];
|
|
9
|
+
u_opacity: number;
|
|
10
|
+
};
|
|
11
|
+
initModels(): IModel[];
|
|
12
|
+
buildModels(): IModel[];
|
|
13
|
+
clearModels(): void;
|
|
14
|
+
protected registerBuiltinAttributes(): void;
|
|
15
|
+
private getModelParams;
|
|
16
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
|
+
|
|
7
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
8
|
+
|
|
9
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
10
|
+
|
|
11
|
+
import { gl } from '@antv/l7-core';
|
|
12
|
+
import { getMask } from '@antv/l7-utils';
|
|
13
|
+
import BaseModel from '../../core/BaseModel';
|
|
14
|
+
import { polygonTriangulation } from '../../core/triangulation';
|
|
15
|
+
var polygon_tile_frag = "uniform float u_opacity: 1.0;\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = styleMappingMat[0][0];\n gl_FragColor = v_Color;\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
16
|
+
var polygon_tile_vert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nuniform float u_opacity: 1.0;\n\nuniform vec2 u_tileOrigin;\nuniform float u_coord;\n\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\nstyleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n\n v_Color = a_Color;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n project_pos.z *= mapboxZoomScale;\n }\n\nif(u_coord > 0.0) {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n} else {\n vec2 pointPos = a_Position.xy;\n vec4 world = vec4(project_mvt_offset_position(vec4(u_tileOrigin, 0.0, 1.0)).xyz, 1.0); // \u74E6\u7247\u8D77\u59CB\u70B9\u7684\u4E16\u754C\u5750\u6807\n\n vec2 pointOffset = pointPos * pow(2.0, u_Zoom); // \u74E6\u7247\u5185\u7684\u70B9\u7684\u504F\u79FB\u5750\u6807\n \n world.xy += pointOffset;\n\n if (u_CoordinateSystem == COORDINATE_SYSTEM_METER_OFFSET || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n // Needs to be divided with project_uCommonUnitsPerMeter\n world.w *= u_PixelsPerMeter.z;\n }\n\n gl_Position = u_ViewProjectionMatrix * world + u_ViewportCenterProjection;\n}\n\n\n setPickingColor(a_PickingColor);\n}\n\n";
|
|
17
|
+
|
|
18
|
+
var FillModel = function (_BaseModel) {
|
|
19
|
+
_inherits(FillModel, _BaseModel);
|
|
20
|
+
|
|
21
|
+
var _super = _createSuper(FillModel);
|
|
22
|
+
|
|
23
|
+
function FillModel() {
|
|
24
|
+
_classCallCheck(this, FillModel);
|
|
25
|
+
|
|
26
|
+
return _super.apply(this, arguments);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
_createClass(FillModel, [{
|
|
30
|
+
key: "getUninforms",
|
|
31
|
+
value: function getUninforms() {
|
|
32
|
+
var _ref = this.layer.getLayerConfig(),
|
|
33
|
+
_ref$opacity = _ref.opacity,
|
|
34
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
35
|
+
tileOrigin = _ref.tileOrigin,
|
|
36
|
+
_ref$coord = _ref.coord,
|
|
37
|
+
coord = _ref$coord === void 0 ? 'lnglat' : _ref$coord;
|
|
38
|
+
|
|
39
|
+
if (this.dataTextureTest && this.dataTextureNeedUpdate({
|
|
40
|
+
opacity: opacity
|
|
41
|
+
})) {
|
|
42
|
+
this.judgeStyleAttributes({
|
|
43
|
+
opacity: opacity
|
|
44
|
+
});
|
|
45
|
+
var encodeData = this.layer.getEncodedData();
|
|
46
|
+
|
|
47
|
+
var _this$calDataFrame = this.calDataFrame(this.cellLength, encodeData, this.cellProperties),
|
|
48
|
+
data = _this$calDataFrame.data,
|
|
49
|
+
width = _this$calDataFrame.width,
|
|
50
|
+
height = _this$calDataFrame.height;
|
|
51
|
+
|
|
52
|
+
this.rowCount = height;
|
|
53
|
+
this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
|
|
54
|
+
flipY: true,
|
|
55
|
+
data: data,
|
|
56
|
+
format: gl.LUMINANCE,
|
|
57
|
+
type: gl.FLOAT,
|
|
58
|
+
width: width,
|
|
59
|
+
height: height
|
|
60
|
+
}) : this.createTexture2D({
|
|
61
|
+
flipY: true,
|
|
62
|
+
data: [1],
|
|
63
|
+
format: gl.LUMINANCE,
|
|
64
|
+
type: gl.FLOAT,
|
|
65
|
+
width: 1,
|
|
66
|
+
height: 1
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
u_tileOrigin: tileOrigin || [0, 0],
|
|
72
|
+
u_coord: coord === 'lnglat' ? 1.0 : 0.0,
|
|
73
|
+
u_dataTexture: this.dataTexture,
|
|
74
|
+
u_cellTypeLayout: this.getCellTypeLayout(),
|
|
75
|
+
u_opacity: opacity
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "initModels",
|
|
80
|
+
value: function initModels() {
|
|
81
|
+
return this.buildModels();
|
|
82
|
+
}
|
|
83
|
+
}, {
|
|
84
|
+
key: "buildModels",
|
|
85
|
+
value: function buildModels() {
|
|
86
|
+
var _this$getModelParams = this.getModelParams(),
|
|
87
|
+
frag = _this$getModelParams.frag,
|
|
88
|
+
vert = _this$getModelParams.vert,
|
|
89
|
+
triangulation = _this$getModelParams.triangulation,
|
|
90
|
+
type = _this$getModelParams.type;
|
|
91
|
+
|
|
92
|
+
var _ref2 = this.layer.getLayerConfig(),
|
|
93
|
+
_ref2$mask = _ref2.mask,
|
|
94
|
+
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
95
|
+
_ref2$maskInside = _ref2.maskInside,
|
|
96
|
+
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
97
|
+
|
|
98
|
+
this.layer.triangulation = triangulation;
|
|
99
|
+
return [this.layer.buildLayerModel({
|
|
100
|
+
moduleName: type,
|
|
101
|
+
vertexShader: vert,
|
|
102
|
+
fragmentShader: frag,
|
|
103
|
+
triangulation: triangulation,
|
|
104
|
+
blend: this.getBlend(),
|
|
105
|
+
depth: {
|
|
106
|
+
enable: false
|
|
107
|
+
},
|
|
108
|
+
stencil: getMask(mask, maskInside)
|
|
109
|
+
})];
|
|
110
|
+
}
|
|
111
|
+
}, {
|
|
112
|
+
key: "clearModels",
|
|
113
|
+
value: function clearModels() {
|
|
114
|
+
var _this$dataTexture;
|
|
115
|
+
|
|
116
|
+
(_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
|
|
117
|
+
}
|
|
118
|
+
}, {
|
|
119
|
+
key: "registerBuiltinAttributes",
|
|
120
|
+
value: function registerBuiltinAttributes() {}
|
|
121
|
+
}, {
|
|
122
|
+
key: "getModelParams",
|
|
123
|
+
value: function getModelParams() {
|
|
124
|
+
return {
|
|
125
|
+
frag: polygon_tile_frag,
|
|
126
|
+
vert: polygon_tile_vert,
|
|
127
|
+
type: 'polygon_tile',
|
|
128
|
+
triangulation: polygonTriangulation
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}]);
|
|
132
|
+
|
|
133
|
+
return FillModel;
|
|
134
|
+
}(BaseModel);
|
|
135
|
+
|
|
136
|
+
export { FillModel as default };
|
|
137
|
+
//# sourceMappingURL=tile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/tile.ts"],"names":["gl","getMask","BaseModel","polygonTriangulation","FillModel","layer","getLayerConfig","opacity","tileOrigin","coord","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","LUMINANCE","type","FLOAT","u_tileOrigin","u_coord","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","buildModels","getModelParams","frag","vert","triangulation","mask","maskInside","buildLayerModel","moduleName","vertexShader","fragmentShader","blend","getBlend","depth","enable","stencil","destroy","polygon_tile_frag","polygon_tile_vert"],"mappings":";;;;;;;;;;AAAA,SAASA,EAAT,QAA0C,eAA1C;AACA,SAASC,OAAT,QAAwB,gBAAxB;AACA,OAAOC,SAAP,MAAsB,sBAAtB;AAEA,SAASC,oBAAT,QAAqC,0BAArC;;;;IAIqBC,S;;;;;;;;;;;;;WACnB,wBAAsB;AACpB,iBAII,KAAKC,KAAL,CAAWC,cAAX,EAJJ;AAAA,8BACEC,OADF;AAAA,UACEA,OADF,6BACY,CADZ;AAAA,UAEEC,UAFF,QAEEA,UAFF;AAAA,4BAGEC,KAHF;AAAA,UAGEA,KAHF,2BAGU,QAHV;;AAKA,UAAI,KAAKC,eAAL,IAAwB,KAAKC,qBAAL,CAA2B;AAAEJ,QAAAA,OAAO,EAAPA;AAAF,OAA3B,CAA5B,EAAqE;AACnE,aAAKK,oBAAL,CAA0B;AAAEL,UAAAA,OAAO,EAAPA;AAAF,SAA1B;AACA,YAAMM,UAAU,GAAG,KAAKR,KAAL,CAAWS,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,EAAE1B,EAAE,CAAC2B,SAHQ;AAInBC,UAAAA,IAAI,EAAE5B,EAAE,CAAC6B,KAJU;AAKnBV,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,EAAE1B,EAAE,CAAC2B,SAHQ;AAInBC,UAAAA,IAAI,EAAE5B,EAAE,CAAC6B,KAJU;AAKnBV,UAAAA,KAAK,EAAE,CALY;AAMnBC,UAAAA,MAAM,EAAE;AANW,SAArB,CAVN;AAkBD;;AACD,aAAO;AACLU,QAAAA,YAAY,EAAEtB,UAAU,IAAI,CAAC,CAAD,EAAI,CAAJ,CADvB;AAELuB,QAAAA,OAAO,EAAEtB,KAAK,KAAK,QAAV,GAAqB,GAArB,GAA2B,GAF/B;AAILuB,QAAAA,aAAa,EAAE,KAAKV,WAJf;AAKLW,QAAAA,gBAAgB,EAAE,KAAKC,iBAAL,EALb;AAOLC,QAAAA,SAAS,EAAE5B;AAPN,OAAP;AASD;;;WAED,sBAA8B;AAC5B,aAAO,KAAK6B,WAAL,EAAP;AACD;;;WAED,uBAA+B;AAC7B,iCAA4C,KAAKC,cAAL,EAA5C;AAAA,UAAQC,IAAR,wBAAQA,IAAR;AAAA,UAAcC,IAAd,wBAAcA,IAAd;AAAA,UAAoBC,aAApB,wBAAoBA,aAApB;AAAA,UAAmCZ,IAAnC,wBAAmCA,IAAnC;;AACA,kBAGI,KAAKvB,KAAL,CAAWC,cAAX,EAHJ;AAAA,6BACEmC,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;;AAIA,WAAKrC,KAAL,CAAWmC,aAAX,GAA2BA,aAA3B;AACA,aAAO,CACL,KAAKnC,KAAL,CAAWsC,eAAX,CAA2B;AACzBC,QAAAA,UAAU,EAAEhB,IADa;AAEzBiB,QAAAA,YAAY,EAAEN,IAFW;AAGzBO,QAAAA,cAAc,EAAER,IAHS;AAIzBE,QAAAA,aAAa,EAAbA,aAJyB;AAKzBO,QAAAA,KAAK,EAAE,KAAKC,QAAL,EALkB;AAMzBC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;AAAV,SANkB;AAOzBC,QAAAA,OAAO,EAAElD,OAAO,CAACwC,IAAD,EAAOC,UAAP;AAPS,OAA3B,CADK,CAAP;AAWD;;;WAED,uBAAqB;AAAA;;AACnB,gCAAKpB,WAAL,wEAAkB8B,OAAlB;AACD;;;WAED,qCAAsC,CAErC;;;WAED,0BAKE;AACA,aAAO;AACLd,QAAAA,IAAI,EAAEe,iBADD;AAELd,QAAAA,IAAI,EAAEe,iBAFD;AAGL1B,QAAAA,IAAI,EAAE,cAHD;AAILY,QAAAA,aAAa,EAAErC;AAJV,OAAP;AAMD;;;;EA3FoCD,S;;SAAlBE,S","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(): 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 //\n }\n\n private getModelParams(): {\n frag: string;\n vert: string;\n type: string;\n triangulation: Triangulation;\n } {\n return {\n frag: polygon_tile_frag,\n vert: polygon_tile_vert,\n type: 'polygon_tile',\n triangulation: polygonTriangulation,\n };\n }\n}\n"],"file":"tile.js"}
|
package/es/raster/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import BaseLayer from '../core/BaseLayer';
|
|
1
2
|
import { IRasterLayerStyleOptions } from '../core/interface';
|
|
2
|
-
import LayerGroup from '../core/LayerGroup';
|
|
3
3
|
import { RasterModelType } from './models/index';
|
|
4
|
-
export default class RaterLayer extends
|
|
4
|
+
export default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {
|
|
5
5
|
type: string;
|
|
6
6
|
buildModels(): void;
|
|
7
7
|
rebuildModels(): void;
|
package/es/raster/index.js
CHANGED
|
@@ -10,11 +10,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
10
10
|
|
|
11
11
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
12
12
|
|
|
13
|
-
import
|
|
13
|
+
import BaseLayer from '../core/BaseLayer';
|
|
14
14
|
import RasterModels from './models/index';
|
|
15
15
|
|
|
16
|
-
var RaterLayer = function (
|
|
17
|
-
_inherits(RaterLayer,
|
|
16
|
+
var RaterLayer = function (_BaseLayer) {
|
|
17
|
+
_inherits(RaterLayer, _BaseLayer);
|
|
18
18
|
|
|
19
19
|
var _super = _createSuper(RaterLayer);
|
|
20
20
|
|
|
@@ -87,7 +87,7 @@ var RaterLayer = function (_LayerGroup) {
|
|
|
87
87
|
}]);
|
|
88
88
|
|
|
89
89
|
return RaterLayer;
|
|
90
|
-
}(
|
|
90
|
+
}(BaseLayer);
|
|
91
91
|
|
|
92
92
|
export { RaterLayer as default };
|
|
93
93
|
//# sourceMappingURL=index.js.map
|
package/es/raster/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/raster/index.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../src/raster/index.ts"],"names":["BaseLayer","RasterModels","RaterLayer","modelType","getModelType","layerModel","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d","rasterTile","layerSource","parser"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,SAAP,MAAsB,mBAAtB;AAEA,OAAOC,YAAP,MAA8C,gBAA9C;;IACqBC,U;;;;;;;;;;;;;;;;2DACG,a;;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,YAAY,CAACE,SAAD,CAAhB,CAA4B,IAA5B,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKD,UAAL,CAAgBG,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,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,KAAKP,YAAL,EAAb;AACA,UAAMU,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;;;;EA1CqCX,S;;SAAnBE,U","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.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterTileModel","RasterModel","RasterModels","raster","raster3d","rasterTile"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,
|
|
1
|
+
{"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterTileModel","RasterModel","RasterModels","raster","raster3d","rasterTile"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,6BAA5B;AACA,OAAOC,WAAP,MAAwB,UAAxB;AAGA,IAAMC,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEF,WAD8C;AAEtDG,EAAAA,QAAQ,EAAEH,WAF4C;AAGtDI,EAAAA,UAAU,EAAEL;AAH0C,CAAxD;AAMA,eAAeE,YAAf","sourcesContent":["import RasterTileModel from '../../tile/models/tileModel';\nimport RasterModel from './raster';\nexport type RasterModelType = 'raster' | 'raster3d' | 'rasterTile';\n\nconst RasterModels: { [key in RasterModelType]: any } = {\n raster: RasterModel,\n raster3d: RasterModel,\n rasterTile: RasterTileModel,\n};\n\nexport default RasterModels;\n"],"file":"index.js"}
|
|
@@ -14,6 +14,7 @@ export default class RasterModel extends BaseModel {
|
|
|
14
14
|
};
|
|
15
15
|
initModels(): import("@antv/l7-core").IModel[];
|
|
16
16
|
buildModels(): import("@antv/l7-core").IModel[];
|
|
17
|
+
clearModels(): void;
|
|
17
18
|
protected registerBuiltinAttributes(): void;
|
|
18
19
|
private updateColorTexure;
|
|
19
20
|
}
|
|
@@ -69,8 +69,6 @@ var RasterModel = function (_BaseModel) {
|
|
|
69
69
|
}, {
|
|
70
70
|
key: "initModels",
|
|
71
71
|
value: function initModels() {
|
|
72
|
-
this.layer.isLayerGroup = false;
|
|
73
|
-
|
|
74
72
|
var _ref2 = this.layer.getLayerConfig(),
|
|
75
73
|
_ref2$mask = _ref2.mask,
|
|
76
74
|
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
@@ -116,6 +114,14 @@ var RasterModel = function (_BaseModel) {
|
|
|
116
114
|
value: function buildModels() {
|
|
117
115
|
return this.initModels();
|
|
118
116
|
}
|
|
117
|
+
}, {
|
|
118
|
+
key: "clearModels",
|
|
119
|
+
value: function clearModels() {
|
|
120
|
+
var _this$texture, _this$colorTexture;
|
|
121
|
+
|
|
122
|
+
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
123
|
+
(_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
|
|
124
|
+
}
|
|
119
125
|
}, {
|
|
120
126
|
key: "registerBuiltinAttributes",
|
|
121
127
|
value: function registerBuiltinAttributes() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["AttributeType","gl","generateColorRamp","getMask","BaseModel","RasterImageTriangulation","RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","
|
|
1
|
+
{"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["AttributeType","gl","generateColorRamp","getMask","BaseModel","RasterImageTriangulation","RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","mask","maskInside","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","width","height","format","LUMINANCE","type","FLOAT","rampColors","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","initModels","destroy","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx"],"mappings":";;;;;;;;;;;;AAAA,SACEA,aADF,EAEEC,EAFF,QAOO,eAPP;AAQA,SAASC,iBAAT,EAA4BC,OAA5B,QAAuD,gBAAvD;AACA,OAAOC,SAAP,MAAsB,sBAAtB;AAEA,SAASC,wBAAT,QAAyC,0BAAzC;;;;IAGqBC,W;;;;;;;;;;;;;;;;;;;;;;;;;WAGnB,wBAAsB;AACpB,iBAMI,KAAKC,KAAL,CAAWC,cAAX,EANJ;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;;AAOA,WAAKC,iBAAL;AACA,aAAO;AACLC,QAAAA,SAAS,EAAEN,OAAO,IAAI,CADjB;AAELO,QAAAA,SAAS,EAAE,KAAKC,OAFX;AAGLC,QAAAA,QAAQ,EAAEL,MAHL;AAILM,QAAAA,UAAU,EAAET,QAJP;AAKLU,QAAAA,WAAW,EAAE,OAAOT,SAAP,KAAqB,WAArB,GAAmCA,SAAnC,GAA+CD,QALvD;AAMLW,QAAAA,aAAa,EAAET,WANV;AAOLU,QAAAA,cAAc,EAAE,KAAKC;AAPhB,OAAP;AASD;;;WAED,sBAAoB;AAClB,kBAGI,KAAKhB,KAAL,CAAWC,cAAX,EAHJ;AAAA,6BACEgB,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;;AAIA,UAAMC,MAAM,GAAG,KAAKnB,KAAL,CAAWoB,SAAX,EAAf;AACA,UAAQC,eAAR,GAA4B,KAAKC,eAAjC,CAAQD,eAAR;AACA,UAAME,cAAc,GAAGJ,MAAM,CAACK,IAAP,CAAYC,SAAZ,CAAsB,CAAtB,CAAvB;AACA,WAAKf,OAAL,GAAeW,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,EAAElC,EAAE,CAACmC,SAJkB;AAK7BC,QAAAA,IAAI,EAAEpC,EAAE,CAACqC;AALoB,OAAD,CAA9B;;AAQA,kBAEI,KAAK/B,KAAL,CAAWC,cAAX,EAFJ;AAAA,UACE+B,UADF,SACEA,UADF;;AAGA,UAAMC,SAAS,GAAGtC,iBAAiB,CAACqC,UAAD,CAAnC;AACA,WAAKhB,YAAL,GAAoBK,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;AAMA,aAAO,CACL,KAAKlC,KAAL,CAAWmC,eAAX,CAA2B;AACzBC,QAAAA,UAAU,EAAE,iBADa;AAEzBC,QAAAA,YAAY,EAAEC,UAFW;AAGzBC,QAAAA,cAAc,EAAEC,UAHS;AAIzBC,QAAAA,aAAa,EAAE3C,wBAJU;AAKzB4C,QAAAA,SAAS,EAAEhD,EAAE,CAACiD,SALW;AAMzBC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;AAAV,SANkB;AAOzBC,QAAAA,KAAK,EAAE,KAAKC,QAAL,EAPkB;AAQzBC,QAAAA,OAAO,EAAEpD,OAAO,CAACqB,IAAD,EAAOC,UAAP;AARS,OAA3B,CADK,CAAP;AAYD;;;WAED,uBAAqB;AACnB,aAAO,KAAK+B,UAAL,EAAP;AACD;;;WAED,uBAA2B;AAAA;;AACzB,4BAAKvC,OAAL,gEAAcwC,OAAd;AACA,iCAAKlC,YAAL,0EAAmBkC,OAAnB;AACD;;;WAED,qCAAsC;AAEpC,WAAKC,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,IAD0C;AAEhDvB,QAAAA,IAAI,EAAErC,aAAa,CAAC6D,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVF,UAAAA,IAAI,EAAE,MADI;AAEVG,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAE/D,EAAE,CAACgE,YAFJ;AAGNlC,YAAAA,IAAI,EAAE,EAHA;AAINM,YAAAA,IAAI,EAAEpC,EAAE,CAACqC;AAJH,WAFE;AAQV4B,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,UAAQ1C,eAAR,GAA4B,KAAKC,eAAjC,CAAQD,eAAR;;AACA,kBAEI,KAAKrB,KAAL,CAAWC,cAAX,EAFJ;AAAA,UACE+B,UADF,SACEA,UADF;;AAGA,UAAMC,SAAS,GAAGtC,iBAAiB,CAACqC,UAAD,CAAnC;AACA,WAAKhB,YAAL,GAAoBK,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;;;;EA9GsCrC,S;;SAApBE,W","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n ITexture2D,\n lazyInject,\n TYPES,\n} from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\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 public getUninforms() {\n const {\n opacity = 1,\n clampLow = true,\n clampHigh = true,\n noDataValue = -9999999,\n domain = [0, 1],\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n this.updateColorTexure();\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() {\n const {\n mask = false,\n maskInside = true,\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 {\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 return [\n this.layer.buildLayerModel({\n moduleName: 'RasterImageData',\n vertexShader: rasterVert,\n fragmentShader: rasterFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public buildModels() {\n return this.initModels();\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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ILayer, IMapService, IRendererService, IScaleValue, ISource, ISubLayerInitOptions, ScaleAttributeType } from '@antv/l7-core';
|
|
2
|
+
import { Tile } from '@antv/l7-utils';
|
|
3
|
+
export declare type Timeout = any;
|
|
4
|
+
export declare type CacheEvent = 'click' | 'mousemove' | 'mouseup' | 'mousedown' | 'contextmenu';
|
|
5
|
+
export interface ITileFactoryOptions {
|
|
6
|
+
parent: ILayer;
|
|
7
|
+
mapService: IMapService;
|
|
8
|
+
rendererService: IRendererService;
|
|
9
|
+
}
|
|
10
|
+
export interface ITileStyles {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
export interface ILayerTileConfig {
|
|
14
|
+
L7Layer?: any;
|
|
15
|
+
tile: Tile;
|
|
16
|
+
initOptions: ISubLayerInitOptions;
|
|
17
|
+
vectorTileLayer?: any;
|
|
18
|
+
source: ISource;
|
|
19
|
+
}
|
|
20
|
+
export interface ITileFactory {
|
|
21
|
+
createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
|
|
22
|
+
layers: ILayer[];
|
|
23
|
+
layerIDList: string[];
|
|
24
|
+
};
|
|
25
|
+
createLayer(option: ILayerTileConfig): ILayer;
|
|
26
|
+
updateStyle(styles: ITileStyles): string;
|
|
27
|
+
setStyleAttributeField(layer: ILayer, type: ScaleAttributeType, value: IScaleValue): void;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"interface.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ILayer, IScaleValue } from '@antv/l7-core';
|
|
2
|
+
import EventEmitter from 'eventemitter3';
|
|
3
|
+
export interface ITileConfigManager {
|
|
4
|
+
setConfig(key: string, value: any): void;
|
|
5
|
+
checkConfig(layer: ILayer): void;
|
|
6
|
+
on(event: string, fn: (...args: any[]) => void): void;
|
|
7
|
+
getAttributeScale(layer: ILayer, name: string): IScaleValue;
|
|
8
|
+
}
|
|
9
|
+
export default class TileConfigManager extends EventEmitter {
|
|
10
|
+
cacheConfig: Map<string, any>;
|
|
11
|
+
checkConfigList: string[];
|
|
12
|
+
constructor();
|
|
13
|
+
setConfig(key: string, value: any): void;
|
|
14
|
+
removeConfig(key: string): void;
|
|
15
|
+
checkConfig(layer: ILayer): void;
|
|
16
|
+
getAttributeScale(layer: ILayer, name: string): IScaleValue;
|
|
17
|
+
}
|