@antv/l7-layers 2.16.1 → 2.16.2
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 +9 -31
- package/es/Geometry/models/billboard.js +51 -89
- package/es/Geometry/models/plane.js +81 -143
- package/es/Geometry/models/sprite.js +60 -118
- package/es/canvas/index.js +10 -33
- package/es/canvas/models/canvas.js +41 -97
- package/es/citybuliding/building.js +8 -27
- package/es/citybuliding/models/build.js +57 -82
- package/es/core/BaseLayer.d.ts +3 -0
- package/es/core/BaseLayer.js +360 -528
- package/es/core/BaseModel.d.ts +9 -71
- package/es/core/BaseModel.js +118 -429
- package/es/core/CommonStyleAttribute.d.ts +2 -0
- package/es/core/CommonStyleAttribute.js +66 -0
- package/es/core/LayerPickService.js +21 -32
- package/es/core/TextureService.js +0 -13
- package/es/core/interface.d.ts +13 -3
- package/es/core/interface.js +17 -24
- package/es/core/shape/Path.js +13 -20
- package/es/core/shape/extrude.js +27 -36
- package/es/core/triangulation.d.ts +12 -0
- package/es/core/triangulation.js +124 -114
- package/es/earth/index.js +9 -33
- package/es/earth/models/atmosphere.js +30 -54
- package/es/earth/models/base.js +47 -85
- package/es/earth/models/bloomsphere.js +30 -54
- package/es/earth/utils.js +9 -13
- package/es/heatmap/index.js +10 -40
- package/es/heatmap/models/grid.js +29 -53
- package/es/heatmap/models/grid3d.js +29 -53
- package/es/heatmap/models/heatmap.d.ts +1 -0
- package/es/heatmap/models/heatmap.js +99 -150
- package/es/heatmap/models/hexagon.js +29 -53
- package/es/heatmap/shaders/grid_vert.glsl +2 -2
- package/es/heatmap/shaders/hexagon_3d_vert.glsl +2 -2
- package/es/heatmap/shaders/hexagon_vert.glsl +2 -2
- package/es/heatmap/triangulation.js +0 -4
- package/es/image/index.js +9 -28
- package/es/image/models/image.js +66 -100
- package/es/index.js +9 -17
- package/es/line/index.d.ts +1 -0
- package/es/line/index.js +12 -36
- package/es/line/models/arc.js +72 -160
- package/es/line/models/arc_3d.js +67 -148
- package/es/line/models/earthArc_3d.js +66 -148
- package/es/line/models/{half.d.ts → flow.d.ts} +1 -11
- package/es/line/models/flow.js +167 -0
- package/es/line/models/great_circle.js +57 -135
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +3 -3
- package/es/line/models/line.js +98 -186
- package/es/line/models/linearline.js +46 -115
- package/es/line/models/simpleLine.d.ts +0 -1
- package/es/line/models/simpleLine.js +42 -114
- package/es/line/models/wall.js +52 -92
- package/es/line/shaders/dash/arc_dash_frag.glsl +3 -6
- package/es/line/shaders/dash/arc_dash_vert.glsl +6 -46
- package/es/line/shaders/dash/line_dash_frag.glsl +4 -7
- package/es/line/shaders/dash/line_dash_vert.glsl +3 -33
- package/es/line/shaders/flow/flow_line_frag.glsl +13 -0
- package/es/line/shaders/flow/flow_line_vert.glsl +83 -0
- package/es/line/shaders/line_arc_3d_frag.glsl +6 -6
- package/es/line/shaders/line_arc_3d_vert.glsl +4 -34
- package/es/line/shaders/line_arc_frag.glsl +7 -11
- package/es/line/shaders/line_arc_great_circle_frag.glsl +5 -6
- package/es/line/shaders/line_arc_great_circle_vert.glsl +4 -32
- package/es/line/shaders/line_arc_vert.glsl +9 -45
- package/es/line/shaders/line_frag.glsl +15 -17
- package/es/line/shaders/line_vert.glsl +3 -34
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +5 -19
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +9 -48
- package/es/line/shaders/linear/arc_linear_frag.glsl +2 -30
- package/es/line/shaders/linear/arc_linear_vert.glsl +9 -45
- package/es/line/shaders/linear/line_linear_frag.glsl +5 -6
- package/es/line/shaders/linearLine/line_linear_frag.glsl +2 -14
- package/es/line/shaders/linearLine/line_linear_vert.glsl +14 -32
- package/es/line/shaders/simple/simpleline_frag.glsl +1 -5
- package/es/line/shaders/simple/simpleline_linear_frag.glsl +2 -6
- package/es/line/shaders/simple/simpleline_vert.glsl +7 -33
- package/es/mask/index.js +9 -28
- package/es/mask/models/fill.js +29 -54
- package/es/plugins/DataMappingPlugin.js +90 -141
- package/es/plugins/DataSourcePlugin.js +45 -68
- package/es/plugins/FeatureScalePlugin.js +67 -122
- package/es/plugins/LayerAnimateStylePlugin.js +0 -5
- package/es/plugins/LayerMaskPlugin.js +3 -11
- package/es/plugins/LayerModelPlugin.js +79 -104
- package/es/plugins/LayerStylePlugin.js +3 -9
- package/es/plugins/LightingPlugin.js +12 -18
- package/es/plugins/MultiPassRendererPlugin.js +11 -16
- package/es/plugins/PixelPickingPlugin.js +12 -21
- package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
- package/es/plugins/ShaderUniformPlugin.js +15 -29
- package/es/plugins/UpdateModelPlugin.js +0 -5
- package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
- package/es/point/index.d.ts +1 -0
- package/es/point/index.js +27 -77
- package/es/point/models/earthExtrude.d.ts +0 -3
- package/es/point/models/earthExtrude.js +60 -139
- package/es/point/models/earthFill.d.ts +0 -1
- package/es/point/models/earthFill.js +59 -140
- package/es/point/models/extrude.d.ts +0 -3
- package/es/point/models/extrude.js +60 -140
- package/es/point/models/fill.d.ts +0 -1
- package/es/point/models/fill.js +67 -158
- package/es/point/models/fillmage.js +66 -147
- package/es/point/models/image.js +52 -126
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +32 -56
- package/es/point/models/radar.d.ts +0 -1
- package/es/point/models/radar.js +42 -75
- package/es/point/models/simplePoint.d.ts +0 -1
- package/es/point/models/simplePoint.js +46 -115
- package/es/point/models/text.js +211 -344
- package/es/point/shaders/animate/wave_frag.glsl +1 -11
- package/es/point/shaders/earth/extrude_frag.glsl +5 -17
- package/es/point/shaders/earth/extrude_vert.glsl +14 -29
- package/es/point/shaders/earth/fill_frag.glsl +5 -14
- package/es/point/shaders/earth/fill_vert.glsl +1 -75
- package/es/point/shaders/extrude/extrude_frag.glsl +3 -29
- package/es/point/shaders/extrude/extrude_vert.glsl +27 -35
- package/es/point/shaders/fill_frag.glsl +9 -20
- package/es/point/shaders/fill_vert.glsl +16 -101
- package/es/point/shaders/image/fillImage_frag.glsl +2 -5
- package/es/point/shaders/image/fillImage_vert.glsl +4 -47
- package/es/point/shaders/image_frag.glsl +1 -5
- package/es/point/shaders/image_vert.glsl +1 -44
- package/es/point/shaders/normal_frag.glsl +0 -2
- package/es/point/shaders/normal_vert.glsl +2 -1
- package/es/point/shaders/radar/radar_vert.glsl +2 -2
- package/es/point/shaders/simplePoint_frag.glsl +0 -7
- package/es/point/shaders/simplePoint_vert.glsl +3 -45
- package/es/point/shaders/text_frag.glsl +6 -19
- package/es/point/shaders/text_vert.glsl +5 -66
- package/es/point/shape/extrude.js +4 -13
- package/es/polygon/index.d.ts +1 -0
- package/es/polygon/index.js +12 -40
- package/es/polygon/models/extrude.d.ts +0 -3
- package/es/polygon/models/extrude.js +122 -162
- package/es/polygon/models/fill.d.ts +0 -4
- package/es/polygon/models/fill.js +57 -130
- package/es/polygon/models/index.js +3 -2
- package/es/polygon/models/ocean.js +42 -76
- package/es/polygon/models/water.js +37 -71
- package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -23
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +7 -5
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +7 -32
- package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +33 -38
- package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +12 -9
- package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +16 -44
- package/es/polygon/shaders/polygon_frag.glsl +0 -5
- package/es/polygon/shaders/polygon_linear_frag.glsl +0 -8
- package/es/polygon/shaders/polygon_linear_vert.glsl +0 -32
- package/es/polygon/shaders/polygon_vert.glsl +1 -27
- package/es/raster/buffers/triangulation.js +2 -4
- package/es/raster/index.js +9 -32
- package/es/raster/models/raster.js +80 -116
- package/es/raster/models/rasterRgb.js +84 -127
- package/es/raster/models/rasterTerrainRgb.js +56 -84
- package/es/tile/interaction/getRasterData.js +14 -20
- package/es/tile/interaction/utils.js +7 -9
- package/es/tile/manager/base.js +63 -96
- package/es/tile/service/TileLayerService.js +33 -55
- package/es/tile/service/TilePickService.js +26 -40
- package/es/tile/service/TileSourceService.js +3 -7
- package/es/tile/tileFactory/DebugTile.js +29 -46
- package/es/tile/tileFactory/ImageTile.js +20 -38
- package/es/tile/tileFactory/MaskTile.js +22 -43
- package/es/tile/tileFactory/RasterRGBTile.js +22 -42
- package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
- package/es/tile/tileFactory/RasterTile.js +30 -53
- package/es/tile/tileFactory/Tile.js +63 -97
- package/es/tile/tileFactory/VectorTile.js +41 -68
- package/es/tile/tileFactory/index.js +0 -11
- package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
- package/es/tile/tileFactory/util.js +0 -3
- package/es/tile/tileLayer/BaseLayer.js +105 -146
- package/es/tile/utils.js +1 -1
- package/es/utils/blend.js +0 -2
- package/es/utils/collision-index.js +9 -16
- package/es/utils/extrude_polyline.js +101 -149
- package/es/utils/grid-index.js +2 -27
- package/es/utils/identityScale.js +0 -8
- package/es/utils/layerData.js +32 -46
- package/es/utils/multiPassRender.js +11 -13
- package/es/utils/polylineNormal.js +31 -37
- package/es/utils/simpleLine.js +2 -16
- package/es/utils/stencil.js +2 -3
- package/es/utils/symbol-layout.js +27 -53
- package/es/wind/index.js +9 -29
- package/es/wind/models/utils.js +26 -51
- package/es/wind/models/wind.js +101 -147
- package/es/wind/models/windRender.js +53 -66
- package/lib/Geometry/index.js +9 -38
- package/lib/Geometry/models/billboard.js +51 -97
- package/lib/Geometry/models/index.js +0 -5
- package/lib/Geometry/models/plane.js +79 -151
- package/lib/Geometry/models/sprite.js +60 -127
- package/lib/canvas/index.js +10 -40
- package/lib/canvas/models/canvas.js +41 -101
- package/lib/canvas/models/index.js +0 -3
- package/lib/citybuliding/building.js +8 -35
- package/lib/citybuliding/models/build.js +57 -92
- package/lib/core/BaseLayer.js +358 -520
- package/lib/core/BaseModel.js +117 -441
- package/lib/core/CommonStyleAttribute.js +72 -0
- package/lib/core/LayerPickService.js +21 -37
- package/lib/core/TextureService.js +0 -16
- package/lib/core/interface.js +21 -31
- package/lib/core/schema.js +0 -1
- package/lib/core/shape/Path.js +14 -31
- package/lib/core/shape/extrude.js +27 -59
- package/lib/core/triangulation.js +125 -153
- package/lib/earth/index.js +9 -43
- package/lib/earth/models/atmosphere.js +30 -63
- package/lib/earth/models/base.js +47 -90
- package/lib/earth/models/bloomsphere.js +30 -63
- package/lib/earth/utils.js +7 -31
- package/lib/heatmap/index.js +10 -48
- package/lib/heatmap/models/grid.js +29 -61
- package/lib/heatmap/models/grid3d.js +29 -61
- package/lib/heatmap/models/heatmap.js +99 -166
- package/lib/heatmap/models/hexagon.js +29 -61
- package/lib/heatmap/models/index.js +0 -6
- package/lib/heatmap/shaders/grid_vert.glsl +2 -2
- package/lib/heatmap/shaders/hexagon_3d_vert.glsl +2 -2
- package/lib/heatmap/shaders/hexagon_vert.glsl +2 -2
- package/lib/heatmap/triangulation.js +0 -5
- package/lib/image/index.js +9 -36
- package/lib/image/models/image.js +66 -109
- package/lib/image/models/index.js +0 -3
- package/lib/index.js +7 -61
- package/lib/line/index.js +12 -42
- package/lib/line/models/arc.js +70 -170
- package/lib/line/models/arc_3d.js +65 -159
- package/lib/line/models/earthArc_3d.js +64 -159
- package/lib/line/models/flow.js +174 -0
- package/lib/line/models/great_circle.js +57 -146
- package/lib/line/models/index.js +3 -14
- package/lib/line/models/line.js +96 -194
- package/lib/line/models/linearline.js +46 -127
- package/lib/line/models/simpleLine.js +42 -124
- package/lib/line/models/wall.js +52 -103
- package/lib/line/shaders/dash/arc_dash_frag.glsl +3 -6
- package/lib/line/shaders/dash/arc_dash_vert.glsl +6 -46
- package/lib/line/shaders/dash/line_dash_frag.glsl +4 -7
- package/lib/line/shaders/dash/line_dash_vert.glsl +3 -33
- package/lib/line/shaders/flow/flow_line_frag.glsl +13 -0
- package/lib/line/shaders/flow/flow_line_vert.glsl +83 -0
- package/lib/line/shaders/line_arc_3d_frag.glsl +6 -6
- package/lib/line/shaders/line_arc_3d_vert.glsl +4 -34
- package/lib/line/shaders/line_arc_frag.glsl +7 -11
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +5 -6
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +4 -32
- package/lib/line/shaders/line_arc_vert.glsl +9 -45
- package/lib/line/shaders/line_frag.glsl +15 -17
- package/lib/line/shaders/line_vert.glsl +3 -34
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +5 -19
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +9 -48
- package/lib/line/shaders/linear/arc_linear_frag.glsl +2 -30
- package/lib/line/shaders/linear/arc_linear_vert.glsl +9 -45
- package/lib/line/shaders/linear/line_linear_frag.glsl +5 -6
- package/lib/line/shaders/linearLine/line_linear_frag.glsl +2 -14
- package/lib/line/shaders/linearLine/line_linear_vert.glsl +14 -32
- package/lib/line/shaders/simple/simpleline_frag.glsl +1 -5
- package/lib/line/shaders/simple/simpleline_linear_frag.glsl +2 -6
- package/lib/line/shaders/simple/simpleline_vert.glsl +7 -33
- package/lib/mask/index.js +9 -36
- package/lib/mask/models/fill.js +29 -63
- package/lib/mask/models/index.js +0 -3
- package/lib/plugins/DataMappingPlugin.js +90 -152
- package/lib/plugins/DataSourcePlugin.js +45 -76
- package/lib/plugins/FeatureScalePlugin.js +67 -138
- package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
- package/lib/plugins/LayerMaskPlugin.js +4 -17
- package/lib/plugins/LayerModelPlugin.js +80 -113
- package/lib/plugins/LayerStylePlugin.js +4 -14
- package/lib/plugins/LightingPlugin.js +12 -25
- package/lib/plugins/MultiPassRendererPlugin.js +11 -22
- package/lib/plugins/PixelPickingPlugin.js +12 -27
- package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
- package/lib/plugins/ShaderUniformPlugin.js +15 -36
- package/lib/plugins/UpdateModelPlugin.js +1 -10
- package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
- package/lib/point/index.js +27 -83
- package/lib/point/models/earthExtrude.js +60 -150
- package/lib/point/models/earthFill.js +59 -170
- package/lib/point/models/extrude.js +60 -150
- package/lib/point/models/fill.js +65 -167
- package/lib/point/models/fillmage.js +64 -155
- package/lib/point/models/image.js +52 -136
- package/lib/point/models/index.js +1 -12
- package/lib/point/models/normal.js +32 -66
- package/lib/point/models/radar.js +42 -85
- package/lib/point/models/simplePoint.js +46 -125
- package/lib/point/models/text.js +209 -350
- package/lib/point/shaders/animate/wave_frag.glsl +1 -11
- package/lib/point/shaders/earth/extrude_frag.glsl +5 -17
- package/lib/point/shaders/earth/extrude_vert.glsl +14 -29
- package/lib/point/shaders/earth/fill_frag.glsl +5 -14
- package/lib/point/shaders/earth/fill_vert.glsl +1 -75
- package/lib/point/shaders/extrude/extrude_frag.glsl +3 -29
- package/lib/point/shaders/extrude/extrude_vert.glsl +27 -35
- package/lib/point/shaders/fill_frag.glsl +9 -20
- package/lib/point/shaders/fill_vert.glsl +16 -101
- package/lib/point/shaders/image/fillImage_frag.glsl +2 -5
- package/lib/point/shaders/image/fillImage_vert.glsl +4 -47
- package/lib/point/shaders/image_frag.glsl +1 -5
- package/lib/point/shaders/image_vert.glsl +1 -44
- package/lib/point/shaders/normal_frag.glsl +0 -2
- package/lib/point/shaders/normal_vert.glsl +2 -1
- package/lib/point/shaders/radar/radar_vert.glsl +2 -2
- package/lib/point/shaders/simplePoint_frag.glsl +0 -7
- package/lib/point/shaders/simplePoint_vert.glsl +3 -45
- package/lib/point/shaders/text_frag.glsl +6 -19
- package/lib/point/shaders/text_vert.glsl +5 -66
- package/lib/point/shape/extrude.js +4 -20
- package/lib/polygon/index.js +12 -48
- package/lib/polygon/models/extrude.js +122 -173
- package/lib/polygon/models/fill.js +57 -140
- package/lib/polygon/models/index.js +2 -14
- package/lib/polygon/models/ocean.js +42 -88
- package/lib/polygon/models/water.js +37 -82
- package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -23
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +7 -5
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +7 -32
- package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +33 -38
- package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +12 -9
- package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +16 -44
- package/lib/polygon/shaders/polygon_frag.glsl +0 -5
- package/lib/polygon/shaders/polygon_linear_frag.glsl +0 -8
- package/lib/polygon/shaders/polygon_linear_vert.glsl +0 -32
- package/lib/polygon/shaders/polygon_vert.glsl +1 -27
- package/lib/raster/buffers/triangulation.js +3 -7
- package/lib/raster/index.js +9 -40
- package/lib/raster/models/index.js +0 -5
- package/lib/raster/models/raster.js +80 -125
- package/lib/raster/models/rasterRgb.js +84 -139
- package/lib/raster/models/rasterTerrainRgb.js +56 -93
- package/lib/tile/interaction/getRasterData.js +14 -25
- package/lib/tile/interaction/utils.js +7 -19
- package/lib/tile/manager/base.js +63 -104
- package/lib/tile/service/TileLayerService.js +33 -60
- package/lib/tile/service/TilePickService.js +26 -48
- package/lib/tile/service/TileSourceService.js +2 -16
- package/lib/tile/style/utils.js +0 -3
- package/lib/tile/tileFactory/DebugTile.js +29 -54
- package/lib/tile/tileFactory/ImageTile.js +20 -46
- package/lib/tile/tileFactory/MaskTile.js +22 -51
- package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
- package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
- package/lib/tile/tileFactory/RasterTile.js +30 -63
- package/lib/tile/tileFactory/Tile.js +63 -102
- package/lib/tile/tileFactory/VectorTile.js +41 -76
- package/lib/tile/tileFactory/index.js +0 -25
- package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
- package/lib/tile/tileFactory/util.js +0 -9
- package/lib/tile/tileLayer/BaseLayer.js +105 -153
- package/lib/tile/utils.js +1 -5
- package/lib/utils/blend.js +0 -5
- package/lib/utils/collision-index.js +9 -25
- package/lib/utils/extrude_polyline.js +101 -181
- package/lib/utils/grid-index.js +2 -28
- package/lib/utils/identityScale.js +0 -9
- package/lib/utils/layerData.js +32 -51
- package/lib/utils/multiPassRender.js +11 -16
- package/lib/utils/polylineNormal.js +31 -66
- package/lib/utils/simpleLine.js +2 -21
- package/lib/utils/stencil.js +0 -4
- package/lib/utils/symbol-layout.js +27 -55
- package/lib/wind/index.js +9 -37
- package/lib/wind/models/index.js +0 -3
- package/lib/wind/models/utils.js +26 -62
- package/lib/wind/models/wind.js +101 -157
- package/lib/wind/models/windRender.js +53 -71
- package/lib/wind/models/windShader.js +0 -1
- package/package.json +7 -7
- package/es/line/models/half.js +0 -298
- package/es/line/shaders/half/line_half_frag.glsl +0 -53
- package/es/line/shaders/half/line_half_vert.glsl +0 -169
- package/es/utils/dataMappingStyle.d.ts +0 -31
- package/es/utils/dataMappingStyle.js +0 -147
- package/lib/line/models/half.js +0 -315
- package/lib/line/shaders/half/line_half_frag.glsl +0 -53
- package/lib/line/shaders/half/line_half_vert.glsl +0 -169
- package/lib/utils/dataMappingStyle.js +0 -151
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AttributeType, gl } from '@antv/l7-core';
|
|
2
|
+
export function getCommonStyleAttributeOptions(name) {
|
|
3
|
+
switch (name) {
|
|
4
|
+
case 'stroke':
|
|
5
|
+
return {
|
|
6
|
+
name: 'stroke',
|
|
7
|
+
type: AttributeType.Attribute,
|
|
8
|
+
descriptor: {
|
|
9
|
+
name: 'a_Stroke',
|
|
10
|
+
buffer: {
|
|
11
|
+
// give the WebGL driver a hint that this buffer may change
|
|
12
|
+
usage: gl.DYNAMIC_DRAW,
|
|
13
|
+
data: [],
|
|
14
|
+
type: gl.FLOAT
|
|
15
|
+
},
|
|
16
|
+
size: 4,
|
|
17
|
+
update: function update(feature) {
|
|
18
|
+
var _feature$stroke = feature.stroke,
|
|
19
|
+
stroke = _feature$stroke === void 0 ? [1, 1, 1, 1] : _feature$stroke;
|
|
20
|
+
return stroke;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
case 'opacity':
|
|
25
|
+
return {
|
|
26
|
+
name: 'opacity',
|
|
27
|
+
type: AttributeType.Attribute,
|
|
28
|
+
descriptor: {
|
|
29
|
+
name: 'a_Opacity',
|
|
30
|
+
buffer: {
|
|
31
|
+
// give the WebGL driver a hint that this buffer may change
|
|
32
|
+
usage: gl.STATIC_DRAW,
|
|
33
|
+
data: [],
|
|
34
|
+
type: gl.FLOAT
|
|
35
|
+
},
|
|
36
|
+
size: 1,
|
|
37
|
+
update: function update(feature) {
|
|
38
|
+
var _feature$opacity = feature.opacity,
|
|
39
|
+
op = _feature$opacity === void 0 ? 1 : _feature$opacity;
|
|
40
|
+
return [op];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
case 'offsets':
|
|
45
|
+
return {
|
|
46
|
+
name: 'offsets',
|
|
47
|
+
type: AttributeType.Attribute,
|
|
48
|
+
descriptor: {
|
|
49
|
+
name: 'a_Offsets',
|
|
50
|
+
buffer: {
|
|
51
|
+
// give the WebGL driver a hint that this buffer may change
|
|
52
|
+
usage: gl.STATIC_DRAW,
|
|
53
|
+
data: [],
|
|
54
|
+
type: gl.FLOAT
|
|
55
|
+
},
|
|
56
|
+
size: 2,
|
|
57
|
+
update: function update(feature) {
|
|
58
|
+
var epo = feature.offsets;
|
|
59
|
+
return epo;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
default:
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -4,25 +4,21 @@ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
|
4
4
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
5
5
|
import { TYPES } from '@antv/l7-core';
|
|
6
6
|
import { lngLatInExtent } from '@antv/l7-utils';
|
|
7
|
-
|
|
8
7
|
var BaseLayerPickService = /*#__PURE__*/function () {
|
|
9
8
|
function BaseLayerPickService(layer) {
|
|
10
9
|
_classCallCheck(this, BaseLayerPickService);
|
|
11
|
-
|
|
12
10
|
this.layer = layer;
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
_createClass(BaseLayerPickService, [{
|
|
16
13
|
key: "pickRender",
|
|
17
14
|
value: function pickRender(target) {
|
|
18
15
|
var container = this.layer.getContainer();
|
|
19
16
|
var layerService = container.get(TYPES.ILayerService);
|
|
20
|
-
var layer = this.layer;
|
|
21
|
-
|
|
17
|
+
var layer = this.layer;
|
|
18
|
+
// 瓦片图层的拾取绘制
|
|
22
19
|
if (layer.tileLayer) {
|
|
23
20
|
return layer.tileLayer.pickRender(target);
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
layer.hooks.beforePickingEncode.call();
|
|
27
23
|
layerService.renderTileLayerMask(layer);
|
|
28
24
|
layer.renderModels({
|
|
@@ -35,11 +31,9 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
35
31
|
value: function pick(layer, target) {
|
|
36
32
|
var container = this.layer.getContainer();
|
|
37
33
|
var pickingService = container.get(TYPES.IPickingService);
|
|
38
|
-
|
|
39
34
|
if (layer.type === 'RasterLayer') {
|
|
40
35
|
return this.pickRasterLayer(layer, target);
|
|
41
36
|
}
|
|
42
|
-
|
|
43
37
|
this.pickRender(target);
|
|
44
38
|
return pickingService.pickFromPickingFBO(layer, target);
|
|
45
39
|
}
|
|
@@ -60,7 +54,6 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
60
54
|
rasterValue: null
|
|
61
55
|
};
|
|
62
56
|
var adviceTarget = parent ? parent : layer;
|
|
63
|
-
|
|
64
57
|
if (isPick) {
|
|
65
58
|
var rasterValue = this.readRasterValue(layer, extent, mapService, target.x, target.y);
|
|
66
59
|
layerTarget.rasterValue = rasterValue;
|
|
@@ -79,24 +72,24 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
79
72
|
key: "readRasterValue",
|
|
80
73
|
value: function readRasterValue(layer, bbox, mapService, x, y) {
|
|
81
74
|
var rasterData = layer.getSource().data.dataArray[0];
|
|
82
|
-
|
|
83
75
|
var _bbox = _slicedToArray(bbox, 4),
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
76
|
+
_bbox$ = _bbox[0],
|
|
77
|
+
minLng = _bbox$ === void 0 ? 0 : _bbox$,
|
|
78
|
+
_bbox$2 = _bbox[1],
|
|
79
|
+
minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
|
|
80
|
+
_bbox$3 = _bbox[2],
|
|
81
|
+
maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
|
|
82
|
+
_bbox$4 = _bbox[3],
|
|
83
|
+
maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
|
|
93
84
|
var tileXY = mapService.lngLatToContainer([minLng, minLat]);
|
|
94
85
|
var tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);
|
|
95
86
|
var tilePixelWidth = tileMaxXY.x - tileXY.x;
|
|
96
87
|
var tilePixelHeight = tileXY.y - tileMaxXY.y;
|
|
97
|
-
var pos = [(x - tileXY.x) / tilePixelWidth,
|
|
88
|
+
var pos = [(x - tileXY.x) / tilePixelWidth,
|
|
89
|
+
// x
|
|
98
90
|
(y - tileMaxXY.y) / tilePixelHeight // y
|
|
99
91
|
];
|
|
92
|
+
|
|
100
93
|
var tileWidth = rasterData.width || 1;
|
|
101
94
|
var tileHeight = rasterData.height || 1;
|
|
102
95
|
var indexX = Math.floor(pos[0] * tileWidth);
|
|
@@ -108,13 +101,12 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
108
101
|
}, {
|
|
109
102
|
key: "selectFeature",
|
|
110
103
|
value: function selectFeature(pickedColors) {
|
|
111
|
-
var layer = this.layer;
|
|
112
|
-
|
|
104
|
+
var layer = this.layer;
|
|
105
|
+
// @ts-ignore
|
|
113
106
|
var _pickedColors = _slicedToArray(pickedColors, 3),
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
107
|
+
r = _pickedColors[0],
|
|
108
|
+
g = _pickedColors[1],
|
|
109
|
+
b = _pickedColors[2];
|
|
118
110
|
layer.hooks.beforeSelect.call([r, g, b]);
|
|
119
111
|
}
|
|
120
112
|
}, {
|
|
@@ -122,10 +114,9 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
122
114
|
value: function highlightPickedFeature(pickedColors) {
|
|
123
115
|
// @ts-ignore
|
|
124
116
|
var _pickedColors2 = _slicedToArray(pickedColors, 3),
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
117
|
+
r = _pickedColors2[0],
|
|
118
|
+
g = _pickedColors2[1],
|
|
119
|
+
b = _pickedColors2[2];
|
|
129
120
|
this.layer.hooks.beforeHighlight.call([r, g, b]);
|
|
130
121
|
}
|
|
131
122
|
}, {
|
|
@@ -134,8 +125,6 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
134
125
|
return this.layer.getSource().getFeatureById(pickedFeatureIdx);
|
|
135
126
|
}
|
|
136
127
|
}]);
|
|
137
|
-
|
|
138
128
|
return BaseLayerPickService;
|
|
139
129
|
}();
|
|
140
|
-
|
|
141
130
|
export { BaseLayerPickService as default };
|
|
@@ -2,28 +2,23 @@ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
|
2
2
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
3
|
import { TYPES } from '@antv/l7-core';
|
|
4
4
|
import { generateCatRamp, generateColorRamp, generateCustomRamp, generateLinearRamp, generateQuantizeRamp } from '@antv/l7-utils';
|
|
5
|
-
|
|
6
5
|
var TextureService = /*#__PURE__*/function () {
|
|
7
6
|
function TextureService(layer) {
|
|
8
7
|
_classCallCheck(this, TextureService);
|
|
9
|
-
|
|
10
8
|
this.layer = layer;
|
|
11
9
|
var container = this.layer.getContainer();
|
|
12
10
|
this.rendererService = container.get(TYPES.IRendererService);
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
_createClass(TextureService, [{
|
|
16
13
|
key: "getColorTexture",
|
|
17
14
|
value: function getColorTexture(colorRamp, domain) {
|
|
18
15
|
// TODO 支持传入图片
|
|
19
16
|
var currentkey = this.getTextureKey(colorRamp, domain);
|
|
20
|
-
|
|
21
17
|
if (this.key === currentkey) {
|
|
22
18
|
return this.colorTexture;
|
|
23
19
|
} else {
|
|
24
20
|
this.createColorTexture(colorRamp, domain);
|
|
25
21
|
}
|
|
26
|
-
|
|
27
22
|
this.key = currentkey;
|
|
28
23
|
return this.colorTexture;
|
|
29
24
|
}
|
|
@@ -51,7 +46,6 @@ var TextureService = /*#__PURE__*/function () {
|
|
|
51
46
|
key: "destroy",
|
|
52
47
|
value: function destroy() {
|
|
53
48
|
var _this$colorTexture;
|
|
54
|
-
|
|
55
49
|
(_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
|
|
56
50
|
}
|
|
57
51
|
}, {
|
|
@@ -60,16 +54,12 @@ var TextureService = /*#__PURE__*/function () {
|
|
|
60
54
|
switch (colorRamp.type) {
|
|
61
55
|
case 'cat':
|
|
62
56
|
return generateCatRamp(colorRamp);
|
|
63
|
-
|
|
64
57
|
case 'quantize':
|
|
65
58
|
return generateQuantizeRamp(colorRamp);
|
|
66
|
-
|
|
67
59
|
case 'custom':
|
|
68
60
|
return generateCustomRamp(colorRamp, domain);
|
|
69
|
-
|
|
70
61
|
case 'linear':
|
|
71
62
|
return generateLinearRamp(colorRamp, domain);
|
|
72
|
-
|
|
73
63
|
default:
|
|
74
64
|
return generateColorRamp(colorRamp);
|
|
75
65
|
}
|
|
@@ -78,12 +68,9 @@ var TextureService = /*#__PURE__*/function () {
|
|
|
78
68
|
key: "getTextureKey",
|
|
79
69
|
value: function getTextureKey(colorRamp, domain) {
|
|
80
70
|
var _colorRamp$positions;
|
|
81
|
-
|
|
82
71
|
return "".concat(colorRamp.colors.join('_'), "_").concat(colorRamp === null || colorRamp === void 0 ? void 0 : (_colorRamp$positions = colorRamp.positions) === null || _colorRamp$positions === void 0 ? void 0 : _colorRamp$positions.join('_'), "_").concat(colorRamp.type, "_").concat(domain === null || domain === void 0 ? void 0 : domain.join('_'));
|
|
83
72
|
}
|
|
84
73
|
}]);
|
|
85
|
-
|
|
86
74
|
return TextureService;
|
|
87
75
|
}();
|
|
88
|
-
|
|
89
76
|
export { TextureService as default };
|
package/es/core/interface.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IAnimateOption, IMapService, ITexture2D } from '@antv/l7-core';
|
|
1
|
+
import { IAnimateOption, IMapService, ITexture2D, StyleAttributeField, StyleAttributeOption } from '@antv/l7-core';
|
|
2
2
|
import { IColorRamp } from '@antv/l7-utils';
|
|
3
|
-
import { styleOffset } from '../core/BaseModel';
|
|
4
3
|
import { anchorType } from '../utils/symbol-layout';
|
|
5
4
|
export declare enum lineStyleType {
|
|
6
5
|
'solid' = 0,
|
|
@@ -91,7 +90,7 @@ export interface IPointLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
|
91
90
|
dir: string;
|
|
92
91
|
};
|
|
93
92
|
lightEnable: boolean;
|
|
94
|
-
offsets?:
|
|
93
|
+
offsets?: [number, number];
|
|
95
94
|
unit?: SizeUnitType;
|
|
96
95
|
rotation?: number;
|
|
97
96
|
speed?: number;
|
|
@@ -227,4 +226,15 @@ export interface IRasterTerrainLayerStyleOptions extends IBaseRasterLayerStyleOp
|
|
|
227
226
|
bScaler?: number;
|
|
228
227
|
offset?: number;
|
|
229
228
|
}
|
|
229
|
+
export interface IFlowLineStyleOptions extends IBaseLayerStyleOptions {
|
|
230
|
+
gapWidth?: number;
|
|
231
|
+
offsets?: [number, number];
|
|
232
|
+
stroke?: string;
|
|
233
|
+
strokeOpacity?: number;
|
|
234
|
+
strokeWidth?: number;
|
|
235
|
+
}
|
|
236
|
+
export interface IStyleEncodeAttributeOptions {
|
|
237
|
+
field: StyleAttributeField;
|
|
238
|
+
values?: StyleAttributeOption;
|
|
239
|
+
}
|
|
230
240
|
export {};
|
package/es/core/interface.js
CHANGED
|
@@ -1,37 +1,30 @@
|
|
|
1
|
-
export var lineStyleType
|
|
2
|
-
|
|
3
|
-
(function (lineStyleType) {
|
|
1
|
+
export var lineStyleType = /*#__PURE__*/function (lineStyleType) {
|
|
4
2
|
lineStyleType[lineStyleType["solid"] = 0] = "solid";
|
|
5
3
|
lineStyleType[lineStyleType["dash"] = 1] = "dash";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export var LinearDir
|
|
9
|
-
|
|
10
|
-
(function (LinearDir) {
|
|
4
|
+
return lineStyleType;
|
|
5
|
+
}({});
|
|
6
|
+
export var LinearDir = /*#__PURE__*/function (LinearDir) {
|
|
11
7
|
LinearDir["VERTICAL"] = "vertical";
|
|
12
8
|
LinearDir["HORIZONTAL"] = "horizontal";
|
|
13
|
-
|
|
9
|
+
return LinearDir;
|
|
10
|
+
}({});
|
|
11
|
+
export var TextureBlend = /*#__PURE__*/function (TextureBlend) {
|
|
12
|
+
TextureBlend["NORMAL"] = "normal";
|
|
13
|
+
TextureBlend["REPLACE"] = "replace";
|
|
14
|
+
return TextureBlend;
|
|
15
|
+
}({});
|
|
14
16
|
|
|
15
|
-
export var TextureBlend;
|
|
16
17
|
/**
|
|
17
18
|
* 基础图层类型定义
|
|
18
19
|
*/
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
TextureBlend["NORMAL"] = "normal";
|
|
22
|
-
TextureBlend["REPLACE"] = "replace";
|
|
23
|
-
})(TextureBlend || (TextureBlend = {}));
|
|
24
|
-
|
|
25
|
-
export var SizeUnitType;
|
|
26
|
-
|
|
27
|
-
(function (SizeUnitType) {
|
|
21
|
+
export var SizeUnitType = /*#__PURE__*/function (SizeUnitType) {
|
|
28
22
|
SizeUnitType[SizeUnitType["pixel"] = 0] = "pixel";
|
|
29
23
|
SizeUnitType[SizeUnitType["meter"] = 1] = "meter";
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export var CanvasUpdateType
|
|
33
|
-
|
|
34
|
-
(function (CanvasUpdateType) {
|
|
24
|
+
return SizeUnitType;
|
|
25
|
+
}({});
|
|
26
|
+
export var CanvasUpdateType = /*#__PURE__*/function (CanvasUpdateType) {
|
|
35
27
|
CanvasUpdateType["ALWAYS"] = "always";
|
|
36
28
|
CanvasUpdateType["DRAGEND"] = "dragend";
|
|
37
|
-
|
|
29
|
+
return CanvasUpdateType;
|
|
30
|
+
}({});
|
package/es/core/shape/Path.js
CHANGED
|
@@ -1,47 +1,40 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
|
|
3
2
|
var _geometryShape;
|
|
4
|
-
|
|
5
|
-
export var ShapeType3D;
|
|
6
|
-
|
|
7
|
-
(function (ShapeType3D) {
|
|
3
|
+
export var ShapeType3D = /*#__PURE__*/function (ShapeType3D) {
|
|
8
4
|
ShapeType3D["CYLINDER"] = "cylinder";
|
|
9
5
|
ShapeType3D["SQUARECOLUMN"] = "squareColumn";
|
|
10
6
|
ShapeType3D["TRIANGLECOLUMN"] = "triangleColumn";
|
|
11
7
|
ShapeType3D["HEXAGONCOLUMN"] = "hexagonColumn";
|
|
12
8
|
ShapeType3D["PENTAGONCOLUMN"] = "pentagonColumn";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export var ShapeType2D
|
|
16
|
-
/**
|
|
17
|
-
* 生成规则多边形顶点个数
|
|
18
|
-
* @param pointCount 顶点个数 3 => 三角形
|
|
19
|
-
* @param start 顶点起始角度 调整图形的方向
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
(function (ShapeType2D) {
|
|
9
|
+
return ShapeType3D;
|
|
10
|
+
}({});
|
|
11
|
+
export var ShapeType2D = /*#__PURE__*/function (ShapeType2D) {
|
|
23
12
|
ShapeType2D["CIRCLE"] = "circle";
|
|
24
13
|
ShapeType2D["SQUARE"] = "square";
|
|
25
14
|
ShapeType2D["TRIANGLE"] = "triangle";
|
|
26
15
|
ShapeType2D["HEXAGON"] = "hexagon";
|
|
27
16
|
ShapeType2D["PENTAGON"] = "pentagon";
|
|
28
|
-
|
|
17
|
+
return ShapeType2D;
|
|
18
|
+
}({});
|
|
29
19
|
|
|
20
|
+
/**
|
|
21
|
+
* 生成规则多边形顶点个数
|
|
22
|
+
* @param pointCount 顶点个数 3 => 三角形
|
|
23
|
+
* @param start 顶点起始角度 调整图形的方向
|
|
24
|
+
*/
|
|
30
25
|
export function polygonPath(pointCount) {
|
|
31
26
|
var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
32
27
|
var step = Math.PI * 2 / pointCount;
|
|
33
28
|
var line = [];
|
|
34
|
-
|
|
35
29
|
for (var i = 0; i < pointCount; i++) {
|
|
36
30
|
line.push(step * i + start * Math.PI / 12);
|
|
37
31
|
}
|
|
38
|
-
|
|
39
32
|
var path = line.map(function (t) {
|
|
40
33
|
var x = Math.sin(t + Math.PI / 4);
|
|
41
34
|
var y = Math.cos(t + Math.PI / 4);
|
|
42
35
|
return [x, y, 0];
|
|
43
|
-
});
|
|
44
|
-
|
|
36
|
+
});
|
|
37
|
+
// path.push(path[0]);
|
|
45
38
|
return path;
|
|
46
39
|
}
|
|
47
40
|
export function circle() {
|
package/es/core/shape/extrude.js
CHANGED
|
@@ -2,7 +2,6 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
2
2
|
import { lngLatToMeters } from '@antv/l7-utils';
|
|
3
3
|
import earcut from 'earcut';
|
|
4
4
|
import { vec3 } from 'gl-matrix';
|
|
5
|
-
|
|
6
5
|
/**
|
|
7
6
|
* 拉伸多边形顶点,返回拉伸后的顶点信息
|
|
8
7
|
* @param paths 路径数据组
|
|
@@ -11,18 +10,16 @@ import { vec3 } from 'gl-matrix';
|
|
|
11
10
|
export default function extrudePolygon(path) {
|
|
12
11
|
var p1 = path[0][0];
|
|
13
12
|
var p2 = path[0][path[0].length - 1];
|
|
14
|
-
|
|
15
13
|
if (p1[0] === p2[0] && p1[1] === p2[1]) {
|
|
16
14
|
path[0] = path[0].slice(0, path[0].length - 1);
|
|
17
15
|
}
|
|
18
|
-
|
|
19
16
|
var n = path[0].length;
|
|
20
17
|
var flattengeo = earcut.flatten(path);
|
|
21
18
|
var vertices = flattengeo.vertices,
|
|
22
|
-
|
|
19
|
+
dimensions = flattengeo.dimensions;
|
|
23
20
|
var positions = [];
|
|
24
|
-
var indexArray = [];
|
|
25
|
-
|
|
21
|
+
var indexArray = [];
|
|
22
|
+
// 设置顶部z值
|
|
26
23
|
for (var j = 0; j < vertices.length / dimensions; j++) {
|
|
27
24
|
if (dimensions === 2) {
|
|
28
25
|
positions.push(vertices[j * 2], vertices[j * 2 + 1], 1);
|
|
@@ -30,29 +27,23 @@ export default function extrudePolygon(path) {
|
|
|
30
27
|
positions.push(vertices[j * 3], vertices[j * 3 + 1], 1);
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
var triangles = earcut(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
35
31
|
indexArray.push.apply(indexArray, _toConsumableArray(triangles));
|
|
36
|
-
|
|
37
|
-
var _loop = function _loop(i) {
|
|
32
|
+
var _loop = function _loop() {
|
|
38
33
|
var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
|
|
39
34
|
var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
|
|
40
|
-
|
|
41
35
|
if (nextPoint.length === 0) {
|
|
42
36
|
nextPoint = flattengeo.vertices.slice(0, dimensions);
|
|
43
37
|
}
|
|
44
|
-
|
|
45
38
|
var indexOffset = positions.length / 3;
|
|
46
39
|
positions.push(prePoint[0], prePoint[1], 1, nextPoint[0], nextPoint[1], 1, prePoint[0], prePoint[1], 0, nextPoint[0], nextPoint[1], 0);
|
|
47
40
|
indexArray.push.apply(indexArray, _toConsumableArray([0, 2, 1, 2, 3, 1].map(function (v) {
|
|
48
41
|
return v + indexOffset;
|
|
49
42
|
})));
|
|
50
43
|
};
|
|
51
|
-
|
|
52
44
|
for (var i = 0; i < n; i++) {
|
|
53
|
-
_loop(
|
|
45
|
+
_loop();
|
|
54
46
|
}
|
|
55
|
-
|
|
56
47
|
return {
|
|
57
48
|
positions: positions,
|
|
58
49
|
index: indexArray
|
|
@@ -70,72 +61,72 @@ export function extrude_PolygonNormal(path) {
|
|
|
70
61
|
var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
71
62
|
var p1 = path[0][0];
|
|
72
63
|
var p2 = path[0][path[0].length - 1];
|
|
73
|
-
|
|
74
64
|
if (p1[0] === p2[0] && p1[1] === p2[1]) {
|
|
75
65
|
path[0] = path[0].slice(0, path[0].length - 1);
|
|
76
66
|
}
|
|
77
|
-
|
|
78
67
|
var n = path[0].length;
|
|
79
68
|
var flattengeo = earcut.flatten(path);
|
|
80
69
|
var vertices = flattengeo.vertices,
|
|
81
|
-
|
|
70
|
+
dimensions = flattengeo.dimensions;
|
|
82
71
|
var positions = [];
|
|
83
72
|
var indexArray = [];
|
|
84
|
-
var normals = [];
|
|
85
|
-
|
|
73
|
+
var normals = [];
|
|
74
|
+
// 设置顶部z值 position uv
|
|
86
75
|
for (var j = 0; j < vertices.length / dimensions; j++) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
76
|
+
positions.push(vertices[j * dimensions],
|
|
77
|
+
// x
|
|
78
|
+
vertices[j * dimensions + 1],
|
|
79
|
+
// y
|
|
80
|
+
1,
|
|
81
|
+
// z
|
|
82
|
+
-1,
|
|
83
|
+
// 顶部uv
|
|
84
|
+
-1 // 顶部uv
|
|
85
|
+
);
|
|
92
86
|
|
|
93
87
|
normals.push(0, 0, 1);
|
|
94
88
|
}
|
|
95
|
-
|
|
96
89
|
var triangles = earcut(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
97
90
|
indexArray.push.apply(indexArray, _toConsumableArray(triangles));
|
|
98
|
-
|
|
99
|
-
var _loop2 = function _loop2(
|
|
91
|
+
// 设置侧面
|
|
92
|
+
var _loop2 = function _loop2() {
|
|
100
93
|
var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
|
|
101
94
|
var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
|
|
102
|
-
|
|
103
95
|
if (nextPoint.length === 0) {
|
|
104
96
|
nextPoint = flattengeo.vertices.slice(0, dimensions);
|
|
105
97
|
}
|
|
106
|
-
|
|
107
98
|
var indexOffset = positions.length / 5;
|
|
108
|
-
|
|
99
|
+
// 侧面四顶点
|
|
100
|
+
positions.push(prePoint[0], prePoint[1], 1, 0, 0, nextPoint[0], nextPoint[1], 1, 0.1,
|
|
101
|
+
// 侧面 低uv
|
|
102
|
+
0,
|
|
103
|
+
// 侧面低 uv
|
|
104
|
+
prePoint[0], prePoint[1], 0, 0, 0.8, nextPoint[0], nextPoint[1], 0, 0.1, 0.8);
|
|
109
105
|
var normal = computeVertexNormals([nextPoint[0], nextPoint[1], 1], [prePoint[0], prePoint[1], 0], [prePoint[0], prePoint[1], 1], needFlat);
|
|
110
106
|
normals.push.apply(normals, _toConsumableArray(normal).concat(_toConsumableArray(normal), _toConsumableArray(normal), _toConsumableArray(normal)));
|
|
111
107
|
indexArray.push.apply(indexArray, _toConsumableArray([1, 2, 0, 3, 2, 1].map(function (v) {
|
|
112
108
|
return v + indexOffset;
|
|
113
109
|
})));
|
|
114
110
|
};
|
|
115
|
-
|
|
116
111
|
for (var i = 0; i < n; i++) {
|
|
117
|
-
_loop2(
|
|
112
|
+
_loop2();
|
|
118
113
|
}
|
|
119
|
-
|
|
120
114
|
return {
|
|
121
115
|
positions: positions,
|
|
122
116
|
index: indexArray,
|
|
123
117
|
normals: normals
|
|
124
118
|
};
|
|
125
119
|
}
|
|
126
|
-
|
|
127
120
|
function computeVertexNormals(p1, p2, p3) {
|
|
128
121
|
var needFlat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
129
122
|
var cb = vec3.create();
|
|
130
123
|
var ab = vec3.create();
|
|
131
124
|
var normal = vec3.create();
|
|
132
|
-
|
|
133
125
|
if (needFlat) {
|
|
134
126
|
p1 = lngLatToMeters(p1);
|
|
135
127
|
p2 = lngLatToMeters(p2);
|
|
136
128
|
p3 = lngLatToMeters(p3);
|
|
137
129
|
}
|
|
138
|
-
|
|
139
130
|
var pA = vec3.fromValues.apply(vec3, _toConsumableArray(p1));
|
|
140
131
|
var pB = vec3.fromValues.apply(vec3, _toConsumableArray(p2));
|
|
141
132
|
var pC = vec3.fromValues.apply(vec3, _toConsumableArray(p3));
|
|
@@ -47,6 +47,18 @@ export declare function LineTriangulation(feature: IEncodeFeature): {
|
|
|
47
47
|
indexes: number[];
|
|
48
48
|
size: number;
|
|
49
49
|
};
|
|
50
|
+
export declare function FlowLineFillTriangulation(feature: IEncodeFeature): {
|
|
51
|
+
vertices: any[];
|
|
52
|
+
normals: number[];
|
|
53
|
+
indices: number[];
|
|
54
|
+
size: number;
|
|
55
|
+
};
|
|
56
|
+
export declare function FlowLineStrokeTriangulation(feature: IEncodeFeature): {
|
|
57
|
+
vertices: any[];
|
|
58
|
+
normals: number[];
|
|
59
|
+
indices: number[];
|
|
60
|
+
size: number;
|
|
61
|
+
};
|
|
50
62
|
export declare function SimpleLineTriangulation(feature: IEncodeFeature): {
|
|
51
63
|
vertices: any[];
|
|
52
64
|
indices: never[];
|