@antv/l7-layers 2.9.26-alpha.0 → 2.9.26-alpha.1
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.d.ts +19 -0
- package/es/Geometry/index.js +106 -0
- package/es/Geometry/models/billboard.d.ts +26 -0
- package/es/Geometry/models/billboard.js +232 -0
- package/es/Geometry/models/index.d.ts +5 -0
- package/es/Geometry/models/index.js +9 -0
- package/es/Geometry/models/plane.d.ts +45 -0
- package/es/Geometry/models/plane.js +421 -0
- package/es/Geometry/models/sprite.d.ts +47 -0
- package/es/Geometry/models/sprite.js +304 -0
- package/es/Geometry/shaders/billboard_frag.glsl +13 -0
- package/es/Geometry/shaders/billboard_vert.glsl +50 -0
- package/es/Geometry/shaders/plane_frag.glsl +22 -0
- package/es/Geometry/shaders/plane_vert.glsl +53 -0
- package/es/Geometry/shaders/sprite_frag.glsl +21 -0
- package/es/Geometry/shaders/sprite_vert.glsl +28 -0
- package/es/canvas/index.d.ts +19 -0
- package/es/canvas/index.js +91 -0
- package/es/canvas/models/canvas.d.ts +18 -0
- package/es/canvas/models/canvas.js +212 -0
- package/es/canvas/models/index.d.ts +5 -0
- package/es/canvas/models/index.js +5 -0
- package/es/citybuliding/building.d.ts +17 -0
- package/es/citybuliding/building.js +88 -0
- package/es/citybuliding/models/build.d.ts +22 -0
- package/es/citybuliding/models/build.js +188 -0
- package/es/citybuliding/shaders/build_frag.glsl +117 -0
- package/es/citybuliding/shaders/build_vert.glsl +54 -0
- package/es/core/BaseLayer.d.ts +208 -0
- package/es/core/BaseLayer.js +1409 -0
- package/es/core/BaseModel.d.ts +140 -0
- package/es/core/BaseModel.js +486 -0
- package/es/core/interface.d.ts +201 -0
- package/es/core/interface.js +30 -0
- package/es/core/schema.d.ts +27 -0
- package/es/core/schema.js +25 -0
- package/es/core/shape/Path.d.ts +39 -0
- package/es/core/shape/Path.js +62 -0
- package/es/core/shape/extrude.d.ts +17 -0
- package/es/core/shape/extrude.js +148 -0
- package/es/core/triangulation.d.ts +122 -0
- package/es/core/triangulation.js +491 -0
- package/es/earth/index.d.ts +17 -0
- package/es/earth/index.js +91 -0
- package/es/earth/models/atmosphere.d.ts +9 -0
- package/es/earth/models/atmosphere.js +138 -0
- package/es/earth/models/base.d.ts +16 -0
- package/es/earth/models/base.js +212 -0
- package/es/earth/models/bloomsphere.d.ts +9 -0
- package/es/earth/models/bloomsphere.js +138 -0
- package/es/earth/shaders/atmosphere_frag.glsl +17 -0
- package/es/earth/shaders/atmosphere_vert.glsl +26 -0
- package/es/earth/shaders/base_frag.glsl +13 -0
- package/es/earth/shaders/base_vert.glsl +52 -0
- package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
- package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
- package/es/earth/utils.d.ts +26 -0
- package/es/earth/utils.js +104 -0
- package/es/heatmap/index.d.ts +21 -0
- package/es/heatmap/index.js +145 -0
- package/es/heatmap/models/grid.d.ts +8 -0
- package/es/heatmap/models/grid.js +108 -0
- package/es/heatmap/models/grid3d.d.ts +8 -0
- package/es/heatmap/models/grid3d.js +147 -0
- package/es/heatmap/models/heatmap.d.ts +24 -0
- package/es/heatmap/models/heatmap.js +464 -0
- package/es/heatmap/models/hexagon.d.ts +8 -0
- package/es/heatmap/models/hexagon.js +111 -0
- package/es/heatmap/models/index.d.ts +5 -0
- package/es/heatmap/models/index.js +12 -0
- package/es/heatmap/shaders/grid_vert.glsl +42 -0
- package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
- package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
- package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
- package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
- package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
- package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
- package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
- package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
- package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
- package/es/heatmap/triangulation.d.ts +5 -0
- package/es/heatmap/triangulation.js +38 -0
- package/es/image/index.d.ts +19 -0
- package/es/image/index.js +103 -0
- package/es/image/models/dataImage.d.ts +22 -0
- package/es/image/models/dataImage.js +225 -0
- package/es/image/models/image.d.ts +19 -0
- package/es/image/models/image.js +169 -0
- package/es/image/models/index.d.ts +5 -0
- package/es/image/models/index.js +7 -0
- package/es/image/shaders/dataImage_frag.glsl +38 -0
- package/es/image/shaders/image_frag.glsl +9 -0
- package/es/image/shaders/image_vert.glsl +17 -0
- package/es/index.d.ts +16 -0
- package/es/index.js +106 -0
- package/es/line/index.d.ts +25 -0
- package/es/line/index.js +122 -0
- package/es/line/models/arc.d.ts +17 -0
- package/es/line/models/arc.js +356 -0
- package/es/line/models/arc_3d.d.ts +17 -0
- package/es/line/models/arc_3d.js +335 -0
- package/es/line/models/earthArc_3d.d.ts +17 -0
- package/es/line/models/earthArc_3d.js +338 -0
- package/es/line/models/great_circle.d.ts +12 -0
- package/es/line/models/great_circle.js +294 -0
- package/es/line/models/half.d.ts +18 -0
- package/es/line/models/half.js +282 -0
- package/es/line/models/index.d.ts +5 -0
- package/es/line/models/index.js +25 -0
- package/es/line/models/line.d.ts +21 -0
- package/es/line/models/line.js +442 -0
- package/es/line/models/linearline.d.ts +11 -0
- package/es/line/models/linearline.js +276 -0
- package/es/line/models/simpleLine.d.ts +14 -0
- package/es/line/models/simpleLine.js +233 -0
- package/es/line/models/tile.d.ts +11 -0
- package/es/line/models/tile.js +351 -0
- package/es/line/models/wall.d.ts +12 -0
- package/es/line/models/wall.js +329 -0
- package/es/line/shaders/arc_chunks.vert.glsl +21 -0
- package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
- package/es/line/shaders/dash/arc_dash_vert.glsl +148 -0
- package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
- package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
- package/es/line/shaders/half/line_half_frag.glsl +53 -0
- package/es/line/shaders/half/line_half_vert.glsl +169 -0
- package/es/line/shaders/line_arc2d_vert.glsl +114 -0
- package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
- package/es/line/shaders/line_arc_3d_vert.glsl +207 -0
- package/es/line/shaders/line_arc_frag.glsl +89 -0
- package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
- package/es/line/shaders/line_arc_great_circle_vert.glsl +215 -0
- package/es/line/shaders/line_arc_vert.glsl +176 -0
- package/es/line/shaders/line_bezier_vert.glsl +85 -0
- package/es/line/shaders/line_frag.glsl +100 -0
- package/es/line/shaders/line_vert.glsl +192 -0
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
- package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
- package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
- package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
- package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
- package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
- package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
- package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
- package/es/line/shaders/simple/simpleline_vert.glsl +79 -0
- package/es/line/shaders/tile/line_tile_frag.glsl +79 -0
- package/es/line/shaders/tile/line_tile_vert.glsl +210 -0
- package/es/line/shaders/wall_frag.glsl +93 -0
- package/es/line/shaders/wall_vert.glsl +111 -0
- package/es/mask/index.d.ts +18 -0
- package/es/mask/index.js +82 -0
- package/es/mask/models/fill.d.ts +11 -0
- package/es/mask/models/fill.js +121 -0
- package/es/mask/models/index.d.ts +5 -0
- package/es/mask/models/index.js +5 -0
- package/es/mask/shaders/mask_frag.glsl +7 -0
- package/es/mask/shaders/mask_vert.glsl +22 -0
- package/es/plugins/DataMappingPlugin.d.ts +18 -0
- package/es/plugins/DataMappingPlugin.js +345 -0
- package/es/plugins/DataSourcePlugin.d.ts +7 -0
- package/es/plugins/DataSourcePlugin.js +89 -0
- package/es/plugins/FeatureScalePlugin.d.ts +25 -0
- package/es/plugins/FeatureScalePlugin.js +324 -0
- package/es/plugins/LayerAnimateStylePlugin.d.ts +7 -0
- package/es/plugins/LayerAnimateStylePlugin.js +49 -0
- package/es/plugins/LayerModelPlugin.d.ts +10 -0
- package/es/plugins/LayerModelPlugin.js +71 -0
- package/es/plugins/LayerStylePlugin.d.ts +8 -0
- package/es/plugins/LayerStylePlugin.js +39 -0
- package/es/plugins/LightingPlugin.d.ts +36 -0
- package/es/plugins/LightingPlugin.js +110 -0
- package/es/plugins/MultiPassRendererPlugin.d.ts +24 -0
- package/es/plugins/MultiPassRendererPlugin.js +77 -0
- package/es/plugins/PixelPickingPlugin.d.ts +8 -0
- package/es/plugins/PixelPickingPlugin.js +146 -0
- package/es/plugins/RegisterStyleAttributePlugin.d.ts +11 -0
- package/es/plugins/RegisterStyleAttributePlugin.js +105 -0
- package/es/plugins/ShaderUniformPlugin.d.ts +17 -0
- package/es/plugins/ShaderUniformPlugin.js +107 -0
- package/es/plugins/UpdateModelPlugin.d.ts +8 -0
- package/es/plugins/UpdateModelPlugin.js +31 -0
- package/es/plugins/UpdateStyleAttributePlugin.d.ts +12 -0
- package/es/plugins/UpdateStyleAttributePlugin.js +87 -0
- package/es/point/index.d.ts +30 -0
- package/es/point/index.js +224 -0
- package/es/point/models/earthExtrude.d.ts +24 -0
- package/es/point/models/earthExtrude.js +279 -0
- package/es/point/models/earthFill.d.ts +11 -0
- package/es/point/models/earthFill.js +258 -0
- package/es/point/models/extrude.d.ts +24 -0
- package/es/point/models/extrude.js +298 -0
- package/es/point/models/fill.d.ts +40 -0
- package/es/point/models/fill.js +404 -0
- package/es/point/models/fillmage.d.ts +25 -0
- package/es/point/models/fillmage.js +367 -0
- package/es/point/models/image.d.ts +11 -0
- package/es/point/models/image.js +239 -0
- package/es/point/models/index.d.ts +5 -0
- package/es/point/models/index.js +28 -0
- package/es/point/models/normal.d.ts +17 -0
- package/es/point/models/normal.js +177 -0
- package/es/point/models/radar.d.ts +24 -0
- package/es/point/models/radar.js +297 -0
- package/es/point/models/simplePoint.d.ts +17 -0
- package/es/point/models/simplePoint.js +188 -0
- package/es/point/models/text.d.ts +57 -0
- package/es/point/models/text.js +622 -0
- package/es/point/models/tile.d.ts +22 -0
- package/es/point/models/tile.js +309 -0
- package/es/point/shaders/animate/wave_frag.glsl +65 -0
- package/es/point/shaders/earth/extrude_frag.glsl +44 -0
- package/es/point/shaders/earth/extrude_vert.glsl +140 -0
- package/es/point/shaders/earth/fill_frag.glsl +86 -0
- package/es/point/shaders/earth/fill_vert.glsl +126 -0
- package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
- package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
- package/es/point/shaders/fill_frag.glsl +84 -0
- package/es/point/shaders/fill_vert.glsl +189 -0
- package/es/point/shaders/image/fillImage_frag.glsl +20 -0
- package/es/point/shaders/image/fillImage_vert.glsl +116 -0
- package/es/point/shaders/image_frag.glsl +39 -0
- package/es/point/shaders/image_vert.glsl +90 -0
- package/es/point/shaders/normal_frag.glsl +15 -0
- package/es/point/shaders/normal_vert.glsl +79 -0
- package/es/point/shaders/radar/radar_frag.glsl +64 -0
- package/es/point/shaders/radar/radar_vert.glsl +120 -0
- package/es/point/shaders/simplePoint_frag.glsl +53 -0
- package/es/point/shaders/simplePoint_vert.glsl +79 -0
- package/es/point/shaders/text_frag.glsl +48 -0
- package/es/point/shaders/text_vert.glsl +131 -0
- package/es/point/shaders/tile/fill_tile_frag.glsl +83 -0
- package/es/point/shaders/tile/fill_tile_vert.glsl +181 -0
- package/es/point/shape/extrude.d.ts +15 -0
- package/es/point/shape/extrude.js +63 -0
- package/es/polygon/index.d.ts +19 -0
- package/es/polygon/index.js +148 -0
- package/es/polygon/models/extrude.d.ts +28 -0
- package/es/polygon/models/extrude.js +306 -0
- package/es/polygon/models/fill.d.ts +17 -0
- package/es/polygon/models/fill.js +211 -0
- package/es/polygon/models/index.d.ts +5 -0
- package/es/polygon/models/index.js +28 -0
- package/es/polygon/models/ocean.d.ts +23 -0
- package/es/polygon/models/ocean.js +236 -0
- package/es/polygon/models/tile.d.ts +15 -0
- package/es/polygon/models/tile.js +133 -0
- package/es/polygon/models/water.d.ts +18 -0
- package/es/polygon/models/water.js +213 -0
- package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
- package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
- package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
- package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
- package/es/polygon/shaders/polygon_frag.glsl +12 -0
- package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
- package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
- package/es/polygon/shaders/polygon_vert.glsl +66 -0
- package/es/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
- package/es/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
- package/es/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
- package/es/polygon/shaders/water/polygon_water_frag.glsl +73 -0
- package/es/polygon/shaders/water/polygon_water_vert.glsl +55 -0
- package/es/raster/buffers/triangulation.d.ts +6 -0
- package/es/raster/buffers/triangulation.js +28 -0
- package/es/raster/index.d.ts +19 -0
- package/es/raster/index.js +106 -0
- package/es/raster/models/index.d.ts +5 -0
- package/es/raster/models/index.js +8 -0
- package/es/raster/models/raster.d.ts +21 -0
- package/es/raster/models/raster.js +167 -0
- package/es/raster/raster.d.ts +30 -0
- package/es/raster/raster.js +174 -0
- package/es/raster/shaders/raster_2d_frag.glsl +28 -0
- package/es/raster/shaders/raster_2d_vert.glsl +18 -0
- package/es/raster/shaders/raster_frag.glsl +9 -0
- package/es/raster/shaders/raster_vert.glsl +44 -0
- package/es/tile/interface.d.ts +28 -0
- package/es/tile/interface.js +1 -0
- package/es/tile/manager/tileConfigManager.d.ts +17 -0
- package/es/tile/manager/tileConfigManager.js +121 -0
- package/es/tile/manager/tileLayerManager.d.ts +36 -0
- package/es/tile/manager/tileLayerManager.js +312 -0
- package/es/tile/manager/tilePickerManager.d.ts +21 -0
- package/es/tile/manager/tilePickerManager.js +190 -0
- package/es/tile/models/tileModel.d.ts +8 -0
- package/es/tile/models/tileModel.js +62 -0
- package/es/tile/tileFactory/base.d.ts +44 -0
- package/es/tile/tileFactory/base.js +444 -0
- package/es/tile/tileFactory/index.d.ts +5 -0
- package/es/tile/tileFactory/index.js +29 -0
- package/es/tile/tileFactory/line.d.ts +12 -0
- package/es/tile/tileFactory/line.js +59 -0
- package/es/tile/tileFactory/point.d.ts +12 -0
- package/es/tile/tileFactory/point.js +59 -0
- package/es/tile/tileFactory/polygon.d.ts +12 -0
- package/es/tile/tileFactory/polygon.js +59 -0
- package/es/tile/tileFactory/raster.d.ts +12 -0
- package/es/tile/tileFactory/raster.js +55 -0
- package/es/tile/tileFactory/rasterData.d.ts +12 -0
- package/es/tile/tileFactory/rasterData.js +80 -0
- package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
- package/es/tile/tileFactory/rasterDataLayer.js +87 -0
- package/es/tile/tileFactory/vectorLayer.d.ts +29 -0
- package/es/tile/tileFactory/vectorLayer.js +161 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +47 -0
- package/es/tile/tileLayer/baseTileLayer.js +438 -0
- package/es/tile/tmsTileLayer.d.ts +7 -0
- package/es/tile/tmsTileLayer.js +101 -0
- package/es/tile/utils.d.ts +13 -0
- package/es/tile/utils.js +131 -0
- package/es/utils/blend.d.ts +2 -0
- package/es/utils/blend.js +54 -0
- package/es/utils/collision-index.d.ts +47 -0
- package/es/utils/collision-index.js +102 -0
- package/es/utils/dataMappingStyle.d.ts +31 -0
- package/es/utils/dataMappingStyle.js +147 -0
- package/es/utils/extrude_polyline.d.ts +67 -0
- package/es/utils/extrude_polyline.js +611 -0
- package/es/utils/grid-index.d.ts +28 -0
- package/es/utils/grid-index.js +179 -0
- package/es/utils/layerData.d.ts +2 -0
- package/es/utils/layerData.js +176 -0
- package/es/utils/multiPassRender.d.ts +16 -0
- package/es/utils/multiPassRender.js +50 -0
- package/es/utils/polylineNormal.d.ts +9 -0
- package/es/utils/polylineNormal.js +191 -0
- package/es/utils/simpleLine.d.ts +23 -0
- package/es/utils/simpleLine.js +103 -0
- package/es/utils/symbol-layout.d.ts +43 -0
- package/es/utils/symbol-layout.js +299 -0
- package/es/utils/updateShape.d.ts +2 -0
- package/es/utils/updateShape.js +20 -0
- package/es/wind/index.d.ts +20 -0
- package/es/wind/index.js +100 -0
- package/es/wind/models/index.d.ts +5 -0
- package/es/wind/models/index.js +5 -0
- package/es/wind/models/utils.d.ts +19 -0
- package/es/wind/models/utils.js +226 -0
- package/es/wind/models/wind.d.ts +33 -0
- package/es/wind/models/wind.js +331 -0
- package/es/wind/models/windRender.d.ts +104 -0
- package/es/wind/models/windRender.js +357 -0
- package/es/wind/models/windShader.d.ts +12 -0
- package/es/wind/models/windShader.js +12 -0
- package/es/wind/shaders/wind_frag.glsl +9 -0
- package/es/wind/shaders/wind_vert.glsl +17 -0
- package/lib/Geometry/index.js +119 -0
- package/lib/Geometry/models/billboard.js +246 -0
- package/lib/Geometry/models/index.js +22 -0
- package/lib/Geometry/models/plane.js +436 -0
- package/lib/Geometry/models/sprite.js +318 -0
- package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
- package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
- package/lib/Geometry/shaders/plane_frag.glsl +22 -0
- package/lib/Geometry/shaders/plane_vert.glsl +53 -0
- package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
- package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
- package/lib/canvas/index.js +104 -0
- package/lib/canvas/models/canvas.js +221 -0
- package/lib/canvas/models/index.js +16 -0
- package/lib/citybuliding/building.js +101 -0
- package/lib/citybuliding/models/build.js +203 -0
- package/lib/citybuliding/shaders/build_frag.glsl +117 -0
- package/lib/citybuliding/shaders/build_vert.glsl +54 -0
- package/lib/core/BaseLayer.js +1408 -0
- package/lib/core/BaseModel.js +503 -0
- package/lib/core/interface.js +41 -0
- package/lib/core/schema.js +33 -0
- package/lib/core/shape/Path.js +88 -0
- package/lib/core/shape/extrude.js +180 -0
- package/lib/core/triangulation.js +555 -0
- package/lib/earth/index.js +107 -0
- package/lib/earth/models/atmosphere.js +152 -0
- package/lib/earth/models/base.js +222 -0
- package/lib/earth/models/bloomsphere.js +152 -0
- package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
- package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
- package/lib/earth/shaders/base_frag.glsl +13 -0
- package/lib/earth/shaders/base_vert.glsl +52 -0
- package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
- package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
- package/lib/earth/utils.js +136 -0
- package/lib/heatmap/index.js +158 -0
- package/lib/heatmap/models/grid.js +122 -0
- package/lib/heatmap/models/grid3d.js +161 -0
- package/lib/heatmap/models/heatmap.js +487 -0
- package/lib/heatmap/models/hexagon.js +125 -0
- package/lib/heatmap/models/index.js +26 -0
- package/lib/heatmap/shaders/grid_vert.glsl +42 -0
- package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
- package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
- package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
- package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
- package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
- package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
- package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
- package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
- package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
- package/lib/heatmap/triangulation.js +45 -0
- package/lib/image/index.js +116 -0
- package/lib/image/models/dataImage.js +240 -0
- package/lib/image/models/image.js +183 -0
- package/lib/image/models/index.js +19 -0
- package/lib/image/shaders/dataImage_frag.glsl +38 -0
- package/lib/image/shaders/image_frag.glsl +9 -0
- package/lib/image/shaders/image_vert.glsl +17 -0
- package/lib/index.js +266 -0
- package/lib/line/index.js +136 -0
- package/lib/line/models/arc.js +373 -0
- package/lib/line/models/arc_3d.js +353 -0
- package/lib/line/models/earthArc_3d.js +356 -0
- package/lib/line/models/great_circle.js +310 -0
- package/lib/line/models/half.js +299 -0
- package/lib/line/models/index.js +46 -0
- package/lib/line/models/line.js +459 -0
- package/lib/line/models/linearline.js +293 -0
- package/lib/line/models/simpleLine.js +248 -0
- package/lib/line/models/tile.js +368 -0
- package/lib/line/models/wall.js +345 -0
- package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
- package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
- package/lib/line/shaders/dash/arc_dash_vert.glsl +148 -0
- package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
- package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
- package/lib/line/shaders/half/line_half_frag.glsl +53 -0
- package/lib/line/shaders/half/line_half_vert.glsl +169 -0
- package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
- package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
- package/lib/line/shaders/line_arc_3d_vert.glsl +207 -0
- package/lib/line/shaders/line_arc_frag.glsl +89 -0
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +215 -0
- package/lib/line/shaders/line_arc_vert.glsl +176 -0
- package/lib/line/shaders/line_bezier_vert.glsl +85 -0
- package/lib/line/shaders/line_frag.glsl +100 -0
- package/lib/line/shaders/line_vert.glsl +192 -0
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
- package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
- package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
- package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
- package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
- package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
- package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
- package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
- package/lib/line/shaders/simple/simpleline_vert.glsl +79 -0
- package/lib/line/shaders/tile/line_tile_frag.glsl +79 -0
- package/lib/line/shaders/tile/line_tile_vert.glsl +210 -0
- package/lib/line/shaders/wall_frag.glsl +93 -0
- package/lib/line/shaders/wall_vert.glsl +111 -0
- package/lib/mask/index.js +95 -0
- package/lib/mask/models/fill.js +137 -0
- package/lib/mask/models/index.js +16 -0
- package/lib/mask/shaders/mask_frag.glsl +7 -0
- package/lib/mask/shaders/mask_vert.glsl +22 -0
- package/lib/plugins/DataMappingPlugin.js +360 -0
- package/lib/plugins/DataSourcePlugin.js +108 -0
- package/lib/plugins/FeatureScalePlugin.js +348 -0
- package/lib/plugins/LayerAnimateStylePlugin.js +64 -0
- package/lib/plugins/LayerModelPlugin.js +82 -0
- package/lib/plugins/LayerStylePlugin.js +50 -0
- package/lib/plugins/LightingPlugin.js +125 -0
- package/lib/plugins/MultiPassRendererPlugin.js +93 -0
- package/lib/plugins/PixelPickingPlugin.js +159 -0
- package/lib/plugins/RegisterStyleAttributePlugin.js +117 -0
- package/lib/plugins/ShaderUniformPlugin.js +120 -0
- package/lib/plugins/UpdateModelPlugin.js +42 -0
- package/lib/plugins/UpdateStyleAttributePlugin.js +98 -0
- package/lib/point/index.js +238 -0
- package/lib/point/models/earthExtrude.js +295 -0
- package/lib/point/models/earthFill.js +293 -0
- package/lib/point/models/extrude.js +315 -0
- package/lib/point/models/fill.js +420 -0
- package/lib/point/models/fillmage.js +383 -0
- package/lib/point/models/image.js +255 -0
- package/lib/point/models/index.js +50 -0
- package/lib/point/models/normal.js +194 -0
- package/lib/point/models/radar.js +314 -0
- package/lib/point/models/simplePoint.js +205 -0
- package/lib/point/models/text.js +637 -0
- package/lib/point/models/tile.js +325 -0
- package/lib/point/shaders/animate/wave_frag.glsl +65 -0
- package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
- package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
- package/lib/point/shaders/earth/fill_frag.glsl +86 -0
- package/lib/point/shaders/earth/fill_vert.glsl +126 -0
- package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
- package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
- package/lib/point/shaders/fill_frag.glsl +84 -0
- package/lib/point/shaders/fill_vert.glsl +189 -0
- package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
- package/lib/point/shaders/image/fillImage_vert.glsl +116 -0
- package/lib/point/shaders/image_frag.glsl +39 -0
- package/lib/point/shaders/image_vert.glsl +90 -0
- package/lib/point/shaders/normal_frag.glsl +15 -0
- package/lib/point/shaders/normal_vert.glsl +79 -0
- package/lib/point/shaders/radar/radar_frag.glsl +64 -0
- package/lib/point/shaders/radar/radar_vert.glsl +120 -0
- package/lib/point/shaders/simplePoint_frag.glsl +53 -0
- package/lib/point/shaders/simplePoint_vert.glsl +79 -0
- package/lib/point/shaders/text_frag.glsl +48 -0
- package/lib/point/shaders/text_vert.glsl +131 -0
- package/lib/point/shaders/tile/fill_tile_frag.glsl +83 -0
- package/lib/point/shaders/tile/fill_tile_vert.glsl +181 -0
- package/lib/point/shape/extrude.js +78 -0
- package/lib/polygon/index.js +162 -0
- package/lib/polygon/models/extrude.js +322 -0
- package/lib/polygon/models/fill.js +226 -0
- package/lib/polygon/models/index.js +50 -0
- package/lib/polygon/models/ocean.js +252 -0
- package/lib/polygon/models/tile.js +147 -0
- package/lib/polygon/models/water.js +229 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
- package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
- package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
- package/lib/polygon/shaders/polygon_frag.glsl +12 -0
- package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
- package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
- package/lib/polygon/shaders/polygon_vert.glsl +66 -0
- package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
- package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
- package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
- package/lib/polygon/shaders/water/polygon_water_frag.glsl +73 -0
- package/lib/polygon/shaders/water/polygon_water_vert.glsl +55 -0
- package/lib/raster/buffers/triangulation.js +38 -0
- package/lib/raster/index.js +119 -0
- package/lib/raster/models/index.js +20 -0
- package/lib/raster/models/raster.js +182 -0
- package/lib/raster/raster.js +191 -0
- package/lib/raster/shaders/raster_2d_frag.glsl +28 -0
- package/lib/raster/shaders/raster_2d_vert.glsl +18 -0
- package/lib/raster/shaders/raster_frag.glsl +9 -0
- package/lib/raster/shaders/raster_vert.glsl +44 -0
- package/lib/tile/interface.js +5 -0
- package/lib/tile/manager/tileConfigManager.js +133 -0
- package/lib/tile/manager/tileLayerManager.js +330 -0
- package/lib/tile/manager/tilePickerManager.js +201 -0
- package/lib/tile/models/tileModel.js +74 -0
- package/lib/tile/tileFactory/base.js +466 -0
- package/lib/tile/tileFactory/index.js +59 -0
- package/lib/tile/tileFactory/line.js +70 -0
- package/lib/tile/tileFactory/point.js +70 -0
- package/lib/tile/tileFactory/polygon.js +70 -0
- package/lib/tile/tileFactory/raster.js +68 -0
- package/lib/tile/tileFactory/rasterData.js +93 -0
- package/lib/tile/tileFactory/rasterDataLayer.js +100 -0
- package/lib/tile/tileFactory/vectorLayer.js +176 -0
- package/lib/tile/tileLayer/baseTileLayer.js +447 -0
- package/lib/tile/tmsTileLayer.js +117 -0
- package/lib/tile/utils.js +158 -0
- package/lib/utils/blend.js +65 -0
- package/lib/utils/collision-index.js +118 -0
- package/lib/utils/dataMappingStyle.js +151 -0
- package/lib/utils/extrude_polyline.js +653 -0
- package/lib/utils/grid-index.js +188 -0
- package/lib/utils/layerData.js +187 -0
- package/lib/utils/multiPassRender.js +61 -0
- package/lib/utils/polylineNormal.js +230 -0
- package/lib/utils/simpleLine.js +116 -0
- package/lib/utils/symbol-layout.js +308 -0
- package/lib/utils/updateShape.js +27 -0
- package/lib/wind/index.js +113 -0
- package/lib/wind/models/index.js +16 -0
- package/lib/wind/models/utils.js +253 -0
- package/lib/wind/models/wind.js +346 -0
- package/lib/wind/models/windRender.js +373 -0
- package/lib/wind/models/windShader.js +25 -0
- package/lib/wind/shaders/wind_frag.glsl +9 -0
- package/lib/wind/shaders/wind_vert.glsl +17 -0
- package/package.json +6 -6
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
4
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
5
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
8
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
9
|
+
|
|
10
|
+
var _dec, _class;
|
|
11
|
+
|
|
12
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
13
|
+
|
|
14
|
+
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); }; }
|
|
15
|
+
|
|
16
|
+
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; } }
|
|
17
|
+
|
|
18
|
+
import { AttributeType, gl } from '@antv/l7-core';
|
|
19
|
+
import { generateColorRamp, getCullFace, getMask } from '@antv/l7-utils';
|
|
20
|
+
import { mat4 } from 'gl-matrix';
|
|
21
|
+
import { injectable } from 'inversify';
|
|
22
|
+
import 'reflect-metadata';
|
|
23
|
+
import BaseModel from "../../core/BaseModel";
|
|
24
|
+
import { HeatmapTriangulation } from "../../core/triangulation";
|
|
25
|
+
|
|
26
|
+
/* babel-plugin-inline-import '../shaders/heatmap_3d_frag.glsl' */
|
|
27
|
+
var heatmap3DFrag = "uniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_opacity;\nvarying vec2 v_texCoord;\nvarying float v_intensity;\n\nvoid main(){\n \n float intensity = texture2D(u_texture, v_texCoord).r;\n vec4 color = texture2D(u_colorTexture,vec2(intensity, 0));\n gl_FragColor = color;\n // gl_FragColor.a = color.a * smoothstep(0.1,0.2,intensity)* u_opacity;\n gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;\n}\n";
|
|
28
|
+
|
|
29
|
+
/* babel-plugin-inline-import '../shaders/heatmap_3d_vert.glsl' */
|
|
30
|
+
var heatmap3DVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_InverseViewProjectionMatrix;\nuniform mat4 u_ViewProjectionMatrixUncentered;\nvarying float v_intensity;\n\n\nvec2 toBezier(float t, vec2 P0, vec2 P1, vec2 P2, vec2 P3) {\n float t2 = t * t;\n float one_minus_t = 1.0 - t;\n float one_minus_t2 = one_minus_t * one_minus_t;\n return (P0 * one_minus_t2 * one_minus_t + P1 * 3.0 * t * one_minus_t2 + P2 * 3.0 * t2 * one_minus_t + P3 * t2 * t);\n}\nvec2 toBezier(float t, vec4 p){\n return toBezier(t, vec2(0.0, 0.0), vec2(p.x, p.y), vec2(p.z, p.w), vec2(1.0, 1.0));\n}\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n\n vec2 pos = a_Uv * vec2(2.0) - vec2(1.0); // \u5C06\u539F\u672C 0 -> 1 \u7684 uv \u8F6C\u6362\u4E3A -1 -> 1 \u7684\u6807\u51C6\u5750\u6807\u7A7A\u95F4\uFF08NDC\uFF09\n\n vec4 p1 = vec4(pos, 0.0, 1.0); // x/y \u5E73\u9762\u4E0A\u7684\u70B9\uFF08z == 0\uFF09\u53EF\u4EE5\u8BA4\u4E3A\u662F\u4E09\u7EF4\u4E0A\u7684\u70B9\u88AB\u6295\u5F71\u5230\u5E73\u9762\u540E\u7684\u70B9\n\tvec4 p2 = vec4(pos, 1.0, 1.0); // \u5E73\u884C\u4E8Ex/y\u5E73\u9762\u3001z==1 \u7684\u5E73\u9762\u4E0A\u7684\u70B9\n\n\tvec4 inverseP1 = u_InverseViewProjectionMatrix * p1; // \u6839\u636E\u89C6\u56FE\u6295\u5F71\u77E9\u9635\u7684\u9006\u77E9\u9635\u5E73\u9762\u4E0A\u7684\u53CD\u7B97\u51FA\u4E09\u7EF4\u7A7A\u95F4\u4E2D\u7684\u70B9\uFF08p1\u5E73\u9762\u4E0A\u7684\u70B9\uFF09\n\tvec4 inverseP2 = u_InverseViewProjectionMatrix * p2;\n\n inverseP1 = inverseP1 / inverseP1.w; // \u5F52\u4E00\u5316\u64CD\u4F5C\uFF08\u5F52\u4E00\u5316\u540E\u4E3A\u4E16\u754C\u5750\u6807\uFF09\n\tinverseP2 = inverseP2 / inverseP2.w;\n\n\tfloat zPos = (0.0 - inverseP1.z) / (inverseP2.z - inverseP1.z); // ??\n\tvec4 position = inverseP1 + zPos * (inverseP2 - inverseP1);\n\n vec4 b= vec4(0.5000, 0.0, 1.0, 0.5000);\n float fh;\n\n v_intensity = texture2D(u_texture, v_texCoord).r;\n fh = toBezier(v_intensity, b).y;\n gl_Position = u_ViewProjectionMatrixUncentered * vec4(position.xy, fh * project_pixel(50.), 1.0);\n \n}\n"; // 绘制平面热力的 shader
|
|
31
|
+
|
|
32
|
+
/* babel-plugin-inline-import '../shaders/heatmap_frag.glsl' */
|
|
33
|
+
var heatmapColorFrag = "uniform sampler2D u_texture; // \u70ED\u529B\u5F3A\u5EA6\u56FE\nuniform sampler2D u_colorTexture; // \u6839\u636E\u5F3A\u5EA6\u5206\u5E03\u7684\u8272\u5E26\nuniform float u_opacity;\nvarying vec2 v_texCoord;\n\nuniform vec2 u_ViewportSize;\n\nfloat getBlurIndusty() {\n float vW = 2.0/u_ViewportSize.x;\n float vH = 2.0/u_ViewportSize.y;\n vec2 vUv = v_texCoord;\n float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;\n float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n\n float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;\n float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;\n float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;\n\n float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;\n float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;\n float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;\n\n return(\n i11 + \n i12 + \n i13 + \n i21 + \n i21 + \n i22 + \n i23 + \n i31 + \n i32 + \n i33\n )/9.0;\n}\n\n\nvoid main(){\n // float intensity = texture2D(u_texture, v_texCoord).r;\n float intensity = getBlurIndusty();\n vec4 color = texture2D(u_colorTexture, vec2(intensity, 0.0));\n\n gl_FragColor =color;\n gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;\n\n}\n";
|
|
34
|
+
|
|
35
|
+
/* babel-plugin-inline-import '../shaders/heatmap_vert.glsl' */
|
|
36
|
+
var heatmapColorVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\nvoid main() {\n v_texCoord = a_Uv;\n\n gl_Position = vec4(a_Position.xy, 0, 1.);\n}\n";
|
|
37
|
+
|
|
38
|
+
/* babel-plugin-inline-import '../shaders/heatmap_framebuffer_frag.glsl' */
|
|
39
|
+
var heatmapFramebufferFrag = "precision highp float;\nuniform float u_intensity;\nvarying float v_weight;\nvarying vec2 v_extrude;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(){\n float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\n float val = v_weight * u_intensity * GAUSS_COEF * exp(d);\n gl_FragColor = vec4(val, 1., 1., 1.);\n}\n";
|
|
40
|
+
|
|
41
|
+
/* babel-plugin-inline-import '../shaders/heatmap_framebuffer_vert.glsl' */
|
|
42
|
+
var heatmapFramebufferVert = "precision highp float;\nattribute vec3 a_Position;\nattribute float a_Size;\nattribute vec2 a_Dir;\nuniform float u_intensity;\nuniform float u_radius;\nvarying vec2 v_extrude;\nvarying float v_weight;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\n#define GAUSS_COEF 0.3989422804014327\n\n#pragma include \"projection\"\n\nvoid main(){\n v_weight = a_Size;\n float ZERO = 1.0 / 255.0 / 16.0;\n float extrude_x = a_Dir.x * 2.0 -1.0;\n float extrude_y = a_Dir.y * 2.0 -1.0;\n vec2 extrude_dir = normalize(vec2(extrude_x,extrude_y));\n float S = sqrt(-2.0 * log(ZERO / a_Size / u_intensity / GAUSS_COEF)) / 2.5;\n v_extrude = extrude_dir * S;\n\n vec2 offset = project_pixel(v_extrude * u_radius);\n vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy + offset, 0.0, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n }\n}\n";
|
|
43
|
+
import { heatMap3DTriangulation } from "../triangulation";
|
|
44
|
+
var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_BaseModel) {
|
|
45
|
+
_inherits(HeatMapModel, _BaseModel);
|
|
46
|
+
|
|
47
|
+
var _super = _createSuper(HeatMapModel);
|
|
48
|
+
|
|
49
|
+
function HeatMapModel() {
|
|
50
|
+
_classCallCheck(this, HeatMapModel);
|
|
51
|
+
|
|
52
|
+
return _super.apply(this, arguments);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
_createClass(HeatMapModel, [{
|
|
56
|
+
key: "render",
|
|
57
|
+
value: function render() {
|
|
58
|
+
var _this = this;
|
|
59
|
+
|
|
60
|
+
var _this$rendererService = this.rendererService,
|
|
61
|
+
clear = _this$rendererService.clear,
|
|
62
|
+
useFramebuffer = _this$rendererService.useFramebuffer;
|
|
63
|
+
useFramebuffer(this.heatmapFramerBuffer, function () {
|
|
64
|
+
clear({
|
|
65
|
+
color: [0, 0, 0, 0],
|
|
66
|
+
depth: 1,
|
|
67
|
+
stencil: 0,
|
|
68
|
+
framebuffer: _this.heatmapFramerBuffer
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
_this.drawIntensityMode();
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
if (this.layer.styleNeedUpdate) {
|
|
75
|
+
this.updateColorTexture();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
this.shapeType === 'heatmap' ? this.drawColorMode() : this.draw3DHeatMap();
|
|
79
|
+
}
|
|
80
|
+
}, {
|
|
81
|
+
key: "getUninforms",
|
|
82
|
+
value: function getUninforms() {
|
|
83
|
+
throw new Error('Method not implemented.');
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
key: "initModels",
|
|
87
|
+
value: function () {
|
|
88
|
+
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callbackModel) {
|
|
89
|
+
var _shapeAttr$scale;
|
|
90
|
+
|
|
91
|
+
var _this$rendererService2, createFramebuffer, clear, getViewportSize, createTexture2D, useFramebuffer, shapeAttr, shapeType, _getViewportSize, width, height;
|
|
92
|
+
|
|
93
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
94
|
+
while (1) {
|
|
95
|
+
switch (_context.prev = _context.next) {
|
|
96
|
+
case 0:
|
|
97
|
+
_this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, clear = _this$rendererService2.clear, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D, useFramebuffer = _this$rendererService2.useFramebuffer;
|
|
98
|
+
shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
|
|
99
|
+
shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
|
|
100
|
+
this.shapeType = shapeType; // 生成热力图密度图
|
|
101
|
+
|
|
102
|
+
_context.next = 6;
|
|
103
|
+
return this.buildHeatMapIntensity();
|
|
104
|
+
|
|
105
|
+
case 6:
|
|
106
|
+
this.intensityModel = _context.sent;
|
|
107
|
+
// 渲染到屏幕
|
|
108
|
+
this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() // 2D
|
|
109
|
+
: this.build3dHeatMap(); // 3D
|
|
110
|
+
|
|
111
|
+
_getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height; // 初始化密度图纹理
|
|
112
|
+
|
|
113
|
+
this.heatmapFramerBuffer = createFramebuffer({
|
|
114
|
+
color: createTexture2D({
|
|
115
|
+
width: Math.floor(width / 4),
|
|
116
|
+
height: Math.floor(height / 4),
|
|
117
|
+
wrapS: gl.CLAMP_TO_EDGE,
|
|
118
|
+
wrapT: gl.CLAMP_TO_EDGE,
|
|
119
|
+
min: gl.LINEAR,
|
|
120
|
+
mag: gl.LINEAR
|
|
121
|
+
}),
|
|
122
|
+
depth: false
|
|
123
|
+
});
|
|
124
|
+
this.updateColorTexture();
|
|
125
|
+
callbackModel([this.intensityModel, this.colorModel]);
|
|
126
|
+
|
|
127
|
+
case 12:
|
|
128
|
+
case "end":
|
|
129
|
+
return _context.stop();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}, _callee, this);
|
|
133
|
+
}));
|
|
134
|
+
|
|
135
|
+
function initModels(_x) {
|
|
136
|
+
return _initModels.apply(this, arguments);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return initModels;
|
|
140
|
+
}()
|
|
141
|
+
}, {
|
|
142
|
+
key: "buildModels",
|
|
143
|
+
value: function buildModels(callbackModel) {
|
|
144
|
+
this.initModels(callbackModel);
|
|
145
|
+
}
|
|
146
|
+
}, {
|
|
147
|
+
key: "registerBuiltinAttributes",
|
|
148
|
+
value: function registerBuiltinAttributes() {
|
|
149
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
150
|
+
name: 'dir',
|
|
151
|
+
type: AttributeType.Attribute,
|
|
152
|
+
descriptor: {
|
|
153
|
+
name: 'a_Dir',
|
|
154
|
+
buffer: {
|
|
155
|
+
// give the WebGL driver a hint that this buffer may change
|
|
156
|
+
usage: gl.DYNAMIC_DRAW,
|
|
157
|
+
data: [],
|
|
158
|
+
type: gl.FLOAT
|
|
159
|
+
},
|
|
160
|
+
size: 2,
|
|
161
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
162
|
+
return [vertex[3], vertex[4]];
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}); // point layer size;
|
|
166
|
+
|
|
167
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
168
|
+
name: 'size',
|
|
169
|
+
type: AttributeType.Attribute,
|
|
170
|
+
descriptor: {
|
|
171
|
+
name: 'a_Size',
|
|
172
|
+
buffer: {
|
|
173
|
+
// give the WebGL driver a hint that this buffer may change
|
|
174
|
+
usage: gl.DYNAMIC_DRAW,
|
|
175
|
+
data: [],
|
|
176
|
+
type: gl.FLOAT
|
|
177
|
+
},
|
|
178
|
+
size: 1,
|
|
179
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
180
|
+
var _feature$size = feature.size,
|
|
181
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
182
|
+
return [size];
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}, {
|
|
188
|
+
key: "buildHeatMapIntensity",
|
|
189
|
+
value: function () {
|
|
190
|
+
var _buildHeatMapIntensity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
191
|
+
var model;
|
|
192
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
193
|
+
while (1) {
|
|
194
|
+
switch (_context2.prev = _context2.next) {
|
|
195
|
+
case 0:
|
|
196
|
+
this.layer.triangulation = HeatmapTriangulation;
|
|
197
|
+
_context2.next = 3;
|
|
198
|
+
return this.layer.buildLayerModel({
|
|
199
|
+
moduleName: 'heatmapIntensity',
|
|
200
|
+
vertexShader: heatmapFramebufferVert,
|
|
201
|
+
fragmentShader: heatmapFramebufferFrag,
|
|
202
|
+
triangulation: HeatmapTriangulation,
|
|
203
|
+
depth: {
|
|
204
|
+
enable: false
|
|
205
|
+
},
|
|
206
|
+
cull: {
|
|
207
|
+
enable: true,
|
|
208
|
+
face: getCullFace(this.mapService.version)
|
|
209
|
+
},
|
|
210
|
+
blend: {
|
|
211
|
+
enable: true,
|
|
212
|
+
func: {
|
|
213
|
+
srcRGB: gl.ONE,
|
|
214
|
+
srcAlpha: 1,
|
|
215
|
+
dstRGB: gl.ONE,
|
|
216
|
+
dstAlpha: 1
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
case 3:
|
|
222
|
+
model = _context2.sent;
|
|
223
|
+
return _context2.abrupt("return", model);
|
|
224
|
+
|
|
225
|
+
case 5:
|
|
226
|
+
case "end":
|
|
227
|
+
return _context2.stop();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}, _callee2, this);
|
|
231
|
+
}));
|
|
232
|
+
|
|
233
|
+
function buildHeatMapIntensity() {
|
|
234
|
+
return _buildHeatMapIntensity.apply(this, arguments);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
return buildHeatMapIntensity;
|
|
238
|
+
}()
|
|
239
|
+
}, {
|
|
240
|
+
key: "buildHeatmapColor",
|
|
241
|
+
value: function buildHeatmapColor() {
|
|
242
|
+
var _ref = this.layer.getLayerConfig(),
|
|
243
|
+
_ref$mask = _ref.mask,
|
|
244
|
+
mask = _ref$mask === void 0 ? false : _ref$mask,
|
|
245
|
+
_ref$maskInside = _ref.maskInside,
|
|
246
|
+
maskInside = _ref$maskInside === void 0 ? true : _ref$maskInside;
|
|
247
|
+
|
|
248
|
+
this.shaderModuleService.registerModule('heatmapColor', {
|
|
249
|
+
vs: heatmapColorVert,
|
|
250
|
+
fs: heatmapColorFrag
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
var _this$shaderModuleSer = this.shaderModuleService.getModule('heatmapColor'),
|
|
254
|
+
vs = _this$shaderModuleSer.vs,
|
|
255
|
+
fs = _this$shaderModuleSer.fs,
|
|
256
|
+
uniforms = _this$shaderModuleSer.uniforms;
|
|
257
|
+
|
|
258
|
+
var _this$rendererService3 = this.rendererService,
|
|
259
|
+
createAttribute = _this$rendererService3.createAttribute,
|
|
260
|
+
createElements = _this$rendererService3.createElements,
|
|
261
|
+
createBuffer = _this$rendererService3.createBuffer,
|
|
262
|
+
createModel = _this$rendererService3.createModel;
|
|
263
|
+
return createModel({
|
|
264
|
+
vs: vs,
|
|
265
|
+
fs: fs,
|
|
266
|
+
attributes: {
|
|
267
|
+
a_Position: createAttribute({
|
|
268
|
+
buffer: createBuffer({
|
|
269
|
+
data: [-1, 1, 0, 1, 1, 0, -1, -1, 0, 1, -1, 0],
|
|
270
|
+
type: gl.FLOAT
|
|
271
|
+
}),
|
|
272
|
+
size: 3
|
|
273
|
+
}),
|
|
274
|
+
a_Uv: createAttribute({
|
|
275
|
+
buffer: createBuffer({
|
|
276
|
+
data: [0, 1, 1, 1, 0, 0, 1, 0],
|
|
277
|
+
type: gl.FLOAT
|
|
278
|
+
}),
|
|
279
|
+
size: 2
|
|
280
|
+
})
|
|
281
|
+
},
|
|
282
|
+
uniforms: _objectSpread({}, uniforms),
|
|
283
|
+
depth: {
|
|
284
|
+
enable: false
|
|
285
|
+
},
|
|
286
|
+
blend: this.getBlend(),
|
|
287
|
+
// count: 6,
|
|
288
|
+
elements: createElements({
|
|
289
|
+
data: [0, 2, 1, 2, 3, 1],
|
|
290
|
+
type: gl.UNSIGNED_INT,
|
|
291
|
+
count: 6
|
|
292
|
+
}),
|
|
293
|
+
stencil: getMask(mask, maskInside)
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
}, {
|
|
297
|
+
key: "drawIntensityMode",
|
|
298
|
+
value: function drawIntensityMode() {
|
|
299
|
+
var _this$intensityModel;
|
|
300
|
+
|
|
301
|
+
var _ref2 = this.layer.getLayerConfig(),
|
|
302
|
+
opacity = _ref2.opacity,
|
|
303
|
+
_ref2$intensity = _ref2.intensity,
|
|
304
|
+
intensity = _ref2$intensity === void 0 ? 10 : _ref2$intensity,
|
|
305
|
+
_ref2$radius = _ref2.radius,
|
|
306
|
+
radius = _ref2$radius === void 0 ? 5 : _ref2$radius;
|
|
307
|
+
|
|
308
|
+
(_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
|
|
309
|
+
uniforms: {
|
|
310
|
+
u_opacity: opacity || 1.0,
|
|
311
|
+
u_radius: radius,
|
|
312
|
+
u_intensity: intensity
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}, {
|
|
317
|
+
key: "drawColorMode",
|
|
318
|
+
value: function drawColorMode() {
|
|
319
|
+
var _this$colorModel;
|
|
320
|
+
|
|
321
|
+
var _ref3 = this.layer.getLayerConfig(),
|
|
322
|
+
opacity = _ref3.opacity;
|
|
323
|
+
|
|
324
|
+
(_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
|
|
325
|
+
uniforms: {
|
|
326
|
+
u_opacity: opacity || 1.0,
|
|
327
|
+
u_colorTexture: this.colorTexture,
|
|
328
|
+
u_texture: this.heatmapFramerBuffer
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
}, {
|
|
333
|
+
key: "draw3DHeatMap",
|
|
334
|
+
value: function draw3DHeatMap() {
|
|
335
|
+
var _this$colorModel2;
|
|
336
|
+
|
|
337
|
+
var _ref4 = this.layer.getLayerConfig(),
|
|
338
|
+
opacity = _ref4.opacity; // const invert = mat4.invert(
|
|
339
|
+
// mat4.create(),
|
|
340
|
+
// mat4.fromValues(
|
|
341
|
+
// // @ts-ignore
|
|
342
|
+
// ...this.cameraService.getViewProjectionMatrixUncentered(),
|
|
343
|
+
// ),
|
|
344
|
+
// ) as mat4;
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
var invert = mat4.create();
|
|
348
|
+
mat4.invert(invert, this.cameraService.getViewProjectionMatrixUncentered());
|
|
349
|
+
(_this$colorModel2 = this.colorModel) === null || _this$colorModel2 === void 0 ? void 0 : _this$colorModel2.draw({
|
|
350
|
+
uniforms: {
|
|
351
|
+
u_opacity: opacity || 1.0,
|
|
352
|
+
u_colorTexture: this.colorTexture,
|
|
353
|
+
u_texture: this.heatmapFramerBuffer,
|
|
354
|
+
u_ViewProjectionMatrixUncentered: this.cameraService.getViewProjectionMatrixUncentered(),
|
|
355
|
+
u_InverseViewProjectionMatrix: _toConsumableArray(invert)
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
}, {
|
|
360
|
+
key: "build3dHeatMap",
|
|
361
|
+
value: function build3dHeatMap() {
|
|
362
|
+
var _ref5 = this.layer.getLayerConfig(),
|
|
363
|
+
_ref5$mask = _ref5.mask,
|
|
364
|
+
mask = _ref5$mask === void 0 ? false : _ref5$mask,
|
|
365
|
+
_ref5$maskInside = _ref5.maskInside,
|
|
366
|
+
maskInside = _ref5$maskInside === void 0 ? true : _ref5$maskInside;
|
|
367
|
+
|
|
368
|
+
var getViewportSize = this.rendererService.getViewportSize;
|
|
369
|
+
|
|
370
|
+
var _getViewportSize2 = getViewportSize(),
|
|
371
|
+
width = _getViewportSize2.width,
|
|
372
|
+
height = _getViewportSize2.height;
|
|
373
|
+
|
|
374
|
+
var triangulation = heatMap3DTriangulation(width / 4.0, height / 4.0);
|
|
375
|
+
this.shaderModuleService.registerModule('heatmap3dColor', {
|
|
376
|
+
vs: heatmap3DVert,
|
|
377
|
+
fs: heatmap3DFrag
|
|
378
|
+
});
|
|
379
|
+
|
|
380
|
+
var _this$shaderModuleSer2 = this.shaderModuleService.getModule('heatmap3dColor'),
|
|
381
|
+
vs = _this$shaderModuleSer2.vs,
|
|
382
|
+
fs = _this$shaderModuleSer2.fs,
|
|
383
|
+
uniforms = _this$shaderModuleSer2.uniforms;
|
|
384
|
+
|
|
385
|
+
var _this$rendererService4 = this.rendererService,
|
|
386
|
+
createAttribute = _this$rendererService4.createAttribute,
|
|
387
|
+
createElements = _this$rendererService4.createElements,
|
|
388
|
+
createBuffer = _this$rendererService4.createBuffer,
|
|
389
|
+
createModel = _this$rendererService4.createModel;
|
|
390
|
+
return createModel({
|
|
391
|
+
vs: vs,
|
|
392
|
+
fs: fs,
|
|
393
|
+
attributes: {
|
|
394
|
+
a_Position: createAttribute({
|
|
395
|
+
buffer: createBuffer({
|
|
396
|
+
data: triangulation.vertices,
|
|
397
|
+
type: gl.FLOAT
|
|
398
|
+
}),
|
|
399
|
+
size: 3
|
|
400
|
+
}),
|
|
401
|
+
a_Uv: createAttribute({
|
|
402
|
+
buffer: createBuffer({
|
|
403
|
+
data: triangulation.uvs,
|
|
404
|
+
type: gl.FLOAT
|
|
405
|
+
}),
|
|
406
|
+
size: 2
|
|
407
|
+
})
|
|
408
|
+
},
|
|
409
|
+
primitive: gl.TRIANGLES,
|
|
410
|
+
uniforms: _objectSpread({}, uniforms),
|
|
411
|
+
depth: {
|
|
412
|
+
enable: true
|
|
413
|
+
},
|
|
414
|
+
blend: {
|
|
415
|
+
enable: true,
|
|
416
|
+
func: {
|
|
417
|
+
srcRGB: gl.SRC_ALPHA,
|
|
418
|
+
srcAlpha: 1,
|
|
419
|
+
dstRGB: gl.ONE_MINUS_SRC_ALPHA,
|
|
420
|
+
dstAlpha: 1
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
elements: createElements({
|
|
424
|
+
data: triangulation.indices,
|
|
425
|
+
type: gl.UNSIGNED_INT,
|
|
426
|
+
count: triangulation.indices.length
|
|
427
|
+
}),
|
|
428
|
+
stencil: getMask(mask, maskInside)
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
}, {
|
|
432
|
+
key: "updateStyle",
|
|
433
|
+
value: function updateStyle() {
|
|
434
|
+
this.updateColorTexture();
|
|
435
|
+
}
|
|
436
|
+
}, {
|
|
437
|
+
key: "updateColorTexture",
|
|
438
|
+
value: function updateColorTexture() {
|
|
439
|
+
var createTexture2D = this.rendererService.createTexture2D;
|
|
440
|
+
|
|
441
|
+
if (this.texture) {
|
|
442
|
+
this.texture.destroy();
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
var _ref6 = this.layer.getLayerConfig(),
|
|
446
|
+
rampColors = _ref6.rampColors;
|
|
447
|
+
|
|
448
|
+
var imageData = generateColorRamp(rampColors);
|
|
449
|
+
this.colorTexture = createTexture2D({
|
|
450
|
+
data: new Uint8Array(imageData.data),
|
|
451
|
+
width: imageData.width,
|
|
452
|
+
height: imageData.height,
|
|
453
|
+
wrapS: gl.CLAMP_TO_EDGE,
|
|
454
|
+
wrapT: gl.CLAMP_TO_EDGE,
|
|
455
|
+
min: gl.NEAREST,
|
|
456
|
+
mag: gl.NEAREST,
|
|
457
|
+
flipY: false
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
}]);
|
|
461
|
+
|
|
462
|
+
return HeatMapModel;
|
|
463
|
+
}(BaseModel)) || _class);
|
|
464
|
+
export { HeatMapModel as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IModel, IModelUniform } from '@antv/l7-core';
|
|
2
|
+
import BaseModel from '../../core/BaseModel';
|
|
3
|
+
export default class HexagonModel extends BaseModel {
|
|
4
|
+
getUninforms(): IModelUniform;
|
|
5
|
+
initModels(callbackModel: (models: IModel[]) => void): void;
|
|
6
|
+
buildModels(callbackModel: (models: IModel[]) => void): void;
|
|
7
|
+
protected registerBuiltinAttributes(): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
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 { AttributeType, gl } from '@antv/l7-core';
|
|
12
|
+
import { getMask } from '@antv/l7-utils';
|
|
13
|
+
import BaseModel from "../../core/BaseModel";
|
|
14
|
+
import { HeatmapGridTriangulation } from "../../core/triangulation";
|
|
15
|
+
|
|
16
|
+
/* babel-plugin-inline-import '../shaders/hexagon_frag.glsl' */
|
|
17
|
+
var heatmapGridFrag = "precision highp float;\nvarying vec4 v_color;\nuniform float u_opacity: 1;\n\n#pragma include \"picking\"\n\nvoid main() {\n gl_FragColor = v_color;\n gl_FragColor.a *= u_opacity;\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
18
|
+
|
|
19
|
+
/* babel-plugin-inline-import '../shaders/hexagon_vert.glsl' */
|
|
20
|
+
var heatmapGridVert = "precision highp float;\n// \u591A\u8FB9\u5F62\u9876\u70B9\u5750\u6807\nattribute vec3 a_Position;\n// \u591A\u8FB9\u5F62\u7ECF\u7EAC\u5EA6\u5750\u6807\nattribute vec3 a_Pos;\nattribute float a_Size;\nattribute vec4 a_Color;\nuniform vec2 u_radius;\nuniform float u_coverage: 0.9;\nuniform float u_angle: 0;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\n\nuniform vec2 u_SceneCenterMKT;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n#pragma include \"picking\"\n\nvoid main() {\n v_color = a_Color;\n \n mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));\n vec2 offset =(vec2(a_Position.xy * u_radius * rotationMatrix * u_coverage));\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\n \n // vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xy, 0., 1.0));\n // gl_Position = u_Mvp * (vec4(a_Pos.xy + offset, 0., 1.0));\n vec2 customLnglat = customProject(lnglat) - u_SceneCenterMKT;\n vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));\n gl_Position = u_Mvp * vec4(project_pos.xy, 0.0, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n }\n setPickingColor(a_PickingColor);\n}\n";
|
|
21
|
+
|
|
22
|
+
var HexagonModel = /*#__PURE__*/function (_BaseModel) {
|
|
23
|
+
_inherits(HexagonModel, _BaseModel);
|
|
24
|
+
|
|
25
|
+
var _super = _createSuper(HexagonModel);
|
|
26
|
+
|
|
27
|
+
function HexagonModel() {
|
|
28
|
+
_classCallCheck(this, HexagonModel);
|
|
29
|
+
|
|
30
|
+
return _super.apply(this, arguments);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
_createClass(HexagonModel, [{
|
|
34
|
+
key: "getUninforms",
|
|
35
|
+
value: function getUninforms() {
|
|
36
|
+
var _ref = this.layer.getLayerConfig(),
|
|
37
|
+
opacity = _ref.opacity,
|
|
38
|
+
coverage = _ref.coverage,
|
|
39
|
+
angle = _ref.angle;
|
|
40
|
+
|
|
41
|
+
return {
|
|
42
|
+
u_opacity: opacity || 1.0,
|
|
43
|
+
u_coverage: coverage || 0.9,
|
|
44
|
+
u_angle: angle || 0,
|
|
45
|
+
u_radius: [this.layer.getSource().data.xOffset, this.layer.getSource().data.yOffset]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
key: "initModels",
|
|
50
|
+
value: function initModels(callbackModel) {
|
|
51
|
+
this.buildModels(callbackModel);
|
|
52
|
+
}
|
|
53
|
+
}, {
|
|
54
|
+
key: "buildModels",
|
|
55
|
+
value: function buildModels(callbackModel) {
|
|
56
|
+
var _ref2 = this.layer.getLayerConfig(),
|
|
57
|
+
_ref2$mask = _ref2.mask,
|
|
58
|
+
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
59
|
+
_ref2$maskInside = _ref2.maskInside,
|
|
60
|
+
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
61
|
+
|
|
62
|
+
this.layer.buildLayerModel({
|
|
63
|
+
moduleName: 'heatmapHexagon',
|
|
64
|
+
vertexShader: heatmapGridVert,
|
|
65
|
+
fragmentShader: heatmapGridFrag,
|
|
66
|
+
triangulation: HeatmapGridTriangulation,
|
|
67
|
+
depth: {
|
|
68
|
+
enable: false
|
|
69
|
+
},
|
|
70
|
+
primitive: gl.TRIANGLES,
|
|
71
|
+
blend: this.getBlend(),
|
|
72
|
+
stencil: getMask(mask, maskInside)
|
|
73
|
+
}).then(function (model) {
|
|
74
|
+
callbackModel([model]);
|
|
75
|
+
}).catch(function (err) {
|
|
76
|
+
console.warn(err);
|
|
77
|
+
callbackModel([]);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}, {
|
|
81
|
+
key: "registerBuiltinAttributes",
|
|
82
|
+
value: function registerBuiltinAttributes() {
|
|
83
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
84
|
+
name: 'pos',
|
|
85
|
+
// 顶点经纬度位置
|
|
86
|
+
type: AttributeType.Attribute,
|
|
87
|
+
descriptor: {
|
|
88
|
+
name: 'a_Pos',
|
|
89
|
+
buffer: {
|
|
90
|
+
// give the WebGL driver a hint that this buffer may change
|
|
91
|
+
usage: gl.DYNAMIC_DRAW,
|
|
92
|
+
data: [],
|
|
93
|
+
type: gl.FLOAT
|
|
94
|
+
},
|
|
95
|
+
size: 3,
|
|
96
|
+
update: function update(feature, featureIdx) {
|
|
97
|
+
// const coordinates = (feature.verison==='GAODE2.x'?feature.originoordinates:feature.coordinates) as number[];
|
|
98
|
+
var coordinates = feature.version === 'GAODE2.x' ? feature.originCoordinates : feature.coordinates; // const coordinates = feature.coordinates as number[];
|
|
99
|
+
// const coordinates = feature.originCoordinates as number[];
|
|
100
|
+
|
|
101
|
+
return [coordinates[0], coordinates[1], 0];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}]);
|
|
107
|
+
|
|
108
|
+
return HexagonModel;
|
|
109
|
+
}(BaseModel);
|
|
110
|
+
|
|
111
|
+
export { HexagonModel as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import GridModel from "./grid";
|
|
2
|
+
import Grid3DModel from "./grid3d";
|
|
3
|
+
import HeatMapModel from "./heatmap";
|
|
4
|
+
import HexagonModel from "./hexagon";
|
|
5
|
+
var HeatMapModels = {
|
|
6
|
+
heatmap: HeatMapModel,
|
|
7
|
+
heatmap3d: HeatMapModel,
|
|
8
|
+
grid: GridModel,
|
|
9
|
+
grid3d: Grid3DModel,
|
|
10
|
+
hexagon: HexagonModel
|
|
11
|
+
};
|
|
12
|
+
export default HeatMapModels;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
// 多边形顶点坐标
|
|
3
|
+
attribute vec3 a_Position;
|
|
4
|
+
// 多边形经纬度坐标
|
|
5
|
+
attribute vec3 a_Pos;
|
|
6
|
+
attribute float a_Size;
|
|
7
|
+
attribute vec4 a_Color;
|
|
8
|
+
uniform vec2 u_radius;
|
|
9
|
+
uniform float u_coverage: 0.9;
|
|
10
|
+
uniform float u_angle: 0;
|
|
11
|
+
uniform mat4 u_ModelMatrix;
|
|
12
|
+
uniform mat4 u_Mvp;
|
|
13
|
+
varying vec4 v_color;
|
|
14
|
+
|
|
15
|
+
uniform vec2 u_SceneCenterMKT;
|
|
16
|
+
|
|
17
|
+
#pragma include "projection"
|
|
18
|
+
#pragma include "project"
|
|
19
|
+
#pragma include "picking"
|
|
20
|
+
|
|
21
|
+
void main() {
|
|
22
|
+
v_color = a_Color;
|
|
23
|
+
|
|
24
|
+
mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));
|
|
25
|
+
vec2 offset = a_Position.xy * u_radius * rotationMatrix * u_coverage ;
|
|
26
|
+
// vec2 lnglat = unProjectFlat(a_Pos.xy + offset);
|
|
27
|
+
// vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));
|
|
28
|
+
// gl_Position = project_common_position_to_clipspace(project_pos);
|
|
29
|
+
|
|
30
|
+
if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
|
|
31
|
+
vec2 lnglat = unProjectFlat(a_Pos.xy + offset);
|
|
32
|
+
vec2 customLnglat = customProject(lnglat) - u_SceneCenterMKT; // 将经纬度转换为高德2.0需要的平面坐标
|
|
33
|
+
vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));
|
|
34
|
+
gl_Position = u_Mvp * (project_pos);
|
|
35
|
+
} else {
|
|
36
|
+
vec2 lnglat = unProjectFlat(a_Pos.xy + offset);
|
|
37
|
+
vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));
|
|
38
|
+
gl_Position = project_common_position_to_clipspace(project_pos);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
setPickingColor(a_PickingColor);
|
|
42
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
uniform sampler2D u_texture;
|
|
2
|
+
uniform sampler2D u_colorTexture;
|
|
3
|
+
uniform float u_opacity;
|
|
4
|
+
varying vec2 v_texCoord;
|
|
5
|
+
varying float v_intensity;
|
|
6
|
+
|
|
7
|
+
void main(){
|
|
8
|
+
|
|
9
|
+
float intensity = texture2D(u_texture, v_texCoord).r;
|
|
10
|
+
vec4 color = texture2D(u_colorTexture,vec2(intensity, 0));
|
|
11
|
+
gl_FragColor = color;
|
|
12
|
+
// gl_FragColor.a = color.a * smoothstep(0.1,0.2,intensity)* u_opacity;
|
|
13
|
+
gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;
|
|
14
|
+
}
|