@antv/l7-layers 2.9.32-alpha.2 → 2.9.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Geometry/index.d.ts +32 -0
- package/es/Geometry/index.js +118 -0
- package/es/Geometry/models/billboard.d.ts +26 -0
- package/es/Geometry/models/billboard.js +228 -0
- package/es/Geometry/models/index.d.ts +5 -0
- package/es/Geometry/models/index.js +9 -0
- package/es/Geometry/models/plane.d.ts +45 -0
- package/es/Geometry/models/plane.js +419 -0
- package/es/Geometry/models/sprite.d.ts +47 -0
- package/es/Geometry/models/sprite.js +301 -0
- package/es/Geometry/shaders/billboard_frag.glsl +13 -0
- package/es/Geometry/shaders/billboard_vert.glsl +50 -0
- package/es/Geometry/shaders/plane_frag.glsl +22 -0
- package/es/Geometry/shaders/plane_vert.glsl +53 -0
- package/es/Geometry/shaders/sprite_frag.glsl +21 -0
- package/es/Geometry/shaders/sprite_vert.glsl +28 -0
- package/es/canvas/index.d.ts +23 -0
- package/es/canvas/index.js +121 -0
- package/es/canvas/models/canvas.d.ts +18 -0
- package/es/canvas/models/canvas.js +212 -0
- package/es/canvas/models/index.d.ts +5 -0
- package/es/canvas/models/index.js +5 -0
- package/es/citybuliding/building.d.ts +17 -0
- package/es/citybuliding/building.js +86 -0
- package/es/citybuliding/models/build.d.ts +22 -0
- package/es/citybuliding/models/build.js +187 -0
- package/es/citybuliding/shaders/build_frag.glsl +117 -0
- package/es/citybuliding/shaders/build_vert.glsl +54 -0
- package/es/core/BaseLayer.d.ts +225 -0
- package/es/core/BaseLayer.js +1424 -0
- package/es/core/BaseModel.d.ts +140 -0
- package/es/core/BaseModel.js +489 -0
- package/es/core/interface.d.ts +224 -0
- package/es/core/interface.js +30 -0
- package/es/core/schema.d.ts +27 -0
- package/es/core/schema.js +25 -0
- package/es/core/shape/Path.d.ts +39 -0
- package/es/core/shape/Path.js +62 -0
- package/es/core/shape/extrude.d.ts +17 -0
- package/es/core/shape/extrude.js +148 -0
- package/es/core/triangulation.d.ts +128 -0
- package/es/core/triangulation.js +553 -0
- package/es/earth/index.d.ts +22 -0
- package/es/earth/index.js +98 -0
- package/es/earth/models/atmosphere.d.ts +9 -0
- package/es/earth/models/atmosphere.js +135 -0
- package/es/earth/models/base.d.ts +16 -0
- package/es/earth/models/base.js +206 -0
- package/es/earth/models/bloomsphere.d.ts +9 -0
- package/es/earth/models/bloomsphere.js +134 -0
- package/es/earth/shaders/atmosphere_frag.glsl +17 -0
- package/es/earth/shaders/atmosphere_vert.glsl +26 -0
- package/es/earth/shaders/base_frag.glsl +13 -0
- package/es/earth/shaders/base_vert.glsl +52 -0
- package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
- package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
- package/es/earth/utils.d.ts +26 -0
- package/es/earth/utils.js +104 -0
- package/es/heatmap/index.d.ts +21 -0
- package/es/heatmap/index.js +141 -0
- package/es/heatmap/models/grid.d.ts +8 -0
- package/es/heatmap/models/grid.js +106 -0
- package/es/heatmap/models/grid3d.d.ts +8 -0
- package/es/heatmap/models/grid3d.js +140 -0
- package/es/heatmap/models/heatmap.d.ts +24 -0
- package/es/heatmap/models/heatmap.js +463 -0
- package/es/heatmap/models/hexagon.d.ts +8 -0
- package/es/heatmap/models/hexagon.js +107 -0
- package/es/heatmap/models/index.d.ts +5 -0
- package/es/heatmap/models/index.js +12 -0
- package/es/heatmap/shaders/grid_vert.glsl +42 -0
- package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
- package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
- package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
- package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
- package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
- package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
- package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
- package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
- package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
- package/es/heatmap/triangulation.d.ts +5 -0
- package/es/heatmap/triangulation.js +37 -0
- package/es/image/index.d.ts +19 -0
- package/es/image/index.js +104 -0
- package/es/image/models/dataImage.d.ts +22 -0
- package/es/image/models/dataImage.js +200 -0
- package/es/image/models/image.d.ts +19 -0
- package/es/image/models/image.js +164 -0
- package/es/image/models/index.d.ts +5 -0
- package/es/image/models/index.js +9 -0
- package/es/image/models/tileDataImage.d.ts +19 -0
- package/es/image/models/tileDataImage.js +174 -0
- package/es/image/shaders/dataImage_frag.glsl +38 -0
- package/es/image/shaders/image_frag.glsl +9 -0
- package/es/image/shaders/image_vert.glsl +17 -0
- package/es/index.d.ts +17 -0
- package/es/index.js +107 -0
- package/es/line/index.d.ts +43 -0
- package/es/line/index.js +140 -0
- package/es/line/models/arc.d.ts +17 -0
- package/es/line/models/arc.js +356 -0
- package/es/line/models/arc_3d.d.ts +17 -0
- package/es/line/models/arc_3d.js +333 -0
- package/es/line/models/earthArc_3d.d.ts +17 -0
- package/es/line/models/earthArc_3d.js +336 -0
- package/es/line/models/great_circle.d.ts +12 -0
- package/es/line/models/great_circle.js +294 -0
- package/es/line/models/half.d.ts +18 -0
- package/es/line/models/half.js +281 -0
- package/es/line/models/index.d.ts +5 -0
- package/es/line/models/index.js +25 -0
- package/es/line/models/line.d.ts +21 -0
- package/es/line/models/line.js +443 -0
- package/es/line/models/linearline.d.ts +11 -0
- package/es/line/models/linearline.js +275 -0
- package/es/line/models/simpleLine.d.ts +14 -0
- package/es/line/models/simpleLine.js +234 -0
- package/es/line/models/simpleTileLine.d.ts +9 -0
- package/es/line/models/simpleTileLine.js +100 -0
- package/es/line/models/tile.d.ts +8 -0
- package/es/line/models/tile.js +178 -0
- package/es/line/models/wall.d.ts +12 -0
- package/es/line/models/wall.js +293 -0
- package/es/line/shaders/arc_chunks.vert.glsl +21 -0
- package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
- package/es/line/shaders/dash/arc_dash_vert.glsl +150 -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 +206 -0
- package/es/line/shaders/line_arc_frag.glsl +88 -0
- package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
- package/es/line/shaders/line_arc_great_circle_vert.glsl +214 -0
- package/es/line/shaders/line_arc_vert.glsl +178 -0
- package/es/line/shaders/line_bezier_vert.glsl +85 -0
- package/es/line/shaders/line_frag.glsl +99 -0
- package/es/line/shaders/line_vert.glsl +192 -0
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +46 -0
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +206 -0
- package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
- package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
- package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
- package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
- package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
- package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
- package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
- package/es/line/shaders/simple/simpleline_vert.glsl +79 -0
- package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/es/line/shaders/tile/line_tile_vert.glsl +52 -0
- package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/es/line/shaders/wall/wall_frag.glsl +89 -0
- package/es/line/shaders/wall/wall_vert.glsl +77 -0
- package/es/mask/index.d.ts +27 -0
- package/es/mask/index.js +153 -0
- package/es/mask/models/fill.d.ts +12 -0
- package/es/mask/models/fill.js +124 -0
- package/es/mask/models/index.d.ts +5 -0
- package/es/mask/models/index.js +5 -0
- package/es/mask/shaders/mask_vert.glsl +16 -0
- package/es/plugins/DataMappingPlugin.d.ts +18 -0
- package/es/plugins/DataMappingPlugin.js +413 -0
- package/es/plugins/DataSourcePlugin.d.ts +7 -0
- package/es/plugins/DataSourcePlugin.js +84 -0
- package/es/plugins/FeatureScalePlugin.d.ts +24 -0
- package/es/plugins/FeatureScalePlugin.js +340 -0
- package/es/plugins/LayerAnimateStylePlugin.d.ts +5 -0
- package/es/plugins/LayerAnimateStylePlugin.js +29 -0
- package/es/plugins/LayerModelPlugin.d.ts +10 -0
- package/es/plugins/LayerModelPlugin.js +72 -0
- package/es/plugins/LayerStylePlugin.d.ts +8 -0
- package/es/plugins/LayerStylePlugin.js +39 -0
- package/es/plugins/LightingPlugin.d.ts +36 -0
- package/es/plugins/LightingPlugin.js +104 -0
- package/es/plugins/MultiPassRendererPlugin.d.ts +23 -0
- package/es/plugins/MultiPassRendererPlugin.js +65 -0
- package/es/plugins/PixelPickingPlugin.d.ts +8 -0
- package/es/plugins/PixelPickingPlugin.js +126 -0
- package/es/plugins/RegisterStyleAttributePlugin.d.ts +15 -0
- package/es/plugins/RegisterStyleAttributePlugin.js +156 -0
- package/es/plugins/ShaderUniformPlugin.d.ts +17 -0
- package/es/plugins/ShaderUniformPlugin.js +99 -0
- package/es/plugins/UpdateModelPlugin.d.ts +8 -0
- package/es/plugins/UpdateModelPlugin.js +31 -0
- package/es/plugins/UpdateStyleAttributePlugin.d.ts +12 -0
- package/es/plugins/UpdateStyleAttributePlugin.js +83 -0
- package/es/point/index.d.ts +40 -0
- package/es/point/index.js +229 -0
- package/es/point/models/earthExtrude.d.ts +24 -0
- package/es/point/models/earthExtrude.js +274 -0
- package/es/point/models/earthFill.d.ts +11 -0
- package/es/point/models/earthFill.js +258 -0
- package/es/point/models/extrude.d.ts +24 -0
- package/es/point/models/extrude.js +295 -0
- package/es/point/models/fill.d.ts +40 -0
- package/es/point/models/fill.js +403 -0
- package/es/point/models/fillmage.d.ts +25 -0
- package/es/point/models/fillmage.js +366 -0
- package/es/point/models/image.d.ts +11 -0
- package/es/point/models/image.js +239 -0
- package/es/point/models/index.d.ts +5 -0
- package/es/point/models/index.js +30 -0
- package/es/point/models/normal.d.ts +16 -0
- package/es/point/models/normal.js +124 -0
- package/es/point/models/radar.d.ts +24 -0
- package/es/point/models/radar.js +232 -0
- package/es/point/models/simplePoint.d.ts +16 -0
- package/es/point/models/simplePoint.js +179 -0
- package/es/point/models/text.d.ts +57 -0
- package/es/point/models/text.js +619 -0
- package/es/point/models/tile.d.ts +15 -0
- package/es/point/models/tile.js +175 -0
- package/es/point/models/tileText.d.ts +52 -0
- package/es/point/models/tileText.js +509 -0
- package/es/point/shaders/animate/wave_frag.glsl +65 -0
- package/es/point/shaders/earth/extrude_frag.glsl +44 -0
- package/es/point/shaders/earth/extrude_vert.glsl +140 -0
- package/es/point/shaders/earth/fill_frag.glsl +86 -0
- package/es/point/shaders/earth/fill_vert.glsl +125 -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 +188 -0
- package/es/point/shaders/image/fillImage_frag.glsl +20 -0
- package/es/point/shaders/image/fillImage_vert.glsl +116 -0
- package/es/point/shaders/image_frag.glsl +39 -0
- package/es/point/shaders/image_vert.glsl +90 -0
- package/es/point/shaders/normal_frag.glsl +6 -0
- package/es/point/shaders/normal_vert.glsl +24 -0
- package/es/point/shaders/radar/radar_frag.glsl +53 -0
- package/es/point/shaders/radar/radar_vert.glsl +70 -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 +76 -0
- package/es/point/shaders/tile/fill_tile_vert.glsl +78 -0
- package/es/point/shaders/tile/text_frag.glsl +33 -0
- package/es/point/shaders/tile/text_map_frag.glsl +31 -0
- package/es/point/shaders/tile/text_map_vert.glsl +38 -0
- package/es/point/shaders/tile/text_vert.glsl +48 -0
- package/es/point/shape/extrude.d.ts +15 -0
- package/es/point/shape/extrude.js +63 -0
- package/es/polygon/index.d.ts +27 -0
- package/es/polygon/index.js +146 -0
- package/es/polygon/models/extrude.d.ts +28 -0
- package/es/polygon/models/extrude.js +302 -0
- package/es/polygon/models/fill.d.ts +17 -0
- package/es/polygon/models/fill.js +210 -0
- package/es/polygon/models/index.d.ts +5 -0
- package/es/polygon/models/index.js +28 -0
- package/es/polygon/models/ocean.d.ts +21 -0
- package/es/polygon/models/ocean.js +202 -0
- package/es/polygon/models/tile.d.ts +12 -0
- package/es/polygon/models/tile.js +101 -0
- package/es/polygon/models/water.d.ts +16 -0
- package/es/polygon/models/water.js +179 -0
- package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
- package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
- package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
- package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
- package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
- package/es/polygon/shaders/polygon_frag.glsl +12 -0
- package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
- package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
- package/es/polygon/shaders/polygon_vert.glsl +66 -0
- package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +42 -0
- package/es/polygon/shaders/water/polygon_ocean_frag.glsl +247 -0
- package/es/polygon/shaders/water/polygon_ocean_vert.glsl +21 -0
- package/es/polygon/shaders/water/polygon_water_frag.glsl +71 -0
- package/es/polygon/shaders/water/polygon_water_vert.glsl +26 -0
- package/es/raster/buffers/triangulation.d.ts +6 -0
- package/es/raster/buffers/triangulation.js +25 -0
- package/es/raster/index.d.ts +19 -0
- package/es/raster/index.js +107 -0
- package/es/raster/models/index.d.ts +5 -0
- package/es/raster/models/index.js +10 -0
- package/es/raster/models/raster.d.ts +22 -0
- package/es/raster/models/raster.js +242 -0
- package/es/raster/models/rasterRgb.d.ts +20 -0
- package/es/raster/models/rasterRgb.js +226 -0
- package/es/raster/models/rasterTile.d.ts +18 -0
- package/es/raster/models/rasterTile.js +140 -0
- package/es/raster/raster.d.ts +30 -0
- package/es/raster/raster.js +174 -0
- package/es/raster/shaders/raster_2d_frag.glsl +64 -0
- package/es/raster/shaders/raster_2d_vert.glsl +17 -0
- package/es/raster/shaders/raster_frag.glsl +9 -0
- package/es/raster/shaders/raster_rgb_frag.glsl +12 -0
- package/es/raster/shaders/raster_vert.glsl +44 -0
- package/es/shader/minify_frag.glsl +7 -0
- package/es/shader/minify_picking_frag.glsl +10 -0
- package/es/tile/interface.d.ts +29 -0
- package/es/tile/interface.js +1 -0
- package/es/tile/manager/baseMapTileLayerManager.d.ts +7 -0
- package/es/tile/manager/baseMapTileLayerManager.js +119 -0
- package/es/tile/manager/baseTileManager.d.ts +27 -0
- package/es/tile/manager/baseTileManager.js +107 -0
- package/es/tile/manager/tileConfigManager.d.ts +17 -0
- package/es/tile/manager/tileConfigManager.js +121 -0
- package/es/tile/manager/tileLayerManager.d.ts +15 -0
- package/es/tile/manager/tileLayerManager.js +255 -0
- package/es/tile/manager/tilePickerManager.d.ts +21 -0
- package/es/tile/manager/tilePickerManager.js +194 -0
- package/es/tile/models/tileModel.d.ts +10 -0
- package/es/tile/models/tileModel.js +81 -0
- package/es/tile/tileFactory/base.d.ts +44 -0
- package/es/tile/tileFactory/base.js +472 -0
- package/es/tile/tileFactory/index.d.ts +5 -0
- package/es/tile/tileFactory/index.js +34 -0
- package/es/tile/tileFactory/line.d.ts +12 -0
- package/es/tile/tileFactory/line.js +62 -0
- package/es/tile/tileFactory/point.d.ts +12 -0
- package/es/tile/tileFactory/point.js +63 -0
- package/es/tile/tileFactory/polygon.d.ts +12 -0
- package/es/tile/tileFactory/polygon.js +62 -0
- package/es/tile/tileFactory/raster.d.ts +12 -0
- package/es/tile/tileFactory/raster.js +58 -0
- package/es/tile/tileFactory/rasterData.d.ts +12 -0
- package/es/tile/tileFactory/rasterData.js +86 -0
- package/es/tile/tileFactory/rasterDataLayer.d.ts +20 -0
- package/es/tile/tileFactory/rasterDataLayer.js +90 -0
- package/es/tile/tileFactory/test.d.ts +12 -0
- package/es/tile/tileFactory/test.js +105 -0
- package/es/tile/tileFactory/vectorLayer.d.ts +35 -0
- package/es/tile/tileFactory/vectorLayer.js +260 -0
- package/es/tile/tileLayer/baseMapTileLayer.d.ts +30 -0
- package/es/tile/tileLayer/baseMapTileLayer.js +195 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +48 -0
- package/es/tile/tileLayer/baseTileLayer.js +420 -0
- package/es/tile/tileTest.d.ts +15 -0
- package/es/tile/tileTest.js +62 -0
- package/es/tile/tmsMapTileLayer.d.ts +7 -0
- package/es/tile/tmsMapTileLayer.js +97 -0
- package/es/tile/tmsTileLayer.d.ts +7 -0
- package/es/tile/tmsTileLayer.js +101 -0
- package/es/tile/utils.d.ts +19 -0
- package/es/tile/utils.js +209 -0
- package/es/utils/blend.d.ts +2 -0
- package/es/utils/blend.js +54 -0
- package/es/utils/collision-index.d.ts +47 -0
- package/es/utils/collision-index.js +102 -0
- package/es/utils/dataMappingStyle.d.ts +31 -0
- package/es/utils/dataMappingStyle.js +150 -0
- package/es/utils/extrude_polyline.d.ts +67 -0
- package/es/utils/extrude_polyline.js +611 -0
- package/es/utils/grid-index.d.ts +28 -0
- package/es/utils/grid-index.js +179 -0
- package/es/utils/layerData.d.ts +2 -0
- package/es/utils/layerData.js +176 -0
- package/es/utils/multiPassRender.d.ts +16 -0
- package/es/utils/multiPassRender.js +50 -0
- package/es/utils/polylineNormal.d.ts +9 -0
- package/es/utils/polylineNormal.js +191 -0
- package/es/utils/simpleLine.d.ts +23 -0
- package/es/utils/simpleLine.js +103 -0
- package/es/utils/symbol-layout.d.ts +43 -0
- package/es/utils/symbol-layout.js +299 -0
- package/es/utils/updateShape.d.ts +2 -0
- package/es/utils/updateShape.js +20 -0
- package/es/wind/index.d.ts +20 -0
- package/es/wind/index.js +98 -0
- package/es/wind/models/index.d.ts +5 -0
- package/es/wind/models/index.js +5 -0
- package/es/wind/models/utils.d.ts +19 -0
- package/es/wind/models/utils.js +226 -0
- package/es/wind/models/wind.d.ts +33 -0
- package/es/wind/models/wind.js +331 -0
- package/es/wind/models/windRender.d.ts +104 -0
- package/es/wind/models/windRender.js +357 -0
- package/es/wind/models/windShader.d.ts +12 -0
- package/es/wind/models/windShader.js +12 -0
- package/es/wind/shaders/wind_frag.glsl +9 -0
- package/es/wind/shaders/wind_vert.glsl +17 -0
- package/lib/Geometry/index.js +130 -0
- package/lib/Geometry/models/billboard.js +242 -0
- package/lib/Geometry/models/index.js +22 -0
- package/lib/Geometry/models/plane.js +434 -0
- package/lib/Geometry/models/sprite.js +315 -0
- package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
- package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
- package/lib/Geometry/shaders/plane_frag.glsl +22 -0
- package/lib/Geometry/shaders/plane_vert.glsl +53 -0
- package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
- package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
- package/lib/canvas/index.js +133 -0
- package/lib/canvas/models/canvas.js +221 -0
- package/lib/canvas/models/index.js +16 -0
- package/lib/citybuliding/building.js +99 -0
- package/lib/citybuliding/models/build.js +202 -0
- package/lib/citybuliding/shaders/build_frag.glsl +117 -0
- package/lib/citybuliding/shaders/build_vert.glsl +54 -0
- package/lib/core/BaseLayer.js +1419 -0
- package/lib/core/BaseModel.js +506 -0
- package/lib/core/interface.js +41 -0
- package/lib/core/schema.js +33 -0
- package/lib/core/shape/Path.js +88 -0
- package/lib/core/shape/extrude.js +180 -0
- package/lib/core/triangulation.js +619 -0
- package/lib/earth/index.js +113 -0
- package/lib/earth/models/atmosphere.js +149 -0
- package/lib/earth/models/base.js +216 -0
- package/lib/earth/models/bloomsphere.js +148 -0
- package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
- package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
- package/lib/earth/shaders/base_frag.glsl +13 -0
- package/lib/earth/shaders/base_vert.glsl +52 -0
- package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
- package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
- package/lib/earth/utils.js +136 -0
- package/lib/heatmap/index.js +154 -0
- package/lib/heatmap/models/grid.js +120 -0
- package/lib/heatmap/models/grid3d.js +154 -0
- package/lib/heatmap/models/heatmap.js +486 -0
- package/lib/heatmap/models/hexagon.js +121 -0
- package/lib/heatmap/models/index.js +26 -0
- package/lib/heatmap/shaders/grid_vert.glsl +42 -0
- package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
- package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
- package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
- package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
- package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
- package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
- package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
- package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
- package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
- package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
- package/lib/heatmap/triangulation.js +44 -0
- package/lib/image/index.js +117 -0
- package/lib/image/models/dataImage.js +215 -0
- package/lib/image/models/image.js +178 -0
- package/lib/image/models/index.js +22 -0
- package/lib/image/models/tileDataImage.js +188 -0
- package/lib/image/shaders/dataImage_frag.glsl +38 -0
- package/lib/image/shaders/image_frag.glsl +9 -0
- package/lib/image/shaders/image_vert.glsl +17 -0
- package/lib/index.js +275 -0
- package/lib/line/index.js +152 -0
- package/lib/line/models/arc.js +373 -0
- package/lib/line/models/arc_3d.js +351 -0
- package/lib/line/models/earthArc_3d.js +354 -0
- package/lib/line/models/great_circle.js +310 -0
- package/lib/line/models/half.js +298 -0
- package/lib/line/models/index.js +46 -0
- package/lib/line/models/line.js +460 -0
- package/lib/line/models/linearline.js +292 -0
- package/lib/line/models/simpleLine.js +249 -0
- package/lib/line/models/simpleTileLine.js +115 -0
- package/lib/line/models/tile.js +194 -0
- package/lib/line/models/wall.js +309 -0
- package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
- package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
- package/lib/line/shaders/dash/arc_dash_vert.glsl +150 -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 +206 -0
- package/lib/line/shaders/line_arc_frag.glsl +88 -0
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +214 -0
- package/lib/line/shaders/line_arc_vert.glsl +178 -0
- package/lib/line/shaders/line_bezier_vert.glsl +85 -0
- package/lib/line/shaders/line_frag.glsl +99 -0
- package/lib/line/shaders/line_vert.glsl +192 -0
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +46 -0
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +206 -0
- package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
- package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
- package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
- package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
- package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
- package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
- package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
- package/lib/line/shaders/simple/simpleline_vert.glsl +79 -0
- package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/lib/line/shaders/tile/line_tile_vert.glsl +52 -0
- package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/lib/line/shaders/wall/wall_frag.glsl +89 -0
- package/lib/line/shaders/wall/wall_vert.glsl +77 -0
- package/lib/mask/index.js +168 -0
- package/lib/mask/models/fill.js +141 -0
- package/lib/mask/models/index.js +16 -0
- package/lib/mask/shaders/mask_vert.glsl +16 -0
- package/lib/plugins/DataMappingPlugin.js +427 -0
- package/lib/plugins/DataSourcePlugin.js +97 -0
- package/lib/plugins/FeatureScalePlugin.js +363 -0
- package/lib/plugins/LayerAnimateStylePlugin.js +41 -0
- package/lib/plugins/LayerModelPlugin.js +83 -0
- package/lib/plugins/LayerStylePlugin.js +50 -0
- package/lib/plugins/LightingPlugin.js +119 -0
- package/lib/plugins/MultiPassRendererPlugin.js +77 -0
- package/lib/plugins/PixelPickingPlugin.js +139 -0
- package/lib/plugins/RegisterStyleAttributePlugin.js +168 -0
- package/lib/plugins/ShaderUniformPlugin.js +112 -0
- package/lib/plugins/UpdateModelPlugin.js +42 -0
- package/lib/plugins/UpdateStyleAttributePlugin.js +94 -0
- package/lib/point/index.js +242 -0
- package/lib/point/models/earthExtrude.js +290 -0
- package/lib/point/models/earthFill.js +293 -0
- package/lib/point/models/extrude.js +312 -0
- package/lib/point/models/fill.js +419 -0
- package/lib/point/models/fillmage.js +382 -0
- package/lib/point/models/image.js +255 -0
- package/lib/point/models/index.js +53 -0
- package/lib/point/models/normal.js +141 -0
- package/lib/point/models/radar.js +249 -0
- package/lib/point/models/simplePoint.js +196 -0
- package/lib/point/models/text.js +634 -0
- package/lib/point/models/tile.js +189 -0
- package/lib/point/models/tileText.js +524 -0
- package/lib/point/shaders/animate/wave_frag.glsl +65 -0
- package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
- package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
- package/lib/point/shaders/earth/fill_frag.glsl +86 -0
- package/lib/point/shaders/earth/fill_vert.glsl +125 -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 +188 -0
- package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
- package/lib/point/shaders/image/fillImage_vert.glsl +116 -0
- package/lib/point/shaders/image_frag.glsl +39 -0
- package/lib/point/shaders/image_vert.glsl +90 -0
- package/lib/point/shaders/normal_frag.glsl +6 -0
- package/lib/point/shaders/normal_vert.glsl +24 -0
- package/lib/point/shaders/radar/radar_frag.glsl +53 -0
- package/lib/point/shaders/radar/radar_vert.glsl +70 -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 +76 -0
- package/lib/point/shaders/tile/fill_tile_vert.glsl +78 -0
- package/lib/point/shaders/tile/text_frag.glsl +33 -0
- package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
- package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
- package/lib/point/shaders/tile/text_vert.glsl +48 -0
- package/lib/point/shape/extrude.js +78 -0
- package/lib/polygon/index.js +160 -0
- package/lib/polygon/models/extrude.js +318 -0
- package/lib/polygon/models/fill.js +225 -0
- package/lib/polygon/models/index.js +50 -0
- package/lib/polygon/models/ocean.js +219 -0
- package/lib/polygon/models/tile.js +114 -0
- package/lib/polygon/models/water.js +196 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
- package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
- package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
- package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
- package/lib/polygon/shaders/polygon_frag.glsl +12 -0
- package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
- package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
- package/lib/polygon/shaders/polygon_vert.glsl +66 -0
- package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +42 -0
- package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +247 -0
- package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +21 -0
- package/lib/polygon/shaders/water/polygon_water_frag.glsl +71 -0
- package/lib/polygon/shaders/water/polygon_water_vert.glsl +26 -0
- package/lib/raster/buffers/triangulation.js +35 -0
- package/lib/raster/index.js +120 -0
- package/lib/raster/models/index.js +23 -0
- package/lib/raster/models/raster.js +259 -0
- package/lib/raster/models/rasterRgb.js +241 -0
- package/lib/raster/models/rasterTile.js +154 -0
- package/lib/raster/raster.js +191 -0
- package/lib/raster/shaders/raster_2d_frag.glsl +64 -0
- package/lib/raster/shaders/raster_2d_vert.glsl +17 -0
- package/lib/raster/shaders/raster_frag.glsl +9 -0
- package/lib/raster/shaders/raster_rgb_frag.glsl +12 -0
- package/lib/raster/shaders/raster_vert.glsl +44 -0
- package/lib/shader/minify_frag.glsl +7 -0
- package/lib/shader/minify_picking_frag.glsl +10 -0
- package/lib/tile/interface.js +5 -0
- package/lib/tile/manager/baseMapTileLayerManager.js +134 -0
- package/lib/tile/manager/baseTileManager.js +121 -0
- package/lib/tile/manager/tileConfigManager.js +133 -0
- package/lib/tile/manager/tileLayerManager.js +273 -0
- package/lib/tile/manager/tilePickerManager.js +205 -0
- package/lib/tile/models/tileModel.js +94 -0
- package/lib/tile/tileFactory/base.js +496 -0
- package/lib/tile/tileFactory/index.js +66 -0
- package/lib/tile/tileFactory/line.js +73 -0
- package/lib/tile/tileFactory/point.js +74 -0
- package/lib/tile/tileFactory/polygon.js +73 -0
- package/lib/tile/tileFactory/raster.js +71 -0
- package/lib/tile/tileFactory/rasterData.js +99 -0
- package/lib/tile/tileFactory/rasterDataLayer.js +104 -0
- package/lib/tile/tileFactory/test.js +118 -0
- package/lib/tile/tileFactory/vectorLayer.js +275 -0
- package/lib/tile/tileLayer/baseMapTileLayer.js +202 -0
- package/lib/tile/tileLayer/baseTileLayer.js +429 -0
- package/lib/tile/tileTest.js +74 -0
- package/lib/tile/tmsMapTileLayer.js +114 -0
- package/lib/tile/tmsTileLayer.js +118 -0
- package/lib/tile/utils.js +248 -0
- package/lib/utils/blend.js +65 -0
- package/lib/utils/collision-index.js +118 -0
- package/lib/utils/dataMappingStyle.js +154 -0
- package/lib/utils/extrude_polyline.js +653 -0
- package/lib/utils/grid-index.js +188 -0
- package/lib/utils/layerData.js +187 -0
- package/lib/utils/multiPassRender.js +61 -0
- package/lib/utils/polylineNormal.js +230 -0
- package/lib/utils/simpleLine.js +116 -0
- package/lib/utils/symbol-layout.js +308 -0
- package/lib/utils/updateShape.js +27 -0
- package/lib/wind/index.js +111 -0
- package/lib/wind/models/index.js +16 -0
- package/lib/wind/models/utils.js +253 -0
- package/lib/wind/models/wind.js +346 -0
- package/lib/wind/models/windRender.js +373 -0
- package/lib/wind/models/windShader.js +25 -0
- package/lib/wind/shaders/wind_frag.glsl +9 -0
- package/lib/wind/shaders/wind_vert.glsl +17 -0
- package/package.json +6 -6
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
7
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
8
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
+
|
|
10
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
|
+
|
|
12
|
+
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; } }
|
|
13
|
+
|
|
14
|
+
import BaseModel from "../../core/BaseModel";
|
|
15
|
+
import { CanvasUpdateType } from "../../core/interface";
|
|
16
|
+
|
|
17
|
+
var CanvaModel = /*#__PURE__*/function (_BaseModel) {
|
|
18
|
+
_inherits(CanvaModel, _BaseModel);
|
|
19
|
+
|
|
20
|
+
var _super = _createSuper(CanvaModel);
|
|
21
|
+
|
|
22
|
+
function CanvaModel() {
|
|
23
|
+
var _this;
|
|
24
|
+
|
|
25
|
+
_classCallCheck(this, CanvaModel);
|
|
26
|
+
|
|
27
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
28
|
+
args[_key] = arguments[_key];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
32
|
+
|
|
33
|
+
_defineProperty(_assertThisInitialized(_this), "updateMode", CanvasUpdateType.ALWAYS);
|
|
34
|
+
|
|
35
|
+
_defineProperty(_assertThisInitialized(_this), "renderUpdate", function () {
|
|
36
|
+
var _ref = _this.layer.getLayerConfig(),
|
|
37
|
+
_ref$zIndex = _ref.zIndex,
|
|
38
|
+
zIndex = _ref$zIndex === void 0 ? 10 : _ref$zIndex,
|
|
39
|
+
_ref$update = _ref.update,
|
|
40
|
+
update = _ref$update === void 0 ? CanvasUpdateType.ALWAYS : _ref$update,
|
|
41
|
+
_ref$animateOption = _ref.animateOption,
|
|
42
|
+
animateOption = _ref$animateOption === void 0 ? {
|
|
43
|
+
enable: false,
|
|
44
|
+
duration: 20
|
|
45
|
+
} : _ref$animateOption;
|
|
46
|
+
|
|
47
|
+
if (+_this.canvas.style.zIndex === zIndex) {
|
|
48
|
+
_this.canvas.style.zIndex = zIndex + '';
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (_this.updateMode !== update) {
|
|
52
|
+
_this.updateMode = update;
|
|
53
|
+
|
|
54
|
+
_this.unBindListener();
|
|
55
|
+
|
|
56
|
+
_this.bindListener();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (_this.updateMode === CanvasUpdateType.ALWAYS && animateOption.enable) {
|
|
60
|
+
_this.renderCanvas();
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
_defineProperty(_assertThisInitialized(_this), "unBindListener", function () {
|
|
65
|
+
_this.mapService.off('mapchange', _this.renderCanvas);
|
|
66
|
+
|
|
67
|
+
_this.mapService.off('zoomstart', _this.clearCanvas);
|
|
68
|
+
|
|
69
|
+
_this.mapService.off('zoomend', _this.renderCanvas);
|
|
70
|
+
|
|
71
|
+
_this.mapService.off('movestart', _this.clearCanvas);
|
|
72
|
+
|
|
73
|
+
_this.mapService.off('moveend', _this.renderCanvas);
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
_defineProperty(_assertThisInitialized(_this), "bindListener", function () {
|
|
77
|
+
if (_this.updateMode === CanvasUpdateType.ALWAYS) {
|
|
78
|
+
_this.mapService.on('mapchange', _this.renderCanvas);
|
|
79
|
+
} else {
|
|
80
|
+
_this.mapService.on('zoomstart', _this.clearCanvas);
|
|
81
|
+
|
|
82
|
+
_this.mapService.on('zoomend', _this.renderCanvas);
|
|
83
|
+
|
|
84
|
+
_this.mapService.on('movestart', _this.clearCanvas);
|
|
85
|
+
|
|
86
|
+
_this.mapService.on('moveend', _this.renderCanvas);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
_defineProperty(_assertThisInitialized(_this), "clearCanvas", function () {
|
|
91
|
+
if (_this.ctx) {
|
|
92
|
+
var _this$rendererService = _this.rendererService.getViewportSize(),
|
|
93
|
+
w = _this$rendererService.width,
|
|
94
|
+
h = _this$rendererService.height;
|
|
95
|
+
|
|
96
|
+
_this.ctx.clearRect(0, 0, w, h);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
_defineProperty(_assertThisInitialized(_this), "renderCanvas", function () {
|
|
101
|
+
var _this$rendererService2 = _this.rendererService.getViewportSize(),
|
|
102
|
+
viewWidth = _this$rendererService2.width,
|
|
103
|
+
viewHeight = _this$rendererService2.height;
|
|
104
|
+
|
|
105
|
+
if (_this.prevSize[0] !== viewWidth || _this.prevSize[1] !== viewHeight) {
|
|
106
|
+
_this.prevSize = [viewWidth, viewHeight];
|
|
107
|
+
|
|
108
|
+
var size = _this.mapService.getSize();
|
|
109
|
+
|
|
110
|
+
var _size = _slicedToArray(size, 2),
|
|
111
|
+
width = _size[0],
|
|
112
|
+
height = _size[1];
|
|
113
|
+
|
|
114
|
+
_this.canvas.width = viewWidth;
|
|
115
|
+
_this.canvas.height = viewHeight;
|
|
116
|
+
_this.canvas.style.width = width + 'px';
|
|
117
|
+
_this.canvas.style.height = height + 'px';
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
var _ref2 = _this.layer.getLayerConfig(),
|
|
121
|
+
drawingOnCanvas = _ref2.drawingOnCanvas;
|
|
122
|
+
|
|
123
|
+
if (_this.ctx) {
|
|
124
|
+
drawingOnCanvas({
|
|
125
|
+
canvas: _this.canvas,
|
|
126
|
+
ctx: _this.ctx,
|
|
127
|
+
mapService: _this.mapService,
|
|
128
|
+
size: [viewWidth, viewHeight]
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
return _this;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
_createClass(CanvaModel, [{
|
|
137
|
+
key: "clearModels",
|
|
138
|
+
value: function clearModels() {
|
|
139
|
+
if (this.canvas) {
|
|
140
|
+
var _this$mapService$getC;
|
|
141
|
+
|
|
142
|
+
(_this$mapService$getC = this.mapService.getContainer()) === null || _this$mapService$getC === void 0 ? void 0 : _this$mapService$getC.removeChild(this.canvas); // @ts-ignore
|
|
143
|
+
|
|
144
|
+
this.canvas = null;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
this.unBindListener();
|
|
148
|
+
}
|
|
149
|
+
}, {
|
|
150
|
+
key: "initModels",
|
|
151
|
+
value: function initModels() {
|
|
152
|
+
var _ref3 = this.layer.getLayerConfig(),
|
|
153
|
+
_ref3$update = _ref3.update,
|
|
154
|
+
update = _ref3$update === void 0 ? CanvasUpdateType.ALWAYS : _ref3$update;
|
|
155
|
+
|
|
156
|
+
this.updateMode = update;
|
|
157
|
+
this.initCanvas();
|
|
158
|
+
this.renderCanvas();
|
|
159
|
+
this.bindListener();
|
|
160
|
+
this.mapService.getContainer();
|
|
161
|
+
return [];
|
|
162
|
+
}
|
|
163
|
+
}, {
|
|
164
|
+
key: "initCanvas",
|
|
165
|
+
value: function initCanvas() {
|
|
166
|
+
var _this$mapService$getC2;
|
|
167
|
+
|
|
168
|
+
var _ref4 = this.layer.getLayerConfig(),
|
|
169
|
+
zIndex = _ref4.zIndex;
|
|
170
|
+
|
|
171
|
+
var size = this.mapService.getSize();
|
|
172
|
+
|
|
173
|
+
var _size2 = _slicedToArray(size, 2),
|
|
174
|
+
width = _size2[0],
|
|
175
|
+
height = _size2[1];
|
|
176
|
+
|
|
177
|
+
var _this$rendererService3 = this.rendererService.getViewportSize(),
|
|
178
|
+
viewWidth = _this$rendererService3.width,
|
|
179
|
+
viewHeight = _this$rendererService3.height;
|
|
180
|
+
|
|
181
|
+
this.prevSize = [viewWidth, viewHeight];
|
|
182
|
+
var canvas = document.createElement('canvas');
|
|
183
|
+
this.canvas = canvas;
|
|
184
|
+
canvas.width = viewWidth;
|
|
185
|
+
canvas.height = viewHeight;
|
|
186
|
+
canvas.style.pointerEvents = 'none';
|
|
187
|
+
canvas.style.width = width + 'px';
|
|
188
|
+
canvas.style.height = height + 'px';
|
|
189
|
+
canvas.style.position = 'absolute';
|
|
190
|
+
canvas.style.top = '0';
|
|
191
|
+
canvas.style.left = '0';
|
|
192
|
+
canvas.style.zIndex = zIndex + '';
|
|
193
|
+
(_this$mapService$getC2 = this.mapService.getContainer()) === null || _this$mapService$getC2 === void 0 ? void 0 : _this$mapService$getC2.appendChild(canvas);
|
|
194
|
+
var ctx = canvas.getContext('2d');
|
|
195
|
+
this.ctx = ctx;
|
|
196
|
+
}
|
|
197
|
+
}, {
|
|
198
|
+
key: "buildModels",
|
|
199
|
+
value: function buildModels() {
|
|
200
|
+
return this.initModels();
|
|
201
|
+
}
|
|
202
|
+
}, {
|
|
203
|
+
key: "registerBuiltinAttributes",
|
|
204
|
+
value: function registerBuiltinAttributes() {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
}]);
|
|
208
|
+
|
|
209
|
+
return CanvaModel;
|
|
210
|
+
}(BaseModel);
|
|
211
|
+
|
|
212
|
+
export { CanvaModel as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import BaseLayer from '../core/BaseLayer';
|
|
2
|
+
export default class CityBuildingLayer extends BaseLayer {
|
|
3
|
+
type: string;
|
|
4
|
+
buildModels(): void;
|
|
5
|
+
rebuildModels(): void;
|
|
6
|
+
setLight(t: number): void;
|
|
7
|
+
protected getConfigSchema(): {
|
|
8
|
+
properties: {
|
|
9
|
+
opacity: {
|
|
10
|
+
type: string;
|
|
11
|
+
minimum: number;
|
|
12
|
+
maximum: number;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
protected getModelType(): string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
+
|
|
9
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
10
|
+
|
|
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
|
+
|
|
13
|
+
import BaseLayer from "../core/BaseLayer";
|
|
14
|
+
import CityBuildModel from "./models/build";
|
|
15
|
+
|
|
16
|
+
var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
17
|
+
_inherits(CityBuildingLayer, _BaseLayer);
|
|
18
|
+
|
|
19
|
+
var _super = _createSuper(CityBuildingLayer);
|
|
20
|
+
|
|
21
|
+
function CityBuildingLayer() {
|
|
22
|
+
var _this;
|
|
23
|
+
|
|
24
|
+
_classCallCheck(this, CityBuildingLayer);
|
|
25
|
+
|
|
26
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
27
|
+
args[_key] = arguments[_key];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
31
|
+
|
|
32
|
+
_defineProperty(_assertThisInitialized(_this), "type", 'CityBuildingLayer');
|
|
33
|
+
|
|
34
|
+
return _this;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
_createClass(CityBuildingLayer, [{
|
|
38
|
+
key: "buildModels",
|
|
39
|
+
value: function buildModels() {
|
|
40
|
+
var _this2 = this;
|
|
41
|
+
|
|
42
|
+
this.layerModel = new CityBuildModel(this);
|
|
43
|
+
this.layerModel.initModels(function (models) {
|
|
44
|
+
_this2.dispatchModelLoad(models);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}, {
|
|
48
|
+
key: "rebuildModels",
|
|
49
|
+
value: function rebuildModels() {
|
|
50
|
+
var _this3 = this;
|
|
51
|
+
|
|
52
|
+
this.layerModel.buildModels(function (models) {
|
|
53
|
+
_this3.dispatchModelLoad(models);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "setLight",
|
|
58
|
+
value: function setLight(t) {
|
|
59
|
+
this.updateLayerConfig({
|
|
60
|
+
time: t
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}, {
|
|
64
|
+
key: "getConfigSchema",
|
|
65
|
+
value: function getConfigSchema() {
|
|
66
|
+
return {
|
|
67
|
+
properties: {
|
|
68
|
+
opacity: {
|
|
69
|
+
type: 'number',
|
|
70
|
+
minimum: 0,
|
|
71
|
+
maximum: 1
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}, {
|
|
77
|
+
key: "getModelType",
|
|
78
|
+
value: function getModelType() {
|
|
79
|
+
return 'citybuilding';
|
|
80
|
+
}
|
|
81
|
+
}]);
|
|
82
|
+
|
|
83
|
+
return CityBuildingLayer;
|
|
84
|
+
}(BaseLayer);
|
|
85
|
+
|
|
86
|
+
export { CityBuildingLayer as default };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IModel } from '@antv/l7-core';
|
|
2
|
+
import BaseModel from '../../core/BaseModel';
|
|
3
|
+
export default class CityBuildModel extends BaseModel {
|
|
4
|
+
private cityCenter;
|
|
5
|
+
private cityMinSize;
|
|
6
|
+
getUninforms(): {
|
|
7
|
+
u_cityCenter: [number, number];
|
|
8
|
+
u_cityMinSize: number;
|
|
9
|
+
u_circleSweep: number;
|
|
10
|
+
u_circleSweepColor: number[];
|
|
11
|
+
u_circleSweepSpeed: number;
|
|
12
|
+
u_opacity: number;
|
|
13
|
+
u_baseColor: number[];
|
|
14
|
+
u_brightColor: number[];
|
|
15
|
+
u_windowColor: number[];
|
|
16
|
+
u_time: number;
|
|
17
|
+
};
|
|
18
|
+
calCityGeo(): void;
|
|
19
|
+
initModels(callbackModel: (models: IModel[]) => void): void;
|
|
20
|
+
buildModels(callbackModel: (models: IModel[]) => void): void;
|
|
21
|
+
protected registerBuiltinAttributes(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
+
|
|
8
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
9
|
+
|
|
10
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
11
|
+
|
|
12
|
+
import { AttributeType, gl } from '@antv/l7-core';
|
|
13
|
+
import { rgb2arr } from '@antv/l7-utils';
|
|
14
|
+
import BaseModel from "../../core/BaseModel";
|
|
15
|
+
import { PolygonExtrudeTriangulation } from "../../core/triangulation";
|
|
16
|
+
|
|
17
|
+
/* babel-plugin-inline-import '../shaders/build_frag.glsl' */
|
|
18
|
+
var buildFrag = "uniform float u_opacity: 1.0;\nuniform vec4 u_baseColor : [ 1.0, 0, 0, 1.0 ];\nuniform vec4 u_brightColor : [ 1.0, 0, 0, 1.0 ];\nuniform vec4 u_windowColor : [ 1.0, 0, 0, 1.0 ];\nuniform float u_near : 0;\nuniform float u_far : 1;\nvarying vec4 v_Color;\nvarying vec2 v_texCoord;\nuniform float u_Zoom : 1;\nuniform float u_time;\n\nuniform float u_circleSweep;\nuniform float u_cityMinSize;\nuniform vec3 u_circleSweepColor;\nuniform float u_circleSweepSpeed;\n\nvarying float v_worldDis;\n\n#pragma include \"picking\"\n\nvec3 getWindowColor(float n, float hot, vec3 brightColor, vec3 darkColor) {\n float s = step(hot, n);\n vec3 color = mix(brightColor,vec3(0.9,0.9,1.0),n);\n\n return mix(darkColor, color, s);\n}\nfloat random (vec2 st) {\n return fract(sin(dot(st.xy, vec2(12.9898,78.233)))* 43758.5453123);\n}\n\nfloat LinearizeDepth()\n{\n float z = gl_FragCoord.z * 2.0 - 1.0;\n return (2.0 * u_near * u_far) / (u_far + u_near - z * (u_far - u_near));\n}\n\nvec3 fog(vec3 color, vec3 fogColor, float depth){\n float fogFactor=clamp(depth,0.0,1.0);\n vec3 output_color=mix(fogColor,color,fogFactor);\n return output_color;\n}\n\nfloat sdRect(vec2 p, vec2 sz) {\n vec2 d = abs(p) - sz;\n float outside = length(max(d, 0.));\n float inside = min(max(d.x, d.y), 0.);\n return outside + inside;\n}\n\nvoid main() {\n gl_FragColor = v_Color;\n vec3 baseColor = u_baseColor.xyz;\n vec3 brightColor = u_brightColor.xyz;\n vec3 windowColor = u_windowColor.xyz;\n float targetColId = 5.;\n float depth = 1.0 - LinearizeDepth() / u_far * u_Zoom;\n vec3 fogColor = vec3(23.0/255.0,31.0/255.0,51.0/255.0);\n if(v_texCoord.x < 0.) { //\u9876\u90E8\u989C\u8272\n vec3 foggedColor = fog(baseColor.xyz + vec3(0.12*0.9,0.2*0.9,0.3*0.9),fogColor,depth);\n gl_FragColor = vec4( foggedColor, v_Color.w);\n }else { // \u4FA7\u9762\u989C\u8272\n vec2 st = v_texCoord;\n vec2 UvScale = v_texCoord;\n float tStep = min(0.08,max(0.05* (18.0-u_Zoom),0.02));\n float tStart = 0.25 * tStep;\n float tEnd = 0.75 * tStep;\n float u = mod(UvScale.x, tStep);\n float v = mod(UvScale.y, tStep);\n float ux = floor(UvScale.x/tStep);\n float uy = floor(UvScale.y/tStep);\n float n = random(vec2(ux,uy));\n float lightP = u_time;\n float head = 1.0- step(0.005,st.y);\n /*step3*/\n // \u5C06\u7A97\u6237\u989C\u8272\u548C\u5899\u9762\u989C\u8272\u533A\u522B\u5F00\u6765\n float sU = step(tStart, u) - step(tEnd, u);\n float sV = step(tStart, v) - step(tEnd, v);\n vec2 windowSize = vec2(abs(tEnd-tStart),abs(tEnd-tStart));\n float dist = sdRect(vec2(u,v), windowSize);\n float s = sU * sV;\n\n float curColId = floor(UvScale.x / tStep);\n float sCol = step(targetColId - 0.2, curColId) - step(targetColId + 0.2, curColId);\n\n float mLightP = mod(lightP, 2.);\n float sRow = step(mLightP - 0.2, st.y) - step(mLightP, st.y);\n if(ux == targetColId){\n n =0.;\n }\n float timeP = min(0.75, abs ( sin(u_time/3.0) ) );\n float hot = smoothstep(1.0,0.0,timeP);\n vec3 color = mix(baseColor, getWindowColor(n,hot,brightColor,windowColor), s);\n //vec3 color = mix(baseColor, getWindowColor(n,hot,brightColor,windowColor), 1.0);\n float sFinal = s * sCol * sRow;\n color += mix(baseColor, brightColor, sFinal*n);\n if (st.y<0.01){\n color = baseColor;\n }\n if(head ==1.0) { // \u9876\u90E8\u4EAE\u7EBF\n color = brightColor;\n }\n color = color * v_Color.rgb;\n\n vec3 foggedColor = fog(color,fogColor,depth);\n\n gl_FragColor = vec4(foggedColor,1.0);\n }\n\n\n if(u_circleSweep > 0.0 && v_worldDis < u_cityMinSize) {\n float r = fract(((v_worldDis/u_cityMinSize) - u_time * u_circleSweepSpeed) * 2.0);\n gl_FragColor.rgb += r * r * u_circleSweepColor;\n }\n \n gl_FragColor.a *= u_opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
19
|
+
|
|
20
|
+
/* babel-plugin-inline-import '../shaders/build_vert.glsl' */
|
|
21
|
+
var buildVert = "precision highp float;\n\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute float a_Size;\nuniform mat4 u_ModelMatrix;\n\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\nvarying vec4 v_Color;\nuniform mat4 u_Mvp;\n\nuniform float u_circleSweep;\nuniform vec2 u_cityCenter;\n\nvarying float v_worldDis;\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\n\nvoid main() {\n vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);\n vec4 project_pos = project_position(pos);\n\n v_texCoord = a_Uv;\n\n if(u_circleSweep > 0.0) {\n vec2 lnglatscale = vec2(0.0);\n if(u_CoordinateSystem != COORDINATE_SYSTEM_P20_2) {\n lnglatscale = (a_Position.xy - u_cityCenter) * vec2(0.0, 0.135);\n }\n v_worldDis = length(a_Position.xy + lnglatscale - u_cityCenter);\n }\n \n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n float lightWeight = calc_lighting(pos);\n // v_Color = a_Color;\n v_Color = vec4(a_Color.rgb * lightWeight, a_Color.w);\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
22
|
+
|
|
23
|
+
var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
|
|
24
|
+
_inherits(CityBuildModel, _BaseModel);
|
|
25
|
+
|
|
26
|
+
var _super = _createSuper(CityBuildModel);
|
|
27
|
+
|
|
28
|
+
function CityBuildModel() {
|
|
29
|
+
_classCallCheck(this, CityBuildModel);
|
|
30
|
+
|
|
31
|
+
return _super.apply(this, arguments);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
_createClass(CityBuildModel, [{
|
|
35
|
+
key: "getUninforms",
|
|
36
|
+
value: function getUninforms() {
|
|
37
|
+
var _ref = this.layer.getLayerConfig(),
|
|
38
|
+
_ref$opacity = _ref.opacity,
|
|
39
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
40
|
+
_ref$baseColor = _ref.baseColor,
|
|
41
|
+
baseColor = _ref$baseColor === void 0 ? 'rgb(16,16,16)' : _ref$baseColor,
|
|
42
|
+
_ref$brightColor = _ref.brightColor,
|
|
43
|
+
brightColor = _ref$brightColor === void 0 ? 'rgb(255,176,38)' : _ref$brightColor,
|
|
44
|
+
_ref$windowColor = _ref.windowColor,
|
|
45
|
+
windowColor = _ref$windowColor === void 0 ? 'rgb(30,60,89)' : _ref$windowColor,
|
|
46
|
+
_ref$time = _ref.time,
|
|
47
|
+
time = _ref$time === void 0 ? 0 : _ref$time,
|
|
48
|
+
_ref$sweep = _ref.sweep,
|
|
49
|
+
sweep = _ref$sweep === void 0 ? {
|
|
50
|
+
enable: false,
|
|
51
|
+
sweepRadius: 1,
|
|
52
|
+
sweepColor: 'rgb(255, 255, 255)',
|
|
53
|
+
sweepSpeed: 0.4,
|
|
54
|
+
sweepCenter: this.cityCenter
|
|
55
|
+
} : _ref$sweep;
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
u_cityCenter: sweep.sweepCenter || this.cityCenter,
|
|
59
|
+
u_cityMinSize: this.cityMinSize * sweep.sweepRadius,
|
|
60
|
+
u_circleSweep: sweep.enable ? 1.0 : 0.0,
|
|
61
|
+
u_circleSweepColor: rgb2arr(sweep.sweepColor).slice(0, 3),
|
|
62
|
+
u_circleSweepSpeed: sweep.sweepSpeed,
|
|
63
|
+
u_opacity: opacity,
|
|
64
|
+
u_baseColor: rgb2arr(baseColor),
|
|
65
|
+
u_brightColor: rgb2arr(brightColor),
|
|
66
|
+
u_windowColor: rgb2arr(windowColor),
|
|
67
|
+
u_time: this.layer.getLayerAnimateTime() || time
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: "calCityGeo",
|
|
72
|
+
value: function calCityGeo() {
|
|
73
|
+
// @ts-ignore
|
|
74
|
+
var _this$layer$getSource = _slicedToArray(this.layer.getSource().extent, 4),
|
|
75
|
+
minLng = _this$layer$getSource[0],
|
|
76
|
+
minLat = _this$layer$getSource[1],
|
|
77
|
+
maxLng = _this$layer$getSource[2],
|
|
78
|
+
maxLat = _this$layer$getSource[3];
|
|
79
|
+
|
|
80
|
+
if (this.mapService.version === 'GAODE2.x') {
|
|
81
|
+
// @ts-ignore
|
|
82
|
+
this.cityCenter = this.mapService.lngLatToCoord([(maxLng + minLng) / 2, (maxLat + minLat) / 2]); // @ts-ignore
|
|
83
|
+
|
|
84
|
+
var l1 = this.mapService.lngLatToCoord([maxLng, maxLat]); // @ts-ignore
|
|
85
|
+
|
|
86
|
+
var l2 = this.mapService.lngLatToCoord([minLng, minLat]);
|
|
87
|
+
this.cityMinSize = Math.sqrt(Math.pow(l1[0] - l2[0], 2) + Math.pow(l1[1] - l2[1], 2)) / 4;
|
|
88
|
+
} else {
|
|
89
|
+
var w = maxLng - minLng;
|
|
90
|
+
var h = maxLat - minLat;
|
|
91
|
+
this.cityCenter = [(maxLng + minLng) / 2, (maxLat + minLat) / 2];
|
|
92
|
+
this.cityMinSize = Math.sqrt(Math.pow(w, 2) + Math.pow(h, 2)) / 4;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "initModels",
|
|
97
|
+
value: function initModels(callbackModel) {
|
|
98
|
+
this.calCityGeo();
|
|
99
|
+
this.startModelAnimate();
|
|
100
|
+
this.buildModels(callbackModel);
|
|
101
|
+
}
|
|
102
|
+
}, {
|
|
103
|
+
key: "buildModels",
|
|
104
|
+
value: function buildModels(callbackModel) {
|
|
105
|
+
this.layer.buildLayerModel({
|
|
106
|
+
moduleName: 'cityBuilding',
|
|
107
|
+
vertexShader: buildVert,
|
|
108
|
+
fragmentShader: buildFrag,
|
|
109
|
+
triangulation: PolygonExtrudeTriangulation,
|
|
110
|
+
depth: {
|
|
111
|
+
enable: true
|
|
112
|
+
},
|
|
113
|
+
cull: {
|
|
114
|
+
enable: true,
|
|
115
|
+
face: gl.BACK
|
|
116
|
+
}
|
|
117
|
+
}).then(function (model) {
|
|
118
|
+
callbackModel([model]);
|
|
119
|
+
}).catch(function (err) {
|
|
120
|
+
console.warn(err);
|
|
121
|
+
callbackModel([]);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}, {
|
|
125
|
+
key: "registerBuiltinAttributes",
|
|
126
|
+
value: function registerBuiltinAttributes() {
|
|
127
|
+
// point layer size;
|
|
128
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
129
|
+
name: 'normal',
|
|
130
|
+
type: AttributeType.Attribute,
|
|
131
|
+
descriptor: {
|
|
132
|
+
name: 'a_Normal',
|
|
133
|
+
buffer: {
|
|
134
|
+
// give the WebGL driver a hint that this buffer may change
|
|
135
|
+
usage: gl.STATIC_DRAW,
|
|
136
|
+
data: [],
|
|
137
|
+
type: gl.FLOAT
|
|
138
|
+
},
|
|
139
|
+
size: 3,
|
|
140
|
+
update: function update(feature, featureIdx, vertex, attributeIdx, normal) {
|
|
141
|
+
return normal;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
146
|
+
name: 'size',
|
|
147
|
+
type: AttributeType.Attribute,
|
|
148
|
+
descriptor: {
|
|
149
|
+
name: 'a_Size',
|
|
150
|
+
buffer: {
|
|
151
|
+
// give the WebGL driver a hint that this buffer may change
|
|
152
|
+
usage: gl.DYNAMIC_DRAW,
|
|
153
|
+
data: [],
|
|
154
|
+
type: gl.FLOAT
|
|
155
|
+
},
|
|
156
|
+
size: 1,
|
|
157
|
+
update: function update(feature) {
|
|
158
|
+
var _feature$size = feature.size,
|
|
159
|
+
size = _feature$size === void 0 ? 10 : _feature$size;
|
|
160
|
+
return Array.isArray(size) ? [size[0]] : [size];
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
165
|
+
name: 'uv',
|
|
166
|
+
type: AttributeType.Attribute,
|
|
167
|
+
descriptor: {
|
|
168
|
+
name: 'a_Uv',
|
|
169
|
+
buffer: {
|
|
170
|
+
// give the WebGL driver a hint that this buffer may change
|
|
171
|
+
usage: gl.DYNAMIC_DRAW,
|
|
172
|
+
data: [],
|
|
173
|
+
type: gl.FLOAT
|
|
174
|
+
},
|
|
175
|
+
size: 2,
|
|
176
|
+
update: function update(feature, featureIdx, vertex) {
|
|
177
|
+
return [vertex[3], vertex[4]];
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}]);
|
|
183
|
+
|
|
184
|
+
return CityBuildModel;
|
|
185
|
+
}(BaseModel);
|
|
186
|
+
|
|
187
|
+
export { CityBuildModel as default };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
uniform float u_opacity: 1.0;
|
|
2
|
+
uniform vec4 u_baseColor : [ 1.0, 0, 0, 1.0 ];
|
|
3
|
+
uniform vec4 u_brightColor : [ 1.0, 0, 0, 1.0 ];
|
|
4
|
+
uniform vec4 u_windowColor : [ 1.0, 0, 0, 1.0 ];
|
|
5
|
+
uniform float u_near : 0;
|
|
6
|
+
uniform float u_far : 1;
|
|
7
|
+
varying vec4 v_Color;
|
|
8
|
+
varying vec2 v_texCoord;
|
|
9
|
+
uniform float u_Zoom : 1;
|
|
10
|
+
uniform float u_time;
|
|
11
|
+
|
|
12
|
+
uniform float u_circleSweep;
|
|
13
|
+
uniform float u_cityMinSize;
|
|
14
|
+
uniform vec3 u_circleSweepColor;
|
|
15
|
+
uniform float u_circleSweepSpeed;
|
|
16
|
+
|
|
17
|
+
varying float v_worldDis;
|
|
18
|
+
|
|
19
|
+
#pragma include "picking"
|
|
20
|
+
|
|
21
|
+
vec3 getWindowColor(float n, float hot, vec3 brightColor, vec3 darkColor) {
|
|
22
|
+
float s = step(hot, n);
|
|
23
|
+
vec3 color = mix(brightColor,vec3(0.9,0.9,1.0),n);
|
|
24
|
+
|
|
25
|
+
return mix(darkColor, color, s);
|
|
26
|
+
}
|
|
27
|
+
float random (vec2 st) {
|
|
28
|
+
return fract(sin(dot(st.xy, vec2(12.9898,78.233)))* 43758.5453123);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
float LinearizeDepth()
|
|
32
|
+
{
|
|
33
|
+
float z = gl_FragCoord.z * 2.0 - 1.0;
|
|
34
|
+
return (2.0 * u_near * u_far) / (u_far + u_near - z * (u_far - u_near));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
vec3 fog(vec3 color, vec3 fogColor, float depth){
|
|
38
|
+
float fogFactor=clamp(depth,0.0,1.0);
|
|
39
|
+
vec3 output_color=mix(fogColor,color,fogFactor);
|
|
40
|
+
return output_color;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
float sdRect(vec2 p, vec2 sz) {
|
|
44
|
+
vec2 d = abs(p) - sz;
|
|
45
|
+
float outside = length(max(d, 0.));
|
|
46
|
+
float inside = min(max(d.x, d.y), 0.);
|
|
47
|
+
return outside + inside;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
void main() {
|
|
51
|
+
gl_FragColor = v_Color;
|
|
52
|
+
vec3 baseColor = u_baseColor.xyz;
|
|
53
|
+
vec3 brightColor = u_brightColor.xyz;
|
|
54
|
+
vec3 windowColor = u_windowColor.xyz;
|
|
55
|
+
float targetColId = 5.;
|
|
56
|
+
float depth = 1.0 - LinearizeDepth() / u_far * u_Zoom;
|
|
57
|
+
vec3 fogColor = vec3(23.0/255.0,31.0/255.0,51.0/255.0);
|
|
58
|
+
if(v_texCoord.x < 0.) { //顶部颜色
|
|
59
|
+
vec3 foggedColor = fog(baseColor.xyz + vec3(0.12*0.9,0.2*0.9,0.3*0.9),fogColor,depth);
|
|
60
|
+
gl_FragColor = vec4( foggedColor, v_Color.w);
|
|
61
|
+
}else { // 侧面颜色
|
|
62
|
+
vec2 st = v_texCoord;
|
|
63
|
+
vec2 UvScale = v_texCoord;
|
|
64
|
+
float tStep = min(0.08,max(0.05* (18.0-u_Zoom),0.02));
|
|
65
|
+
float tStart = 0.25 * tStep;
|
|
66
|
+
float tEnd = 0.75 * tStep;
|
|
67
|
+
float u = mod(UvScale.x, tStep);
|
|
68
|
+
float v = mod(UvScale.y, tStep);
|
|
69
|
+
float ux = floor(UvScale.x/tStep);
|
|
70
|
+
float uy = floor(UvScale.y/tStep);
|
|
71
|
+
float n = random(vec2(ux,uy));
|
|
72
|
+
float lightP = u_time;
|
|
73
|
+
float head = 1.0- step(0.005,st.y);
|
|
74
|
+
/*step3*/
|
|
75
|
+
// 将窗户颜色和墙面颜色区别开来
|
|
76
|
+
float sU = step(tStart, u) - step(tEnd, u);
|
|
77
|
+
float sV = step(tStart, v) - step(tEnd, v);
|
|
78
|
+
vec2 windowSize = vec2(abs(tEnd-tStart),abs(tEnd-tStart));
|
|
79
|
+
float dist = sdRect(vec2(u,v), windowSize);
|
|
80
|
+
float s = sU * sV;
|
|
81
|
+
|
|
82
|
+
float curColId = floor(UvScale.x / tStep);
|
|
83
|
+
float sCol = step(targetColId - 0.2, curColId) - step(targetColId + 0.2, curColId);
|
|
84
|
+
|
|
85
|
+
float mLightP = mod(lightP, 2.);
|
|
86
|
+
float sRow = step(mLightP - 0.2, st.y) - step(mLightP, st.y);
|
|
87
|
+
if(ux == targetColId){
|
|
88
|
+
n =0.;
|
|
89
|
+
}
|
|
90
|
+
float timeP = min(0.75, abs ( sin(u_time/3.0) ) );
|
|
91
|
+
float hot = smoothstep(1.0,0.0,timeP);
|
|
92
|
+
vec3 color = mix(baseColor, getWindowColor(n,hot,brightColor,windowColor), s);
|
|
93
|
+
//vec3 color = mix(baseColor, getWindowColor(n,hot,brightColor,windowColor), 1.0);
|
|
94
|
+
float sFinal = s * sCol * sRow;
|
|
95
|
+
color += mix(baseColor, brightColor, sFinal*n);
|
|
96
|
+
if (st.y<0.01){
|
|
97
|
+
color = baseColor;
|
|
98
|
+
}
|
|
99
|
+
if(head ==1.0) { // 顶部亮线
|
|
100
|
+
color = brightColor;
|
|
101
|
+
}
|
|
102
|
+
color = color * v_Color.rgb;
|
|
103
|
+
|
|
104
|
+
vec3 foggedColor = fog(color,fogColor,depth);
|
|
105
|
+
|
|
106
|
+
gl_FragColor = vec4(foggedColor,1.0);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
if(u_circleSweep > 0.0 && v_worldDis < u_cityMinSize) {
|
|
111
|
+
float r = fract(((v_worldDis/u_cityMinSize) - u_time * u_circleSweepSpeed) * 2.0);
|
|
112
|
+
gl_FragColor.rgb += r * r * u_circleSweepColor;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
gl_FragColor.a *= u_opacity;
|
|
116
|
+
gl_FragColor = filterColor(gl_FragColor);
|
|
117
|
+
}
|