@antv/l7-layers 2.21.1 → 2.21.3
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/canvas/index.js +60 -113
- package/es/canvas/models/canvas.js +95 -135
- package/es/canvas/models/constants.js +1 -1
- package/es/citybuliding/building.js +20 -58
- package/es/citybuliding/models/build.js +142 -199
- package/es/core/BaseLayer.d.ts +1 -1
- package/es/core/BaseLayer.js +1113 -1412
- package/es/core/BaseModel.js +263 -317
- package/es/core/CommonStyleAttribute.js +25 -18
- package/es/core/LayerPickService.js +92 -141
- package/es/core/TextureService.js +58 -69
- package/es/core/constant.js +2 -2
- package/es/core/interface.js +5 -5
- package/es/core/line_trangluation.js +38 -43
- package/es/core/shape/Path.js +21 -12
- package/es/core/shape/arrow.js +50 -62
- package/es/core/shape/extrude.js +54 -62
- package/es/core/triangulation.js +192 -171
- package/es/core/utils.js +5 -5
- package/es/earth/index.js +35 -73
- package/es/earth/models/atmosphere.js +98 -148
- package/es/earth/models/base.js +148 -201
- package/es/earth/models/bloomsphere.js +97 -147
- package/es/earth/utils.js +37 -38
- package/es/geometry/index.js +36 -75
- package/es/geometry/models/billboard.js +147 -204
- package/es/geometry/models/index.js +1 -1
- package/es/geometry/models/plane.js +277 -357
- package/es/geometry/models/sprite.js +182 -240
- package/es/heatmap/index.js +72 -121
- package/es/heatmap/models/grid.js +66 -118
- package/es/heatmap/models/grid3d.js +101 -151
- package/es/heatmap/models/heatmap.js +398 -455
- package/es/heatmap/models/hexagon.js +67 -119
- package/es/heatmap/models/index.js +1 -1
- package/es/heatmap/triangulation.js +20 -20
- package/es/image/index.js +23 -62
- package/es/image/models/image.js +99 -163
- package/es/image/models/index.js +1 -1
- package/es/line/index.js +65 -106
- package/es/line/models/arc.js +200 -248
- package/es/line/models/arc_3d.js +190 -241
- package/es/line/models/flow.js +101 -153
- package/es/line/models/great_circle.js +183 -234
- package/es/line/models/index.js +1 -1
- package/es/line/models/line.js +230 -285
- package/es/line/models/simple_line.js +142 -192
- package/es/line/models/wall.js +221 -273
- package/es/mask/index.js +16 -53
- package/es/mask/models/fill.js +51 -108
- package/es/mask/models/index.js +1 -1
- package/es/plugins/DataMappingPlugin.js +205 -249
- package/es/plugins/DataSourcePlugin.js +64 -92
- package/es/plugins/FeatureScalePlugin.js +258 -302
- package/es/plugins/LayerAnimateStylePlugin.js +12 -22
- package/es/plugins/LayerMaskPlugin.js +15 -24
- package/es/plugins/LayerModelPlugin.js +52 -136
- package/es/plugins/LayerStylePlugin.js +14 -23
- package/es/plugins/LightingPlugin.js +26 -37
- package/es/plugins/MultiPassRendererPlugin.js +34 -39
- package/es/plugins/PixelPickingPlugin.js +129 -150
- package/es/plugins/RegisterStyleAttributePlugin.js +80 -96
- package/es/plugins/ShaderUniformPlugin.js +159 -131
- package/es/plugins/UpdateModelPlugin.js +16 -26
- package/es/plugins/UpdateStyleAttributePlugin.js +47 -65
- package/es/plugins/index.d.ts +1 -1
- package/es/point/index.js +118 -182
- package/es/point/models/billboard_point.js +72 -127
- package/es/point/models/earthExtrude.js +170 -220
- package/es/point/models/earthFill.js +136 -192
- package/es/point/models/extrude.js +167 -217
- package/es/point/models/fill.js +152 -209
- package/es/point/models/fillImage.js +156 -211
- package/es/point/models/image.js +127 -180
- package/es/point/models/index.js +1 -1
- package/es/point/models/normal.js +67 -122
- package/es/point/models/radar.js +93 -148
- package/es/point/models/text.js +447 -578
- package/es/point/shape/extrude.js +19 -25
- package/es/polygon/index.js +61 -99
- package/es/polygon/models/extrude.js +208 -281
- package/es/polygon/models/extrusion.js +95 -142
- package/es/polygon/models/fill.js +102 -153
- package/es/polygon/models/index.js +1 -1
- package/es/polygon/models/ocean.js +139 -198
- package/es/polygon/models/water.js +120 -179
- package/es/raster/buffers/triangulation.js +13 -11
- package/es/raster/index.js +47 -88
- package/es/raster/models/index.js +1 -1
- package/es/raster/models/raster.js +134 -202
- package/es/raster/models/rasterRgb.js +134 -208
- package/es/raster/models/rasterTerrainRgb.js +98 -153
- package/es/tile/core/BaseLayer.d.ts +1 -0
- package/es/tile/core/BaseLayer.js +206 -282
- package/es/tile/core/TileDebugLayer.js +12 -46
- package/es/tile/interaction/getRasterData.js +24 -30
- package/es/tile/interaction/utils.js +15 -33
- package/es/tile/service/TileLayerService.js +104 -177
- package/es/tile/service/TilePickService.js +99 -156
- package/es/tile/service/TileSourceService.js +17 -26
- package/es/tile/tile/DebugTile.js +41 -78
- package/es/tile/tile/ImageTile.js +33 -66
- package/es/tile/tile/MaskTile.js +47 -81
- package/es/tile/tile/RasterRGBTile.js +40 -71
- package/es/tile/tile/RasterTerrainRGBTile.js +33 -66
- package/es/tile/tile/RasterTile.js +69 -104
- package/es/tile/tile/Tile.d.ts +1 -1
- package/es/tile/tile/Tile.js +151 -232
- package/es/tile/tile/VectorTile.js +77 -124
- package/es/tile/tile/index.d.ts +1 -1
- package/es/tile/tile/index.js +4 -2
- package/es/tile/tile/util.d.ts +1 -1
- package/es/tile/utils/constants.js +1 -1
- package/es/tile/utils/utils.js +2 -2
- package/es/utils/blend.js +52 -46
- package/es/utils/collision-index.js +62 -70
- package/es/utils/extrude_polyline.js +441 -471
- package/es/utils/grid-index.js +97 -123
- package/es/utils/identityScale.js +5 -5
- package/es/utils/load-image.js +15 -39
- package/es/utils/multiPassRender.js +7 -9
- package/es/utils/polylineNormal.js +40 -42
- package/es/utils/rampcolor_legend.js +5 -3
- package/es/utils/simpleLine.js +53 -66
- package/es/utils/symbol-layout.js +95 -117
- package/es/wind/index.js +28 -70
- package/es/wind/models/index.js +1 -1
- package/es/wind/models/utils.js +36 -34
- package/es/wind/models/wind.js +203 -260
- package/es/wind/models/windRender.js +258 -269
- package/es/wind/models/windShader.js +145 -6
- package/lib/canvas/index.d.ts +18 -0
- package/lib/canvas/index.js +64 -113
- package/lib/canvas/models/canvas.d.ts +23 -0
- package/lib/canvas/models/canvas.js +97 -136
- package/lib/canvas/models/constants.d.ts +2 -0
- package/lib/canvas/models/constants.js +1 -1
- package/lib/canvas/models/index.d.ts +2 -0
- package/lib/canvas/models/index.js +2 -2
- package/lib/citybuliding/building.d.ts +7 -0
- package/lib/citybuliding/building.js +22 -58
- package/lib/citybuliding/models/build.d.ts +17 -0
- package/lib/citybuliding/models/build.js +144 -199
- package/lib/core/BaseLayer.d.ts +247 -0
- package/lib/core/BaseLayer.js +1115 -1412
- package/lib/core/BaseModel.d.ts +82 -0
- package/lib/core/BaseModel.js +263 -315
- package/lib/core/CommonStyleAttribute.d.ts +20 -0
- package/lib/core/CommonStyleAttribute.js +25 -18
- package/lib/core/LayerPickService.d.ts +12 -0
- package/lib/core/LayerPickService.js +93 -140
- package/lib/core/TextureService.d.ts +15 -0
- package/lib/core/TextureService.js +59 -68
- package/lib/core/constant.d.ts +6 -0
- package/lib/core/constant.js +2 -2
- package/lib/core/interface.d.ts +282 -0
- package/lib/core/interface.js +5 -5
- package/lib/core/line_trangluation.d.ts +19 -0
- package/lib/core/line_trangluation.js +38 -43
- package/lib/core/schema.d.ts +27 -0
- package/lib/core/shape/Path.d.ts +39 -0
- package/lib/core/shape/Path.js +21 -13
- package/lib/core/shape/arrow.d.ts +25 -0
- package/lib/core/shape/arrow.js +50 -62
- package/lib/core/shape/extrude.d.ts +17 -0
- package/lib/core/shape/extrude.js +54 -62
- package/lib/core/triangulation.d.ts +136 -0
- package/lib/core/triangulation.js +194 -174
- package/lib/core/utils.d.ts +4 -0
- package/lib/core/utils.js +5 -5
- package/lib/earth/index.d.ts +22 -0
- package/lib/earth/index.js +37 -73
- package/lib/earth/models/atmosphere.d.ts +15 -0
- package/lib/earth/models/atmosphere.js +100 -148
- package/lib/earth/models/base.d.ts +22 -0
- package/lib/earth/models/base.js +150 -201
- package/lib/earth/models/bloomsphere.d.ts +15 -0
- package/lib/earth/models/bloomsphere.js +99 -147
- package/lib/earth/utils.d.ts +26 -0
- package/lib/earth/utils.js +37 -39
- package/lib/geometry/index.d.ts +22 -0
- package/lib/geometry/index.js +38 -75
- package/lib/geometry/models/billboard.d.ts +24 -0
- package/lib/geometry/models/billboard.js +149 -204
- package/lib/geometry/models/index.d.ts +5 -0
- package/lib/geometry/models/index.js +1 -1
- package/lib/geometry/models/plane.d.ts +43 -0
- package/lib/geometry/models/plane.js +280 -357
- package/lib/geometry/models/sprite.d.ts +48 -0
- package/lib/geometry/models/sprite.js +184 -240
- package/lib/heatmap/index.d.ts +13 -0
- package/lib/heatmap/index.js +74 -121
- package/lib/heatmap/models/grid.d.ts +15 -0
- package/lib/heatmap/models/grid.js +68 -118
- package/lib/heatmap/models/grid3d.d.ts +15 -0
- package/lib/heatmap/models/grid3d.js +103 -151
- package/lib/heatmap/models/heatmap.d.ts +27 -0
- package/lib/heatmap/models/heatmap.js +400 -455
- package/lib/heatmap/models/hexagon.d.ts +15 -0
- package/lib/heatmap/models/hexagon.js +69 -119
- package/lib/heatmap/models/index.d.ts +5 -0
- package/lib/heatmap/models/index.js +1 -1
- package/lib/heatmap/triangulation.d.ts +5 -0
- package/lib/heatmap/triangulation.js +20 -20
- package/lib/image/index.d.ts +9 -0
- package/lib/image/index.js +25 -62
- package/lib/image/models/image.d.ts +17 -0
- package/lib/image/models/image.js +101 -163
- package/lib/image/models/index.d.ts +5 -0
- package/lib/image/models/index.js +1 -1
- package/lib/index.d.ts +18 -0
- package/lib/index.js +17 -17
- package/lib/line/index.d.ts +36 -0
- package/lib/line/index.js +67 -106
- package/lib/line/models/arc.d.ts +22 -0
- package/lib/line/models/arc.js +202 -248
- package/lib/line/models/arc_3d.d.ts +22 -0
- package/lib/line/models/arc_3d.js +193 -241
- package/lib/line/models/flow.d.ts +14 -0
- package/lib/line/models/flow.js +103 -153
- package/lib/line/models/great_circle.d.ts +17 -0
- package/lib/line/models/great_circle.js +185 -234
- package/lib/line/models/index.d.ts +5 -0
- package/lib/line/models/index.js +1 -1
- package/lib/line/models/line.d.ts +27 -0
- package/lib/line/models/line.js +232 -285
- package/lib/line/models/simple_line.d.ts +19 -0
- package/lib/line/models/simple_line.js +144 -192
- package/lib/line/models/wall.d.ts +17 -0
- package/lib/line/models/wall.js +223 -273
- package/lib/mask/index.d.ts +16 -0
- package/lib/mask/index.js +18 -53
- package/lib/mask/models/fill.d.ts +18 -0
- package/lib/mask/models/fill.js +53 -108
- package/lib/mask/models/index.d.ts +5 -0
- package/lib/mask/models/index.js +1 -1
- package/lib/plugins/DataMappingPlugin.d.ts +13 -0
- package/lib/plugins/DataMappingPlugin.js +206 -248
- package/lib/plugins/DataSourcePlugin.d.ts +6 -0
- package/lib/plugins/DataSourcePlugin.js +65 -91
- package/lib/plugins/FeatureScalePlugin.d.ts +20 -0
- package/lib/plugins/FeatureScalePlugin.js +261 -304
- package/lib/plugins/LayerAnimateStylePlugin.d.ts +4 -0
- package/lib/plugins/LayerAnimateStylePlugin.js +13 -21
- package/lib/plugins/LayerMaskPlugin.d.ts +7 -0
- package/lib/plugins/LayerMaskPlugin.js +16 -24
- package/lib/plugins/LayerModelPlugin.d.ts +10 -0
- package/lib/plugins/LayerModelPlugin.js +53 -135
- package/lib/plugins/LayerStylePlugin.d.ts +7 -0
- package/lib/plugins/LayerStylePlugin.js +15 -23
- package/lib/plugins/LightingPlugin.d.ts +35 -0
- package/lib/plugins/LightingPlugin.js +27 -36
- package/lib/plugins/MultiPassRendererPlugin.d.ts +22 -0
- package/lib/plugins/MultiPassRendererPlugin.js +35 -38
- package/lib/plugins/PixelPickingPlugin.d.ts +11 -0
- package/lib/plugins/PixelPickingPlugin.js +130 -149
- package/lib/plugins/RegisterStyleAttributePlugin.d.ts +11 -0
- package/lib/plugins/RegisterStyleAttributePlugin.js +81 -96
- package/lib/plugins/ShaderUniformPlugin.d.ts +22 -0
- package/lib/plugins/ShaderUniformPlugin.js +160 -130
- package/lib/plugins/UpdateModelPlugin.d.ts +7 -0
- package/lib/plugins/UpdateModelPlugin.js +17 -26
- package/lib/plugins/UpdateStyleAttributePlugin.d.ts +9 -0
- package/lib/plugins/UpdateStyleAttributePlugin.js +48 -65
- package/lib/plugins/index.d.ts +15 -0
- package/lib/point/index.d.ts +33 -0
- package/lib/point/index.js +120 -182
- package/lib/point/models/billboard_point.d.ts +21 -0
- package/lib/point/models/billboard_point.js +74 -127
- package/lib/point/models/earthExtrude.d.ts +16 -0
- package/lib/point/models/earthExtrude.js +172 -220
- package/lib/point/models/earthFill.d.ts +15 -0
- package/lib/point/models/earthFill.js +138 -192
- package/lib/point/models/extrude.d.ts +16 -0
- package/lib/point/models/extrude.js +169 -217
- package/lib/point/models/fill.d.ts +31 -0
- package/lib/point/models/fill.js +154 -209
- package/lib/point/models/fillImage.d.ts +26 -0
- package/lib/point/models/fillImage.js +159 -211
- package/lib/point/models/image.d.ts +18 -0
- package/lib/point/models/image.js +129 -180
- package/lib/point/models/index.d.ts +5 -0
- package/lib/point/models/index.js +1 -1
- package/lib/point/models/normal.d.ts +22 -0
- package/lib/point/models/normal.js +69 -122
- package/lib/point/models/radar.d.ts +22 -0
- package/lib/point/models/radar.js +95 -148
- package/lib/point/models/text.d.ts +69 -0
- package/lib/point/models/text.js +449 -578
- package/lib/point/shape/extrude.d.ts +15 -0
- package/lib/point/shape/extrude.js +19 -25
- package/lib/polygon/index.d.ts +18 -0
- package/lib/polygon/index.js +63 -99
- package/lib/polygon/models/extrude.d.ts +25 -0
- package/lib/polygon/models/extrude.js +210 -281
- package/lib/polygon/models/extrusion.d.ts +24 -0
- package/lib/polygon/models/extrusion.js +97 -142
- package/lib/polygon/models/fill.d.ts +18 -0
- package/lib/polygon/models/fill.js +104 -153
- package/lib/polygon/models/index.d.ts +5 -0
- package/lib/polygon/models/index.js +1 -1
- package/lib/polygon/models/ocean.d.ts +23 -0
- package/lib/polygon/models/ocean.js +141 -198
- package/lib/polygon/models/water.d.ts +21 -0
- package/lib/polygon/models/water.js +122 -179
- package/lib/raster/buffers/triangulation.d.ts +6 -0
- package/lib/raster/buffers/triangulation.js +13 -11
- package/lib/raster/index.d.ts +11 -0
- package/lib/raster/index.js +49 -88
- package/lib/raster/models/index.d.ts +5 -0
- package/lib/raster/models/index.js +1 -1
- package/lib/raster/models/raster.d.ts +21 -0
- package/lib/raster/models/raster.js +136 -202
- package/lib/raster/models/rasterRgb.d.ts +21 -0
- package/lib/raster/models/rasterRgb.js +136 -208
- package/lib/raster/models/rasterTerrainRgb.d.ts +16 -0
- package/lib/raster/models/rasterTerrainRgb.js +100 -153
- package/lib/tile/core/BaseLayer.d.ts +48 -0
- package/lib/tile/core/BaseLayer.js +207 -281
- package/lib/tile/core/TileDebugLayer.d.ts +15 -0
- package/lib/tile/core/TileDebugLayer.js +14 -46
- package/lib/tile/interaction/getFeatureData.d.ts +0 -0
- package/lib/tile/interaction/getRasterData.d.ts +4 -0
- package/lib/tile/interaction/getRasterData.js +24 -31
- package/lib/tile/interaction/utils.d.ts +11 -0
- package/lib/tile/interaction/utils.js +15 -34
- package/lib/tile/interface.d.ts +29 -0
- package/lib/tile/service/TileLayerService.d.ts +33 -0
- package/lib/tile/service/TileLayerService.js +105 -177
- package/lib/tile/service/TilePickService.d.ts +26 -0
- package/lib/tile/service/TilePickService.js +100 -156
- package/lib/tile/service/TileSourceService.d.ts +7 -0
- package/lib/tile/service/TileSourceService.js +20 -29
- package/lib/tile/tile/DebugTile.d.ts +16 -0
- package/lib/tile/tile/DebugTile.js +43 -78
- package/lib/tile/tile/ImageTile.d.ts +14 -0
- package/lib/tile/tile/ImageTile.js +35 -66
- package/lib/tile/tile/MaskTile.d.ts +18 -0
- package/lib/tile/tile/MaskTile.js +49 -81
- package/lib/tile/tile/RasterRGBTile.d.ts +11 -0
- package/lib/tile/tile/RasterRGBTile.js +42 -71
- package/lib/tile/tile/RasterTerrainRGBTile.d.ts +14 -0
- package/lib/tile/tile/RasterTerrainRGBTile.js +35 -66
- package/lib/tile/tile/RasterTile.d.ts +18 -0
- package/lib/tile/tile/RasterTile.js +71 -104
- package/lib/tile/tile/Tile.d.ts +114 -0
- package/lib/tile/tile/Tile.js +152 -231
- package/lib/tile/tile/VectorTile.d.ts +26 -0
- package/lib/tile/tile/VectorTile.js +79 -124
- package/lib/tile/tile/index.d.ts +12 -0
- package/lib/tile/tile/index.js +6 -4
- package/lib/tile/tile/util.d.ts +5 -0
- package/lib/tile/utils/constants.d.ts +1 -0
- package/lib/tile/utils/constants.js +1 -1
- package/lib/tile/utils/utils.d.ts +8 -0
- package/lib/tile/utils/utils.js +2 -2
- package/lib/utils/blend.d.ts +2 -0
- package/lib/utils/blend.js +52 -47
- package/lib/utils/collision-index.d.ts +47 -0
- package/lib/utils/collision-index.js +64 -69
- package/lib/utils/extrude_polyline.d.ts +68 -0
- package/lib/utils/extrude_polyline.js +442 -470
- package/lib/utils/grid-index.d.ts +28 -0
- package/lib/utils/grid-index.js +97 -123
- package/lib/utils/identityScale.d.ts +8 -0
- package/lib/utils/identityScale.js +5 -5
- package/lib/utils/load-image.d.ts +1 -0
- package/lib/utils/load-image.js +15 -39
- package/lib/utils/multiPassRender.d.ts +16 -0
- package/lib/utils/multiPassRender.js +7 -10
- package/lib/utils/polylineNormal.d.ts +9 -0
- package/lib/utils/polylineNormal.js +40 -43
- package/lib/utils/rampcolor_legend.d.ts +6 -0
- package/lib/utils/rampcolor_legend.js +5 -4
- package/lib/utils/simpleLine.d.ts +23 -0
- package/lib/utils/simpleLine.js +54 -65
- package/lib/utils/stencil.d.ts +7 -0
- package/lib/utils/symbol-layout.d.ts +43 -0
- package/lib/utils/symbol-layout.js +95 -117
- package/lib/wind/index.d.ts +11 -0
- package/lib/wind/index.js +30 -70
- package/lib/wind/models/index.d.ts +5 -0
- package/lib/wind/models/index.js +1 -1
- package/lib/wind/models/utils.d.ts +19 -0
- package/lib/wind/models/utils.js +36 -34
- package/lib/wind/models/wind.d.ts +24 -0
- package/lib/wind/models/wind.js +205 -260
- package/lib/wind/models/windRender.d.ts +104 -0
- package/lib/wind/models/windRender.js +261 -272
- package/lib/wind/models/windShader.d.ts +12 -0
- package/lib/wind/models/windShader.js +145 -6
- package/package.json +16 -19
- package/es/glsl.d.ts +0 -5
- package/lib/glsl.d.ts +0 -5
|
@@ -1,223 +1,149 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
-
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
5
|
-
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
6
|
-
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
7
|
-
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
8
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
9
|
-
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
10
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
11
|
-
|
|
5
|
+
const _excluded = ["data"],
|
|
12
6
|
_excluded2 = ["rasterData"];
|
|
13
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
14
|
-
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); }; }
|
|
15
|
-
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; } }
|
|
16
7
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
17
8
|
import BaseModel from "../../core/BaseModel";
|
|
18
9
|
import { ShaderLocation } from "../../core/CommonStyleAttribute";
|
|
19
10
|
import { RasterImageTriangulation } from "../../core/triangulation";
|
|
20
11
|
/* babel-plugin-inline-import '../shaders/rgb/raster_rgb_frag.glsl' */
|
|
21
|
-
|
|
12
|
+
const rasterFrag = "uniform sampler2D u_texture;\nlayout(std140) uniform commonUniforms {\n vec2 u_rminmax;\n vec2 u_gminmax;\n vec2 u_bminmax;\n float u_opacity;\n float u_noDataValue;\n};\n\nin vec2 v_texCoord;\n\nout vec4 outputColor;\n\nvoid main() {\n\n vec3 rgb = texture(SAMPLER_2D(u_texture),vec2(v_texCoord.x,v_texCoord.y)).rgb;\n\n if(rgb == vec3(u_noDataValue)) {\n outputColor = vec4(0.0, 0, 0, 0.0);\n } else {\n outputColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);\n }\n\n if(outputColor.a < 0.01)\n discard;\n \n}";
|
|
22
13
|
/* babel-plugin-inline-import '../shaders/rgb/raster_rgb_vert.glsl' */
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
_classCallCheck(this, RasterModel);
|
|
30
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
31
|
-
args[_key] = arguments[_key];
|
|
32
|
-
}
|
|
33
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
34
|
-
_defineProperty(_assertThisInitialized(_this), "dataOption", {});
|
|
35
|
-
return _this;
|
|
14
|
+
const rasterVert = "\nlayout(location = 0) in vec3 a_Position;\nlayout(location = 14) in vec2 a_Uv;\n\nlayout(std140) uniform commonUniforms {\n vec2 u_rminmax;\n vec2 u_gminmax;\n vec2 u_bminmax;\n float u_opacity;\n float u_noDataValue;\n};\n\nout vec2 v_texCoord;\n\n#pragma include \"projection\"\n\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));\n}\n";
|
|
15
|
+
export default class RasterModel extends BaseModel {
|
|
16
|
+
constructor(...args) {
|
|
17
|
+
super(...args);
|
|
18
|
+
_defineProperty(this, "texture", void 0);
|
|
19
|
+
_defineProperty(this, "dataOption", {});
|
|
36
20
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
78
|
-
while (1) switch (_context.prev = _context.next) {
|
|
79
|
-
case 0:
|
|
80
|
-
if (!Array.isArray(parserDataItem.data)) {
|
|
81
|
-
_context.next = 4;
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
data = parserDataItem.data, rescfg = _objectWithoutProperties(parserDataItem, _excluded);
|
|
85
|
-
this.dataOption = rescfg;
|
|
86
|
-
return _context.abrupt("return", _objectSpread({
|
|
87
|
-
data: data
|
|
88
|
-
}, rescfg));
|
|
89
|
-
case 4:
|
|
90
|
-
_context.next = 6;
|
|
91
|
-
return parserDataItem.data;
|
|
92
|
-
case 6:
|
|
93
|
-
_yield$parserDataItem = _context.sent;
|
|
94
|
-
rasterData = _yield$parserDataItem.rasterData;
|
|
95
|
-
rest = _objectWithoutProperties(_yield$parserDataItem, _excluded2);
|
|
96
|
-
this.dataOption = rest;
|
|
97
|
-
if (!Array.isArray(rasterData)) {
|
|
98
|
-
_context.next = 14;
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
return _context.abrupt("return", _objectSpread({
|
|
102
|
-
data: rasterData
|
|
103
|
-
}, rest));
|
|
104
|
-
case 14:
|
|
105
|
-
return _context.abrupt("return", _objectSpread({
|
|
106
|
-
data: Array.from(rasterData)
|
|
107
|
-
}, rest));
|
|
108
|
-
case 15:
|
|
109
|
-
case "end":
|
|
110
|
-
return _context.stop();
|
|
111
|
-
}
|
|
112
|
-
}, _callee, this);
|
|
113
|
-
}));
|
|
114
|
-
function getRasterData(_x) {
|
|
115
|
-
return _getRasterData.apply(this, arguments);
|
|
116
|
-
}
|
|
117
|
-
return getRasterData;
|
|
118
|
-
}()
|
|
119
|
-
}, {
|
|
120
|
-
key: "initModels",
|
|
121
|
-
value: function () {
|
|
122
|
-
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
123
|
-
var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
|
|
124
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
125
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
126
|
-
case 0:
|
|
127
|
-
this.initUniformsBuffer();
|
|
128
|
-
source = this.layer.getSource();
|
|
129
|
-
createTexture2D = this.rendererService.createTexture2D;
|
|
130
|
-
parserDataItem = source.data.dataArray[0];
|
|
131
|
-
_context2.next = 6;
|
|
132
|
-
return this.getRasterData(parserDataItem);
|
|
133
|
-
case 6:
|
|
134
|
-
_yield$this$getRaster = _context2.sent;
|
|
135
|
-
data = _yield$this$getRaster.data;
|
|
136
|
-
width = _yield$this$getRaster.width;
|
|
137
|
-
height = _yield$this$getRaster.height;
|
|
138
|
-
this.texture = createTexture2D({
|
|
139
|
-
// @ts-ignore
|
|
140
|
-
data: new Float32Array(data),
|
|
141
|
-
width: width,
|
|
142
|
-
height: height,
|
|
143
|
-
format: gl.RGB,
|
|
144
|
-
type: gl.FLOAT
|
|
145
|
-
});
|
|
146
|
-
_context2.next = 13;
|
|
147
|
-
return this.layer.buildLayerModel({
|
|
148
|
-
moduleName: 'rasterImageDataRGBA',
|
|
149
|
-
vertexShader: rasterVert,
|
|
150
|
-
fragmentShader: rasterFrag,
|
|
151
|
-
triangulation: RasterImageTriangulation,
|
|
152
|
-
primitive: gl.TRIANGLES,
|
|
153
|
-
depth: {
|
|
154
|
-
enable: false
|
|
155
|
-
},
|
|
156
|
-
pickingEnabled: false
|
|
157
|
-
});
|
|
158
|
-
case 13:
|
|
159
|
-
model = _context2.sent;
|
|
160
|
-
return _context2.abrupt("return", [model]);
|
|
161
|
-
case 15:
|
|
162
|
-
case "end":
|
|
163
|
-
return _context2.stop();
|
|
164
|
-
}
|
|
165
|
-
}, _callee2, this);
|
|
166
|
-
}));
|
|
167
|
-
function initModels() {
|
|
168
|
-
return _initModels.apply(this, arguments);
|
|
21
|
+
getUninforms() {
|
|
22
|
+
const commoninfo = this.getCommonUniformsInfo();
|
|
23
|
+
const attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
|
|
24
|
+
this.updateStyleUnifoms();
|
|
25
|
+
return _objectSpread(_objectSpread({}, commoninfo.uniformsOption), attributeInfo.uniformsOption);
|
|
26
|
+
}
|
|
27
|
+
getCommonUniformsInfo() {
|
|
28
|
+
const {
|
|
29
|
+
opacity = 1,
|
|
30
|
+
noDataValue = 0
|
|
31
|
+
} = this.layer.getLayerConfig();
|
|
32
|
+
const {
|
|
33
|
+
rMinMax = [0, 255],
|
|
34
|
+
gMinMax = [0, 255],
|
|
35
|
+
bMinMax = [0, 255]
|
|
36
|
+
} = this.dataOption;
|
|
37
|
+
const commonOptions = {
|
|
38
|
+
u_rminmax: rMinMax,
|
|
39
|
+
u_gminmax: gMinMax,
|
|
40
|
+
u_bminmax: bMinMax,
|
|
41
|
+
u_opacity: opacity || 1,
|
|
42
|
+
u_noDataValue: noDataValue,
|
|
43
|
+
u_texture: this.texture
|
|
44
|
+
};
|
|
45
|
+
this.textures = [this.texture];
|
|
46
|
+
const commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
|
|
47
|
+
return commonBufferInfo;
|
|
48
|
+
}
|
|
49
|
+
getRasterData(parserDataItem) {
|
|
50
|
+
var _this = this;
|
|
51
|
+
return _asyncToGenerator(function* () {
|
|
52
|
+
if (Array.isArray(parserDataItem.data)) {
|
|
53
|
+
const {
|
|
54
|
+
data
|
|
55
|
+
} = parserDataItem,
|
|
56
|
+
rescfg = _objectWithoutProperties(parserDataItem, _excluded);
|
|
57
|
+
_this.dataOption = rescfg;
|
|
58
|
+
return _objectSpread({
|
|
59
|
+
data
|
|
60
|
+
}, rescfg);
|
|
169
61
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
return _buildModels.apply(this, arguments);
|
|
62
|
+
const _yield$parserDataItem = yield parserDataItem.data,
|
|
63
|
+
{
|
|
64
|
+
rasterData
|
|
65
|
+
} = _yield$parserDataItem,
|
|
66
|
+
rest = _objectWithoutProperties(_yield$parserDataItem, _excluded2);
|
|
67
|
+
_this.dataOption = rest;
|
|
68
|
+
if (Array.isArray(rasterData)) {
|
|
69
|
+
// 直接传入波段数据
|
|
70
|
+
return _objectSpread({
|
|
71
|
+
data: rasterData
|
|
72
|
+
}, rest);
|
|
73
|
+
} else {
|
|
74
|
+
// 多波段形式、需要进行处理
|
|
75
|
+
// 支持彩色栅格(多通道)
|
|
76
|
+
return _objectSpread({
|
|
77
|
+
data: Array.from(rasterData)
|
|
78
|
+
}, rest);
|
|
188
79
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
80
|
+
})();
|
|
81
|
+
}
|
|
82
|
+
initModels() {
|
|
83
|
+
var _this2 = this;
|
|
84
|
+
return _asyncToGenerator(function* () {
|
|
85
|
+
_this2.initUniformsBuffer();
|
|
86
|
+
const source = _this2.layer.getSource();
|
|
87
|
+
const {
|
|
88
|
+
createTexture2D
|
|
89
|
+
} = _this2.rendererService;
|
|
90
|
+
const parserDataItem = source.data.dataArray[0];
|
|
91
|
+
const {
|
|
92
|
+
data,
|
|
93
|
+
width,
|
|
94
|
+
height
|
|
95
|
+
} = yield _this2.getRasterData(parserDataItem);
|
|
96
|
+
_this2.texture = createTexture2D({
|
|
97
|
+
// @ts-ignore
|
|
98
|
+
data: new Float32Array(data),
|
|
99
|
+
width,
|
|
100
|
+
height,
|
|
101
|
+
format: gl.RGB,
|
|
102
|
+
type: gl.FLOAT
|
|
103
|
+
});
|
|
104
|
+
const model = yield _this2.layer.buildLayerModel({
|
|
105
|
+
moduleName: 'rasterImageDataRGBA',
|
|
106
|
+
vertexShader: rasterVert,
|
|
107
|
+
fragmentShader: rasterFrag,
|
|
108
|
+
triangulation: RasterImageTriangulation,
|
|
109
|
+
primitive: gl.TRIANGLES,
|
|
110
|
+
depth: {
|
|
111
|
+
enable: false
|
|
112
|
+
},
|
|
113
|
+
pickingEnabled: false
|
|
218
114
|
});
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
115
|
+
return [model];
|
|
116
|
+
})();
|
|
117
|
+
}
|
|
118
|
+
buildModels() {
|
|
119
|
+
var _this3 = this;
|
|
120
|
+
return _asyncToGenerator(function* () {
|
|
121
|
+
return _this3.initModels();
|
|
122
|
+
})();
|
|
123
|
+
}
|
|
124
|
+
clearModels() {
|
|
125
|
+
var _this$texture;
|
|
126
|
+
(_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.destroy();
|
|
127
|
+
}
|
|
128
|
+
registerBuiltinAttributes() {
|
|
129
|
+
// point layer size;
|
|
130
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
131
|
+
name: 'uv',
|
|
132
|
+
type: AttributeType.Attribute,
|
|
133
|
+
descriptor: {
|
|
134
|
+
name: 'a_Uv',
|
|
135
|
+
shaderLocation: ShaderLocation.UV,
|
|
136
|
+
buffer: {
|
|
137
|
+
// give the WebGL driver a hint that this buffer may change
|
|
138
|
+
usage: gl.DYNAMIC_DRAW,
|
|
139
|
+
data: [],
|
|
140
|
+
type: gl.FLOAT
|
|
141
|
+
},
|
|
142
|
+
size: 2,
|
|
143
|
+
update: (feature, featureIdx, vertex) => {
|
|
144
|
+
return [vertex[3], vertex[4]];
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -1,165 +1,110 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
|
-
import
|
|
3
|
-
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
-
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
5
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
6
|
-
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
7
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
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
|
-
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; } }
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
10
3
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
11
4
|
import { getDefaultDomain } from '@antv/l7-utils';
|
|
12
5
|
import BaseModel from "../../core/BaseModel";
|
|
13
6
|
import { RasterImageTriangulation } from "../../core/triangulation";
|
|
14
7
|
import { ShaderLocation } from "../../core/CommonStyleAttribute";
|
|
15
8
|
/* babel-plugin-inline-import '../shaders/terrain/terrain_rgb_frag.glsl' */
|
|
16
|
-
|
|
9
|
+
const Raster_terrainFrag = "uniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\n\nlayout(std140) uniform commonUniforms {\n vec4 u_unpack;\n vec2 u_domain;\n float u_opacity;\n float u_noDataValue;\n float u_clampLow;\n float u_clampHigh;\n};\n\nin vec2 v_texCoord;\nout vec4 outputColor;\n\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture(SAMPLER_2D(u_texture), coord,bias) * 255.0;\n data.a = -1.0;\n return dot(data, u_unpack);\n}\n\nvec4 getColor(float value) {\n float normalisedValue =(value- u_domain[0]) / (u_domain[1] - u_domain[0]);\n vec2 coord = vec2(normalisedValue, 0);\n return texture(SAMPLER_2D(u_colorTexture), coord);\n}\n\nvoid main() {\n float value = getElevation(v_texCoord,0.0);\n if (value == u_noDataValue) {\n outputColor = vec4(0.0, 0, 0, 0.0);\n } else if ((u_clampLow < 0.5 && value < u_domain[0]) || (u_clampHigh < 0.5 && value > u_domain[1])) {\n outputColor = vec4(0.0, 0, 0, 0.0);\n } else {\n \n outputColor = getColor(value);\n outputColor.a = outputColor.a * u_opacity ;\n if(outputColor.a < 0.01)\n discard;\n }\n}\n";
|
|
17
10
|
/* babel-plugin-inline-import '../shaders/terrain/terrain_rgb_vert.glsl' */
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
_classCallCheck(this, RasterTerrainRGB);
|
|
24
|
-
return _super.apply(this, arguments);
|
|
11
|
+
const Raster_terrainVert = "layout(location = 0) in vec3 a_Position;\nlayout(location = 14) in vec2 a_Uv;\n\nlayout(std140) uniform commonUniforms {\n vec4 u_unpack;\n vec2 u_domain;\n float u_opacity;\n float u_noDataValue;\n float u_clampLow;\n float u_clampHigh;\n};\nout vec2 v_texCoord;\n#pragma include \"projection\"\n\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));\n}\n";
|
|
12
|
+
export default class RasterTerrainRGB extends BaseModel {
|
|
13
|
+
constructor(...args) {
|
|
14
|
+
super(...args);
|
|
15
|
+
_defineProperty(this, "texture", void 0);
|
|
25
16
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
_ref$offset = _ref.offset,
|
|
47
|
-
offset = _ref$offset === void 0 ? 10000 : _ref$offset;
|
|
48
|
-
var newdomain = domain || getDefaultDomain(rampColors);
|
|
49
|
-
var texture = colorTexture;
|
|
50
|
-
if (!colorTexture) {
|
|
51
|
-
texture = this.layer.textureService.getColorTexture(rampColors, newdomain);
|
|
52
|
-
} else {
|
|
53
|
-
this.layer.textureService.setColorTexture(colorTexture, rampColors, newdomain);
|
|
54
|
-
}
|
|
55
|
-
var commonOptions = {
|
|
56
|
-
u_unpack: [rScaler, gScaler, bScaler, offset],
|
|
57
|
-
u_domain: newdomain,
|
|
58
|
-
u_opacity: opacity || 1,
|
|
59
|
-
u_noDataValue: noDataValue,
|
|
60
|
-
u_clampLow: clampLow,
|
|
61
|
-
u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
|
|
62
|
-
u_texture: this.texture,
|
|
63
|
-
u_colorTexture: texture
|
|
64
|
-
};
|
|
65
|
-
this.textures = [this.texture, texture];
|
|
66
|
-
var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
|
|
67
|
-
return commonBufferInfo;
|
|
68
|
-
}
|
|
69
|
-
}, {
|
|
70
|
-
key: "initModels",
|
|
71
|
-
value: function () {
|
|
72
|
-
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
73
|
-
var source, createTexture2D, imageData, model;
|
|
74
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
75
|
-
while (1) switch (_context.prev = _context.next) {
|
|
76
|
-
case 0:
|
|
77
|
-
this.initUniformsBuffer();
|
|
78
|
-
source = this.layer.getSource();
|
|
79
|
-
createTexture2D = this.rendererService.createTexture2D;
|
|
80
|
-
_context.next = 5;
|
|
81
|
-
return source.data.images;
|
|
82
|
-
case 5:
|
|
83
|
-
imageData = _context.sent;
|
|
84
|
-
this.texture = createTexture2D({
|
|
85
|
-
data: imageData[0],
|
|
86
|
-
width: imageData[0].width,
|
|
87
|
-
height: imageData[0].height,
|
|
88
|
-
min: gl.LINEAR,
|
|
89
|
-
mag: gl.LINEAR
|
|
90
|
-
});
|
|
91
|
-
_context.next = 9;
|
|
92
|
-
return this.layer.buildLayerModel({
|
|
93
|
-
moduleName: 'RasterTileDataImage',
|
|
94
|
-
vertexShader: Raster_terrainVert,
|
|
95
|
-
fragmentShader: Raster_terrainFrag,
|
|
96
|
-
triangulation: RasterImageTriangulation,
|
|
97
|
-
primitive: gl.TRIANGLES,
|
|
98
|
-
depth: {
|
|
99
|
-
enable: false
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
case 9:
|
|
103
|
-
model = _context.sent;
|
|
104
|
-
return _context.abrupt("return", [model]);
|
|
105
|
-
case 11:
|
|
106
|
-
case "end":
|
|
107
|
-
return _context.stop();
|
|
108
|
-
}
|
|
109
|
-
}, _callee, this);
|
|
110
|
-
}));
|
|
111
|
-
function initModels() {
|
|
112
|
-
return _initModels.apply(this, arguments);
|
|
113
|
-
}
|
|
114
|
-
return initModels;
|
|
115
|
-
}()
|
|
116
|
-
}, {
|
|
117
|
-
key: "clearModels",
|
|
118
|
-
value: function clearModels() {
|
|
119
|
-
var _this$texture;
|
|
120
|
-
(_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.destroy();
|
|
17
|
+
getCommonUniformsInfo() {
|
|
18
|
+
const {
|
|
19
|
+
opacity,
|
|
20
|
+
clampLow = true,
|
|
21
|
+
clampHigh = true,
|
|
22
|
+
noDataValue = -9999999,
|
|
23
|
+
domain,
|
|
24
|
+
rampColors,
|
|
25
|
+
colorTexture,
|
|
26
|
+
rScaler = 6553.6,
|
|
27
|
+
gScaler = 25.6,
|
|
28
|
+
bScaler = 0.1,
|
|
29
|
+
offset = 10000
|
|
30
|
+
} = this.layer.getLayerConfig();
|
|
31
|
+
const newdomain = domain || getDefaultDomain(rampColors);
|
|
32
|
+
let texture = colorTexture;
|
|
33
|
+
if (!colorTexture) {
|
|
34
|
+
texture = this.layer.textureService.getColorTexture(rampColors, newdomain);
|
|
35
|
+
} else {
|
|
36
|
+
this.layer.textureService.setColorTexture(colorTexture, rampColors, newdomain);
|
|
121
37
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
38
|
+
const commonOptions = {
|
|
39
|
+
u_unpack: [rScaler, gScaler, bScaler, offset],
|
|
40
|
+
u_domain: newdomain,
|
|
41
|
+
u_opacity: opacity || 1,
|
|
42
|
+
u_noDataValue: noDataValue,
|
|
43
|
+
u_clampLow: clampLow,
|
|
44
|
+
u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
|
|
45
|
+
u_texture: this.texture,
|
|
46
|
+
u_colorTexture: texture
|
|
47
|
+
};
|
|
48
|
+
this.textures = [this.texture, texture];
|
|
49
|
+
const commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
|
|
50
|
+
return commonBufferInfo;
|
|
51
|
+
}
|
|
52
|
+
initModels() {
|
|
53
|
+
var _this = this;
|
|
54
|
+
return _asyncToGenerator(function* () {
|
|
55
|
+
_this.initUniformsBuffer();
|
|
56
|
+
const source = _this.layer.getSource();
|
|
57
|
+
const {
|
|
58
|
+
createTexture2D
|
|
59
|
+
} = _this.rendererService;
|
|
60
|
+
const imageData = yield source.data.images;
|
|
61
|
+
_this.texture = createTexture2D({
|
|
62
|
+
data: imageData[0],
|
|
63
|
+
width: imageData[0].width,
|
|
64
|
+
height: imageData[0].height,
|
|
65
|
+
min: gl.LINEAR,
|
|
66
|
+
mag: gl.LINEAR
|
|
67
|
+
});
|
|
68
|
+
const model = yield _this.layer.buildLayerModel({
|
|
69
|
+
moduleName: 'RasterTileDataImage',
|
|
70
|
+
vertexShader: Raster_terrainVert,
|
|
71
|
+
fragmentShader: Raster_terrainFrag,
|
|
72
|
+
triangulation: RasterImageTriangulation,
|
|
73
|
+
primitive: gl.TRIANGLES,
|
|
74
|
+
depth: {
|
|
75
|
+
enable: false
|
|
159
76
|
}
|
|
160
77
|
});
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
78
|
+
return [model];
|
|
79
|
+
})();
|
|
80
|
+
}
|
|
81
|
+
clearModels() {
|
|
82
|
+
var _this$texture;
|
|
83
|
+
(_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.destroy();
|
|
84
|
+
}
|
|
85
|
+
buildModels() {
|
|
86
|
+
var _this2 = this;
|
|
87
|
+
return _asyncToGenerator(function* () {
|
|
88
|
+
return _this2.initModels();
|
|
89
|
+
})();
|
|
90
|
+
}
|
|
91
|
+
registerBuiltinAttributes() {
|
|
92
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
93
|
+
name: 'uv',
|
|
94
|
+
type: AttributeType.Attribute,
|
|
95
|
+
descriptor: {
|
|
96
|
+
name: 'a_Uv',
|
|
97
|
+
shaderLocation: ShaderLocation.UV,
|
|
98
|
+
buffer: {
|
|
99
|
+
usage: gl.DYNAMIC_DRAW,
|
|
100
|
+
data: [],
|
|
101
|
+
type: gl.FLOAT
|
|
102
|
+
},
|
|
103
|
+
size: 2,
|
|
104
|
+
update: (feature, featureIdx, vertex) => {
|
|
105
|
+
return [vertex[3], vertex[4]];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="lodash" />
|
|
1
2
|
import type { IInteractionTarget, ILayer, ILayerService, IMapService, IPickingService, IRendererService } from '@antv/l7-core';
|
|
2
3
|
import type { SourceTile, TilesetManager } from '@antv/l7-utils';
|
|
3
4
|
import { TileLayerService } from '../service/TileLayerService';
|