@antv/l7-layers 2.9.21 → 2.9.22-alpha.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/Geometry/index.js +4 -5
- package/es/Geometry/models/billboard.js +23 -9
- package/es/Geometry/models/index.js +4 -5
- package/es/Geometry/models/plane.js +25 -13
- package/es/Geometry/models/sprite.js +11 -21
- 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.js +4 -5
- package/es/canvas/models/canvas.js +6 -12
- package/es/canvas/models/index.js +2 -3
- package/es/citybuliding/building.js +4 -5
- package/es/citybuliding/models/build.js +19 -22
- package/es/citybuliding/shaders/build_frag.glsl +117 -0
- package/es/citybuliding/shaders/build_vert.glsl +54 -0
- package/es/core/BaseLayer.js +205 -157
- package/es/core/BaseModel.js +135 -76
- package/es/core/interface.js +1 -2
- package/es/core/schema.js +4 -2
- package/es/core/shape/Path.js +8 -3
- package/es/core/shape/extrude.js +9 -4
- package/es/core/triangulation.js +89 -17
- package/es/earth/index.js +11 -7
- package/es/earth/models/atmosphere.js +15 -7
- package/es/earth/models/base.js +19 -7
- package/es/earth/models/bloomsphere.js +15 -7
- 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.js +28 -5
- package/es/heatmap/index.js +8 -7
- package/es/heatmap/models/grid.js +11 -5
- package/es/heatmap/models/grid3d.js +18 -7
- package/es/heatmap/models/heatmap.js +45 -44
- package/es/heatmap/models/hexagon.js +14 -6
- package/es/heatmap/models/index.js +5 -6
- 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.js +2 -2
- package/es/image/index.js +4 -5
- package/es/image/models/dataImage.js +21 -31
- package/es/image/models/image.js +19 -25
- package/es/image/models/index.js +3 -4
- 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 +2 -2
- package/es/index.js +92 -30
- package/es/line/index.js +4 -5
- package/es/line/models/arc.js +38 -15
- package/es/line/models/arc_3d.js +33 -14
- package/es/line/models/earthArc_3d.js +33 -14
- package/es/line/models/great_circle.js +25 -13
- package/es/line/models/half.js +33 -12
- package/es/line/models/index.js +12 -13
- package/es/line/models/line.js +48 -15
- package/es/line/models/linearline.js +26 -12
- package/es/line/models/simpleLine.js +26 -11
- package/es/line/models/tile.js +28 -10
- package/es/line/models/wall.js +30 -13
- 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 +174 -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 +78 -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.js +4 -5
- package/es/mask/models/fill.js +11 -8
- package/es/mask/models/index.js +2 -3
- package/es/mask/shaders/mask_frag.glsl +7 -0
- package/es/mask/shaders/mask_vert.glsl +22 -0
- package/es/plugins/DataMappingPlugin.js +71 -34
- package/es/plugins/DataSourcePlugin.js +12 -10
- package/es/plugins/FeatureScalePlugin.js +44 -24
- package/es/plugins/LayerAnimateStylePlugin.js +6 -7
- package/es/plugins/LayerModelPlugin.js +16 -7
- package/es/plugins/LayerStylePlugin.js +7 -3
- package/es/plugins/LightingPlugin.js +21 -13
- package/es/plugins/MultiPassRendererPlugin.js +21 -8
- package/es/plugins/PixelPickingPlugin.js +33 -11
- package/es/plugins/RegisterStyleAttributePlugin.js +10 -3
- package/es/plugins/ShaderUniformPlugin.js +24 -10
- package/es/plugins/UpdateModelPlugin.js +7 -3
- package/es/plugins/UpdateStyleAttributePlugin.js +20 -7
- package/es/point/index.js +12 -6
- package/es/point/models/earthExtrude.js +30 -12
- package/es/point/models/earthFill.js +25 -13
- package/es/point/models/extrude.js +30 -12
- package/es/point/models/fill.js +50 -15
- package/es/point/models/fillmage.js +46 -17
- package/es/point/models/image.js +20 -12
- package/es/point/models/index.js +14 -14
- package/es/point/models/normal.js +15 -7
- package/es/point/models/radar.js +33 -13
- package/es/point/models/simplePoint.js +17 -9
- package/es/point/models/text.js +77 -30
- package/es/point/models/tile.js +33 -12
- 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 +182 -0
- package/es/point/shaders/image/fillImage_frag.glsl +20 -0
- package/es/point/shaders/image/fillImage_vert.glsl +108 -0
- package/es/point/shaders/image_frag.glsl +39 -0
- package/es/point/shaders/image_vert.glsl +81 -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.js +8 -3
- package/es/polygon/index.js +6 -5
- package/es/polygon/models/extrude.js +40 -31
- package/es/polygon/models/fill.js +19 -8
- package/es/polygon/models/index.js +14 -14
- package/es/polygon/models/ocean.js +25 -33
- package/es/polygon/models/tile.js +13 -7
- package/es/polygon/models/water.js +21 -25
- 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.js +2 -2
- package/es/raster/index.js +7 -6
- package/es/raster/models/index.js +3 -4
- package/es/raster/models/raster.js +15 -25
- package/es/raster/raster.js +9 -13
- 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.js +1 -2
- package/es/tile/manager/tileConfigManager.js +6 -8
- package/es/tile/manager/tileLayerManager.js +19 -30
- package/es/tile/manager/tilePickerManager.js +14 -14
- package/es/tile/models/tileModel.js +6 -6
- package/es/tile/tileFactory/base.js +26 -32
- package/es/tile/tileFactory/index.js +6 -7
- package/es/tile/tileFactory/line.js +3 -9
- package/es/tile/tileFactory/point.js +3 -9
- package/es/tile/tileFactory/polygon.js +3 -9
- package/es/tile/tileFactory/raster.js +4 -10
- package/es/tile/tileFactory/rasterData.js +5 -11
- package/es/tile/tileFactory/rasterDataLayer.js +4 -5
- package/es/tile/tileFactory/vectorLayer.js +8 -9
- package/es/tile/tileLayer/baseTileLayer.js +67 -39
- package/es/tile/tmsTileLayer.js +5 -4
- package/es/tile/utils.js +5 -3
- package/es/utils/blend.js +1 -2
- package/es/utils/collision-index.js +36 -21
- package/es/utils/dataMappingStyle.js +71 -15
- package/es/utils/extrude_polyline.js +90 -48
- package/es/utils/grid-index.js +7 -21
- package/es/utils/layerData.js +41 -17
- package/es/utils/multiPassRender.js +21 -5
- package/es/utils/polylineNormal.js +40 -20
- package/es/utils/simpleLine.js +4 -6
- package/es/utils/symbol-layout.js +49 -10
- package/es/utils/updateShape.js +6 -3
- package/es/wind/index.js +5 -6
- package/es/wind/models/index.js +2 -3
- package/es/wind/models/utils.js +50 -26
- package/es/wind/models/wind.js +15 -18
- package/es/wind/models/windRender.js +89 -78
- package/es/wind/models/windShader.d.ts +6 -6
- package/es/wind/models/windShader.js +12 -7
- package/es/wind/shaders/wind_frag.glsl +9 -0
- package/es/wind/shaders/wind_vert.glsl +17 -0
- package/lib/Geometry/index.js +77 -115
- package/lib/Geometry/models/billboard.js +181 -218
- package/lib/Geometry/models/index.js +34 -19
- package/lib/Geometry/models/plane.js +278 -394
- package/lib/Geometry/models/sprite.js +189 -294
- 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 +66 -102
- package/lib/canvas/models/canvas.js +140 -210
- package/lib/canvas/models/index.js +30 -13
- package/lib/citybuliding/building.js +63 -99
- package/lib/citybuliding/models/build.js +146 -196
- package/lib/citybuliding/shaders/build_frag.glsl +117 -0
- package/lib/citybuliding/shaders/build_vert.glsl +54 -0
- package/lib/core/BaseLayer.js +807 -1245
- package/lib/core/BaseModel.js +275 -375
- package/lib/core/interface.js +53 -37
- package/lib/core/schema.js +39 -18
- package/lib/core/shape/Path.js +78 -60
- package/lib/core/shape/extrude.js +90 -127
- package/lib/core/triangulation.js +191 -304
- package/lib/earth/index.js +62 -96
- package/lib/earth/models/atmosphere.js +112 -139
- package/lib/earth/models/base.js +150 -198
- package/lib/earth/models/bloomsphere.js +112 -139
- 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 +89 -85
- package/lib/heatmap/index.js +92 -148
- package/lib/heatmap/models/grid.js +91 -113
- package/lib/heatmap/models/grid3d.js +123 -145
- package/lib/heatmap/models/heatmap.js +338 -470
- package/lib/heatmap/models/hexagon.js +92 -114
- package/lib/heatmap/models/index.js +37 -23
- 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 +46 -30
- package/lib/image/index.js +74 -112
- package/lib/image/models/dataImage.js +173 -241
- package/lib/image/models/image.js +123 -177
- package/lib/image/models/index.js +32 -16
- 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 +96 -193
- package/lib/line/index.js +83 -128
- package/lib/line/models/arc.js +237 -328
- package/lib/line/models/arc_3d.js +228 -314
- package/lib/line/models/earthArc_3d.js +228 -316
- package/lib/line/models/great_circle.js +200 -279
- package/lib/line/models/half.js +201 -266
- package/lib/line/models/index.js +50 -43
- package/lib/line/models/line.js +299 -394
- package/lib/line/models/linearline.js +203 -263
- package/lib/line/models/simpleLine.js +175 -225
- package/lib/line/models/tile.js +237 -330
- package/lib/line/models/wall.js +235 -310
- 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 +174 -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 +78 -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 +59 -93
- package/lib/mask/models/fill.js +82 -132
- package/lib/mask/models/index.js +30 -13
- package/lib/mask/shaders/mask_frag.glsl +7 -0
- package/lib/mask/shaders/mask_vert.glsl +22 -0
- package/lib/plugins/DataMappingPlugin.js +222 -304
- package/lib/plugins/DataSourcePlugin.js +87 -100
- package/lib/plugins/FeatureScalePlugin.js +239 -310
- package/lib/plugins/LayerAnimateStylePlugin.js +55 -61
- package/lib/plugins/LayerModelPlugin.js +72 -70
- package/lib/plugins/LayerStylePlugin.js +51 -44
- package/lib/plugins/LightingPlugin.js +68 -72
- package/lib/plugins/MultiPassRendererPlugin.js +65 -77
- package/lib/plugins/PixelPickingPlugin.js +109 -128
- package/lib/plugins/RegisterStyleAttributePlugin.js +110 -103
- package/lib/plugins/ShaderUniformPlugin.js +98 -103
- package/lib/plugins/UpdateModelPlugin.js +47 -36
- package/lib/plugins/UpdateStyleAttributePlugin.js +75 -80
- package/lib/point/index.js +147 -216
- package/lib/point/models/earthExtrude.js +201 -262
- package/lib/point/models/earthFill.js +202 -276
- package/lib/point/models/extrude.js +203 -282
- package/lib/point/models/fill.js +273 -369
- package/lib/point/models/fillmage.js +250 -327
- package/lib/point/models/image.js +163 -226
- package/lib/point/models/index.js +52 -46
- package/lib/point/models/normal.js +134 -176
- package/lib/point/models/radar.js +212 -286
- package/lib/point/models/simplePoint.js +142 -187
- package/lib/point/models/text.js +385 -559
- package/lib/point/models/tile.js +223 -294
- 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 +182 -0
- package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
- package/lib/point/shaders/image/fillImage_vert.glsl +108 -0
- package/lib/point/shaders/image_frag.glsl +39 -0
- package/lib/point/shaders/image_vert.glsl +81 -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 +51 -51
- package/lib/polygon/index.js +100 -149
- package/lib/polygon/models/extrude.js +222 -303
- package/lib/polygon/models/fill.js +153 -205
- package/lib/polygon/models/index.js +52 -46
- package/lib/polygon/models/ocean.js +172 -251
- package/lib/polygon/models/tile.js +100 -139
- package/lib/polygon/models/water.js +152 -227
- 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 +39 -26
- package/lib/raster/index.js +73 -111
- package/lib/raster/models/index.js +33 -17
- package/lib/raster/models/raster.js +134 -187
- package/lib/raster/raster.js +132 -189
- 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 +17 -2
- package/lib/tile/manager/tileConfigManager.js +86 -126
- package/lib/tile/manager/tileLayerManager.js +227 -312
- package/lib/tile/manager/tilePickerManager.js +123 -187
- package/lib/tile/models/tileModel.js +51 -70
- package/lib/tile/tileFactory/base.js +292 -403
- package/lib/tile/tileFactory/index.js +48 -51
- package/lib/tile/tileFactory/line.js +50 -71
- package/lib/tile/tileFactory/point.js +50 -71
- package/lib/tile/tileFactory/polygon.js +50 -71
- package/lib/tile/tileFactory/raster.js +54 -72
- package/lib/tile/tileFactory/rasterData.js +76 -94
- package/lib/tile/tileFactory/rasterDataLayer.js +62 -98
- package/lib/tile/tileFactory/vectorLayer.js +95 -148
- package/lib/tile/tileLayer/baseTileLayer.js +220 -380
- package/lib/tile/tmsTileLayer.js +67 -109
- package/lib/tile/utils.js +86 -101
- package/lib/utils/blend.js +79 -60
- package/lib/utils/collision-index.js +63 -83
- package/lib/utils/dataMappingStyle.js +59 -56
- package/lib/utils/extrude_polyline.js +397 -554
- package/lib/utils/grid-index.js +111 -168
- package/lib/utils/layerData.js +88 -95
- package/lib/utils/multiPassRender.js +38 -31
- package/lib/utils/polylineNormal.js +86 -118
- package/lib/utils/simpleLine.js +85 -101
- package/lib/utils/symbol-layout.js +109 -173
- package/lib/utils/updateShape.js +40 -11
- package/lib/wind/index.js +71 -110
- package/lib/wind/models/index.js +30 -13
- package/lib/wind/models/utils.js +89 -104
- package/lib/wind/models/wind.js +224 -332
- package/lib/wind/models/windRender.js +215 -293
- package/lib/wind/models/windShader.js +181 -17
- package/lib/wind/shaders/wind_frag.glsl +9 -0
- package/lib/wind/shaders/wind_vert.glsl +17 -0
- package/package.json +11 -9
- package/es/Geometry/index.js.map +0 -1
- package/es/Geometry/models/billboard.js.map +0 -1
- package/es/Geometry/models/index.js.map +0 -1
- package/es/Geometry/models/plane.js.map +0 -1
- package/es/Geometry/models/sprite.js.map +0 -1
- package/es/canvas/index.js.map +0 -1
- package/es/canvas/models/canvas.js.map +0 -1
- package/es/canvas/models/index.js.map +0 -1
- package/es/citybuliding/building.js.map +0 -1
- package/es/citybuliding/models/build.js.map +0 -1
- package/es/core/BaseLayer.js.map +0 -1
- package/es/core/BaseModel.js.map +0 -1
- package/es/core/interface.js.map +0 -1
- package/es/core/schema.js.map +0 -1
- package/es/core/shape/Path.js.map +0 -1
- package/es/core/shape/extrude.js.map +0 -1
- package/es/core/triangulation.js.map +0 -1
- package/es/earth/index.js.map +0 -1
- package/es/earth/models/atmosphere.js.map +0 -1
- package/es/earth/models/base.js.map +0 -1
- package/es/earth/models/bloomsphere.js.map +0 -1
- package/es/earth/utils.js.map +0 -1
- package/es/glsl.d.js +0 -2
- package/es/glsl.d.js.map +0 -1
- package/es/heatmap/index.js.map +0 -1
- package/es/heatmap/models/grid.js.map +0 -1
- package/es/heatmap/models/grid3d.js.map +0 -1
- package/es/heatmap/models/heatmap.js.map +0 -1
- package/es/heatmap/models/hexagon.js.map +0 -1
- package/es/heatmap/models/index.js.map +0 -1
- package/es/heatmap/triangulation.js.map +0 -1
- package/es/image/index.js.map +0 -1
- package/es/image/models/dataImage.js.map +0 -1
- package/es/image/models/image.js.map +0 -1
- package/es/image/models/index.js.map +0 -1
- package/es/index.js.map +0 -1
- package/es/line/index.js.map +0 -1
- package/es/line/models/arc.js.map +0 -1
- package/es/line/models/arc_3d.js.map +0 -1
- package/es/line/models/earthArc_3d.js.map +0 -1
- package/es/line/models/great_circle.js.map +0 -1
- package/es/line/models/half.js.map +0 -1
- package/es/line/models/index.js.map +0 -1
- package/es/line/models/line.js.map +0 -1
- package/es/line/models/linearline.js.map +0 -1
- package/es/line/models/simpleLine.js.map +0 -1
- package/es/line/models/tile.js.map +0 -1
- package/es/line/models/wall.js.map +0 -1
- package/es/mask/index.js.map +0 -1
- package/es/mask/models/fill.js.map +0 -1
- package/es/mask/models/index.js.map +0 -1
- package/es/plugins/DataMappingPlugin.js.map +0 -1
- package/es/plugins/DataSourcePlugin.js.map +0 -1
- package/es/plugins/FeatureScalePlugin.js.map +0 -1
- package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
- package/es/plugins/LayerModelPlugin.js.map +0 -1
- package/es/plugins/LayerStylePlugin.js.map +0 -1
- package/es/plugins/LightingPlugin.js.map +0 -1
- package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
- package/es/plugins/PixelPickingPlugin.js.map +0 -1
- package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
- package/es/plugins/ShaderUniformPlugin.js.map +0 -1
- package/es/plugins/UpdateModelPlugin.js.map +0 -1
- package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
- package/es/point/index.js.map +0 -1
- package/es/point/models/earthExtrude.js.map +0 -1
- package/es/point/models/earthFill.js.map +0 -1
- package/es/point/models/extrude.js.map +0 -1
- package/es/point/models/fill.js.map +0 -1
- package/es/point/models/fillmage.js.map +0 -1
- package/es/point/models/image.js.map +0 -1
- package/es/point/models/index.js.map +0 -1
- package/es/point/models/normal.js.map +0 -1
- package/es/point/models/radar.js.map +0 -1
- package/es/point/models/simplePoint.js.map +0 -1
- package/es/point/models/text.js.map +0 -1
- package/es/point/models/tile.js.map +0 -1
- package/es/point/shape/extrude.js.map +0 -1
- package/es/polygon/index.js.map +0 -1
- package/es/polygon/models/extrude.js.map +0 -1
- package/es/polygon/models/fill.js.map +0 -1
- package/es/polygon/models/index.js.map +0 -1
- package/es/polygon/models/ocean.js.map +0 -1
- package/es/polygon/models/tile.js.map +0 -1
- package/es/polygon/models/water.js.map +0 -1
- package/es/raster/buffers/triangulation.js.map +0 -1
- package/es/raster/index.js.map +0 -1
- package/es/raster/models/index.js.map +0 -1
- package/es/raster/models/raster.js.map +0 -1
- package/es/raster/raster.js.map +0 -1
- package/es/tile/interface.js.map +0 -1
- package/es/tile/manager/tileConfigManager.js.map +0 -1
- package/es/tile/manager/tileLayerManager.js.map +0 -1
- package/es/tile/manager/tilePickerManager.js.map +0 -1
- package/es/tile/models/tileModel.js.map +0 -1
- package/es/tile/tileFactory/base.js.map +0 -1
- package/es/tile/tileFactory/index.js.map +0 -1
- package/es/tile/tileFactory/line.js.map +0 -1
- package/es/tile/tileFactory/point.js.map +0 -1
- package/es/tile/tileFactory/polygon.js.map +0 -1
- package/es/tile/tileFactory/raster.js.map +0 -1
- package/es/tile/tileFactory/rasterData.js.map +0 -1
- package/es/tile/tileFactory/rasterDataLayer.js.map +0 -1
- package/es/tile/tileFactory/vectorLayer.js.map +0 -1
- package/es/tile/tileLayer/baseTileLayer.js.map +0 -1
- package/es/tile/tmsTileLayer.js.map +0 -1
- package/es/tile/utils.js.map +0 -1
- package/es/utils/blend.js.map +0 -1
- package/es/utils/collision-index.js.map +0 -1
- package/es/utils/dataMappingStyle.js.map +0 -1
- package/es/utils/extrude_polyline.js.map +0 -1
- package/es/utils/grid-index.js.map +0 -1
- package/es/utils/layerData.js.map +0 -1
- package/es/utils/multiPassRender.js.map +0 -1
- package/es/utils/polylineNormal.js.map +0 -1
- package/es/utils/simpleLine.js.map +0 -1
- package/es/utils/symbol-layout.js.map +0 -1
- package/es/utils/updateShape.js.map +0 -1
- package/es/wind/index.js.map +0 -1
- package/es/wind/models/index.js.map +0 -1
- package/es/wind/models/utils.js.map +0 -1
- package/es/wind/models/wind.js.map +0 -1
- package/es/wind/models/windRender.js.map +0 -1
- package/es/wind/models/windShader.js.map +0 -1
- package/lib/Geometry/index.js.map +0 -1
- package/lib/Geometry/models/billboard.js.map +0 -1
- package/lib/Geometry/models/index.js.map +0 -1
- package/lib/Geometry/models/plane.js.map +0 -1
- package/lib/Geometry/models/sprite.js.map +0 -1
- package/lib/canvas/index.js.map +0 -1
- package/lib/canvas/models/canvas.js.map +0 -1
- package/lib/canvas/models/index.js.map +0 -1
- package/lib/citybuliding/building.js.map +0 -1
- package/lib/citybuliding/models/build.js.map +0 -1
- package/lib/core/BaseLayer.js.map +0 -1
- package/lib/core/BaseModel.js.map +0 -1
- package/lib/core/interface.js.map +0 -1
- package/lib/core/schema.js.map +0 -1
- package/lib/core/shape/Path.js.map +0 -1
- package/lib/core/shape/extrude.js.map +0 -1
- package/lib/core/triangulation.js.map +0 -1
- package/lib/earth/index.js.map +0 -1
- package/lib/earth/models/atmosphere.js.map +0 -1
- package/lib/earth/models/base.js.map +0 -1
- package/lib/earth/models/bloomsphere.js.map +0 -1
- package/lib/earth/utils.js.map +0 -1
- package/lib/glsl.d.js +0 -2
- package/lib/glsl.d.js.map +0 -1
- package/lib/heatmap/index.js.map +0 -1
- package/lib/heatmap/models/grid.js.map +0 -1
- package/lib/heatmap/models/grid3d.js.map +0 -1
- package/lib/heatmap/models/heatmap.js.map +0 -1
- package/lib/heatmap/models/hexagon.js.map +0 -1
- package/lib/heatmap/models/index.js.map +0 -1
- package/lib/heatmap/triangulation.js.map +0 -1
- package/lib/image/index.js.map +0 -1
- package/lib/image/models/dataImage.js.map +0 -1
- package/lib/image/models/image.js.map +0 -1
- package/lib/image/models/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/line/index.js.map +0 -1
- package/lib/line/models/arc.js.map +0 -1
- package/lib/line/models/arc_3d.js.map +0 -1
- package/lib/line/models/earthArc_3d.js.map +0 -1
- package/lib/line/models/great_circle.js.map +0 -1
- package/lib/line/models/half.js.map +0 -1
- package/lib/line/models/index.js.map +0 -1
- package/lib/line/models/line.js.map +0 -1
- package/lib/line/models/linearline.js.map +0 -1
- package/lib/line/models/simpleLine.js.map +0 -1
- package/lib/line/models/tile.js.map +0 -1
- package/lib/line/models/wall.js.map +0 -1
- package/lib/mask/index.js.map +0 -1
- package/lib/mask/models/fill.js.map +0 -1
- package/lib/mask/models/index.js.map +0 -1
- package/lib/plugins/DataMappingPlugin.js.map +0 -1
- package/lib/plugins/DataSourcePlugin.js.map +0 -1
- package/lib/plugins/FeatureScalePlugin.js.map +0 -1
- package/lib/plugins/LayerAnimateStylePlugin.js.map +0 -1
- package/lib/plugins/LayerModelPlugin.js.map +0 -1
- package/lib/plugins/LayerStylePlugin.js.map +0 -1
- package/lib/plugins/LightingPlugin.js.map +0 -1
- package/lib/plugins/MultiPassRendererPlugin.js.map +0 -1
- package/lib/plugins/PixelPickingPlugin.js.map +0 -1
- package/lib/plugins/RegisterStyleAttributePlugin.js.map +0 -1
- package/lib/plugins/ShaderUniformPlugin.js.map +0 -1
- package/lib/plugins/UpdateModelPlugin.js.map +0 -1
- package/lib/plugins/UpdateStyleAttributePlugin.js.map +0 -1
- package/lib/point/index.js.map +0 -1
- package/lib/point/models/earthExtrude.js.map +0 -1
- package/lib/point/models/earthFill.js.map +0 -1
- package/lib/point/models/extrude.js.map +0 -1
- package/lib/point/models/fill.js.map +0 -1
- package/lib/point/models/fillmage.js.map +0 -1
- package/lib/point/models/image.js.map +0 -1
- package/lib/point/models/index.js.map +0 -1
- package/lib/point/models/normal.js.map +0 -1
- package/lib/point/models/radar.js.map +0 -1
- package/lib/point/models/simplePoint.js.map +0 -1
- package/lib/point/models/text.js.map +0 -1
- package/lib/point/models/tile.js.map +0 -1
- package/lib/point/shape/extrude.js.map +0 -1
- package/lib/polygon/index.js.map +0 -1
- package/lib/polygon/models/extrude.js.map +0 -1
- package/lib/polygon/models/fill.js.map +0 -1
- package/lib/polygon/models/index.js.map +0 -1
- package/lib/polygon/models/ocean.js.map +0 -1
- package/lib/polygon/models/tile.js.map +0 -1
- package/lib/polygon/models/water.js.map +0 -1
- package/lib/raster/buffers/triangulation.js.map +0 -1
- package/lib/raster/index.js.map +0 -1
- package/lib/raster/models/index.js.map +0 -1
- package/lib/raster/models/raster.js.map +0 -1
- package/lib/raster/raster.js.map +0 -1
- package/lib/tile/interface.js.map +0 -1
- package/lib/tile/manager/tileConfigManager.js.map +0 -1
- package/lib/tile/manager/tileLayerManager.js.map +0 -1
- package/lib/tile/manager/tilePickerManager.js.map +0 -1
- package/lib/tile/models/tileModel.js.map +0 -1
- package/lib/tile/tileFactory/base.js.map +0 -1
- package/lib/tile/tileFactory/index.js.map +0 -1
- package/lib/tile/tileFactory/line.js.map +0 -1
- package/lib/tile/tileFactory/point.js.map +0 -1
- package/lib/tile/tileFactory/polygon.js.map +0 -1
- package/lib/tile/tileFactory/raster.js.map +0 -1
- package/lib/tile/tileFactory/rasterData.js.map +0 -1
- package/lib/tile/tileFactory/rasterDataLayer.js.map +0 -1
- package/lib/tile/tileFactory/vectorLayer.js.map +0 -1
- package/lib/tile/tileLayer/baseTileLayer.js.map +0 -1
- package/lib/tile/tmsTileLayer.js.map +0 -1
- package/lib/tile/utils.js.map +0 -1
- package/lib/utils/blend.js.map +0 -1
- package/lib/utils/collision-index.js.map +0 -1
- package/lib/utils/dataMappingStyle.js.map +0 -1
- package/lib/utils/extrude_polyline.js.map +0 -1
- package/lib/utils/grid-index.js.map +0 -1
- package/lib/utils/layerData.js.map +0 -1
- package/lib/utils/multiPassRender.js.map +0 -1
- package/lib/utils/polylineNormal.js.map +0 -1
- package/lib/utils/simpleLine.js.map +0 -1
- package/lib/utils/symbol-layout.js.map +0 -1
- package/lib/utils/updateShape.js.map +0 -1
- package/lib/wind/index.js.map +0 -1
- package/lib/wind/models/index.js.map +0 -1
- package/lib/wind/models/utils.js.map +0 -1
- package/lib/wind/models/wind.js.map +0 -1
- package/lib/wind/models/windRender.js.map +0 -1
- package/lib/wind/models/windShader.js.map +0 -1
package/es/core/triangulation.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
3
|
import { calculateCentroid, calculatePointsCenterAndRadius, lngLatToMeters } from '@antv/l7-utils';
|
|
4
|
-
import earcut from 'earcut';
|
|
4
|
+
import earcut from 'earcut'; // @ts-ignore
|
|
5
|
+
|
|
5
6
|
import { vec3 } from 'gl-matrix';
|
|
6
|
-
import { EARTH_RADIUS, EARTH_RADIUS_OUTER, EARTH_SEGMENTS, lglt2xyz, primitiveSphere } from
|
|
7
|
-
import ExtrudePolyline from
|
|
8
|
-
import extrudePolygon, { extrude_PolygonNormal, fillPolygon } from
|
|
9
|
-
import { geometryShape } from
|
|
7
|
+
import { EARTH_RADIUS, EARTH_RADIUS_OUTER, EARTH_SEGMENTS, lglt2xyz, primitiveSphere } from "../earth/utils";
|
|
8
|
+
import ExtrudePolyline from "../utils/extrude_polyline";
|
|
9
|
+
import extrudePolygon, { extrude_PolygonNormal, fillPolygon } from "./shape/extrude";
|
|
10
|
+
import { geometryShape } from "./shape/Path";
|
|
10
11
|
var GeometryCache = {};
|
|
12
|
+
/**
|
|
13
|
+
* 计算2D 填充点图顶点
|
|
14
|
+
* @param feature 映射feature
|
|
15
|
+
*/
|
|
16
|
+
|
|
11
17
|
export function PointFillTriangulation(feature) {
|
|
12
18
|
var coordinates = calculateCentroid(feature.coordinates);
|
|
13
19
|
return {
|
|
@@ -16,6 +22,11 @@ export function PointFillTriangulation(feature) {
|
|
|
16
22
|
size: coordinates.length
|
|
17
23
|
};
|
|
18
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* 计算2D 填充点图顶点 (地球模式)
|
|
27
|
+
* @param feature 映射feature
|
|
28
|
+
*/
|
|
29
|
+
|
|
19
30
|
export function GlobelPointFillTriangulation(feature) {
|
|
20
31
|
var coordinates = calculateCentroid(feature.coordinates);
|
|
21
32
|
var xyz = lglt2xyz(coordinates);
|
|
@@ -25,6 +36,11 @@ export function GlobelPointFillTriangulation(feature) {
|
|
|
25
36
|
size: xyz.length
|
|
26
37
|
};
|
|
27
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* 计算3D 拉伸点图
|
|
41
|
+
* @param feature 映射feature
|
|
42
|
+
*/
|
|
43
|
+
|
|
28
44
|
export function PointExtrudeTriangulation(feature) {
|
|
29
45
|
var shape = feature.shape;
|
|
30
46
|
|
|
@@ -40,6 +56,11 @@ export function PointExtrudeTriangulation(feature) {
|
|
|
40
56
|
size: 5
|
|
41
57
|
};
|
|
42
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* 计算图片标注
|
|
61
|
+
* @param feature 映射feature
|
|
62
|
+
*/
|
|
63
|
+
|
|
43
64
|
export function PointImageTriangulation(feature) {
|
|
44
65
|
var coordinates = calculateCentroid(feature.coordinates);
|
|
45
66
|
return {
|
|
@@ -48,34 +69,46 @@ export function PointImageTriangulation(feature) {
|
|
|
48
69
|
size: coordinates.length
|
|
49
70
|
};
|
|
50
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* 线三角化
|
|
74
|
+
* @param feature 映射feature
|
|
75
|
+
*/
|
|
76
|
+
|
|
51
77
|
export function LineTriangulation(feature) {
|
|
52
78
|
var coordinates = feature.coordinates,
|
|
53
79
|
originCoordinates = feature.originCoordinates,
|
|
54
|
-
version = feature.version;
|
|
80
|
+
version = feature.version; // let path = coordinates as number[][][] | number[][];
|
|
81
|
+
// if (!Array.isArray(path[0][0])) {
|
|
82
|
+
// path = [coordinates] as number[][][];
|
|
83
|
+
// }
|
|
84
|
+
|
|
55
85
|
var line = new ExtrudePolyline({
|
|
56
86
|
dash: true,
|
|
57
87
|
join: 'bevel'
|
|
58
88
|
});
|
|
59
89
|
|
|
60
90
|
if (version === 'GAODE2.x') {
|
|
61
|
-
|
|
91
|
+
// 处理高德2.0几何体构建
|
|
92
|
+
var path1 = coordinates; // 计算位置
|
|
62
93
|
|
|
63
94
|
if (!Array.isArray(path1[0][0])) {
|
|
64
95
|
path1 = [coordinates];
|
|
65
96
|
}
|
|
66
97
|
|
|
67
|
-
var path2 = originCoordinates;
|
|
98
|
+
var path2 = originCoordinates; // 计算法线
|
|
68
99
|
|
|
69
100
|
if (!Array.isArray(path2[0][0])) {
|
|
70
101
|
path2 = [originCoordinates];
|
|
71
102
|
}
|
|
72
103
|
|
|
73
104
|
for (var i = 0; i < path1.length; i++) {
|
|
105
|
+
// 高德2.0在计算线时,需要使用经纬度计算发现,使用 customCoords.lnglatToCoords 计算的数据来计算顶点的位置
|
|
74
106
|
var item1 = path1[i];
|
|
75
107
|
var item2 = path2[i];
|
|
76
108
|
line.extrude_gaode2(item1, item2);
|
|
77
109
|
}
|
|
78
110
|
} else {
|
|
111
|
+
// 处理非高德2.0的几何体构建
|
|
79
112
|
var path = coordinates;
|
|
80
113
|
|
|
81
114
|
if (path[0] && !Array.isArray(path[0][0])) {
|
|
@@ -90,6 +123,7 @@ export function LineTriangulation(feature) {
|
|
|
90
123
|
var linebuffer = line.complex;
|
|
91
124
|
return {
|
|
92
125
|
vertices: linebuffer.positions,
|
|
126
|
+
// [ x,y,z, distance, miter,total ]
|
|
93
127
|
indices: linebuffer.indices,
|
|
94
128
|
normals: linebuffer.normals,
|
|
95
129
|
indexes: linebuffer.indexes,
|
|
@@ -106,24 +140,27 @@ export function SimpleLineTriangulation(feature) {
|
|
|
106
140
|
});
|
|
107
141
|
|
|
108
142
|
if (version === 'GAODE2.x') {
|
|
109
|
-
|
|
143
|
+
// 处理高德2.0几何体构建
|
|
144
|
+
var path1 = coordinates; // 计算位置
|
|
110
145
|
|
|
111
146
|
if (!Array.isArray(path1[0][0])) {
|
|
112
147
|
path1 = [coordinates];
|
|
113
148
|
}
|
|
114
149
|
|
|
115
|
-
var path2 = originCoordinates;
|
|
150
|
+
var path2 = originCoordinates; // 计算法线
|
|
116
151
|
|
|
117
152
|
if (!Array.isArray(path2[0][0])) {
|
|
118
153
|
path2 = [originCoordinates];
|
|
119
154
|
}
|
|
120
155
|
|
|
121
156
|
for (var i = 0; i < path1.length; i++) {
|
|
157
|
+
// 高德2.0在计算线时,需要使用经纬度计算发现,使用 customCoords.lnglatToCoords 计算的数据来计算顶点的位置
|
|
122
158
|
var item1 = path1[i];
|
|
123
159
|
var item2 = path2[i];
|
|
124
160
|
line.simpleExtrude_gaode2(item1, item2);
|
|
125
161
|
}
|
|
126
162
|
} else {
|
|
163
|
+
// 处理非高德2.0的几何体构建
|
|
127
164
|
var path = coordinates;
|
|
128
165
|
|
|
129
166
|
if (path[0] && !Array.isArray(path[0][0])) {
|
|
@@ -138,6 +175,7 @@ export function SimpleLineTriangulation(feature) {
|
|
|
138
175
|
var linebuffer = line.complex;
|
|
139
176
|
return {
|
|
140
177
|
vertices: linebuffer.positions,
|
|
178
|
+
// [ x,y,z, distance, miter, total ]
|
|
141
179
|
indices: linebuffer.indices,
|
|
142
180
|
normals: linebuffer.normals,
|
|
143
181
|
size: 6
|
|
@@ -154,7 +192,8 @@ export function polygonTriangulation(feature) {
|
|
|
154
192
|
vertices: vertices,
|
|
155
193
|
size: dimensions
|
|
156
194
|
};
|
|
157
|
-
}
|
|
195
|
+
} // TODO:构建几何图形(带有中心点和大小)
|
|
196
|
+
|
|
158
197
|
export function polygonTriangulationWithCenter(feature) {
|
|
159
198
|
var coordinates = feature.coordinates;
|
|
160
199
|
var flattengeo = earcut.flatten(coordinates);
|
|
@@ -194,6 +233,7 @@ export function PolygonExtrudeTriangulation(feature) {
|
|
|
194
233
|
|
|
195
234
|
return {
|
|
196
235
|
vertices: positions,
|
|
236
|
+
// [ x, y, z, uv.x,uv.y ]
|
|
197
237
|
indices: index,
|
|
198
238
|
normals: normals,
|
|
199
239
|
size: 5
|
|
@@ -208,12 +248,19 @@ export function HeatmapGridTriangulation(feature) {
|
|
|
208
248
|
|
|
209
249
|
return {
|
|
210
250
|
vertices: positions,
|
|
251
|
+
// [ x, y, z ] 多边形顶点
|
|
211
252
|
indices: index,
|
|
212
253
|
size: 3
|
|
213
254
|
};
|
|
214
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* 图片图层顶点构造
|
|
258
|
+
* @param feature 数据
|
|
259
|
+
*/
|
|
260
|
+
|
|
215
261
|
export function RasterImageTriangulation(feature) {
|
|
216
|
-
var coordinates = feature.coordinates;
|
|
262
|
+
var coordinates = feature.coordinates; // [ x, y, z. uv.x, uv.y]
|
|
263
|
+
|
|
217
264
|
var positions = [].concat(_toConsumableArray(coordinates[0]), [0, 0, 1, coordinates[1][0], coordinates[0][1], 0, 1, 1], _toConsumableArray(coordinates[1]), [0, 1, 0], _toConsumableArray(coordinates[0]), [0, 0, 1], _toConsumableArray(coordinates[1]), [0, 1, 0, coordinates[0][0], coordinates[1][1], 0, 0, 0]);
|
|
218
265
|
var indexs = [0, 1, 2, 3, 4, 5];
|
|
219
266
|
return {
|
|
@@ -222,6 +269,12 @@ export function RasterImageTriangulation(feature) {
|
|
|
222
269
|
size: 5
|
|
223
270
|
};
|
|
224
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* 计算3D弧线顶点
|
|
274
|
+
* @param feature 映射数据
|
|
275
|
+
* @param segNum 弧线线段数
|
|
276
|
+
*/
|
|
277
|
+
|
|
225
278
|
export function LineArcTriangulation(feature, segmentNumber) {
|
|
226
279
|
var segNum = segmentNumber ? segmentNumber : 30;
|
|
227
280
|
var coordinates = feature.coordinates;
|
|
@@ -229,6 +282,8 @@ export function LineArcTriangulation(feature, segmentNumber) {
|
|
|
229
282
|
var indexArray = [];
|
|
230
283
|
|
|
231
284
|
var _loop = function _loop(i) {
|
|
285
|
+
// 上线两个顶点
|
|
286
|
+
// [ x, y, z, sx,sy, tx,ty]
|
|
232
287
|
positions.push(i, 1, i, coordinates[0][0], coordinates[0][1], coordinates[1][0], coordinates[1][1], i, -1, i, coordinates[0][0], coordinates[0][1], coordinates[1][0], coordinates[1][1]);
|
|
233
288
|
|
|
234
289
|
if (i !== segNum - 1) {
|
|
@@ -248,6 +303,12 @@ export function LineArcTriangulation(feature, segmentNumber) {
|
|
|
248
303
|
size: 7
|
|
249
304
|
};
|
|
250
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* 构建热力图密度图的顶点
|
|
308
|
+
* @param feature
|
|
309
|
+
* @returns
|
|
310
|
+
*/
|
|
311
|
+
|
|
251
312
|
export function HeatmapTriangulation(feature) {
|
|
252
313
|
var coordinates = feature.coordinates;
|
|
253
314
|
|
|
@@ -259,7 +320,8 @@ export function HeatmapTriangulation(feature) {
|
|
|
259
320
|
var dir = addDir(-1, 1);
|
|
260
321
|
var dir1 = addDir(1, 1);
|
|
261
322
|
var dir2 = addDir(-1, -1);
|
|
262
|
-
var dir3 = addDir(1, -1);
|
|
323
|
+
var dir3 = addDir(1, -1); // [x,y,z, dirx ,diry, weight]
|
|
324
|
+
|
|
263
325
|
var positions = [].concat(_toConsumableArray(coordinates), _toConsumableArray(dir), _toConsumableArray(coordinates), _toConsumableArray(dir2), _toConsumableArray(coordinates), _toConsumableArray(dir3), _toConsumableArray(coordinates), _toConsumableArray(dir1));
|
|
264
326
|
var indexArray = [0, 1, 2, 3, 0, 2];
|
|
265
327
|
return {
|
|
@@ -268,6 +330,10 @@ export function HeatmapTriangulation(feature) {
|
|
|
268
330
|
size: 5
|
|
269
331
|
};
|
|
270
332
|
}
|
|
333
|
+
/**
|
|
334
|
+
* 点图层3d geomerty
|
|
335
|
+
* @param shape 3D形状
|
|
336
|
+
*/
|
|
271
337
|
|
|
272
338
|
function getGeometry(shape) {
|
|
273
339
|
var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
@@ -363,15 +429,22 @@ function checkIsClosed(points) {
|
|
|
363
429
|
function getHeatmapGeometry(shape) {
|
|
364
430
|
var shape3d = ['cylinder', 'triangleColumn', 'hexagonColumn', 'squareColumn'];
|
|
365
431
|
var path = geometryShape[shape] ? geometryShape[shape]() : geometryShape.circle();
|
|
366
|
-
var geometry = shape3d.indexOf(shape) === -1 ? fillPolygon([path]) : extrudePolygon([path]);
|
|
432
|
+
var geometry = shape3d.indexOf(shape) === -1 ? fillPolygon([path]) : extrudePolygon([path]); // const geometry = fillPolygon([path]);
|
|
433
|
+
|
|
367
434
|
return geometry;
|
|
368
|
-
}
|
|
435
|
+
} // 热力图计算范围
|
|
436
|
+
|
|
369
437
|
|
|
370
438
|
function addDir(dirX, dirY) {
|
|
371
439
|
var x = (dirX + 1) / 2;
|
|
372
440
|
var y = (dirY + 1) / 2;
|
|
373
441
|
return [x, y];
|
|
374
442
|
}
|
|
443
|
+
/**
|
|
444
|
+
* 构建地球三角网格
|
|
445
|
+
* @returns
|
|
446
|
+
*/
|
|
447
|
+
|
|
375
448
|
|
|
376
449
|
export function earthTriangulation() {
|
|
377
450
|
var earthmesh = primitiveSphere(EARTH_RADIUS, {
|
|
@@ -400,5 +473,4 @@ export function earthOuterTriangulation() {
|
|
|
400
473
|
size: 5,
|
|
401
474
|
normals: normalArr
|
|
402
475
|
};
|
|
403
|
-
}
|
|
404
|
-
//# sourceMappingURL=triangulation.js.map
|
|
476
|
+
}
|
package/es/earth/index.js
CHANGED
|
@@ -10,10 +10,10 @@ 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 BaseLayer from
|
|
14
|
-
import EarthAtomSphereModel from
|
|
15
|
-
import BaseEarthModel from
|
|
16
|
-
import EarthBloomSphereModel from
|
|
13
|
+
import BaseLayer from "../core/BaseLayer";
|
|
14
|
+
import EarthAtomSphereModel from "./models/atmosphere";
|
|
15
|
+
import BaseEarthModel from "./models/base";
|
|
16
|
+
import EarthBloomSphereModel from "./models/bloomsphere";
|
|
17
17
|
var EarthModels = {
|
|
18
18
|
base: BaseEarthModel,
|
|
19
19
|
atomSphere: EarthAtomSphereModel,
|
|
@@ -21,7 +21,7 @@ var EarthModels = {
|
|
|
21
21
|
};
|
|
22
22
|
var earthLayerTypes = ['base', 'atomSphere', 'bloomSphere'];
|
|
23
23
|
|
|
24
|
-
var EarthLayer = function (_BaseLayer) {
|
|
24
|
+
var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
25
25
|
_inherits(EarthLayer, _BaseLayer);
|
|
26
26
|
|
|
27
27
|
var _super = _createSuper(EarthLayer);
|
|
@@ -55,6 +55,11 @@ var EarthLayer = function (_BaseLayer) {
|
|
|
55
55
|
_this2.renderLayers();
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* 设置当前地球时间
|
|
60
|
+
* @param time
|
|
61
|
+
*/
|
|
62
|
+
|
|
58
63
|
}, {
|
|
59
64
|
key: "setEarthTime",
|
|
60
65
|
value: function setEarthTime(time) {
|
|
@@ -83,5 +88,4 @@ var EarthLayer = function (_BaseLayer) {
|
|
|
83
88
|
return EarthLayer;
|
|
84
89
|
}(BaseLayer);
|
|
85
90
|
|
|
86
|
-
export { EarthLayer as default };
|
|
87
|
-
//# sourceMappingURL=index.js.map
|
|
91
|
+
export { EarthLayer as default };
|
|
@@ -3,19 +3,23 @@ import _createClass from "@babel/runtime/helpers/createClass";
|
|
|
3
3
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
4
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
5
5
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
|
-
import _isNumber from "lodash/isNumber";
|
|
7
6
|
|
|
8
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); }; }
|
|
9
8
|
|
|
10
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; } }
|
|
11
10
|
|
|
12
11
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
12
|
+
import { isNumber } from 'lodash';
|
|
13
|
+
import BaseModel from "../../core/BaseModel";
|
|
14
|
+
import { earthTriangulation } from "../../core/triangulation";
|
|
15
|
+
|
|
16
|
+
/* babel-plugin-inline-import '../shaders/atmosphere_frag.glsl' */
|
|
15
17
|
var atmoSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\n\nvarying vec3 vVertexNormal;\nvarying float v_offset;\nvarying vec4 v_Color;\nvoid main() {\n \n \n // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n // TODO: \u53BB\u9664\u80CC\u9762\n if(intensity > 1.0) intensity = 0.0;\n\n gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);\n}\n";
|
|
18
|
+
|
|
19
|
+
/* babel-plugin-inline-import '../shaders/atmosphere_vert.glsl' */
|
|
16
20
|
var atmoSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nvarying float v_CamreaDistance;\n\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\nvarying float v_offset;\n\nvoid main() {\n float EARTH_RADIUS = 100.0;\n \n v_Color = a_Color;\n\n v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
|
|
17
21
|
|
|
18
|
-
var EarthAtomSphereModel = function (_BaseModel) {
|
|
22
|
+
var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
|
|
19
23
|
_inherits(EarthAtomSphereModel, _BaseModel);
|
|
20
24
|
|
|
21
25
|
var _super = _createSuper(EarthAtomSphereModel);
|
|
@@ -34,7 +38,7 @@ var EarthAtomSphereModel = function (_BaseModel) {
|
|
|
34
38
|
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
|
|
35
39
|
|
|
36
40
|
return {
|
|
37
|
-
u_opacity:
|
|
41
|
+
u_opacity: isNumber(opacity) ? opacity : 1.0
|
|
38
42
|
};
|
|
39
43
|
}
|
|
40
44
|
}, {
|
|
@@ -50,6 +54,7 @@ var EarthAtomSphereModel = function (_BaseModel) {
|
|
|
50
54
|
}, {
|
|
51
55
|
key: "buildModels",
|
|
52
56
|
value: function buildModels(callbackModel) {
|
|
57
|
+
// TODO: 调整图层的绘制顺序 地球大气层
|
|
53
58
|
this.layer.zIndex = -997;
|
|
54
59
|
this.layer.buildLayerModel({
|
|
55
60
|
moduleName: 'earthAtmo',
|
|
@@ -70,12 +75,14 @@ var EarthAtomSphereModel = function (_BaseModel) {
|
|
|
70
75
|
}, {
|
|
71
76
|
key: "registerBuiltinAttributes",
|
|
72
77
|
value: function registerBuiltinAttributes() {
|
|
78
|
+
// point layer size;
|
|
73
79
|
this.styleAttributeService.registerStyleAttribute({
|
|
74
80
|
name: 'size',
|
|
75
81
|
type: AttributeType.Attribute,
|
|
76
82
|
descriptor: {
|
|
77
83
|
name: 'a_Size',
|
|
78
84
|
buffer: {
|
|
85
|
+
// give the WebGL driver a hint that this buffer may change
|
|
79
86
|
usage: gl.DYNAMIC_DRAW,
|
|
80
87
|
data: [],
|
|
81
88
|
type: gl.FLOAT
|
|
@@ -94,6 +101,7 @@ var EarthAtomSphereModel = function (_BaseModel) {
|
|
|
94
101
|
descriptor: {
|
|
95
102
|
name: 'a_Normal',
|
|
96
103
|
buffer: {
|
|
104
|
+
// give the WebGL driver a hint that this buffer may change
|
|
97
105
|
usage: gl.STATIC_DRAW,
|
|
98
106
|
data: [],
|
|
99
107
|
type: gl.FLOAT
|
|
@@ -110,6 +118,7 @@ var EarthAtomSphereModel = function (_BaseModel) {
|
|
|
110
118
|
descriptor: {
|
|
111
119
|
name: 'a_Uv',
|
|
112
120
|
buffer: {
|
|
121
|
+
// give the WebGL driver a hint that this buffer may change
|
|
113
122
|
usage: gl.DYNAMIC_DRAW,
|
|
114
123
|
data: [],
|
|
115
124
|
type: gl.FLOAT
|
|
@@ -126,5 +135,4 @@ var EarthAtomSphereModel = function (_BaseModel) {
|
|
|
126
135
|
return EarthAtomSphereModel;
|
|
127
136
|
}(BaseModel);
|
|
128
137
|
|
|
129
|
-
export { EarthAtomSphereModel as default };
|
|
130
|
-
//# sourceMappingURL=atmosphere.js.map
|
|
138
|
+
export { EarthAtomSphereModel as default };
|
package/es/earth/models/base.js
CHANGED
|
@@ -11,12 +11,16 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
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
13
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
14
|
-
import BaseModel from
|
|
15
|
-
import { earthTriangulation } from
|
|
14
|
+
import BaseModel from "../../core/BaseModel";
|
|
15
|
+
import { earthTriangulation } from "../../core/triangulation";
|
|
16
|
+
|
|
17
|
+
/* babel-plugin-inline-import '../shaders/base_frag.glsl' */
|
|
16
18
|
var baseFrag = "\nuniform sampler2D u_texture;\n\nvarying vec2 v_texCoord;\nvarying float v_lightWeight;\n\n\nvoid main() {\n\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n color.xyz = color.xyz * v_lightWeight;\n gl_FragColor = color;\n}\n";
|
|
19
|
+
|
|
20
|
+
/* babel-plugin-inline-import '../shaders/base_vert.glsl' */
|
|
17
21
|
var baseVert = "// attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\n// attribute vec2 a_Extrude;\n// attribute float a_Size;\n// attribute float a_Shape;\n\nuniform vec3 u_CameraPosition;\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform float u_ambientRatio : 0.5;\nuniform float u_diffuseRatio : 0.3;\nuniform float u_specularRatio : 0.2;\nuniform vec3 u_sunLight: [1.0, -10.5, 12.0];\n\n\n\nfloat calc_lighting(vec4 pos) {\n\n vec3 worldPos = vec3(pos * u_ModelMatrix);\n\n vec3 worldNormal = a_Normal;\n\n // cal light weight\n vec3 viewDir = normalize(u_CameraPosition - worldPos);\n\n vec3 lightDir = normalize(u_sunLight);\n\n vec3 halfDir = normalize(viewDir+lightDir);\n // lambert\n float lambert = dot(worldNormal, lightDir);\n // specular\n float specular = pow(max(0.0, dot(worldNormal, halfDir)), 32.0);\n //sum to light weight\n float lightWeight = u_ambientRatio + u_diffuseRatio * lambert + u_specularRatio * specular;\n\n return lightWeight;\n}\n\nvarying float v_lightWeight;\nvoid main() {\n\n v_texCoord = a_Uv;\n\n float lightWeight = calc_lighting(vec4(a_Position, 1.0));\n v_lightWeight = lightWeight;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
|
|
18
22
|
|
|
19
|
-
var BaseEarthModel = function (_BaseModel) {
|
|
23
|
+
var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
|
|
20
24
|
_inherits(BaseEarthModel, _BaseModel);
|
|
21
25
|
|
|
22
26
|
var _super = _createSuper(BaseEarthModel);
|
|
@@ -32,8 +36,6 @@ var BaseEarthModel = function (_BaseModel) {
|
|
|
32
36
|
|
|
33
37
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
34
38
|
|
|
35
|
-
_defineProperty(_assertThisInitialized(_this), "texture", void 0);
|
|
36
|
-
|
|
37
39
|
_defineProperty(_assertThisInitialized(_this), "earthTime", 3.4);
|
|
38
40
|
|
|
39
41
|
_defineProperty(_assertThisInitialized(_this), "sunX", 1000);
|
|
@@ -55,6 +57,8 @@ var BaseEarthModel = function (_BaseModel) {
|
|
|
55
57
|
globelOtions = _this$layer$getLayerC.globelOtions;
|
|
56
58
|
|
|
57
59
|
if (animateOption !== null && animateOption !== void 0 && animateOption.enable) {
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
// T: rotateY 方法只有在地球模式下存在
|
|
58
62
|
this.mapService.rotateY({
|
|
59
63
|
reg: 0.002
|
|
60
64
|
});
|
|
@@ -66,8 +70,12 @@ var BaseEarthModel = function (_BaseModel) {
|
|
|
66
70
|
|
|
67
71
|
return {
|
|
68
72
|
u_ambientRatio: (globelOtions === null || globelOtions === void 0 ? void 0 : globelOtions.ambientRatio) || 0.6,
|
|
73
|
+
// 环境光
|
|
69
74
|
u_diffuseRatio: (globelOtions === null || globelOtions === void 0 ? void 0 : globelOtions.diffuseRatio) || 0.4,
|
|
75
|
+
// 漫反射
|
|
70
76
|
u_specularRatio: (globelOtions === null || globelOtions === void 0 ? void 0 : globelOtions.specularRatio) || 0.1,
|
|
77
|
+
// 高光反射
|
|
78
|
+
// u_sunLight: [120, 120, 120],
|
|
71
79
|
u_sunLight: [this.sunX, this.sunY, this.sunZ],
|
|
72
80
|
u_texture: this.texture
|
|
73
81
|
};
|
|
@@ -120,6 +128,7 @@ var BaseEarthModel = function (_BaseModel) {
|
|
|
120
128
|
}, {
|
|
121
129
|
key: "buildModels",
|
|
122
130
|
value: function buildModels(callbackModel) {
|
|
131
|
+
// TODO: 调整图层的绘制顺序 地球大气层
|
|
123
132
|
this.layer.zIndex = -998;
|
|
124
133
|
this.layer.buildLayerModel({
|
|
125
134
|
moduleName: 'earthBase',
|
|
@@ -140,12 +149,14 @@ var BaseEarthModel = function (_BaseModel) {
|
|
|
140
149
|
}, {
|
|
141
150
|
key: "registerBuiltinAttributes",
|
|
142
151
|
value: function registerBuiltinAttributes() {
|
|
152
|
+
// point layer size;
|
|
143
153
|
this.styleAttributeService.registerStyleAttribute({
|
|
144
154
|
name: 'size',
|
|
145
155
|
type: AttributeType.Attribute,
|
|
146
156
|
descriptor: {
|
|
147
157
|
name: 'a_Size',
|
|
148
158
|
buffer: {
|
|
159
|
+
// give the WebGL driver a hint that this buffer may change
|
|
149
160
|
usage: gl.DYNAMIC_DRAW,
|
|
150
161
|
data: [],
|
|
151
162
|
type: gl.FLOAT
|
|
@@ -164,6 +175,7 @@ var BaseEarthModel = function (_BaseModel) {
|
|
|
164
175
|
descriptor: {
|
|
165
176
|
name: 'a_Normal',
|
|
166
177
|
buffer: {
|
|
178
|
+
// give the WebGL driver a hint that this buffer may change
|
|
167
179
|
usage: gl.STATIC_DRAW,
|
|
168
180
|
data: [],
|
|
169
181
|
type: gl.FLOAT
|
|
@@ -180,6 +192,7 @@ var BaseEarthModel = function (_BaseModel) {
|
|
|
180
192
|
descriptor: {
|
|
181
193
|
name: 'a_Uv',
|
|
182
194
|
buffer: {
|
|
195
|
+
// give the WebGL driver a hint that this buffer may change
|
|
183
196
|
usage: gl.DYNAMIC_DRAW,
|
|
184
197
|
data: [],
|
|
185
198
|
type: gl.FLOAT
|
|
@@ -196,5 +209,4 @@ var BaseEarthModel = function (_BaseModel) {
|
|
|
196
209
|
return BaseEarthModel;
|
|
197
210
|
}(BaseModel);
|
|
198
211
|
|
|
199
|
-
export { BaseEarthModel as default };
|
|
200
|
-
//# sourceMappingURL=base.js.map
|
|
212
|
+
export { BaseEarthModel as default };
|
|
@@ -3,19 +3,23 @@ import _createClass from "@babel/runtime/helpers/createClass";
|
|
|
3
3
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
4
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
5
5
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
|
-
import _isNumber from "lodash/isNumber";
|
|
7
6
|
|
|
8
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); }; }
|
|
9
8
|
|
|
10
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; } }
|
|
11
10
|
|
|
12
11
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
12
|
+
import { isNumber } from 'lodash';
|
|
13
|
+
import BaseModel from "../../core/BaseModel";
|
|
14
|
+
import { earthOuterTriangulation } from "../../core/triangulation";
|
|
15
|
+
|
|
16
|
+
/* babel-plugin-inline-import '../shaders/bloomsphere_frag.glsl' */
|
|
15
17
|
var bloomSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\nvarying vec3 vVertexNormal;\n\nvarying vec4 v_Color;\nvoid main() {\n\n\n float intensity = - dot(normalize(vVertexNormal), normalize(u_CameraPosition));\n // TODO: \u53BB\u9664\u80CC\u9762\n if(intensity > 1.0) intensity = 0.0;\n\n gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);\n}\n";
|
|
18
|
+
|
|
19
|
+
/* babel-plugin-inline-import '../shaders/bloomsphere_vert.glsl' */
|
|
16
20
|
var bloomSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\n\nvoid main() {\n v_Color = a_Color;\n\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
|
|
17
21
|
|
|
18
|
-
var EarthBloomSphereModel = function (_BaseModel) {
|
|
22
|
+
var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
|
|
19
23
|
_inherits(EarthBloomSphereModel, _BaseModel);
|
|
20
24
|
|
|
21
25
|
var _super = _createSuper(EarthBloomSphereModel);
|
|
@@ -34,7 +38,7 @@ var EarthBloomSphereModel = function (_BaseModel) {
|
|
|
34
38
|
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
|
|
35
39
|
|
|
36
40
|
return {
|
|
37
|
-
u_opacity:
|
|
41
|
+
u_opacity: isNumber(opacity) ? opacity : 1.0
|
|
38
42
|
};
|
|
39
43
|
}
|
|
40
44
|
}, {
|
|
@@ -50,6 +54,7 @@ var EarthBloomSphereModel = function (_BaseModel) {
|
|
|
50
54
|
}, {
|
|
51
55
|
key: "buildModels",
|
|
52
56
|
value: function buildModels(callbackModel) {
|
|
57
|
+
// TODO: 调整图层的绘制顺序,让它保持在地球后面(减少锯齿现象)
|
|
53
58
|
this.layer.zIndex = -999;
|
|
54
59
|
this.layer.buildLayerModel({
|
|
55
60
|
moduleName: 'earthBloom',
|
|
@@ -70,12 +75,14 @@ var EarthBloomSphereModel = function (_BaseModel) {
|
|
|
70
75
|
}, {
|
|
71
76
|
key: "registerBuiltinAttributes",
|
|
72
77
|
value: function registerBuiltinAttributes() {
|
|
78
|
+
// point layer size;
|
|
73
79
|
this.styleAttributeService.registerStyleAttribute({
|
|
74
80
|
name: 'size',
|
|
75
81
|
type: AttributeType.Attribute,
|
|
76
82
|
descriptor: {
|
|
77
83
|
name: 'a_Size',
|
|
78
84
|
buffer: {
|
|
85
|
+
// give the WebGL driver a hint that this buffer may change
|
|
79
86
|
usage: gl.DYNAMIC_DRAW,
|
|
80
87
|
data: [],
|
|
81
88
|
type: gl.FLOAT
|
|
@@ -94,6 +101,7 @@ var EarthBloomSphereModel = function (_BaseModel) {
|
|
|
94
101
|
descriptor: {
|
|
95
102
|
name: 'a_Normal',
|
|
96
103
|
buffer: {
|
|
104
|
+
// give the WebGL driver a hint that this buffer may change
|
|
97
105
|
usage: gl.STATIC_DRAW,
|
|
98
106
|
data: [],
|
|
99
107
|
type: gl.FLOAT
|
|
@@ -110,6 +118,7 @@ var EarthBloomSphereModel = function (_BaseModel) {
|
|
|
110
118
|
descriptor: {
|
|
111
119
|
name: 'a_Uv',
|
|
112
120
|
buffer: {
|
|
121
|
+
// give the WebGL driver a hint that this buffer may change
|
|
113
122
|
usage: gl.DYNAMIC_DRAW,
|
|
114
123
|
data: [],
|
|
115
124
|
type: gl.FLOAT
|
|
@@ -126,5 +135,4 @@ var EarthBloomSphereModel = function (_BaseModel) {
|
|
|
126
135
|
return EarthBloomSphereModel;
|
|
127
136
|
}(BaseModel);
|
|
128
137
|
|
|
129
|
-
export { EarthBloomSphereModel as default };
|
|
130
|
-
//# sourceMappingURL=bloomsphere.js.map
|
|
138
|
+
export { EarthBloomSphereModel as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
uniform float u_opacity;
|
|
3
|
+
uniform vec3 u_CameraPosition;
|
|
4
|
+
|
|
5
|
+
varying vec3 vVertexNormal;
|
|
6
|
+
varying float v_offset;
|
|
7
|
+
varying vec4 v_Color;
|
|
8
|
+
void main() {
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);
|
|
12
|
+
float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);
|
|
13
|
+
// TODO: 去除背面
|
|
14
|
+
if(intensity > 1.0) intensity = 0.0;
|
|
15
|
+
|
|
16
|
+
gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
attribute vec3 a_Position;
|
|
3
|
+
attribute vec3 a_Normal;
|
|
4
|
+
attribute vec2 a_Uv;
|
|
5
|
+
attribute vec4 a_Color;
|
|
6
|
+
uniform vec3 u_CameraPosition;
|
|
7
|
+
varying float v_CamreaDistance;
|
|
8
|
+
|
|
9
|
+
uniform mat4 u_ViewProjectionMatrix;
|
|
10
|
+
uniform mat4 u_ModelMatrix;
|
|
11
|
+
uniform mat4 u_ViewMatrix;
|
|
12
|
+
|
|
13
|
+
varying vec3 vVertexNormal;
|
|
14
|
+
varying vec4 v_Color;
|
|
15
|
+
varying float v_offset;
|
|
16
|
+
|
|
17
|
+
void main() {
|
|
18
|
+
float EARTH_RADIUS = 100.0;
|
|
19
|
+
|
|
20
|
+
v_Color = a_Color;
|
|
21
|
+
|
|
22
|
+
v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);
|
|
23
|
+
vVertexNormal = a_Normal;
|
|
24
|
+
|
|
25
|
+
gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);
|
|
26
|
+
}
|