@antv/l7-layers 2.9.19 → 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.d.ts +11 -1
- package/es/core/interface.js +15 -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.d.ts +1 -0
- package/es/core/triangulation.js +123 -24
- 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 +57 -17
- package/es/line/models/linearline.js +32 -14
- 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.d.ts +15 -0
- package/es/utils/extrude_polyline.js +225 -51
- 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 +52 -20
- 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 +208 -295
- 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 -386
- package/lib/line/models/linearline.js +203 -258
- 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 +405 -428
- 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
|
@@ -12,6 +12,8 @@ export function computeNormal(out, dir) {
|
|
|
12
12
|
return vec2.set(out, -dir[1], dir[0]);
|
|
13
13
|
}
|
|
14
14
|
export function direction(out, a, b) {
|
|
15
|
+
// const a1 = aProjectFlat([a[0], a[1]]) as [number, number];
|
|
16
|
+
// const b1 = aProjectFlat([b[0], b[1]]) as [number, number];
|
|
15
17
|
vec2.sub(out, a, b);
|
|
16
18
|
vec2.normalize(out, out);
|
|
17
19
|
return out;
|
|
@@ -67,14 +69,14 @@ export default function (points, closed, indexOffset) {
|
|
|
67
69
|
var index = count;
|
|
68
70
|
var last = vec2.fromValues(points[i - 1][0], points[i - 1][1]);
|
|
69
71
|
var cur = vec2.fromValues(points[i][0], points[i][1]);
|
|
70
|
-
var next = i < points.length - 1 ? vec2.fromValues(points[i + 1][0], points[i + 1][1]) : null;
|
|
72
|
+
var next = i < points.length - 1 ? vec2.fromValues(points[i + 1][0], points[i + 1][1]) : null; // 如果当前点和前一点相同,跳过
|
|
71
73
|
|
|
72
74
|
if (isPointEqual(last, cur)) {
|
|
73
75
|
continue;
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
if (next) {
|
|
77
|
-
var nextIndex = i + 1;
|
|
79
|
+
var nextIndex = i + 1; // 找到不相同的下一点
|
|
78
80
|
|
|
79
81
|
while (next && isPointEqual(cur, next)) {
|
|
80
82
|
next = nextIndex < points.length - 1 ? vec2.fromValues(points[++nextIndex][0], points[nextIndex][1]) : null;
|
|
@@ -102,54 +104,70 @@ export default function (points, closed, indexOffset) {
|
|
|
102
104
|
extrusions(attrPos, out, miters, last, lineNormal, 1);
|
|
103
105
|
}
|
|
104
106
|
|
|
105
|
-
attrIndex.push(index + 0, index + 2, index + 1);
|
|
107
|
+
attrIndex.push(index + 0, index + 2, index + 1); // no miter, simple segment
|
|
106
108
|
|
|
107
109
|
if (!next) {
|
|
110
|
+
// reset normal
|
|
108
111
|
computeNormal(lineNormal, lineA);
|
|
109
112
|
extrusions(attrPos, out, miters, cur, lineNormal, 1);
|
|
110
113
|
attrDistance.push(d, d);
|
|
111
114
|
attrIndex.push(index + 1, index + 2, index + 3);
|
|
112
115
|
count += 2;
|
|
113
116
|
} else {
|
|
114
|
-
var flatNext = aProjectFlat([next[0], next[1]]);
|
|
115
|
-
|
|
116
|
-
|
|
117
|
+
var flatNext = aProjectFlat([next[0], next[1]]); // get unit dir of next line
|
|
118
|
+
|
|
119
|
+
direction(lineB, flatNext, flatCur); // stores tangent & miter
|
|
120
|
+
|
|
121
|
+
var miterLen = computeMiter(tangent, vec2.fromValues(miter[0], miter[1]), lineA, lineB, 1); // get orientation
|
|
122
|
+
|
|
117
123
|
var flip = vec2.dot(tangent, lineNormal) < 0 ? -1 : 1;
|
|
118
|
-
var bevel = Math.abs(miterLen) > miterLimit;
|
|
124
|
+
var bevel = Math.abs(miterLen) > miterLimit; // 处理前后两条线段重合的情况,这种情况不需要使用任何接头(miter/bevel)。
|
|
125
|
+
// 理论上这种情况下 miterLen = Infinity,本应通过 isFinite(miterLen) 判断,
|
|
126
|
+
// 但是 AMap 投影变换后丢失精度,只能通过一个阈值(1000)判断。
|
|
119
127
|
|
|
120
128
|
if (Math.abs(miterLen) > 1000) {
|
|
121
129
|
extrusions(attrPos, out, miters, cur, lineNormal, 1);
|
|
122
130
|
attrIndex.push(index + 1, index + 2, index + 3);
|
|
123
131
|
attrIndex.push(index + 2, index + 4, index + 3);
|
|
124
132
|
computeNormal(tmp, lineB);
|
|
125
|
-
vec2.copy(lineNormal, tmp);
|
|
133
|
+
vec2.copy(lineNormal, tmp); // store normal for next round
|
|
134
|
+
|
|
126
135
|
extrusions(attrPos, out, miters, cur, lineNormal, 1);
|
|
127
|
-
attrDistance.push(d, d, d, d);
|
|
136
|
+
attrDistance.push(d, d, d, d); // the miter is now the normal for our next join
|
|
137
|
+
|
|
128
138
|
count += 4;
|
|
129
139
|
continue;
|
|
130
140
|
}
|
|
131
141
|
|
|
132
142
|
if (bevel) {
|
|
133
|
-
miterLen = miterLimit;
|
|
143
|
+
miterLen = miterLimit; // next two points in our first segment
|
|
144
|
+
|
|
134
145
|
extrusions(attrPos, out, miters, cur, lineNormal, 1);
|
|
135
|
-
attrIndex.push(index + 1, index + 2, index + 3);
|
|
146
|
+
attrIndex.push(index + 1, index + 2, index + 3); // now add the bevel triangle
|
|
147
|
+
|
|
136
148
|
attrIndex.push.apply(attrIndex, _toConsumableArray(flip === 1 ? [index + 2, index + 4, index + 5] : [index + 4, index + 5, index + 3]));
|
|
137
149
|
computeNormal(tmp, lineB);
|
|
138
|
-
vec2.copy(lineNormal, tmp);
|
|
150
|
+
vec2.copy(lineNormal, tmp); // store normal for next round
|
|
151
|
+
|
|
139
152
|
extrusions(attrPos, out, miters, cur, lineNormal, 1);
|
|
140
|
-
attrDistance.push(d, d, d, d);
|
|
153
|
+
attrDistance.push(d, d, d, d); // the miter is now the normal for our next join
|
|
154
|
+
|
|
141
155
|
count += 4;
|
|
142
156
|
} else {
|
|
157
|
+
// next two points in our first segment
|
|
143
158
|
extrusions(attrPos, out, miters, cur, lineNormal, 1);
|
|
144
|
-
attrIndex.push(index + 1, index + 2, index + 3);
|
|
159
|
+
attrIndex.push(index + 1, index + 2, index + 3); // now add the miter triangles
|
|
160
|
+
|
|
145
161
|
addNext(out, miters, lineNormal, miterLen * -flip);
|
|
146
162
|
attrPos.push(cur[0], cur[1], 0);
|
|
147
163
|
attrIndex.push(index + 2, index + 4, index + 3);
|
|
148
164
|
attrIndex.push(index + 4, index + 5, index + 6);
|
|
149
165
|
computeNormal(tmp, lineB);
|
|
150
|
-
vec2.copy(lineNormal, tmp);
|
|
166
|
+
vec2.copy(lineNormal, tmp); // store normal for next round
|
|
167
|
+
|
|
151
168
|
extrusions(attrPos, out, miters, cur, lineNormal, 1);
|
|
152
|
-
attrDistance.push(d, d, d, d, d);
|
|
169
|
+
attrDistance.push(d, d, d, d, d); // the miter is now the normal for our next join
|
|
170
|
+
|
|
153
171
|
count += 5;
|
|
154
172
|
}
|
|
155
173
|
}
|
|
@@ -159,13 +177,15 @@ export default function (points, closed, indexOffset) {
|
|
|
159
177
|
|
|
160
178
|
for (var _i = 0; _i < miters.length; _i++) {
|
|
161
179
|
var totalDistance = attrDistance[attrDistance.length - 1];
|
|
162
|
-
pickData.push(attrPos[_i * 3], attrPos[_i * 3 + 1], attrPos[_i * 3 + 2], attrDistance[_i],
|
|
180
|
+
pickData.push(attrPos[_i * 3], attrPos[_i * 3 + 1], attrPos[_i * 3 + 2], attrDistance[_i], // dash
|
|
181
|
+
miters[_i], totalDistance // dash
|
|
182
|
+
);
|
|
163
183
|
}
|
|
164
184
|
|
|
165
185
|
return {
|
|
166
186
|
normals: out,
|
|
167
187
|
attrIndex: attrIndex,
|
|
168
|
-
attrPos: pickData
|
|
188
|
+
attrPos: pickData // [x,y,z, distance, miter ,t0tal ]
|
|
189
|
+
|
|
169
190
|
};
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=polylineNormal.js.map
|
|
191
|
+
} // [x,y,z, distance, miter ]
|
package/es/utils/simpleLine.js
CHANGED
|
@@ -10,12 +10,10 @@ export function direction(out, a, b) {
|
|
|
10
10
|
return out;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
var ExtrudePolyline = function () {
|
|
13
|
+
var ExtrudePolyline = /*#__PURE__*/function () {
|
|
14
14
|
function ExtrudePolyline() {
|
|
15
15
|
_classCallCheck(this, ExtrudePolyline);
|
|
16
16
|
|
|
17
|
-
_defineProperty(this, "complex", void 0);
|
|
18
|
-
|
|
19
17
|
_defineProperty(this, "started", false);
|
|
20
18
|
|
|
21
19
|
_defineProperty(this, "totalDistance", 0);
|
|
@@ -82,7 +80,8 @@ var ExtrudePolyline = function () {
|
|
|
82
80
|
}
|
|
83
81
|
}, {
|
|
84
82
|
key: "extrusions",
|
|
85
|
-
value: function extrusions(positions, point,
|
|
83
|
+
value: function extrusions(positions, point, // 顶点
|
|
84
|
+
distanceRadio) {
|
|
86
85
|
positions.push(point[0], point[1], point[2] | 0, distanceRadio, 0, point[2] | 0);
|
|
87
86
|
this.complex.indexes.push(this.currentIndex);
|
|
88
87
|
positions.push(point[0], point[1], point[2] | 0, distanceRadio, 0, point[2] | 0);
|
|
@@ -101,5 +100,4 @@ var ExtrudePolyline = function () {
|
|
|
101
100
|
return ExtrudePolyline;
|
|
102
101
|
}();
|
|
103
102
|
|
|
104
|
-
export { ExtrudePolyline as default };
|
|
105
|
-
//# sourceMappingURL=simpleLine.js.map
|
|
103
|
+
export { ExtrudePolyline as default };
|
|
@@ -4,6 +4,11 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
4
4
|
|
|
5
5
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* 返回文本相对锚点位置
|
|
9
|
+
* @param {string} anchor 锚点位置
|
|
10
|
+
* @return {alignment} alignment
|
|
11
|
+
*/
|
|
7
12
|
function getAnchorAlignment(anchor) {
|
|
8
13
|
var horizontalAlign = 0.5;
|
|
9
14
|
var verticalAlign = 0.5;
|
|
@@ -46,7 +51,8 @@ function getAnchorAlignment(anchor) {
|
|
|
46
51
|
horizontalAlign: horizontalAlign,
|
|
47
52
|
verticalAlign: verticalAlign
|
|
48
53
|
};
|
|
49
|
-
}
|
|
54
|
+
} // justify right = 1, left = 0, center = 0.5
|
|
55
|
+
|
|
50
56
|
|
|
51
57
|
function justifyLine(positionedGlyphs, glyphMap, start, end, justify) {
|
|
52
58
|
if (!justify) {
|
|
@@ -64,7 +70,10 @@ function justifyLine(positionedGlyphs, glyphMap, start, end, justify) {
|
|
|
64
70
|
positionedGlyphs[j].x -= lineIndent;
|
|
65
71
|
}
|
|
66
72
|
}
|
|
67
|
-
}
|
|
73
|
+
} // justify right=1 left=0 center=0.5
|
|
74
|
+
// horizontalAlign right=1 left=0 center=0.5
|
|
75
|
+
// verticalAlign right=1 left=0 center=0.5
|
|
76
|
+
|
|
68
77
|
|
|
69
78
|
function align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, lineCount) {
|
|
70
79
|
var shiftX = (justify - horizontalAlign) * maxLineLength;
|
|
@@ -87,6 +96,7 @@ function align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLin
|
|
|
87
96
|
}
|
|
88
97
|
|
|
89
98
|
function shapeLines(shaping, glyphMap, lines, lineHeight, textAnchor, textJustify, spacing) {
|
|
99
|
+
// buffer 为 4
|
|
90
100
|
var yOffset = -8;
|
|
91
101
|
var x = 0;
|
|
92
102
|
var y = yOffset;
|
|
@@ -105,12 +115,13 @@ function shapeLines(shaping, glyphMap, lines, lineHeight, textAnchor, textJustif
|
|
|
105
115
|
x: x,
|
|
106
116
|
y: y + baselineOffset,
|
|
107
117
|
vertical: false,
|
|
118
|
+
// TODO:目前只支持水平方向
|
|
108
119
|
scale: 1,
|
|
109
120
|
metrics: glyph
|
|
110
121
|
});
|
|
111
122
|
x += glyph.advance + spacing;
|
|
112
123
|
}
|
|
113
|
-
});
|
|
124
|
+
}); // 左右对齐
|
|
114
125
|
|
|
115
126
|
if (positionedGlyphs.length !== lineStartIndex) {
|
|
116
127
|
var lineLength = x - spacing;
|
|
@@ -126,7 +137,8 @@ function shapeLines(shaping, glyphMap, lines, lineHeight, textAnchor, textJustif
|
|
|
126
137
|
horizontalAlign = _getAnchorAlignment.horizontalAlign,
|
|
127
138
|
verticalAlign = _getAnchorAlignment.verticalAlign;
|
|
128
139
|
|
|
129
|
-
align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, lines.length);
|
|
140
|
+
align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, lines.length); // 计算包围盒
|
|
141
|
+
|
|
130
142
|
var height = y - yOffset;
|
|
131
143
|
shaping.top += -verticalAlign * height;
|
|
132
144
|
shaping.bottom = shaping.top - height;
|
|
@@ -135,6 +147,7 @@ function shapeLines(shaping, glyphMap, lines, lineHeight, textAnchor, textJustif
|
|
|
135
147
|
}
|
|
136
148
|
|
|
137
149
|
function shapeIconFont(shaping, glyphMap, iconfonts, lineHeight, textAnchor, textJustify, spacing) {
|
|
150
|
+
// buffer 为 4
|
|
138
151
|
var yOffset = -8;
|
|
139
152
|
var x = 0;
|
|
140
153
|
var y = yOffset;
|
|
@@ -149,14 +162,23 @@ function shapeIconFont(shaping, glyphMap, iconfonts, lineHeight, textAnchor, tex
|
|
|
149
162
|
if (glyph) {
|
|
150
163
|
positionedGlyphs.push({
|
|
151
164
|
glyph: iconfont,
|
|
165
|
+
// x,
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* iconfont
|
|
169
|
+
* 在计算大小的时候计算的是 unicode 字符 如 
|
|
170
|
+
* 在布局计算 icon 位置的时候应该始终保持居中(且 icon 只占一个字符的位置)
|
|
171
|
+
*/
|
|
152
172
|
x: glyph.advance / 2,
|
|
153
173
|
y: y + baselineOffset,
|
|
154
174
|
vertical: false,
|
|
175
|
+
// TODO:目前只支持水平方向
|
|
155
176
|
scale: 1,
|
|
156
177
|
metrics: glyph
|
|
157
178
|
});
|
|
158
179
|
x += glyph.advance + spacing;
|
|
159
|
-
}
|
|
180
|
+
} // 左右对齐
|
|
181
|
+
|
|
160
182
|
|
|
161
183
|
if (positionedGlyphs.length !== lineStartIndex) {
|
|
162
184
|
var lineLength = x - spacing;
|
|
@@ -172,17 +194,33 @@ function shapeIconFont(shaping, glyphMap, iconfonts, lineHeight, textAnchor, tex
|
|
|
172
194
|
horizontalAlign = _getAnchorAlignment2.horizontalAlign,
|
|
173
195
|
verticalAlign = _getAnchorAlignment2.verticalAlign;
|
|
174
196
|
|
|
175
|
-
align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, iconfonts.length);
|
|
197
|
+
align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, iconfonts.length); // 计算包围盒
|
|
198
|
+
|
|
176
199
|
var height = y - yOffset;
|
|
177
200
|
shaping.top += -verticalAlign * height;
|
|
178
201
|
shaping.bottom = shaping.top - height;
|
|
179
202
|
shaping.left += -horizontalAlign * maxLineLength;
|
|
180
203
|
shaping.right = shaping.left + maxLineLength;
|
|
181
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* 计算文本中每个独立字符相对锚点的位置
|
|
207
|
+
*
|
|
208
|
+
* @param {string} text 原始文本
|
|
209
|
+
* @param {*} glyphs mapping
|
|
210
|
+
* @param {number} lineHeight 行高
|
|
211
|
+
* @param {string} textAnchor 文本相对于锚点的位置
|
|
212
|
+
* @param {string} textJustify 左右对齐
|
|
213
|
+
* @param {number} spacing 字符间距
|
|
214
|
+
* @param {[number, number]} translate 文本水平 & 垂直偏移量
|
|
215
|
+
* @param {[boolean]} isIconFont 是否是 iconfont
|
|
216
|
+
* @return {boolean|shaping} 每个字符相对于锚点的位置
|
|
217
|
+
*/
|
|
218
|
+
|
|
182
219
|
|
|
183
220
|
export function shapeText(text, glyphs, lineHeight, textAnchor, textJustify, spacing) {
|
|
184
221
|
var translate = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [0, 0];
|
|
185
222
|
var isIconFont = arguments.length > 7 ? arguments[7] : undefined;
|
|
223
|
+
// TODO:处理换行
|
|
186
224
|
var lines = text.split('\n');
|
|
187
225
|
var positionedGlyphs = [];
|
|
188
226
|
var shaping = {
|
|
@@ -215,7 +253,8 @@ export function getGlyphQuads(shaping) {
|
|
|
215
253
|
try {
|
|
216
254
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
217
255
|
var positionedGlyph = _step2.value;
|
|
218
|
-
var rect = positionedGlyph.metrics;
|
|
256
|
+
var rect = positionedGlyph.metrics; // The rects have an addditional buffer that is not included in their size.
|
|
257
|
+
|
|
219
258
|
var rectBuffer = 4;
|
|
220
259
|
var halfAdvance = rect.advance * positionedGlyph.scale / 2;
|
|
221
260
|
var glyphOffset = alongLine ? [positionedGlyph.x + halfAdvance, positionedGlyph.y] : [0, 0];
|
|
@@ -239,7 +278,8 @@ export function getGlyphQuads(shaping) {
|
|
|
239
278
|
var br = {
|
|
240
279
|
x: x2,
|
|
241
280
|
y: y2
|
|
242
|
-
};
|
|
281
|
+
}; // TODO:处理字符旋转的情况
|
|
282
|
+
|
|
243
283
|
quads.push({
|
|
244
284
|
tl: tl,
|
|
245
285
|
tr: tr,
|
|
@@ -256,5 +296,4 @@ export function getGlyphQuads(shaping) {
|
|
|
256
296
|
}
|
|
257
297
|
|
|
258
298
|
return quads;
|
|
259
|
-
}
|
|
260
|
-
//# sourceMappingURL=symbol-layout.js.map
|
|
299
|
+
}
|
package/es/utils/updateShape.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// TODO: shapeUpdateList 存储一系列的 shape 类型
|
|
2
|
+
// 当这一系列的 shape 相互切换的时候需要重构 layer 的 model (顶点数据集)
|
|
3
|
+
var shapeUpdateList = [// PointLayer
|
|
4
|
+
['circle', 'cylinder'], ['square', 'cylinder'], ['triangle', 'cylinder'], ['pentagon', 'cylinder'], ['hexagon', 'cylinder'], ['octogon', 'cylinder'], ['hexagram', 'cylinder'], ['rhombus', 'cylinder'], ['vesica', 'cylinder']];
|
|
2
5
|
export function updateShape(layer, lastShape, currentShape) {
|
|
3
6
|
if (typeof lastShape === 'string' && typeof currentShape === 'string' && lastShape !== currentShape) {
|
|
4
7
|
if (layer.type === 'PointLayer') {
|
|
@@ -8,10 +11,10 @@ export function updateShape(layer, lastShape, currentShape) {
|
|
|
8
11
|
|
|
9
12
|
shapeUpdateList.map(function (shapes) {
|
|
10
13
|
if (shapes.includes(lastShape) && shapes.includes(currentShape)) {
|
|
14
|
+
// TODO: dataSourceNeedUpdate 借用数据更新时更新 layer model 的工作流
|
|
11
15
|
layer.dataState.dataSourceNeedUpdate = true;
|
|
12
16
|
return;
|
|
13
17
|
}
|
|
14
18
|
});
|
|
15
19
|
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=updateShape.js.map
|
|
20
|
+
}
|
package/es/wind/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 WindModels from
|
|
13
|
+
import BaseLayer from "../core/BaseLayer";
|
|
14
|
+
import WindModels from "./models";
|
|
15
15
|
|
|
16
|
-
var WindLayer = function (_BaseLayer) {
|
|
16
|
+
var WindLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
17
17
|
_inherits(WindLayer, _BaseLayer);
|
|
18
18
|
|
|
19
19
|
var _super = _createSuper(WindLayer);
|
|
@@ -60,7 +60,7 @@ var WindLayer = function (_BaseLayer) {
|
|
|
60
60
|
key: "renderModels",
|
|
61
61
|
value: function renderModels() {
|
|
62
62
|
if (this.layerModel) {
|
|
63
|
-
this.layerModel.render();
|
|
63
|
+
this.layerModel.render(); // 独立的渲染流程
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
return this;
|
|
@@ -97,5 +97,4 @@ var WindLayer = function (_BaseLayer) {
|
|
|
97
97
|
return WindLayer;
|
|
98
98
|
}(BaseLayer);
|
|
99
99
|
|
|
100
|
-
export { WindLayer as default };
|
|
101
|
-
//# sourceMappingURL=index.js.map
|
|
100
|
+
export { WindLayer as default };
|
package/es/wind/models/index.js
CHANGED
package/es/wind/models/utils.js
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
export function createProgram(gl, vshader, fshader) {
|
|
2
|
-
|
|
3
|
-
var
|
|
2
|
+
// Create shader object
|
|
3
|
+
var vertexShader = loadShader(gl, gl.VERTEX_SHADER, vshader); // 创建顶点着色器对象
|
|
4
|
+
|
|
5
|
+
var fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fshader); // 创建片元着色器对象
|
|
4
6
|
|
|
5
7
|
if (!vertexShader || !fragmentShader) {
|
|
6
8
|
return null;
|
|
7
|
-
}
|
|
9
|
+
} // Create a program object
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
|
|
12
|
+
var program = gl.createProgram(); // 创建程序对象
|
|
10
13
|
|
|
11
14
|
if (!program) {
|
|
12
15
|
return null;
|
|
13
|
-
}
|
|
16
|
+
} // Attach the shader objects
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
gl.attachShader(program, vertexShader); // 绑定着色器对象
|
|
20
|
+
|
|
21
|
+
gl.attachShader(program, fragmentShader); // Link the program object
|
|
14
22
|
|
|
15
|
-
gl.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var linked = gl.getProgramParameter(program, gl.LINK_STATUS);
|
|
23
|
+
gl.linkProgram(program); // 链接着色器对象
|
|
24
|
+
// Check the result of linking
|
|
25
|
+
|
|
26
|
+
var linked = gl.getProgramParameter(program, gl.LINK_STATUS); // 判断着色器对象是否链接成功
|
|
19
27
|
|
|
20
28
|
if (!linked) {
|
|
21
29
|
var error = gl.getProgramInfoLog(program);
|
|
@@ -29,32 +37,43 @@ export function createProgram(gl, vshader, fshader) {
|
|
|
29
37
|
var numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
|
|
30
38
|
|
|
31
39
|
for (var i = 0; i < numAttributes; i++) {
|
|
32
|
-
var attribute = gl.getActiveAttrib(program, i);
|
|
40
|
+
var attribute = gl.getActiveAttrib(program, i); // @ts-ignore
|
|
41
|
+
|
|
33
42
|
program[attribute.name] = gl.getAttribLocation(program, attribute.name);
|
|
34
43
|
}
|
|
35
44
|
|
|
36
45
|
var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
|
|
37
46
|
|
|
38
47
|
for (var i$1 = 0; i$1 < numUniforms; i$1++) {
|
|
39
|
-
var uniform = gl.getActiveUniform(program, i$1);
|
|
48
|
+
var uniform = gl.getActiveUniform(program, i$1); // @ts-ignore
|
|
49
|
+
|
|
40
50
|
program[uniform.name] = gl.getUniformLocation(program, uniform.name);
|
|
41
|
-
}
|
|
51
|
+
} // @ts-ignore
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
program.vertexShader = vertexShader; // @ts-ignore
|
|
42
55
|
|
|
43
|
-
program.vertexShader = vertexShader;
|
|
44
56
|
program.fragmentShader = fragmentShader;
|
|
45
57
|
return program;
|
|
46
58
|
}
|
|
47
59
|
export function loadShader(gl, type, source) {
|
|
48
|
-
|
|
60
|
+
// Create shader object
|
|
61
|
+
var shader = gl.createShader(type); // 生成着色器对象
|
|
49
62
|
|
|
50
63
|
if (shader == null) {
|
|
51
64
|
console.warn('unable to create shader');
|
|
52
65
|
return null;
|
|
53
|
-
}
|
|
66
|
+
} // Set the shader program
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
gl.shaderSource(shader, source); // 载入着色器
|
|
70
|
+
// Compile the shader
|
|
71
|
+
|
|
72
|
+
gl.compileShader(shader); // 编译着色器代码
|
|
73
|
+
// Check the result of compilation
|
|
54
74
|
|
|
55
|
-
gl.
|
|
56
|
-
gl.
|
|
57
|
-
var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
|
|
75
|
+
var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS); // 判断着色器对象是否生成成功
|
|
76
|
+
// gl.SHADER_TYPE、gl.DELETE_STATUS、gl.COMPILE_STATUS
|
|
58
77
|
|
|
59
78
|
if (!compiled) {
|
|
60
79
|
var error = gl.getShaderInfoLog(shader);
|
|
@@ -104,8 +123,10 @@ export function bindAttriBuffer(gl, attrName, vertices, count, program) {
|
|
|
104
123
|
console.warn('failed create vertex buffer');
|
|
105
124
|
}
|
|
106
125
|
|
|
107
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
108
|
-
|
|
126
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, buffer); // 将缓冲区对象绑定到目标
|
|
127
|
+
|
|
128
|
+
gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW); // 向缓冲区对象中写入数据
|
|
129
|
+
|
|
109
130
|
var attr = gl.getAttribLocation(program, attrName);
|
|
110
131
|
gl.vertexAttribPointer(attr, count, gl.FLOAT, false, 0, 0);
|
|
111
132
|
gl.enableVertexAttribArray(attr);
|
|
@@ -158,7 +179,8 @@ export function setUnifrom(gl, location, data, vec) {
|
|
|
158
179
|
break;
|
|
159
180
|
|
|
160
181
|
case 'bool':
|
|
161
|
-
gl.uniform1i(location, data);
|
|
182
|
+
gl.uniform1i(location, data); // 1 - true 0 - false
|
|
183
|
+
|
|
162
184
|
break;
|
|
163
185
|
|
|
164
186
|
case 'sampler2d':
|
|
@@ -180,9 +202,12 @@ export function initFramebuffer(gl) {
|
|
|
180
202
|
gl.bindRenderbuffer(gl.RENDERBUFFER, depthbuffer);
|
|
181
203
|
gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, OFFER_SCREEN_WIDTH, OFFER_SCREEN_HEIGHT);
|
|
182
204
|
gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthbuffer);
|
|
183
|
-
var texture = gl.createTexture();
|
|
184
|
-
|
|
185
|
-
FRAMEBUFFER.
|
|
205
|
+
var texture = gl.createTexture(); // @ts-ignore
|
|
206
|
+
|
|
207
|
+
FRAMEBUFFER.texture = texture; // @ts-ignore
|
|
208
|
+
|
|
209
|
+
FRAMEBUFFER.width = OFFER_SCREEN_WIDTH; // @ts-ignore
|
|
210
|
+
|
|
186
211
|
FRAMEBUFFER.height = OFFER_SCREEN_HEIGHT;
|
|
187
212
|
gl.bindTexture(gl.TEXTURE_2D, texture);
|
|
188
213
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
|
|
@@ -198,5 +223,4 @@ export function initFramebuffer(gl) {
|
|
|
198
223
|
OFFER_SCREEN_WIDTH: OFFER_SCREEN_WIDTH,
|
|
199
224
|
OFFER_SCREEN_HEIGHT: OFFER_SCREEN_HEIGHT
|
|
200
225
|
};
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=utils.js.map
|
|
226
|
+
}
|
package/es/wind/models/wind.js
CHANGED
|
@@ -12,11 +12,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
12
12
|
|
|
13
13
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
14
14
|
import { FrequencyController } from '@antv/l7-utils';
|
|
15
|
-
import BaseModel from
|
|
16
|
-
import { RasterImageTriangulation } from
|
|
15
|
+
import BaseModel from "../../core/BaseModel";
|
|
16
|
+
import { RasterImageTriangulation } from "../../core/triangulation";
|
|
17
|
+
|
|
18
|
+
/* babel-plugin-inline-import '../shaders/wind_frag.glsl' */
|
|
17
19
|
var WindFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nvoid main() {\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n gl_FragColor = color;\n gl_FragColor.a *= u_opacity;\n}\n";
|
|
20
|
+
|
|
21
|
+
/* babel-plugin-inline-import '../shaders/wind_vert.glsl' */
|
|
18
22
|
var WindVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 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 } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
|
|
19
|
-
import { Wind } from
|
|
23
|
+
import { Wind } from "./windRender";
|
|
20
24
|
var defaultRampColors = {
|
|
21
25
|
0.0: '#3288bd',
|
|
22
26
|
0.1: '#66c2a5',
|
|
@@ -28,7 +32,7 @@ var defaultRampColors = {
|
|
|
28
32
|
1.0: '#d53e4f'
|
|
29
33
|
};
|
|
30
34
|
|
|
31
|
-
var WindModel = function (_BaseModel) {
|
|
35
|
+
var WindModel = /*#__PURE__*/function (_BaseModel) {
|
|
32
36
|
_inherits(WindModel, _BaseModel);
|
|
33
37
|
|
|
34
38
|
var _super = _createSuper(WindModel);
|
|
@@ -44,20 +48,10 @@ var WindModel = function (_BaseModel) {
|
|
|
44
48
|
|
|
45
49
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
46
50
|
|
|
47
|
-
_defineProperty(_assertThisInitialized(_this), "texture", void 0);
|
|
48
|
-
|
|
49
|
-
_defineProperty(_assertThisInitialized(_this), "colorModel", void 0);
|
|
50
|
-
|
|
51
|
-
_defineProperty(_assertThisInitialized(_this), "wind", void 0);
|
|
52
|
-
|
|
53
|
-
_defineProperty(_assertThisInitialized(_this), "imageCoords", void 0);
|
|
54
|
-
|
|
55
51
|
_defineProperty(_assertThisInitialized(_this), "sizeScale", 0.5);
|
|
56
52
|
|
|
57
53
|
_defineProperty(_assertThisInitialized(_this), "frequency", new FrequencyController(7.2));
|
|
58
54
|
|
|
59
|
-
_defineProperty(_assertThisInitialized(_this), "cacheZoom", void 0);
|
|
60
|
-
|
|
61
55
|
return _this;
|
|
62
56
|
}
|
|
63
57
|
|
|
@@ -66,6 +60,7 @@ var WindModel = function (_BaseModel) {
|
|
|
66
60
|
value: function render() {
|
|
67
61
|
var _this2 = this;
|
|
68
62
|
|
|
63
|
+
// Tip: 控制风场的平均更新频率
|
|
69
64
|
this.frequency.run(function () {
|
|
70
65
|
_this2.drawWind();
|
|
71
66
|
});
|
|
@@ -138,7 +133,7 @@ var WindModel = function (_BaseModel) {
|
|
|
138
133
|
dropRateBump: dropRateBump,
|
|
139
134
|
rampColors: rampColors
|
|
140
135
|
};
|
|
141
|
-
_this3.wind = new Wind(options);
|
|
136
|
+
_this3.wind = new Wind(options); // imageData[0] 风场图
|
|
142
137
|
|
|
143
138
|
_this3.wind.setWind({
|
|
144
139
|
uMin: uMin,
|
|
@@ -217,12 +212,14 @@ var WindModel = function (_BaseModel) {
|
|
|
217
212
|
}, {
|
|
218
213
|
key: "registerBuiltinAttributes",
|
|
219
214
|
value: function registerBuiltinAttributes() {
|
|
215
|
+
// point layer size;
|
|
220
216
|
this.styleAttributeService.registerStyleAttribute({
|
|
221
217
|
name: 'uv',
|
|
222
218
|
type: AttributeType.Attribute,
|
|
223
219
|
descriptor: {
|
|
224
220
|
name: 'a_Uv',
|
|
225
221
|
buffer: {
|
|
222
|
+
// give the WebGL driver a hint that this buffer may change
|
|
226
223
|
usage: gl.DYNAMIC_DRAW,
|
|
227
224
|
data: [],
|
|
228
225
|
type: gl.FLOAT
|
|
@@ -294,7 +291,8 @@ var WindModel = function (_BaseModel) {
|
|
|
294
291
|
var _this$wind$draw = this.wind.draw(),
|
|
295
292
|
d = _this$wind$draw.d,
|
|
296
293
|
w = _this$wind$draw.w,
|
|
297
|
-
h = _this$wind$draw.h;
|
|
294
|
+
h = _this$wind$draw.h; // TODO: 恢复 L7 渲染流程中 gl 状态
|
|
295
|
+
|
|
298
296
|
|
|
299
297
|
this.rendererService.setBaseState();
|
|
300
298
|
this.texture.update({
|
|
@@ -330,5 +328,4 @@ var WindModel = function (_BaseModel) {
|
|
|
330
328
|
return WindModel;
|
|
331
329
|
}(BaseModel);
|
|
332
330
|
|
|
333
|
-
export { WindModel as default };
|
|
334
|
-
//# sourceMappingURL=wind.js.map
|
|
331
|
+
export { WindModel as default };
|