@antv/l7-layers 2.21.0 → 2.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/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 +2 -1
- package/es/core/BaseLayer.js +1113 -1405
- package/es/core/BaseModel.js +262 -318
- package/es/core/CommonStyleAttribute.js +25 -18
- package/es/core/LayerPickService.js +92 -142
- 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 -13
- package/es/core/shape/arrow.js +50 -62
- package/es/core/shape/extrude.js +54 -63
- 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 -202
- 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 -122
- 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 -242
- 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 +232 -288
- package/es/line/models/simple_line.js +142 -192
- package/es/line/models/wall.js +221 -273
- package/es/line/shaders/line/line_vert.glsl +0 -2
- package/es/line/shaders/wall/wall_vert.glsl +15 -0
- 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 -251
- 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 -151
- 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/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 +153 -210
- 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 +103 -155
- package/es/polygon/models/index.js +1 -2
- 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 -31
- 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.js +4 -2
- package/es/tile/utils/constants.js +1 -1
- package/es/tile/utils/utils.js +2 -2
- package/es/utils/blend.js +52 -47
- 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 -43
- package/es/utils/rampcolor_legend.js +5 -4
- package/es/utils/simpleLine.js +53 -66
- package/es/utils/symbol-layout.js +95 -117
- package/es/wind/index.js +28 -71
- 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 -1405
- package/lib/core/BaseModel.d.ts +82 -0
- package/lib/core/BaseModel.js +262 -316
- 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 -141
- 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 -14
- 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 -63
- 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 -202
- 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 -122
- 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 -242
- 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 +233 -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/line/shaders/line/line_vert.glsl +0 -2
- package/lib/line/shaders/wall/wall_vert.glsl +15 -0
- 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 -250
- 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 -150
- 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 +155 -210
- 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 -154
- 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 -32
- 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 -48
- 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 -44
- package/lib/utils/rampcolor_legend.d.ts +6 -0
- package/lib/utils/rampcolor_legend.js +5 -5
- 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 -71
- 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/CHANGELOG.md +0 -492
- package/LICENSE.md +0 -21
- package/es/glsl.d.ts +0 -5
- package/lib/glsl.d.ts +0 -5
package/es/point/models/image.js
CHANGED
|
@@ -1,211 +1,158 @@
|
|
|
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 _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
6
|
-
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
7
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
8
|
-
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
9
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
10
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
11
|
-
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); }; }
|
|
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
4
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
14
5
|
import BaseModel from "../../core/BaseModel";
|
|
15
6
|
import { ShaderLocation } from "../../core/CommonStyleAttribute";
|
|
16
7
|
import { PointImageTriangulation } from "../../core/triangulation";
|
|
17
8
|
/* babel-plugin-inline-import '../shaders/image/image_frag.glsl' */
|
|
18
|
-
|
|
9
|
+
const pointImageFrag = "layout(std140) uniform commonUniforms {\n vec2 u_textSize;\n float u_raisingHeight;\n float u_heightfixed;\n};\n\nuniform sampler2D u_texture;\n\nin vec4 v_color;\nin vec2 v_uv;\nin float v_opacity;\n\n#pragma include \"picking\"\n\nout vec4 outputColor;\n\nvoid main(){\n vec2 pos = v_uv / u_textSize + gl_PointCoord / u_textSize * 64.;\n vec4 textureColor;\n\n // Y = 0.299R + 0.587G + 0.114B // \u4EAE\u5EA6\u63D0\u53D6\n \n textureColor = texture(SAMPLER_2D(u_texture), pos);\n\n // Tip: \u53BB\u9664\u8FB9\u7F18\u90E8\u5206 mipmap \u5BFC\u81F4\u7684\u6DF7\u5408\u53D8\u6697\n float fragmengTocenter = distance(vec2(0.5), gl_PointCoord);\n if(fragmengTocenter >= 0.5) {\n float luma = 0.299 * textureColor.r + 0.587 * textureColor.g + 0.114 * textureColor.b;\n textureColor.a *= luma;\n }\n \n if(all(lessThan(v_color, vec4(1.0+0.00001))) && all(greaterThan(v_color, vec4(1.0-0.00001))) || v_color==vec4(1.0)){\n outputColor= textureColor;\n }else {\n outputColor= step(0.01, textureColor.z) * v_color;\n }\n outputColor.a *= v_opacity;\n if (outputColor.a < 0.01) {\n discard;\n }\n outputColor = filterColor(outputColor);\n}\n";
|
|
19
10
|
/* babel-plugin-inline-import '../shaders/image/image_vert.glsl' */
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var createTexture2D = _this.rendererService.createTexture2D;
|
|
33
|
-
if (_this.texture) {
|
|
34
|
-
_this.texture.update({
|
|
35
|
-
data: _this.iconService.getCanvas(),
|
|
11
|
+
const pointImageVert = "layout(location = 0) in vec3 a_Position;\nlayout(location = 1) in vec4 a_Color;\nlayout(location = 9) in float a_Size;\nlayout(location = 14) in vec2 a_Uv;\n\nlayout(std140) uniform commonUniforms {\n vec2 u_textSize;\n float u_raisingHeight;\n float u_heightfixed;\n};\n\nout vec4 v_color;\nout vec2 v_uv;\nout float v_opacity;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n v_color = a_Color;\n v_opacity = opacity;\n v_uv = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n \n vec2 offset = project_pixel(offsets);\n\n float raisingHeight = u_raisingHeight;\n if(u_heightfixed < 1.0) { // false\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n\n\n gl_Position = project_common_position_to_clipspace_v2(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n\n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n setPickingColor(a_PickingColor);\n}\n";
|
|
12
|
+
export default class ImageModel extends BaseModel {
|
|
13
|
+
constructor(...args) {
|
|
14
|
+
super(...args);
|
|
15
|
+
_defineProperty(this, "texture", void 0);
|
|
16
|
+
_defineProperty(this, "updateTexture", () => {
|
|
17
|
+
const {
|
|
18
|
+
createTexture2D
|
|
19
|
+
} = this.rendererService;
|
|
20
|
+
if (this.texture) {
|
|
21
|
+
this.texture.update({
|
|
22
|
+
data: this.iconService.getCanvas(),
|
|
36
23
|
mag: 'linear',
|
|
37
24
|
min: 'linear mipmap nearest',
|
|
38
25
|
mipmap: true
|
|
39
26
|
});
|
|
40
27
|
// 更新完纹理后在更新的图层的时候需要更新所有的图层
|
|
41
28
|
// this.layer.layerModelNeedUpdate = true;
|
|
42
|
-
setTimeout(
|
|
29
|
+
setTimeout(() => {
|
|
43
30
|
// 延迟渲染
|
|
44
|
-
|
|
31
|
+
this.layerService.throttleRenderLayers();
|
|
45
32
|
});
|
|
46
33
|
return;
|
|
47
34
|
}
|
|
48
|
-
|
|
49
|
-
data:
|
|
35
|
+
this.texture = createTexture2D({
|
|
36
|
+
data: this.iconService.getCanvas(),
|
|
50
37
|
mag: gl.LINEAR,
|
|
51
38
|
min: gl.LINEAR_MIPMAP_LINEAR,
|
|
52
39
|
premultiplyAlpha: false,
|
|
53
40
|
width: 1024,
|
|
54
|
-
height:
|
|
41
|
+
height: this.iconService.canvasHeight || 128,
|
|
55
42
|
mipmap: true
|
|
56
43
|
});
|
|
57
44
|
});
|
|
58
|
-
return _this;
|
|
59
45
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var _this$texture;
|
|
66
|
-
(_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.bind();
|
|
67
|
-
}
|
|
68
|
-
var commonInfo = this.getCommonUniformsInfo();
|
|
69
|
-
var attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
|
|
70
|
-
this.updateStyleUnifoms();
|
|
71
|
-
return _objectSpread(_objectSpread({}, commonInfo.uniformsOption), attributeInfo.uniformsOption);
|
|
72
|
-
}
|
|
73
|
-
}, {
|
|
74
|
-
key: "getCommonUniformsInfo",
|
|
75
|
-
value: function getCommonUniformsInfo() {
|
|
76
|
-
var _ref = this.layer.getLayerConfig(),
|
|
77
|
-
_ref$raisingHeight = _ref.raisingHeight,
|
|
78
|
-
raisingHeight = _ref$raisingHeight === void 0 ? 0 : _ref$raisingHeight,
|
|
79
|
-
_ref$heightfixed = _ref.heightfixed,
|
|
80
|
-
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed;
|
|
81
|
-
var commonOptions = {
|
|
82
|
-
u_textSize: [1024, this.iconService.canvasHeight || 128],
|
|
83
|
-
u_raisingHeight: Number(raisingHeight),
|
|
84
|
-
u_heightfixed: Number(heightfixed),
|
|
85
|
-
u_texture: this.texture
|
|
86
|
-
};
|
|
87
|
-
this.textures = [this.texture];
|
|
88
|
-
var commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
|
|
89
|
-
return commonBufferInfo;
|
|
90
|
-
}
|
|
91
|
-
}, {
|
|
92
|
-
key: "initModels",
|
|
93
|
-
value: function () {
|
|
94
|
-
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
95
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
96
|
-
while (1) switch (_context.prev = _context.next) {
|
|
97
|
-
case 0:
|
|
98
|
-
this.iconService.on('imageUpdate', this.updateTexture);
|
|
99
|
-
this.updateTexture();
|
|
100
|
-
return _context.abrupt("return", this.buildModels());
|
|
101
|
-
case 3:
|
|
102
|
-
case "end":
|
|
103
|
-
return _context.stop();
|
|
104
|
-
}
|
|
105
|
-
}, _callee, this);
|
|
106
|
-
}));
|
|
107
|
-
function initModels() {
|
|
108
|
-
return _initModels.apply(this, arguments);
|
|
109
|
-
}
|
|
110
|
-
return initModels;
|
|
111
|
-
}()
|
|
112
|
-
}, {
|
|
113
|
-
key: "clearModels",
|
|
114
|
-
value: function clearModels() {
|
|
115
|
-
var _this$texture2;
|
|
116
|
-
(_this$texture2 = this.texture) === null || _this$texture2 === void 0 || _this$texture2.destroy();
|
|
117
|
-
this.iconService.off('imageUpdate', this.updateTexture);
|
|
46
|
+
getUninforms() {
|
|
47
|
+
// ThreeJS 图层兼容
|
|
48
|
+
if (this.rendererService.getDirty()) {
|
|
49
|
+
var _this$texture;
|
|
50
|
+
(_this$texture = this.texture) === null || _this$texture === void 0 || _this$texture.bind();
|
|
118
51
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
// give the WebGL driver a hint that this buffer may change
|
|
167
|
-
usage: gl.DYNAMIC_DRAW,
|
|
168
|
-
data: [],
|
|
169
|
-
type: gl.FLOAT
|
|
170
|
-
},
|
|
171
|
-
size: 1,
|
|
172
|
-
update: function update(feature) {
|
|
173
|
-
var _feature$size = feature.size,
|
|
174
|
-
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
175
|
-
return Array.isArray(size) ? [size[0]] : [size];
|
|
176
|
-
}
|
|
177
|
-
}
|
|
52
|
+
const commonInfo = this.getCommonUniformsInfo();
|
|
53
|
+
const attributeInfo = this.getUniformsBufferInfo(this.getStyleAttribute());
|
|
54
|
+
this.updateStyleUnifoms();
|
|
55
|
+
return _objectSpread(_objectSpread({}, commonInfo.uniformsOption), attributeInfo.uniformsOption);
|
|
56
|
+
}
|
|
57
|
+
getCommonUniformsInfo() {
|
|
58
|
+
const {
|
|
59
|
+
raisingHeight = 0,
|
|
60
|
+
heightfixed = false
|
|
61
|
+
} = this.layer.getLayerConfig();
|
|
62
|
+
const commonOptions = {
|
|
63
|
+
u_textSize: [1024, this.iconService.canvasHeight || 128],
|
|
64
|
+
u_raisingHeight: Number(raisingHeight),
|
|
65
|
+
u_heightfixed: Number(heightfixed),
|
|
66
|
+
u_texture: this.texture
|
|
67
|
+
};
|
|
68
|
+
this.textures = [this.texture];
|
|
69
|
+
const commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
|
|
70
|
+
return commonBufferInfo;
|
|
71
|
+
}
|
|
72
|
+
initModels() {
|
|
73
|
+
var _this = this;
|
|
74
|
+
return _asyncToGenerator(function* () {
|
|
75
|
+
_this.iconService.on('imageUpdate', _this.updateTexture);
|
|
76
|
+
_this.updateTexture();
|
|
77
|
+
return _this.buildModels();
|
|
78
|
+
})();
|
|
79
|
+
}
|
|
80
|
+
clearModels() {
|
|
81
|
+
var _this$texture2;
|
|
82
|
+
(_this$texture2 = this.texture) === null || _this$texture2 === void 0 || _this$texture2.destroy();
|
|
83
|
+
this.iconService.off('imageUpdate', this.updateTexture);
|
|
84
|
+
}
|
|
85
|
+
buildModels() {
|
|
86
|
+
var _this2 = this;
|
|
87
|
+
return _asyncToGenerator(function* () {
|
|
88
|
+
_this2.initUniformsBuffer();
|
|
89
|
+
const model = yield _this2.layer.buildLayerModel({
|
|
90
|
+
moduleName: 'pointImage',
|
|
91
|
+
vertexShader: pointImageVert,
|
|
92
|
+
fragmentShader: pointImageFrag,
|
|
93
|
+
triangulation: PointImageTriangulation,
|
|
94
|
+
inject: _this2.getInject(),
|
|
95
|
+
depth: {
|
|
96
|
+
enable: false
|
|
97
|
+
},
|
|
98
|
+
primitive: gl.POINTS
|
|
178
99
|
});
|
|
100
|
+
return [model];
|
|
101
|
+
})();
|
|
102
|
+
}
|
|
103
|
+
registerBuiltinAttributes() {
|
|
104
|
+
// point layer size;
|
|
105
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
106
|
+
name: 'size',
|
|
107
|
+
type: AttributeType.Attribute,
|
|
108
|
+
descriptor: {
|
|
109
|
+
name: 'a_Size',
|
|
110
|
+
shaderLocation: ShaderLocation.SIZE,
|
|
111
|
+
buffer: {
|
|
112
|
+
// give the WebGL driver a hint that this buffer may change
|
|
113
|
+
usage: gl.DYNAMIC_DRAW,
|
|
114
|
+
data: [],
|
|
115
|
+
type: gl.FLOAT
|
|
116
|
+
},
|
|
117
|
+
size: 1,
|
|
118
|
+
update: feature => {
|
|
119
|
+
const {
|
|
120
|
+
size = 5
|
|
121
|
+
} = feature;
|
|
122
|
+
return Array.isArray(size) ? [size[0]] : [size];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
});
|
|
179
126
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
127
|
+
// point layer uv;
|
|
128
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
129
|
+
name: 'uv',
|
|
130
|
+
type: AttributeType.Attribute,
|
|
131
|
+
descriptor: {
|
|
132
|
+
name: 'a_Uv',
|
|
133
|
+
shaderLocation: ShaderLocation.UV,
|
|
134
|
+
buffer: {
|
|
135
|
+
// give the WebGL driver a hint that this buffer may change
|
|
136
|
+
usage: gl.DYNAMIC_DRAW,
|
|
137
|
+
data: [],
|
|
138
|
+
type: gl.FLOAT
|
|
139
|
+
},
|
|
140
|
+
size: 2,
|
|
141
|
+
update: feature => {
|
|
142
|
+
const iconMap = this.iconService.getIconMap();
|
|
143
|
+
const {
|
|
144
|
+
shape
|
|
145
|
+
} = feature;
|
|
146
|
+
const {
|
|
147
|
+
x,
|
|
148
|
+
y
|
|
149
|
+
} = iconMap[shape] || {
|
|
150
|
+
x: -64,
|
|
151
|
+
y: -64
|
|
152
|
+
}; // 非画布区域,默认的图标改为透明
|
|
153
|
+
return [x, y];
|
|
205
154
|
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
}(BaseModel);
|
|
211
|
-
export { ImageModel as default };
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
package/es/point/models/index.js
CHANGED
|
@@ -1,136 +1,81 @@
|
|
|
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 _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 _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
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
2
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
12
3
|
import BaseModel from "../../core/BaseModel";
|
|
13
4
|
import { ShaderLocation } from "../../core/CommonStyleAttribute";
|
|
14
5
|
/* babel-plugin-inline-import '../shaders/normal/normal_frag.glsl' */
|
|
15
|
-
|
|
6
|
+
const normalFrag = "in vec4 v_color;\nout vec4 outputColor;\nvoid main() {\n outputColor = v_color;\n}";
|
|
16
7
|
/* babel-plugin-inline-import '../shaders/normal/normal_vert.glsl' */
|
|
17
|
-
|
|
8
|
+
const normalVert = "layout(location = 0) in vec3 a_Position;\nlayout(location = 1) in vec4 a_Color;\nlayout(location = 9) in float a_Size;\n\nlayout(std140) uniform u_Common {\n float u_size_scale;\n};\n\nout vec4 v_color;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n\nvoid main() {\n v_color = vec4(a_Color.xyz, a_Color.w * opacity);\n\n if (u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(a_Position, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(a_Position, 1.0)) + vec4(a_Size / 2., -a_Size /2., 0., 0.);\n gl_Position = project_common_position_to_clipspace(project_pos);\n }\n\n gl_PointSize = a_Size * u_size_scale * 2.0 * u_DevicePixelRatio;\n}\n";
|
|
18
9
|
export function PointTriangulation(feature) {
|
|
19
|
-
|
|
10
|
+
const coordinates = feature.coordinates;
|
|
20
11
|
return {
|
|
21
|
-
vertices:
|
|
12
|
+
vertices: [...coordinates],
|
|
22
13
|
indices: [0],
|
|
23
14
|
size: coordinates.length
|
|
24
15
|
};
|
|
25
16
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return _super.apply(this, arguments);
|
|
17
|
+
export default class NormalModel extends BaseModel {
|
|
18
|
+
getDefaultStyle() {
|
|
19
|
+
return {
|
|
20
|
+
blend: 'additive'
|
|
21
|
+
};
|
|
32
22
|
}
|
|
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
|
-
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.layer.triangulation = PointTriangulation;
|
|
77
|
-
this.initUniformsBuffer();
|
|
78
|
-
_context2.next = 4;
|
|
79
|
-
return this.layer.buildLayerModel({
|
|
80
|
-
moduleName: 'pointNormal',
|
|
81
|
-
vertexShader: normalVert,
|
|
82
|
-
fragmentShader: normalFrag,
|
|
83
|
-
triangulation: PointTriangulation,
|
|
84
|
-
inject: this.getInject(),
|
|
85
|
-
depth: {
|
|
86
|
-
enable: false
|
|
87
|
-
},
|
|
88
|
-
primitive: gl.POINTS,
|
|
89
|
-
pick: false
|
|
90
|
-
});
|
|
91
|
-
case 4:
|
|
92
|
-
model = _context2.sent;
|
|
93
|
-
return _context2.abrupt("return", [model]);
|
|
94
|
-
case 6:
|
|
95
|
-
case "end":
|
|
96
|
-
return _context2.stop();
|
|
97
|
-
}
|
|
98
|
-
}, _callee2, this);
|
|
99
|
-
}));
|
|
100
|
-
function buildModels() {
|
|
101
|
-
return _buildModels.apply(this, arguments);
|
|
102
|
-
}
|
|
103
|
-
return buildModels;
|
|
104
|
-
}()
|
|
105
|
-
}, {
|
|
106
|
-
key: "clearModels",
|
|
107
|
-
value: function clearModels() {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
}, {
|
|
111
|
-
key: "registerBuiltinAttributes",
|
|
112
|
-
value: function registerBuiltinAttributes() {
|
|
113
|
-
this.styleAttributeService.registerStyleAttribute({
|
|
114
|
-
name: 'size',
|
|
115
|
-
type: AttributeType.Attribute,
|
|
116
|
-
descriptor: {
|
|
117
|
-
name: 'a_Size',
|
|
118
|
-
shaderLocation: ShaderLocation.SIZE,
|
|
119
|
-
buffer: {
|
|
120
|
-
usage: gl.DYNAMIC_DRAW,
|
|
121
|
-
data: [],
|
|
122
|
-
type: gl.FLOAT
|
|
123
|
-
},
|
|
124
|
-
size: 1,
|
|
125
|
-
update: function update(feature) {
|
|
126
|
-
var _feature$size = feature.size,
|
|
127
|
-
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
128
|
-
return Array.isArray(size) ? [size[0]] : [size];
|
|
129
|
-
}
|
|
130
|
-
}
|
|
23
|
+
getCommonUniformsInfo() {
|
|
24
|
+
const commonOptions = {
|
|
25
|
+
u_size_scale: 0.5
|
|
26
|
+
};
|
|
27
|
+
const commonBufferInfo = this.getUniformsBufferInfo(commonOptions);
|
|
28
|
+
return commonBufferInfo;
|
|
29
|
+
}
|
|
30
|
+
initModels() {
|
|
31
|
+
var _this = this;
|
|
32
|
+
return _asyncToGenerator(function* () {
|
|
33
|
+
return _this.buildModels();
|
|
34
|
+
})();
|
|
35
|
+
}
|
|
36
|
+
buildModels() {
|
|
37
|
+
var _this2 = this;
|
|
38
|
+
return _asyncToGenerator(function* () {
|
|
39
|
+
_this2.layer.triangulation = PointTriangulation;
|
|
40
|
+
_this2.initUniformsBuffer();
|
|
41
|
+
const model = yield _this2.layer.buildLayerModel({
|
|
42
|
+
moduleName: 'pointNormal',
|
|
43
|
+
vertexShader: normalVert,
|
|
44
|
+
fragmentShader: normalFrag,
|
|
45
|
+
triangulation: PointTriangulation,
|
|
46
|
+
inject: _this2.getInject(),
|
|
47
|
+
depth: {
|
|
48
|
+
enable: false
|
|
49
|
+
},
|
|
50
|
+
primitive: gl.POINTS,
|
|
51
|
+
pick: false
|
|
131
52
|
});
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
53
|
+
return [model];
|
|
54
|
+
})();
|
|
55
|
+
}
|
|
56
|
+
clearModels() {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
registerBuiltinAttributes() {
|
|
60
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
61
|
+
name: 'size',
|
|
62
|
+
type: AttributeType.Attribute,
|
|
63
|
+
descriptor: {
|
|
64
|
+
name: 'a_Size',
|
|
65
|
+
shaderLocation: ShaderLocation.SIZE,
|
|
66
|
+
buffer: {
|
|
67
|
+
usage: gl.DYNAMIC_DRAW,
|
|
68
|
+
data: [],
|
|
69
|
+
type: gl.FLOAT
|
|
70
|
+
},
|
|
71
|
+
size: 1,
|
|
72
|
+
update: feature => {
|
|
73
|
+
const {
|
|
74
|
+
size = 1
|
|
75
|
+
} = feature;
|
|
76
|
+
return Array.isArray(size) ? [size[0]] : [size];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|