@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,128 +1,76 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
-
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
4
|
-
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
5
|
-
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
6
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
7
|
-
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
8
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
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
|
-
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
3
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
12
4
|
import BaseModel from "../../core/BaseModel";
|
|
13
5
|
import { HeatmapGridTriangulation } from "../../core/triangulation";
|
|
14
6
|
/* babel-plugin-inline-import '../shaders/hexagon/hexagon_frag.glsl' */
|
|
15
|
-
|
|
7
|
+
const hexagon_frag = "in vec4 v_color;\n\n#pragma include \"picking\"\nout vec4 outputColor;\nvoid main() {\n outputColor = v_color;\n outputColor = filterColor(outputColor);\n}\n";
|
|
16
8
|
/* babel-plugin-inline-import '../shaders/hexagon/hexagon_vert.glsl' */
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return
|
|
9
|
+
const hexagon_vert = "layout(location = 0) in vec3 a_Position;\nlayout(location = 1) in vec4 a_Color;\nlayout(location = 10) in vec3 a_Pos;\n\nlayout(std140) uniform commonUniforms {\n vec2 u_radius;\n float u_opacity;\n float u_coverage;\n float u_angle;\n};\n\nout vec4 v_color;\n\n\n#pragma include \"projection\"\n#pragma include \"project\"\n#pragma include \"picking\"\n\nvoid main() {\n v_color = a_Color;\n v_color.a *= u_opacity;\n \n mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));\n vec2 offset =(vec2(a_Position.xy * u_radius * rotationMatrix * u_coverage));\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\n \n // vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xy, 0., 1.0));\n // gl_Position = u_Mvp * (vec4(a_Pos.xy + offset, 0., 1.0));\n vec2 customLnglat = customProject(lnglat) - u_sceneCenterMercator;\n vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));\n gl_Position = u_Mvp * vec4(project_pos.xy, 0.0, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n }\n setPickingColor(a_PickingColor);\n}\n";
|
|
10
|
+
export default class HexagonModel extends BaseModel {
|
|
11
|
+
getUninforms() {
|
|
12
|
+
const commoninfo = this.getCommonUniformsInfo();
|
|
13
|
+
const attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
|
|
14
|
+
this.updateStyleUnifoms();
|
|
15
|
+
return _objectSpread(_objectSpread({}, commoninfo.uniformsOption), attributeInfo.uniformsOption);
|
|
24
16
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return _context.stop();
|
|
60
|
-
}
|
|
61
|
-
}, _callee, this);
|
|
62
|
-
}));
|
|
63
|
-
function initModels() {
|
|
64
|
-
return _initModels.apply(this, arguments);
|
|
65
|
-
}
|
|
66
|
-
return initModels;
|
|
67
|
-
}()
|
|
68
|
-
}, {
|
|
69
|
-
key: "buildModels",
|
|
70
|
-
value: function () {
|
|
71
|
-
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
72
|
-
var model;
|
|
73
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
74
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
75
|
-
case 0:
|
|
76
|
-
this.initUniformsBuffer();
|
|
77
|
-
_context2.next = 3;
|
|
78
|
-
return this.layer.buildLayerModel({
|
|
79
|
-
moduleName: 'heatmapHexagon',
|
|
80
|
-
vertexShader: hexagon_vert,
|
|
81
|
-
fragmentShader: hexagon_frag,
|
|
82
|
-
triangulation: HeatmapGridTriangulation,
|
|
83
|
-
depth: {
|
|
84
|
-
enable: false
|
|
85
|
-
},
|
|
86
|
-
primitive: gl.TRIANGLES
|
|
87
|
-
});
|
|
88
|
-
case 3:
|
|
89
|
-
model = _context2.sent;
|
|
90
|
-
return _context2.abrupt("return", [model]);
|
|
91
|
-
case 5:
|
|
92
|
-
case "end":
|
|
93
|
-
return _context2.stop();
|
|
94
|
-
}
|
|
95
|
-
}, _callee2, this);
|
|
96
|
-
}));
|
|
97
|
-
function buildModels() {
|
|
98
|
-
return _buildModels.apply(this, arguments);
|
|
99
|
-
}
|
|
100
|
-
return buildModels;
|
|
101
|
-
}()
|
|
102
|
-
}, {
|
|
103
|
-
key: "registerBuiltinAttributes",
|
|
104
|
-
value: function registerBuiltinAttributes() {
|
|
105
|
-
this.styleAttributeService.registerStyleAttribute({
|
|
106
|
-
name: 'pos',
|
|
107
|
-
// 顶点经纬度位置
|
|
108
|
-
type: AttributeType.Attribute,
|
|
109
|
-
descriptor: {
|
|
110
|
-
name: 'a_Pos',
|
|
111
|
-
shaderLocation: 10,
|
|
112
|
-
buffer: {
|
|
113
|
-
usage: gl.DYNAMIC_DRAW,
|
|
114
|
-
data: [],
|
|
115
|
-
type: gl.FLOAT
|
|
116
|
-
},
|
|
117
|
-
size: 3,
|
|
118
|
-
update: function update(feature) {
|
|
119
|
-
var coordinates = feature.version === 'GAODE2.x' ? feature.originCoordinates : feature.coordinates;
|
|
120
|
-
return [coordinates[0], coordinates[1], 0];
|
|
121
|
-
}
|
|
122
|
-
}
|
|
17
|
+
getCommonUniformsInfo() {
|
|
18
|
+
const {
|
|
19
|
+
opacity,
|
|
20
|
+
coverage,
|
|
21
|
+
angle
|
|
22
|
+
} = this.layer.getLayerConfig();
|
|
23
|
+
const commonOptions = {
|
|
24
|
+
u_radius: [this.layer.getSource().data.xOffset, this.layer.getSource().data.yOffset],
|
|
25
|
+
u_opacity: opacity || 1.0,
|
|
26
|
+
u_coverage: coverage || 0.9,
|
|
27
|
+
u_angle: angle || 0
|
|
28
|
+
};
|
|
29
|
+
const commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
|
|
30
|
+
return commonBufferInfo;
|
|
31
|
+
}
|
|
32
|
+
initModels() {
|
|
33
|
+
var _this = this;
|
|
34
|
+
return _asyncToGenerator(function* () {
|
|
35
|
+
return _this.buildModels();
|
|
36
|
+
})();
|
|
37
|
+
}
|
|
38
|
+
buildModels() {
|
|
39
|
+
var _this2 = this;
|
|
40
|
+
return _asyncToGenerator(function* () {
|
|
41
|
+
_this2.initUniformsBuffer();
|
|
42
|
+
const model = yield _this2.layer.buildLayerModel({
|
|
43
|
+
moduleName: 'heatmapHexagon',
|
|
44
|
+
vertexShader: hexagon_vert,
|
|
45
|
+
fragmentShader: hexagon_frag,
|
|
46
|
+
triangulation: HeatmapGridTriangulation,
|
|
47
|
+
depth: {
|
|
48
|
+
enable: false
|
|
49
|
+
},
|
|
50
|
+
primitive: gl.TRIANGLES
|
|
123
51
|
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
52
|
+
return [model];
|
|
53
|
+
})();
|
|
54
|
+
}
|
|
55
|
+
registerBuiltinAttributes() {
|
|
56
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
57
|
+
name: 'pos',
|
|
58
|
+
// 顶点经纬度位置
|
|
59
|
+
type: AttributeType.Attribute,
|
|
60
|
+
descriptor: {
|
|
61
|
+
name: 'a_Pos',
|
|
62
|
+
shaderLocation: 10,
|
|
63
|
+
buffer: {
|
|
64
|
+
usage: gl.DYNAMIC_DRAW,
|
|
65
|
+
data: [],
|
|
66
|
+
type: gl.FLOAT
|
|
67
|
+
},
|
|
68
|
+
size: 3,
|
|
69
|
+
update: feature => {
|
|
70
|
+
const coordinates = feature.version === 'GAODE2.x' ? feature.originCoordinates : feature.coordinates;
|
|
71
|
+
return [coordinates[0], coordinates[1], 0];
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -2,7 +2,7 @@ import GridModel from "./grid";
|
|
|
2
2
|
import Grid3DModel from "./grid3d";
|
|
3
3
|
import HeatMapModel from "./heatmap";
|
|
4
4
|
import HexagonModel from "./hexagon";
|
|
5
|
-
|
|
5
|
+
const HeatMapModels = {
|
|
6
6
|
heatmap: HeatMapModel,
|
|
7
7
|
heatmap3d: HeatMapModel,
|
|
8
8
|
grid: GridModel,
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
export function heatMap3DTriangulation(width, height) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
for (
|
|
10
|
-
|
|
11
|
-
for (
|
|
12
|
-
|
|
2
|
+
const indices = [];
|
|
3
|
+
const vertices = [];
|
|
4
|
+
const uvs = [];
|
|
5
|
+
const gridX1 = width + 1;
|
|
6
|
+
const gridY1 = height + 1;
|
|
7
|
+
const widthHalf = width / 2;
|
|
8
|
+
const heightHalf = height / 2;
|
|
9
|
+
for (let iy = 0; iy < gridY1; iy++) {
|
|
10
|
+
const y = iy - heightHalf;
|
|
11
|
+
for (let ix = 0; ix < gridX1; ix++) {
|
|
12
|
+
const x = ix - widthHalf;
|
|
13
13
|
vertices.push(x / widthHalf, -y / heightHalf, 0);
|
|
14
14
|
uvs.push(ix / width);
|
|
15
15
|
uvs.push(1 - iy / height);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
for (
|
|
19
|
-
for (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
for (let iy = 0; iy < height; iy++) {
|
|
19
|
+
for (let ix = 0; ix < width; ix++) {
|
|
20
|
+
const a = ix + gridX1 * iy;
|
|
21
|
+
const b = ix + gridX1 * (iy + 1);
|
|
22
|
+
const c = ix + 1 + gridX1 * (iy + 1);
|
|
23
|
+
const d = ix + 1 + gridX1 * iy;
|
|
24
24
|
indices.push(a, b, d);
|
|
25
25
|
indices.push(b, c, d);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
return {
|
|
29
|
-
vertices
|
|
30
|
-
indices
|
|
31
|
-
uvs
|
|
29
|
+
vertices,
|
|
30
|
+
indices,
|
|
31
|
+
uvs
|
|
32
32
|
};
|
|
33
33
|
}
|
package/es/image/index.js
CHANGED
|
@@ -1,67 +1,28 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
|
-
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
-
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
-
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
5
|
-
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
6
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
7
|
-
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
8
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
9
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
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
|
-
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
3
|
import BaseLayer from "../core/BaseLayer";
|
|
13
4
|
import ImageModels from "./models/index";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var _this;
|
|
19
|
-
_classCallCheck(this, ImageLayer);
|
|
20
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
21
|
-
args[_key] = arguments[_key];
|
|
22
|
-
}
|
|
23
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
24
|
-
_defineProperty(_assertThisInitialized(_this), "type", 'ImageLayer');
|
|
25
|
-
return _this;
|
|
5
|
+
export default class ImageLayer extends BaseLayer {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
_defineProperty(this, "type", 'ImageLayer');
|
|
26
9
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return _buildModels.apply(this, arguments);
|
|
47
|
-
}
|
|
48
|
-
return buildModels;
|
|
49
|
-
}()
|
|
50
|
-
}, {
|
|
51
|
-
key: "getDefaultConfig",
|
|
52
|
-
value: function getDefaultConfig() {
|
|
53
|
-
var type = this.getModelType();
|
|
54
|
-
var defaultConfig = {
|
|
55
|
-
image: {}
|
|
56
|
-
};
|
|
57
|
-
return defaultConfig[type];
|
|
58
|
-
}
|
|
59
|
-
}, {
|
|
60
|
-
key: "getModelType",
|
|
61
|
-
value: function getModelType() {
|
|
62
|
-
return 'image';
|
|
63
|
-
}
|
|
64
|
-
}]);
|
|
65
|
-
return ImageLayer;
|
|
66
|
-
}(BaseLayer);
|
|
67
|
-
export { ImageLayer as default };
|
|
10
|
+
buildModels() {
|
|
11
|
+
var _this = this;
|
|
12
|
+
return _asyncToGenerator(function* () {
|
|
13
|
+
const modelType = _this.getModelType();
|
|
14
|
+
_this.layerModel = new ImageModels[modelType](_this);
|
|
15
|
+
yield _this.initLayerModels();
|
|
16
|
+
})();
|
|
17
|
+
}
|
|
18
|
+
getDefaultConfig() {
|
|
19
|
+
const type = this.getModelType();
|
|
20
|
+
const defaultConfig = {
|
|
21
|
+
image: {}
|
|
22
|
+
};
|
|
23
|
+
return defaultConfig[type];
|
|
24
|
+
}
|
|
25
|
+
getModelType() {
|
|
26
|
+
return 'image';
|
|
27
|
+
}
|
|
28
|
+
}
|
package/es/image/models/image.js
CHANGED
|
@@ -1,173 +1,109 @@
|
|
|
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 { defaultValue } from '@antv/l7-utils';
|
|
12
5
|
import BaseModel from "../../core/BaseModel";
|
|
13
6
|
import { ShaderLocation } from "../../core/CommonStyleAttribute";
|
|
14
7
|
import { RasterImageTriangulation } from "../../core/triangulation";
|
|
15
8
|
/* babel-plugin-inline-import '../shaders/image_frag.glsl' */
|
|
16
|
-
|
|
9
|
+
const ImageFrag = "uniform sampler2D u_texture;\nlayout(std140) uniform commonUniforms {\n float u_opacity:1.0;\n float u_brightness:1.0;\n float u_contrast:1.0;\n float u_saturation:1.0;\n float u_gamma:1.0;\n};\n\nin vec2 v_texCoord;\nout vec4 outputColor;\nvec3 setContrast(vec3 rgb, float contrast) {\n vec3 color = mix(vec3(0.5), rgb, contrast);\n color = clamp(color, 0.0, 1.0);\n return color;\n}\nvec3 setSaturation(vec3 rgb, float adjustment) {\n const vec3 grayVector = vec3(0.2125, 0.7154, 0.0721);\n vec3 intensity = vec3(dot(rgb, grayVector));\n vec3 color = mix(intensity, rgb, adjustment);\n color = clamp(color, 0.0, 1.0);\n return color;\n}\nvoid main() {\n vec4 color = texture(SAMPLER_2D(u_texture),vec2(v_texCoord.x,v_texCoord.y));\n //brightness\n color.rgb = mix(vec3(0.0, 0.0, 0.0), color.rgb, u_brightness);\n //contrast\n color.rgb = setContrast(color.rgb, u_contrast);\n // saturation\n color.rgb = setSaturation(color.rgb, u_saturation);\n // gamma\n color.rgb = pow(color.rgb, vec3(u_gamma));\n outputColor = color;\n outputColor.a *= u_opacity;\n if(outputColor.a < 0.01)\n discard;\n}\n";
|
|
17
10
|
/* babel-plugin-inline-import '../shaders/image_vert.glsl' */
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
_classCallCheck(this, ImageModel);
|
|
24
|
-
return _super.apply(this, arguments);
|
|
11
|
+
const ImageVert = "layout(location = 0) in vec3 a_Position;\nlayout(location = 14) in vec2 a_Uv;\n\nlayout(std140) uniform commonUniforms {\n float u_opacity:1.0;\n float u_brightness:1.0;\n float u_contrast:1.0;\n float u_saturation:1.0;\n float u_gamma:1.0;\n};\n\nout vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy,0., 1.0));\n \n}\n";
|
|
12
|
+
export default class ImageModel 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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
return initModels;
|
|
67
|
-
}()
|
|
68
|
-
}, {
|
|
69
|
-
key: "clearModels",
|
|
70
|
-
value: function clearModels() {
|
|
71
|
-
var _this$texture;
|
|
72
|
-
(_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.destroy();
|
|
73
|
-
}
|
|
74
|
-
}, {
|
|
75
|
-
key: "loadTexture",
|
|
76
|
-
value: function () {
|
|
77
|
-
var _loadTexture = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
78
|
-
var createTexture2D, source, imageData;
|
|
79
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
80
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
81
|
-
case 0:
|
|
82
|
-
createTexture2D = this.rendererService.createTexture2D;
|
|
83
|
-
this.texture = createTexture2D({
|
|
84
|
-
height: 1,
|
|
85
|
-
width: 1
|
|
86
|
-
});
|
|
87
|
-
source = this.layer.getSource();
|
|
88
|
-
_context2.next = 5;
|
|
89
|
-
return source.data.images;
|
|
90
|
-
case 5:
|
|
91
|
-
imageData = _context2.sent;
|
|
92
|
-
this.texture = createTexture2D({
|
|
93
|
-
data: imageData[0],
|
|
94
|
-
width: imageData[0].width,
|
|
95
|
-
height: imageData[0].height,
|
|
96
|
-
mag: gl.LINEAR,
|
|
97
|
-
min: gl.LINEAR
|
|
98
|
-
});
|
|
99
|
-
case 7:
|
|
100
|
-
case "end":
|
|
101
|
-
return _context2.stop();
|
|
102
|
-
}
|
|
103
|
-
}, _callee2, this);
|
|
104
|
-
}));
|
|
105
|
-
function loadTexture() {
|
|
106
|
-
return _loadTexture.apply(this, arguments);
|
|
107
|
-
}
|
|
108
|
-
return loadTexture;
|
|
109
|
-
}()
|
|
110
|
-
}, {
|
|
111
|
-
key: "buildModels",
|
|
112
|
-
value: function () {
|
|
113
|
-
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
114
|
-
var model;
|
|
115
|
-
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
116
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
117
|
-
case 0:
|
|
118
|
-
this.initUniformsBuffer();
|
|
119
|
-
_context3.next = 3;
|
|
120
|
-
return this.layer.buildLayerModel({
|
|
121
|
-
moduleName: 'rasterImage',
|
|
122
|
-
vertexShader: ImageVert,
|
|
123
|
-
fragmentShader: ImageFrag,
|
|
124
|
-
triangulation: RasterImageTriangulation,
|
|
125
|
-
primitive: gl.TRIANGLES,
|
|
126
|
-
blend: {
|
|
127
|
-
// Tip: 优化显示效果
|
|
128
|
-
enable: true
|
|
129
|
-
},
|
|
130
|
-
depth: {
|
|
131
|
-
enable: false
|
|
132
|
-
},
|
|
133
|
-
pickingEnabled: false
|
|
134
|
-
});
|
|
135
|
-
case 3:
|
|
136
|
-
model = _context3.sent;
|
|
137
|
-
return _context3.abrupt("return", [model]);
|
|
138
|
-
case 5:
|
|
139
|
-
case "end":
|
|
140
|
-
return _context3.stop();
|
|
141
|
-
}
|
|
142
|
-
}, _callee3, this);
|
|
143
|
-
}));
|
|
144
|
-
function buildModels() {
|
|
145
|
-
return _buildModels.apply(this, arguments);
|
|
146
|
-
}
|
|
147
|
-
return buildModels;
|
|
148
|
-
}()
|
|
149
|
-
}, {
|
|
150
|
-
key: "registerBuiltinAttributes",
|
|
151
|
-
value: function registerBuiltinAttributes() {
|
|
152
|
-
this.styleAttributeService.registerStyleAttribute({
|
|
153
|
-
name: 'uv',
|
|
154
|
-
type: AttributeType.Attribute,
|
|
155
|
-
descriptor: {
|
|
156
|
-
name: 'a_Uv',
|
|
157
|
-
shaderLocation: ShaderLocation.UV,
|
|
158
|
-
buffer: {
|
|
159
|
-
usage: gl.DYNAMIC_DRAW,
|
|
160
|
-
data: [],
|
|
161
|
-
type: gl.FLOAT
|
|
162
|
-
},
|
|
163
|
-
size: 2,
|
|
164
|
-
update: function update(feature, featureIdx, vertex) {
|
|
165
|
-
return [vertex[3], vertex[4]];
|
|
166
|
-
}
|
|
167
|
-
}
|
|
17
|
+
getCommonUniformsInfo() {
|
|
18
|
+
const {
|
|
19
|
+
opacity,
|
|
20
|
+
brightness,
|
|
21
|
+
contrast,
|
|
22
|
+
saturation,
|
|
23
|
+
gamma
|
|
24
|
+
} = this.layer.getLayerConfig();
|
|
25
|
+
const commonOptions = {
|
|
26
|
+
u_opacity: defaultValue(opacity, 1.0),
|
|
27
|
+
u_brightness: defaultValue(brightness, 1.0),
|
|
28
|
+
u_contrast: defaultValue(contrast, 1.0),
|
|
29
|
+
u_saturation: defaultValue(saturation, 1.0),
|
|
30
|
+
u_gamma: defaultValue(gamma, 1.0)
|
|
31
|
+
};
|
|
32
|
+
this.textures = [this.texture];
|
|
33
|
+
const commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
|
|
34
|
+
return commonBufferInfo;
|
|
35
|
+
}
|
|
36
|
+
initModels() {
|
|
37
|
+
var _this = this;
|
|
38
|
+
return _asyncToGenerator(function* () {
|
|
39
|
+
yield _this.loadTexture();
|
|
40
|
+
return _this.buildModels();
|
|
41
|
+
})();
|
|
42
|
+
}
|
|
43
|
+
clearModels() {
|
|
44
|
+
var _this$texture;
|
|
45
|
+
(_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.destroy();
|
|
46
|
+
}
|
|
47
|
+
loadTexture() {
|
|
48
|
+
var _this2 = this;
|
|
49
|
+
return _asyncToGenerator(function* () {
|
|
50
|
+
const {
|
|
51
|
+
createTexture2D
|
|
52
|
+
} = _this2.rendererService;
|
|
53
|
+
_this2.texture = createTexture2D({
|
|
54
|
+
height: 1,
|
|
55
|
+
width: 1
|
|
168
56
|
});
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
57
|
+
const source = _this2.layer.getSource();
|
|
58
|
+
const imageData = yield source.data.images;
|
|
59
|
+
_this2.texture = createTexture2D({
|
|
60
|
+
data: imageData[0],
|
|
61
|
+
width: imageData[0].width,
|
|
62
|
+
height: imageData[0].height,
|
|
63
|
+
mag: gl.LINEAR,
|
|
64
|
+
min: gl.LINEAR
|
|
65
|
+
});
|
|
66
|
+
})();
|
|
67
|
+
}
|
|
68
|
+
buildModels() {
|
|
69
|
+
var _this3 = this;
|
|
70
|
+
return _asyncToGenerator(function* () {
|
|
71
|
+
_this3.initUniformsBuffer();
|
|
72
|
+
const model = yield _this3.layer.buildLayerModel({
|
|
73
|
+
moduleName: 'rasterImage',
|
|
74
|
+
vertexShader: ImageVert,
|
|
75
|
+
fragmentShader: ImageFrag,
|
|
76
|
+
triangulation: RasterImageTriangulation,
|
|
77
|
+
primitive: gl.TRIANGLES,
|
|
78
|
+
blend: {
|
|
79
|
+
// Tip: 优化显示效果
|
|
80
|
+
enable: true
|
|
81
|
+
},
|
|
82
|
+
depth: {
|
|
83
|
+
enable: false
|
|
84
|
+
},
|
|
85
|
+
pickingEnabled: false
|
|
86
|
+
});
|
|
87
|
+
return [model];
|
|
88
|
+
})();
|
|
89
|
+
}
|
|
90
|
+
registerBuiltinAttributes() {
|
|
91
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
92
|
+
name: 'uv',
|
|
93
|
+
type: AttributeType.Attribute,
|
|
94
|
+
descriptor: {
|
|
95
|
+
name: 'a_Uv',
|
|
96
|
+
shaderLocation: ShaderLocation.UV,
|
|
97
|
+
buffer: {
|
|
98
|
+
usage: gl.DYNAMIC_DRAW,
|
|
99
|
+
data: [],
|
|
100
|
+
type: gl.FLOAT
|
|
101
|
+
},
|
|
102
|
+
size: 2,
|
|
103
|
+
update: (feature, featureIdx, vertex) => {
|
|
104
|
+
return [vertex[3], vertex[4]];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
package/es/image/models/index.js
CHANGED