@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,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -24,8 +23,6 @@ exports.earthOuterTriangulation = earthOuterTriangulation;
|
|
|
24
23
|
exports.earthTriangulation = earthTriangulation;
|
|
25
24
|
exports.polygonTriangulation = polygonTriangulation;
|
|
26
25
|
exports.polygonTriangulationWithCenter = polygonTriangulationWithCenter;
|
|
27
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
28
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
29
26
|
var _l7Utils = require("@antv/l7-utils");
|
|
30
27
|
var _earcut = _interopRequireDefault(require("earcut"));
|
|
31
28
|
var _glMatrix = require("gl-matrix");
|
|
@@ -33,11 +30,11 @@ var _utils = require("../earth/utils");
|
|
|
33
30
|
var _extrude_polyline = _interopRequireDefault(require("../utils/extrude_polyline"));
|
|
34
31
|
var _extrude = _interopRequireWildcard(require("./shape/extrude"));
|
|
35
32
|
var _Path = require("./shape/Path");
|
|
36
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
37
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
33
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
34
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
38
35
|
// @ts-ignore
|
|
39
36
|
|
|
40
|
-
|
|
37
|
+
const GeometryCache = {};
|
|
41
38
|
|
|
42
39
|
/**
|
|
43
40
|
* 计算2D 填充点图顶点
|
|
@@ -45,9 +42,9 @@ var GeometryCache = {};
|
|
|
45
42
|
*/
|
|
46
43
|
|
|
47
44
|
function PointFillTriangulation(feature) {
|
|
48
|
-
|
|
45
|
+
const coordinates = (0, _l7Utils.calculateCentroid)(feature.coordinates);
|
|
49
46
|
return {
|
|
50
|
-
vertices: [
|
|
47
|
+
vertices: [...coordinates, ...coordinates, ...coordinates, ...coordinates],
|
|
51
48
|
indices: [0, 1, 2, 2, 3, 0],
|
|
52
49
|
size: coordinates.length
|
|
53
50
|
};
|
|
@@ -57,10 +54,10 @@ function PointFillTriangulation(feature) {
|
|
|
57
54
|
* @param feature 映射feature
|
|
58
55
|
*/
|
|
59
56
|
function GlobelPointFillTriangulation(feature) {
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
const coordinates = (0, _l7Utils.calculateCentroid)(feature.coordinates);
|
|
58
|
+
const xyz = (0, _utils.lglt2xyz)(coordinates);
|
|
62
59
|
return {
|
|
63
|
-
vertices: [
|
|
60
|
+
vertices: [...xyz, ...xyz, ...xyz, ...xyz],
|
|
64
61
|
indices: [0, 1, 2, 2, 3, 0],
|
|
65
62
|
size: xyz.length
|
|
66
63
|
};
|
|
@@ -71,15 +68,18 @@ function GlobelPointFillTriangulation(feature) {
|
|
|
71
68
|
* @param feature 映射feature
|
|
72
69
|
*/
|
|
73
70
|
function PointExtrudeTriangulation(feature) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
const {
|
|
72
|
+
shape
|
|
73
|
+
} = feature;
|
|
74
|
+
const {
|
|
75
|
+
positions,
|
|
76
|
+
index,
|
|
77
|
+
normals
|
|
78
|
+
} = getGeometry(shape, false);
|
|
79
79
|
return {
|
|
80
80
|
vertices: positions,
|
|
81
81
|
indices: index,
|
|
82
|
-
normals
|
|
82
|
+
normals,
|
|
83
83
|
size: 5
|
|
84
84
|
};
|
|
85
85
|
}
|
|
@@ -89,9 +89,9 @@ function PointExtrudeTriangulation(feature) {
|
|
|
89
89
|
* @param feature 映射feature
|
|
90
90
|
*/
|
|
91
91
|
function PointImageTriangulation(feature) {
|
|
92
|
-
|
|
92
|
+
const coordinates = (0, _l7Utils.calculateCentroid)(feature.coordinates);
|
|
93
93
|
return {
|
|
94
|
-
vertices:
|
|
94
|
+
vertices: [...coordinates],
|
|
95
95
|
indices: [0],
|
|
96
96
|
size: coordinates.length
|
|
97
97
|
};
|
|
@@ -102,45 +102,47 @@ function PointImageTriangulation(feature) {
|
|
|
102
102
|
* @param feature 映射feature
|
|
103
103
|
*/
|
|
104
104
|
function LineTriangulation(feature) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
const {
|
|
106
|
+
coordinates,
|
|
107
|
+
originCoordinates,
|
|
108
|
+
version
|
|
109
|
+
} = feature;
|
|
108
110
|
// let path = coordinates as number[][][] | number[][];
|
|
109
111
|
// if (!Array.isArray(path[0][0])) {
|
|
110
112
|
// path = [coordinates] as number[][][];
|
|
111
113
|
// }
|
|
112
114
|
|
|
113
|
-
|
|
115
|
+
const line = new _extrude_polyline.default({
|
|
114
116
|
dash: true,
|
|
115
117
|
join: 'bevel'
|
|
116
118
|
});
|
|
117
119
|
if (version === 'GAODE2.x') {
|
|
118
120
|
// 处理高德2.0几何体构建
|
|
119
|
-
|
|
121
|
+
let path1 = coordinates; // 计算位置
|
|
120
122
|
if (!Array.isArray(path1[0][0])) {
|
|
121
123
|
path1 = [coordinates];
|
|
122
124
|
}
|
|
123
|
-
|
|
125
|
+
let path2 = originCoordinates; // 计算法线
|
|
124
126
|
if (!Array.isArray(path2[0][0])) {
|
|
125
127
|
path2 = [originCoordinates];
|
|
126
128
|
}
|
|
127
|
-
for (
|
|
129
|
+
for (let i = 0; i < path1.length; i++) {
|
|
128
130
|
// 高德2.0在计算线时,需要使用经纬度计算发现,使用 customCoords.lnglatToCoords 计算的数据来计算顶点的位置
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
const item1 = path1[i];
|
|
132
|
+
const item2 = path2[i];
|
|
131
133
|
line.extrude_gaode2(item1, item2);
|
|
132
134
|
}
|
|
133
135
|
} else {
|
|
134
136
|
// 处理非高德2.0的几何体构建
|
|
135
|
-
|
|
137
|
+
let path = coordinates;
|
|
136
138
|
if (path[0] && !Array.isArray(path[0][0])) {
|
|
137
139
|
path = [coordinates];
|
|
138
140
|
}
|
|
139
|
-
path.forEach(
|
|
141
|
+
path.forEach(item => {
|
|
140
142
|
line.extrude(item);
|
|
141
143
|
});
|
|
142
144
|
}
|
|
143
|
-
|
|
145
|
+
const linebuffer = line.complex;
|
|
144
146
|
return {
|
|
145
147
|
vertices: linebuffer.positions,
|
|
146
148
|
// [ x,y,z, distance, miter,total ]
|
|
@@ -152,29 +154,38 @@ function LineTriangulation(feature) {
|
|
|
152
154
|
}
|
|
153
155
|
function FlowLineFillTriangulation(feature) {
|
|
154
156
|
// @ts-ignore
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
157
|
+
const coord = feature.coordinates.flat();
|
|
158
|
+
const tin = 1;
|
|
159
|
+
const tout = 1.0;
|
|
158
160
|
return {
|
|
159
|
-
vertices: [1, 0, 0
|
|
161
|
+
vertices: [1, 0, 0, ...coord,
|
|
160
162
|
// 0
|
|
161
|
-
1, 2, -3
|
|
163
|
+
1, 2, -3,
|
|
164
|
+
// mapbox 为正
|
|
165
|
+
...coord,
|
|
162
166
|
// 1
|
|
163
|
-
1, 1, -3
|
|
167
|
+
1, 1, -3,
|
|
168
|
+
// mapbox 为正
|
|
169
|
+
...coord,
|
|
164
170
|
// 2
|
|
165
|
-
0, 1, 0
|
|
171
|
+
0, 1, 0, ...coord,
|
|
166
172
|
// 3
|
|
167
|
-
0, 0, 0
|
|
173
|
+
0, 0, 0, ...coord,
|
|
168
174
|
// 4
|
|
169
|
-
1, 0, 0
|
|
175
|
+
1, 0, 0, ...coord,
|
|
170
176
|
// 0
|
|
171
|
-
1, 2, -3
|
|
177
|
+
1, 2, -3,
|
|
178
|
+
// mapbox 为正
|
|
179
|
+
...coord,
|
|
172
180
|
// 1
|
|
173
|
-
1, 1, -3
|
|
181
|
+
1, 1, -3,
|
|
182
|
+
// // mapbox 为正
|
|
183
|
+
...coord,
|
|
174
184
|
// 2
|
|
175
|
-
0, 1, 0
|
|
185
|
+
0, 1, 0, ...coord,
|
|
176
186
|
// 3
|
|
177
|
-
0, 0, 0
|
|
187
|
+
0, 0, 0, ...coord // 4
|
|
188
|
+
],
|
|
178
189
|
normals: [-tin, 2 * tout, 1,
|
|
179
190
|
// 0
|
|
180
191
|
2 * tout, -tout, 1,
|
|
@@ -191,9 +202,11 @@ function FlowLineFillTriangulation(feature) {
|
|
|
191
202
|
};
|
|
192
203
|
}
|
|
193
204
|
function SimpleLineTriangulation(feature) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
205
|
+
const {
|
|
206
|
+
coordinates,
|
|
207
|
+
originCoordinates
|
|
208
|
+
} = feature;
|
|
209
|
+
const pos = [];
|
|
197
210
|
if (!Array.isArray(coordinates[0])) {
|
|
198
211
|
return {
|
|
199
212
|
vertices: [],
|
|
@@ -203,10 +216,11 @@ function SimpleLineTriangulation(feature) {
|
|
|
203
216
|
count: 0
|
|
204
217
|
};
|
|
205
218
|
}
|
|
206
|
-
|
|
207
|
-
results
|
|
208
|
-
totalDistance
|
|
209
|
-
|
|
219
|
+
const {
|
|
220
|
+
results,
|
|
221
|
+
totalDistance
|
|
222
|
+
} = getSimpleLineVertices(coordinates, originCoordinates);
|
|
223
|
+
results.map(point => {
|
|
210
224
|
pos.push(point[0], point[1], point[2], point[3], 0, totalDistance);
|
|
211
225
|
});
|
|
212
226
|
return {
|
|
@@ -218,8 +232,10 @@ function SimpleLineTriangulation(feature) {
|
|
|
218
232
|
};
|
|
219
233
|
}
|
|
220
234
|
function TileSimpleLineTriangulation(feature) {
|
|
221
|
-
|
|
222
|
-
|
|
235
|
+
const {
|
|
236
|
+
coordinates
|
|
237
|
+
} = feature;
|
|
238
|
+
const pos = [];
|
|
223
239
|
if (!Array.isArray(coordinates[0])) {
|
|
224
240
|
return {
|
|
225
241
|
vertices: [],
|
|
@@ -228,9 +244,10 @@ function TileSimpleLineTriangulation(feature) {
|
|
|
228
244
|
count: 0
|
|
229
245
|
};
|
|
230
246
|
}
|
|
231
|
-
|
|
232
|
-
results
|
|
233
|
-
|
|
247
|
+
const {
|
|
248
|
+
results
|
|
249
|
+
} = getTileSimpleLineVertices(coordinates);
|
|
250
|
+
results.map(point => {
|
|
234
251
|
pos.push(point[0], point[1], point[2], point[3]);
|
|
235
252
|
});
|
|
236
253
|
return {
|
|
@@ -241,8 +258,8 @@ function TileSimpleLineTriangulation(feature) {
|
|
|
241
258
|
};
|
|
242
259
|
}
|
|
243
260
|
function lineSegmentDistance(b1, a1) {
|
|
244
|
-
|
|
245
|
-
|
|
261
|
+
const dx = a1[0] - b1[0];
|
|
262
|
+
const dy = a1[1] - b1[1];
|
|
246
263
|
return Math.sqrt(dx * dx + dy * dy);
|
|
247
264
|
}
|
|
248
265
|
function pushDis(point, n) {
|
|
@@ -255,9 +272,9 @@ function pushDis(point, n) {
|
|
|
255
272
|
return point;
|
|
256
273
|
}
|
|
257
274
|
function getSimpleLineVertices(coordinates, originCoordinates) {
|
|
258
|
-
|
|
275
|
+
let points = coordinates;
|
|
259
276
|
//除了amap2.0以外 coordinates就是经纬度数据
|
|
260
|
-
|
|
277
|
+
let originPoints = originCoordinates || coordinates;
|
|
261
278
|
if (Array.isArray(points) && Array.isArray(points[0]) && Array.isArray(points[0][0])) {
|
|
262
279
|
// @ts-ignore
|
|
263
280
|
points = originCoordinates.flat();
|
|
@@ -265,28 +282,28 @@ function getSimpleLineVertices(coordinates, originCoordinates) {
|
|
|
265
282
|
originPoints = originCoordinates.flat();
|
|
266
283
|
}
|
|
267
284
|
//修改计算距离的方式,与普通线的计算方式保持一致 edit by huyang 20231214
|
|
268
|
-
|
|
285
|
+
let distance = 0;
|
|
269
286
|
if (points.length < 2) {
|
|
270
287
|
return {
|
|
271
288
|
results: points,
|
|
272
289
|
totalDistance: 0
|
|
273
290
|
};
|
|
274
291
|
} else {
|
|
275
|
-
|
|
276
|
-
|
|
292
|
+
const results = [];
|
|
293
|
+
const point = pushDis(points[0], distance);
|
|
277
294
|
results.push(point);
|
|
278
|
-
for (
|
|
279
|
-
|
|
295
|
+
for (let i = 1; i < points.length - 1; i++) {
|
|
296
|
+
const subDistance = lineSegmentDistance((0, _l7Utils.aProjectFlat)(originPoints[i - 1]), (0, _l7Utils.aProjectFlat)(originPoints[i]));
|
|
280
297
|
distance += subDistance;
|
|
281
|
-
|
|
298
|
+
const mulPoint = pushDis(points[i], distance);
|
|
282
299
|
results.push(mulPoint);
|
|
283
300
|
results.push(mulPoint);
|
|
284
301
|
}
|
|
285
|
-
|
|
302
|
+
const pointDistance = lineSegmentDistance((0, _l7Utils.aProjectFlat)(originPoints[originPoints.length - 2]), (0, _l7Utils.aProjectFlat)(originPoints[originPoints.length - 1]));
|
|
286
303
|
distance += pointDistance;
|
|
287
304
|
results.push(pushDis(points[points.length - 1], distance));
|
|
288
305
|
return {
|
|
289
|
-
results
|
|
306
|
+
results,
|
|
290
307
|
totalDistance: distance
|
|
291
308
|
};
|
|
292
309
|
}
|
|
@@ -297,40 +314,48 @@ function getTileSimpleLineVertices(points) {
|
|
|
297
314
|
results: points
|
|
298
315
|
};
|
|
299
316
|
} else {
|
|
300
|
-
|
|
301
|
-
|
|
317
|
+
const results = [];
|
|
318
|
+
const point = pushDis(points[0]);
|
|
302
319
|
results.push(point);
|
|
303
|
-
for (
|
|
304
|
-
|
|
320
|
+
for (let i = 1; i < points.length - 1; i++) {
|
|
321
|
+
const mulPoint = pushDis(points[i]);
|
|
305
322
|
results.push(mulPoint);
|
|
306
323
|
results.push(mulPoint);
|
|
307
324
|
}
|
|
308
325
|
results.push(pushDis(points[points.length - 1]));
|
|
309
326
|
return {
|
|
310
|
-
results
|
|
327
|
+
results
|
|
311
328
|
};
|
|
312
329
|
}
|
|
313
330
|
}
|
|
314
331
|
function polygonTriangulation(feature) {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
332
|
+
const {
|
|
333
|
+
coordinates
|
|
334
|
+
} = feature;
|
|
335
|
+
const flattengeo = _earcut.default.flatten(coordinates);
|
|
336
|
+
const {
|
|
337
|
+
vertices,
|
|
338
|
+
dimensions,
|
|
339
|
+
holes
|
|
340
|
+
} = flattengeo;
|
|
320
341
|
return {
|
|
321
342
|
indices: (0, _earcut.default)(vertices, holes, dimensions),
|
|
322
|
-
vertices
|
|
343
|
+
vertices,
|
|
323
344
|
size: dimensions
|
|
324
345
|
};
|
|
325
346
|
}
|
|
326
347
|
|
|
327
348
|
// 构建几何图形(带有中心点和大小)
|
|
328
349
|
function polygonTriangulationWithCenter(feature) {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
350
|
+
const {
|
|
351
|
+
coordinates
|
|
352
|
+
} = feature;
|
|
353
|
+
const flattengeo = _earcut.default.flatten(coordinates);
|
|
354
|
+
const {
|
|
355
|
+
vertices,
|
|
356
|
+
dimensions,
|
|
357
|
+
holes
|
|
358
|
+
} = flattengeo;
|
|
334
359
|
return {
|
|
335
360
|
indices: (0, _earcut.default)(vertices, holes, dimensions),
|
|
336
361
|
vertices: getVerticesWithCenter(vertices),
|
|
@@ -338,36 +363,41 @@ function polygonTriangulationWithCenter(feature) {
|
|
|
338
363
|
};
|
|
339
364
|
}
|
|
340
365
|
function getVerticesWithCenter(vertices) {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
center
|
|
344
|
-
radius
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
366
|
+
const verticesWithCenter = [];
|
|
367
|
+
const {
|
|
368
|
+
center,
|
|
369
|
+
radius
|
|
370
|
+
} = (0, _l7Utils.calculatePointsCenterAndRadius)(vertices);
|
|
371
|
+
for (let i = 0; i < vertices.length; i += 2) {
|
|
372
|
+
const lng = vertices[i];
|
|
373
|
+
const lat = vertices[i + 1];
|
|
374
|
+
verticesWithCenter.push(lng, lat, 0, ...center, radius);
|
|
349
375
|
}
|
|
350
376
|
return verticesWithCenter;
|
|
351
377
|
}
|
|
352
378
|
function PolygonExtrudeTriangulation(feature) {
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
positions
|
|
356
|
-
index
|
|
357
|
-
normals
|
|
379
|
+
const coordinates = feature.coordinates;
|
|
380
|
+
const {
|
|
381
|
+
positions,
|
|
382
|
+
index,
|
|
383
|
+
normals
|
|
384
|
+
} = (0, _extrude.extrude_PolygonNormal)(coordinates, true);
|
|
358
385
|
return {
|
|
359
386
|
vertices: positions,
|
|
360
387
|
// [ x, y, z, uv.x,uv.y ]
|
|
361
388
|
indices: index,
|
|
362
|
-
normals
|
|
389
|
+
normals,
|
|
363
390
|
size: 5
|
|
364
391
|
};
|
|
365
392
|
}
|
|
366
393
|
function HeatmapGridTriangulation(feature) {
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
394
|
+
const {
|
|
395
|
+
shape
|
|
396
|
+
} = feature;
|
|
397
|
+
const {
|
|
398
|
+
positions,
|
|
399
|
+
index
|
|
400
|
+
} = getHeatmapGeometry(shape);
|
|
371
401
|
return {
|
|
372
402
|
vertices: positions,
|
|
373
403
|
// [ x, y, z ] 多边形顶点
|
|
@@ -381,10 +411,10 @@ function HeatmapGridTriangulation(feature) {
|
|
|
381
411
|
* @param feature 数据
|
|
382
412
|
*/
|
|
383
413
|
function RasterImageTriangulation(feature) {
|
|
384
|
-
|
|
414
|
+
const coordinates = feature.coordinates;
|
|
385
415
|
// [ x, y, z. uv.x, uv.y]
|
|
386
|
-
|
|
387
|
-
|
|
416
|
+
const positions = [...coordinates[0], 0, 0, 0, ...coordinates[1], 0, 1, 0, ...coordinates[2], 0, 1, 1, ...coordinates[3], 0, 0, 1];
|
|
417
|
+
const indexs = [0, 1, 2, 0, 2, 3];
|
|
388
418
|
return {
|
|
389
419
|
vertices: positions,
|
|
390
420
|
indices: indexs,
|
|
@@ -399,23 +429,21 @@ function RasterImageTriangulation(feature) {
|
|
|
399
429
|
*/
|
|
400
430
|
function LineArcTriangulation(feature, styleOption) {
|
|
401
431
|
// @ts-ignore
|
|
402
|
-
|
|
403
|
-
segmentNumber =
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
432
|
+
const {
|
|
433
|
+
segmentNumber = 30
|
|
434
|
+
} = styleOption;
|
|
435
|
+
const coordinates = feature.coordinates;
|
|
436
|
+
const positions = [];
|
|
437
|
+
const indexArray = [];
|
|
438
|
+
for (let i = 0; i < segmentNumber; i++) {
|
|
408
439
|
// 上线两个顶点
|
|
409
440
|
// [ x, y, z, sx,sy, tx,ty]
|
|
410
441
|
positions.push(i, 1, i, coordinates[0][0], coordinates[0][1], coordinates[1][0], coordinates[1][1], i, -1, i, coordinates[0][0], coordinates[0][1], coordinates[1][0], coordinates[1][1]);
|
|
411
442
|
if (i !== segmentNumber - 1) {
|
|
412
|
-
indexArray.push
|
|
443
|
+
indexArray.push(...[0, 1, 2, 1, 3, 2].map(v => {
|
|
413
444
|
return i * 2 + v;
|
|
414
|
-
}))
|
|
445
|
+
}));
|
|
415
446
|
}
|
|
416
|
-
};
|
|
417
|
-
for (var i = 0; i < segmentNumber; i++) {
|
|
418
|
-
_loop(i);
|
|
419
447
|
}
|
|
420
448
|
return {
|
|
421
449
|
vertices: positions,
|
|
@@ -430,17 +458,17 @@ function LineArcTriangulation(feature, styleOption) {
|
|
|
430
458
|
* @returns
|
|
431
459
|
*/
|
|
432
460
|
function HeatmapTriangulation(feature) {
|
|
433
|
-
|
|
461
|
+
const coordinates = feature.coordinates;
|
|
434
462
|
if (coordinates.length === 2) {
|
|
435
463
|
coordinates.push(0);
|
|
436
464
|
}
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
465
|
+
const dir = addDir(-1, 1);
|
|
466
|
+
const dir1 = addDir(1, 1);
|
|
467
|
+
const dir2 = addDir(-1, -1);
|
|
468
|
+
const dir3 = addDir(1, -1);
|
|
441
469
|
// [x,y,z, dirx ,diry, weight]
|
|
442
|
-
|
|
443
|
-
|
|
470
|
+
const positions = [...coordinates, ...dir, ...coordinates, ...dir2, ...coordinates, ...dir3, ...coordinates, ...dir1];
|
|
471
|
+
const indexArray = [0, 1, 2, 3, 0, 2];
|
|
444
472
|
return {
|
|
445
473
|
vertices: positions,
|
|
446
474
|
indices: indexArray,
|
|
@@ -452,53 +480,41 @@ function HeatmapTriangulation(feature) {
|
|
|
452
480
|
* 点图层3d geomerty
|
|
453
481
|
* @param shape 3D形状
|
|
454
482
|
*/
|
|
455
|
-
function getGeometry(shape) {
|
|
456
|
-
var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
483
|
+
function getGeometry(shape, needFlat = false) {
|
|
457
484
|
if (GeometryCache && GeometryCache[shape]) {
|
|
458
485
|
return GeometryCache[shape];
|
|
459
486
|
}
|
|
460
|
-
|
|
461
|
-
|
|
487
|
+
const path = _Path.geometryShape[shape] ? _Path.geometryShape[shape]() : _Path.geometryShape.cylinder();
|
|
488
|
+
const geometry = (0, _extrude.extrude_PolygonNormal)([path], needFlat);
|
|
462
489
|
GeometryCache[shape] = geometry;
|
|
463
490
|
return geometry;
|
|
464
491
|
}
|
|
465
|
-
function computeVertexNormals(positions, indexArray) {
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
var normal = _glMatrix.vec3.create();
|
|
475
|
-
for (var i = 0, li = indexArray.length; i < li; i += 3) {
|
|
492
|
+
function computeVertexNormals(positions, indexArray, dim = 3, needFlat = false) {
|
|
493
|
+
const normals = new Float32Array(positions.length / dim * 3);
|
|
494
|
+
let vA;
|
|
495
|
+
let vB;
|
|
496
|
+
let vC;
|
|
497
|
+
const cb = _glMatrix.vec3.create();
|
|
498
|
+
const ab = _glMatrix.vec3.create();
|
|
499
|
+
const normal = _glMatrix.vec3.create();
|
|
500
|
+
for (let i = 0, li = indexArray.length; i < li; i += 3) {
|
|
476
501
|
vA = indexArray[i + 0] * 3;
|
|
477
502
|
vB = indexArray[i + 1] * 3;
|
|
478
503
|
vC = indexArray[i + 2] * 3;
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
504
|
+
let p1 = [positions[vA], positions[vA + 1]];
|
|
505
|
+
let p2 = [positions[vB], positions[vB + 1]];
|
|
506
|
+
let p3 = [positions[vC], positions[vC + 1]];
|
|
482
507
|
if (needFlat) {
|
|
483
508
|
p1 = (0, _l7Utils.lngLatToMeters)(p1);
|
|
484
509
|
p2 = (0, _l7Utils.lngLatToMeters)(p2);
|
|
485
510
|
p3 = (0, _l7Utils.lngLatToMeters)(p3);
|
|
486
511
|
}
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
_p4 = (0, _slicedToArray2.default)(_p3, 2),
|
|
494
|
-
bx = _p4[0],
|
|
495
|
-
by = _p4[1];
|
|
496
|
-
var pB = _glMatrix.vec3.fromValues(bx, by, positions[vB + 2]);
|
|
497
|
-
var _p5 = p3,
|
|
498
|
-
_p6 = (0, _slicedToArray2.default)(_p5, 2),
|
|
499
|
-
cx = _p6[0],
|
|
500
|
-
cy = _p6[1];
|
|
501
|
-
var pC = _glMatrix.vec3.fromValues(cx, cy, positions[vC + 2]);
|
|
512
|
+
const [ax, ay] = p1;
|
|
513
|
+
const pA = _glMatrix.vec3.fromValues(ax, ay, positions[vA + 2]);
|
|
514
|
+
const [bx, by] = p2;
|
|
515
|
+
const pB = _glMatrix.vec3.fromValues(bx, by, positions[vB + 2]);
|
|
516
|
+
const [cx, cy] = p3;
|
|
517
|
+
const pC = _glMatrix.vec3.fromValues(cx, cy, positions[vC + 2]);
|
|
502
518
|
_glMatrix.vec3.sub(cb, pC, pB);
|
|
503
519
|
_glMatrix.vec3.sub(ab, pA, pB);
|
|
504
520
|
_glMatrix.vec3.cross(normal, cb, ab);
|
|
@@ -516,29 +532,29 @@ function computeVertexNormals(positions, indexArray) {
|
|
|
516
532
|
return normals;
|
|
517
533
|
}
|
|
518
534
|
function normalizeNormals(normals) {
|
|
519
|
-
for (
|
|
520
|
-
|
|
521
|
-
|
|
535
|
+
for (let i = 0, li = normals.length; i < li; i += 3) {
|
|
536
|
+
const normal = _glMatrix.vec3.fromValues(normals[i], normals[i + 1], normals[i + 2]);
|
|
537
|
+
const newNormal = _glMatrix.vec3.create();
|
|
522
538
|
_glMatrix.vec3.normalize(newNormal, normal);
|
|
523
539
|
normals.set(newNormal, i);
|
|
524
540
|
}
|
|
525
541
|
}
|
|
526
542
|
function checkIsClosed(points) {
|
|
527
|
-
|
|
528
|
-
|
|
543
|
+
const p1 = points[0][0];
|
|
544
|
+
const p2 = points[0][points[0].length - 1];
|
|
529
545
|
return p1[0] === p2[0] && p1[1] === p2[1];
|
|
530
546
|
}
|
|
531
547
|
function getHeatmapGeometry(shape) {
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
548
|
+
const shape3d = ['cylinder', 'triangleColumn', 'hexagonColumn', 'squareColumn'];
|
|
549
|
+
const path = _Path.geometryShape[shape] ? _Path.geometryShape[shape]() : _Path.geometryShape.circle();
|
|
550
|
+
const geometry = shape3d.indexOf(shape) === -1 ? (0, _extrude.fillPolygon)([path]) : (0, _extrude.default)([path]);
|
|
535
551
|
// const geometry = fillPolygon([path]);
|
|
536
552
|
return geometry;
|
|
537
553
|
}
|
|
538
554
|
// 热力图计算范围
|
|
539
555
|
function addDir(dirX, dirY) {
|
|
540
|
-
|
|
541
|
-
|
|
556
|
+
const x = (dirX + 1) / 2;
|
|
557
|
+
const y = (dirY + 1) / 2;
|
|
542
558
|
return [x, y];
|
|
543
559
|
}
|
|
544
560
|
|
|
@@ -547,12 +563,14 @@ function addDir(dirX, dirY) {
|
|
|
547
563
|
* @returns
|
|
548
564
|
*/
|
|
549
565
|
function earthTriangulation() {
|
|
550
|
-
|
|
566
|
+
const earthmesh = (0, _utils.primitiveSphere)(_utils.EARTH_RADIUS, {
|
|
551
567
|
segments: _utils.EARTH_SEGMENTS
|
|
552
568
|
});
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
569
|
+
const {
|
|
570
|
+
positionsArr,
|
|
571
|
+
indicesArr,
|
|
572
|
+
normalArr
|
|
573
|
+
} = earthmesh;
|
|
556
574
|
return {
|
|
557
575
|
vertices: positionsArr,
|
|
558
576
|
indices: indicesArr,
|
|
@@ -561,12 +579,14 @@ function earthTriangulation() {
|
|
|
561
579
|
};
|
|
562
580
|
}
|
|
563
581
|
function earthOuterTriangulation() {
|
|
564
|
-
|
|
582
|
+
const earthmesh = (0, _utils.primitiveSphere)(_utils.EARTH_RADIUS + _utils.EARTH_RADIUS_OUTER, {
|
|
565
583
|
segments: _utils.EARTH_SEGMENTS
|
|
566
584
|
});
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
585
|
+
const {
|
|
586
|
+
positionsArr,
|
|
587
|
+
indicesArr,
|
|
588
|
+
normalArr
|
|
589
|
+
} = earthmesh;
|
|
570
590
|
return {
|
|
571
591
|
vertices: positionsArr,
|
|
572
592
|
indices: indicesArr,
|