@antv/l7-layers 2.9.20 → 2.9.22
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.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 +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.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 +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 +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 -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 +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/utils/grid-index.js
CHANGED
|
@@ -8,30 +8,16 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
8
8
|
|
|
9
9
|
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; }
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* 网格索引,相比 @mapbox/grid-index,在简单计算碰撞检测结果时效率更高
|
|
13
|
+
* @see https://zhuanlan.zhihu.com/p/74373214
|
|
14
|
+
*/
|
|
15
|
+
var GridIndex = /*#__PURE__*/function () {
|
|
12
16
|
function GridIndex(width, height, cellSize) {
|
|
13
17
|
_classCallCheck(this, GridIndex);
|
|
14
18
|
|
|
15
19
|
_defineProperty(this, "boxCells", []);
|
|
16
20
|
|
|
17
|
-
_defineProperty(this, "xCellCount", void 0);
|
|
18
|
-
|
|
19
|
-
_defineProperty(this, "yCellCount", void 0);
|
|
20
|
-
|
|
21
|
-
_defineProperty(this, "boxKeys", void 0);
|
|
22
|
-
|
|
23
|
-
_defineProperty(this, "bboxes", void 0);
|
|
24
|
-
|
|
25
|
-
_defineProperty(this, "width", void 0);
|
|
26
|
-
|
|
27
|
-
_defineProperty(this, "height", void 0);
|
|
28
|
-
|
|
29
|
-
_defineProperty(this, "xScale", void 0);
|
|
30
|
-
|
|
31
|
-
_defineProperty(this, "yScale", void 0);
|
|
32
|
-
|
|
33
|
-
_defineProperty(this, "boxUid", void 0);
|
|
34
|
-
|
|
35
21
|
var boxCells = this.boxCells;
|
|
36
22
|
this.xCellCount = Math.ceil(width / cellSize);
|
|
37
23
|
this.yCellCount = Math.ceil(height / cellSize);
|
|
@@ -84,6 +70,7 @@ var GridIndex = function () {
|
|
|
84
70
|
var result = [];
|
|
85
71
|
|
|
86
72
|
if (x1 <= 0 && y1 <= 0 && this.width <= x2 && this.height <= y2) {
|
|
73
|
+
// 这一步是高效的关键,后续精确碰撞检测结果在计算文本可见性时并不需要
|
|
87
74
|
if (hitTest) {
|
|
88
75
|
return true;
|
|
89
76
|
}
|
|
@@ -189,5 +176,4 @@ var GridIndex = function () {
|
|
|
189
176
|
return GridIndex;
|
|
190
177
|
}();
|
|
191
178
|
|
|
192
|
-
export default GridIndex;
|
|
193
|
-
//# sourceMappingURL=grid-index.js.map
|
|
179
|
+
export default GridIndex;
|
package/es/utils/layerData.js
CHANGED
|
@@ -12,21 +12,34 @@ function getArrowPoints(p1, p2) {
|
|
|
12
12
|
function adjustData2Amap2Coordinates(mappedData, mapService) {
|
|
13
13
|
var _this = this;
|
|
14
14
|
|
|
15
|
+
// 根据地图的类型判断是否需要对点位数据进行处理, 若是高德2.0则需要对坐标进行相对偏移
|
|
15
16
|
if (mappedData.length > 0 && mapService.version === Version['GAODE2.x']) {
|
|
16
17
|
if (typeof mappedData[0].coordinates[0] === 'number') {
|
|
17
|
-
|
|
18
|
+
// 单个的点数据
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
|
|
21
|
+
.filter(function (d) {
|
|
18
22
|
return !d.originCoordinates;
|
|
19
23
|
}).map(function (d) {
|
|
20
|
-
d.version = Version['GAODE2.x'];
|
|
21
|
-
|
|
24
|
+
d.version = Version['GAODE2.x']; // @ts-ignore
|
|
25
|
+
|
|
26
|
+
d.originCoordinates = cloneDeep(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
|
|
22
29
|
d.coordinates = _this.mapService.lngLatToCoord(d.coordinates);
|
|
23
30
|
});
|
|
24
31
|
} else {
|
|
25
|
-
|
|
32
|
+
// 连续的线、面数据
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
|
|
35
|
+
.filter(function (d) {
|
|
26
36
|
return !d.originCoordinates;
|
|
27
37
|
}).map(function (d) {
|
|
28
|
-
d.version = Version['GAODE2.x'];
|
|
29
|
-
|
|
38
|
+
d.version = Version['GAODE2.x']; // @ts-ignore
|
|
39
|
+
|
|
40
|
+
d.originCoordinates = cloneDeep(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
|
|
30
43
|
d.coordinates = _this.mapService.lngLatToCoords(d.coordinates);
|
|
31
44
|
});
|
|
32
45
|
}
|
|
@@ -50,20 +63,27 @@ function unProjectCoordinates(coordinates, mapService) {
|
|
|
50
63
|
}
|
|
51
64
|
|
|
52
65
|
if (coordinates[0] && coordinates[0][0] instanceof Array) {
|
|
66
|
+
// @ts-ignore
|
|
53
67
|
var coords = [];
|
|
54
68
|
coordinates.map(function (coord) {
|
|
69
|
+
// @ts-ignore
|
|
55
70
|
var c1 = [];
|
|
56
71
|
coord.map(function (co) {
|
|
57
72
|
c1.push(mapService.simpleMapCoord.unproject(co));
|
|
58
|
-
});
|
|
73
|
+
}); // @ts-ignore
|
|
74
|
+
|
|
59
75
|
coords.push(c1);
|
|
60
|
-
});
|
|
76
|
+
}); // @ts-ignore
|
|
77
|
+
|
|
61
78
|
return coords;
|
|
62
79
|
} else {
|
|
63
|
-
|
|
80
|
+
// @ts-ignore
|
|
81
|
+
var _coords = []; // @ts-ignore
|
|
82
|
+
|
|
64
83
|
coordinates.map(function (coord) {
|
|
65
84
|
_coords.push(mapService.simpleMapCoord.unproject(coord));
|
|
66
|
-
});
|
|
85
|
+
}); // @ts-ignore
|
|
86
|
+
|
|
67
87
|
return _coords;
|
|
68
88
|
}
|
|
69
89
|
}
|
|
@@ -83,6 +103,7 @@ function applyAttributeMapping(attribute, record, minimumColor) {
|
|
|
83
103
|
var field = _ref.field;
|
|
84
104
|
|
|
85
105
|
if (record.hasOwnProperty(field) || ((_attribute$scale2 = attribute.scale) === null || _attribute$scale2 === void 0 ? void 0 : _attribute$scale2.type) === 'variable') {
|
|
106
|
+
// TODO:多字段,常量
|
|
86
107
|
params.push(record[field]);
|
|
87
108
|
}
|
|
88
109
|
});
|
|
@@ -111,15 +132,16 @@ function mapping(attributes, data, fontService, mapService, minimumColor, layer)
|
|
|
111
132
|
return attribute.scale !== undefined;
|
|
112
133
|
}).forEach(function (attribute) {
|
|
113
134
|
var values = applyAttributeMapping(attribute, record, minimumColor);
|
|
114
|
-
attribute.needRemapping = false;
|
|
135
|
+
attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
|
|
115
136
|
|
|
116
137
|
if (attribute.name === 'color') {
|
|
117
138
|
values = values.map(function (c) {
|
|
118
139
|
return rgb2arr(c);
|
|
119
140
|
});
|
|
120
|
-
}
|
|
141
|
+
} // @ts-ignore
|
|
142
|
+
|
|
121
143
|
|
|
122
|
-
encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values;
|
|
144
|
+
encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values; // 增加对 layer/text/iconfont unicode 映射的解析
|
|
123
145
|
|
|
124
146
|
if (attribute.name === 'shape') {
|
|
125
147
|
encodeRecord.shape = fontService.getIconFontKey(encodeRecord[attribute.name]);
|
|
@@ -127,14 +149,17 @@ function mapping(attributes, data, fontService, mapService, minimumColor, layer)
|
|
|
127
149
|
});
|
|
128
150
|
|
|
129
151
|
if (encodeRecord.shape === 'line' && arrow.enable) {
|
|
152
|
+
// 只有在线图层且支持配置箭头的时候进行插入顶点的处理
|
|
130
153
|
var coords = encodeRecord.coordinates;
|
|
131
154
|
var arrowPoint = getArrowPoints(coords[0], coords[1]);
|
|
132
155
|
encodeRecord.coordinates.splice(1, 0, arrowPoint, arrowPoint);
|
|
133
156
|
}
|
|
134
157
|
|
|
135
158
|
return encodeRecord;
|
|
136
|
-
});
|
|
137
|
-
|
|
159
|
+
}); // 调整数据兼容 Amap2.0
|
|
160
|
+
|
|
161
|
+
adjustData2Amap2Coordinates(mappedData, mapService); // 调整数据兼容 SimpleCoordinates
|
|
162
|
+
|
|
138
163
|
adjustData2SimpleCoordinates(mappedData, mapService);
|
|
139
164
|
return mappedData;
|
|
140
165
|
}
|
|
@@ -148,5 +173,4 @@ export function calculateData(layer, fontService, mapService, styleAttributeServ
|
|
|
148
173
|
var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, bottomColor, layer);
|
|
149
174
|
source.destroy();
|
|
150
175
|
return mappedEncodeData;
|
|
151
|
-
}
|
|
152
|
-
//# sourceMappingURL=layerData.js.map
|
|
176
|
+
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 'blurH' -> ['blurH', {}]
|
|
5
|
+
*/
|
|
2
6
|
export function normalizePasses(passes) {
|
|
3
7
|
return passes.map(function (pass) {
|
|
4
8
|
if (typeof pass === 'string') {
|
|
@@ -8,18 +12,30 @@ export function normalizePasses(passes) {
|
|
|
8
12
|
return pass;
|
|
9
13
|
});
|
|
10
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* 默认添加 ClearPass、RenderPass
|
|
17
|
+
* 以及 PostProcessing 中的最后一个 CopyPass
|
|
18
|
+
*/
|
|
19
|
+
|
|
11
20
|
export function createMultiPassRenderer(layer, passes, postProcessingPassFactory, normalPassFactory) {
|
|
12
21
|
var multiPassRenderer = layer.multiPassRenderer;
|
|
13
22
|
|
|
14
23
|
var _layer$getLayerConfig = layer.getLayerConfig(),
|
|
15
24
|
enablePicking = _layer$getLayerConfig.enablePicking,
|
|
16
|
-
enableTAA = _layer$getLayerConfig.enableTAA;
|
|
25
|
+
enableTAA = _layer$getLayerConfig.enableTAA; // picking pass if enabled
|
|
26
|
+
// if (enablePicking) {
|
|
27
|
+
// multiPassRenderer.add(normalPassFactory('pixelPicking'));
|
|
28
|
+
// }
|
|
29
|
+
// use TAA pass if enabled instead of render pass
|
|
30
|
+
|
|
17
31
|
|
|
18
32
|
if (enableTAA) {
|
|
19
33
|
multiPassRenderer.add(normalPassFactory('taa'));
|
|
20
34
|
} else {
|
|
35
|
+
// render all layers in this pass
|
|
21
36
|
multiPassRenderer.add(normalPassFactory('render'));
|
|
22
|
-
}
|
|
37
|
+
} // post processing
|
|
38
|
+
|
|
23
39
|
|
|
24
40
|
normalizePasses(passes).forEach(function (pass) {
|
|
25
41
|
var _pass = _slicedToArray(pass, 2),
|
|
@@ -27,8 +43,8 @@ export function createMultiPassRenderer(layer, passes, postProcessingPassFactory
|
|
|
27
43
|
initializationOptions = _pass[1];
|
|
28
44
|
|
|
29
45
|
multiPassRenderer.add(postProcessingPassFactory(passName), initializationOptions);
|
|
30
|
-
});
|
|
46
|
+
}); // 末尾为固定的 CopyPass
|
|
47
|
+
|
|
31
48
|
multiPassRenderer.add(postProcessingPassFactory('copy'));
|
|
32
49
|
return multiPassRenderer;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=multiPassRender.js.map
|
|
50
|
+
}
|
|
@@ -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