@antv/l7-layers 2.15.1 → 2.15.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/Geometry/index.js +9 -31
- package/es/Geometry/models/billboard.js +51 -89
- package/es/Geometry/models/plane.js +81 -143
- package/es/Geometry/models/sprite.js +60 -118
- package/es/canvas/index.js +10 -33
- package/es/canvas/models/canvas.js +41 -97
- package/es/citybuliding/building.js +8 -27
- package/es/citybuliding/models/build.js +57 -82
- package/es/core/BaseLayer.js +320 -484
- package/es/core/BaseModel.js +97 -126
- package/es/core/LayerPickService.js +21 -32
- package/es/core/TextureService.js +0 -13
- package/es/core/interface.js +17 -24
- package/es/core/shape/Path.js +13 -20
- package/es/core/shape/extrude.js +10 -31
- package/es/core/triangulation.js +54 -114
- package/es/earth/index.js +9 -33
- package/es/earth/models/atmosphere.js +30 -54
- package/es/earth/models/base.js +47 -85
- package/es/earth/models/bloomsphere.js +30 -54
- package/es/earth/utils.js +9 -13
- package/es/heatmap/index.js +10 -40
- package/es/heatmap/models/grid.js +28 -52
- package/es/heatmap/models/grid3d.js +28 -52
- package/es/heatmap/models/heatmap.js +91 -146
- package/es/heatmap/models/hexagon.js +28 -52
- package/es/heatmap/triangulation.js +0 -4
- package/es/image/index.js +9 -28
- package/es/image/models/image.js +66 -100
- package/es/index.js +9 -17
- package/es/line/index.js +9 -34
- package/es/line/models/arc.js +66 -118
- package/es/line/models/arc_3d.js +60 -108
- package/es/line/models/earthArc_3d.js +63 -111
- package/es/line/models/great_circle.js +56 -100
- package/es/line/models/half.js +46 -77
- package/es/line/models/line.js +94 -148
- package/es/line/models/linearline.js +45 -80
- package/es/line/models/simpleLine.js +41 -74
- package/es/line/models/wall.js +52 -92
- package/es/mask/index.js +9 -28
- package/es/mask/models/fill.js +29 -54
- package/es/plugins/DataMappingPlugin.js +80 -117
- package/es/plugins/DataSourcePlugin.js +45 -68
- package/es/plugins/FeatureScalePlugin.js +67 -122
- package/es/plugins/LayerAnimateStylePlugin.js +0 -5
- package/es/plugins/LayerMaskPlugin.js +3 -11
- package/es/plugins/LayerModelPlugin.js +67 -104
- package/es/plugins/LayerStylePlugin.js +3 -9
- package/es/plugins/LightingPlugin.js +12 -18
- package/es/plugins/MultiPassRendererPlugin.js +11 -16
- package/es/plugins/PixelPickingPlugin.js +12 -21
- package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
- package/es/plugins/ShaderUniformPlugin.js +13 -27
- package/es/plugins/UpdateModelPlugin.js +0 -5
- package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
- package/es/point/index.js +26 -77
- package/es/point/models/earthExtrude.js +61 -102
- package/es/point/models/earthFill.js +57 -87
- package/es/point/models/extrude.js +60 -101
- package/es/point/models/fill.js +70 -100
- package/es/point/models/fillmage.js +63 -107
- package/es/point/models/image.js +48 -88
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +30 -54
- package/es/point/models/radar.js +40 -64
- package/es/point/models/simplePoint.js +41 -69
- package/es/point/models/text.d.ts +2 -0
- package/es/point/models/text.js +214 -295
- package/es/point/shape/extrude.js +4 -13
- package/es/polygon/index.js +11 -40
- package/es/polygon/models/extrude.js +48 -92
- package/es/polygon/models/fill.js +54 -88
- package/es/polygon/models/index.js +3 -2
- package/es/polygon/models/ocean.js +42 -76
- package/es/polygon/models/water.js +37 -71
- package/es/raster/buffers/triangulation.js +2 -4
- package/es/raster/index.js +9 -32
- package/es/raster/models/raster.js +80 -116
- package/es/raster/models/rasterRgb.js +84 -127
- package/es/raster/models/rasterTerrainRgb.js +56 -84
- package/es/tile/interaction/getRasterData.js +14 -20
- package/es/tile/interaction/utils.js +7 -9
- package/es/tile/manager/base.js +63 -96
- package/es/tile/service/TileLayerService.js +30 -52
- package/es/tile/service/TilePickService.js +26 -40
- package/es/tile/service/TileSourceService.js +3 -7
- package/es/tile/tileFactory/DebugTile.js +28 -45
- package/es/tile/tileFactory/ImageTile.js +20 -38
- package/es/tile/tileFactory/MaskTile.js +22 -43
- package/es/tile/tileFactory/RasterRGBTile.js +22 -42
- package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
- package/es/tile/tileFactory/RasterTile.js +30 -53
- package/es/tile/tileFactory/Tile.js +63 -97
- package/es/tile/tileFactory/VectorTile.js +41 -68
- package/es/tile/tileFactory/index.js +0 -11
- package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
- package/es/tile/tileFactory/util.js +0 -3
- package/es/tile/tileLayer/BaseLayer.js +105 -146
- package/es/tile/utils.js +1 -1
- package/es/utils/blend.js +0 -2
- package/es/utils/collision-index.js +9 -16
- package/es/utils/dataMappingStyle.js +8 -18
- package/es/utils/extrude_polyline.js +101 -149
- package/es/utils/grid-index.js +2 -27
- package/es/utils/identityScale.js +0 -8
- package/es/utils/layerData.js +30 -44
- package/es/utils/multiPassRender.js +11 -13
- package/es/utils/polylineNormal.js +31 -37
- package/es/utils/simpleLine.js +2 -16
- package/es/utils/stencil.js +2 -3
- package/es/utils/symbol-layout.js +27 -53
- package/es/wind/index.js +9 -29
- package/es/wind/models/utils.js +26 -51
- package/es/wind/models/wind.js +101 -147
- package/es/wind/models/windRender.js +53 -66
- package/lib/Geometry/index.js +9 -38
- package/lib/Geometry/models/billboard.js +51 -97
- package/lib/Geometry/models/index.js +0 -5
- package/lib/Geometry/models/plane.js +79 -151
- package/lib/Geometry/models/sprite.js +60 -127
- package/lib/canvas/index.js +10 -40
- package/lib/canvas/models/canvas.js +41 -101
- package/lib/canvas/models/index.js +0 -3
- package/lib/citybuliding/building.js +8 -35
- package/lib/citybuliding/models/build.js +57 -92
- package/lib/core/BaseLayer.js +320 -478
- package/lib/core/BaseModel.js +97 -139
- package/lib/core/LayerPickService.js +21 -37
- package/lib/core/TextureService.js +0 -16
- package/lib/core/interface.js +21 -31
- package/lib/core/schema.js +0 -1
- package/lib/core/shape/Path.js +14 -31
- package/lib/core/shape/extrude.js +10 -54
- package/lib/core/triangulation.js +53 -153
- package/lib/earth/index.js +9 -43
- package/lib/earth/models/atmosphere.js +30 -63
- package/lib/earth/models/base.js +47 -90
- package/lib/earth/models/bloomsphere.js +30 -63
- package/lib/earth/utils.js +7 -31
- package/lib/heatmap/index.js +10 -48
- package/lib/heatmap/models/grid.js +28 -60
- package/lib/heatmap/models/grid3d.js +28 -60
- package/lib/heatmap/models/heatmap.js +91 -162
- package/lib/heatmap/models/hexagon.js +28 -60
- package/lib/heatmap/models/index.js +0 -6
- package/lib/heatmap/triangulation.js +0 -5
- package/lib/image/index.js +9 -36
- package/lib/image/models/image.js +66 -109
- package/lib/image/models/index.js +0 -3
- package/lib/index.js +7 -61
- package/lib/line/index.js +9 -40
- package/lib/line/models/arc.js +64 -128
- package/lib/line/models/arc_3d.js +58 -119
- package/lib/line/models/earthArc_3d.js +61 -122
- package/lib/line/models/great_circle.js +56 -111
- package/lib/line/models/half.js +46 -87
- package/lib/line/models/index.js +0 -11
- package/lib/line/models/line.js +92 -156
- package/lib/line/models/linearline.js +45 -92
- package/lib/line/models/simpleLine.js +41 -84
- package/lib/line/models/wall.js +52 -103
- package/lib/mask/index.js +9 -36
- package/lib/mask/models/fill.js +29 -63
- package/lib/mask/models/index.js +0 -3
- package/lib/plugins/DataMappingPlugin.js +80 -128
- package/lib/plugins/DataSourcePlugin.js +45 -76
- package/lib/plugins/FeatureScalePlugin.js +67 -138
- package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
- package/lib/plugins/LayerMaskPlugin.js +4 -17
- package/lib/plugins/LayerModelPlugin.js +68 -113
- package/lib/plugins/LayerStylePlugin.js +4 -14
- package/lib/plugins/LightingPlugin.js +12 -25
- package/lib/plugins/MultiPassRendererPlugin.js +11 -22
- package/lib/plugins/PixelPickingPlugin.js +12 -27
- package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
- package/lib/plugins/ShaderUniformPlugin.js +13 -34
- package/lib/plugins/UpdateModelPlugin.js +1 -10
- package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
- package/lib/point/index.js +26 -83
- package/lib/point/models/earthExtrude.js +61 -113
- package/lib/point/models/earthFill.js +57 -117
- package/lib/point/models/extrude.js +60 -111
- package/lib/point/models/fill.js +68 -109
- package/lib/point/models/fillmage.js +61 -115
- package/lib/point/models/image.js +48 -98
- package/lib/point/models/index.js +1 -12
- package/lib/point/models/normal.js +30 -64
- package/lib/point/models/radar.js +40 -74
- package/lib/point/models/simplePoint.js +41 -79
- package/lib/point/models/text.js +214 -303
- package/lib/point/shape/extrude.js +4 -20
- package/lib/polygon/index.js +11 -48
- package/lib/polygon/models/extrude.js +48 -103
- package/lib/polygon/models/fill.js +54 -98
- package/lib/polygon/models/index.js +2 -14
- package/lib/polygon/models/ocean.js +42 -88
- package/lib/polygon/models/water.js +37 -82
- package/lib/raster/buffers/triangulation.js +3 -7
- package/lib/raster/index.js +9 -40
- package/lib/raster/models/index.js +0 -5
- package/lib/raster/models/raster.js +80 -125
- package/lib/raster/models/rasterRgb.js +84 -139
- package/lib/raster/models/rasterTerrainRgb.js +56 -93
- package/lib/tile/interaction/getRasterData.js +14 -25
- package/lib/tile/interaction/utils.js +7 -19
- package/lib/tile/manager/base.js +63 -104
- package/lib/tile/service/TileLayerService.js +30 -57
- package/lib/tile/service/TilePickService.js +26 -48
- package/lib/tile/service/TileSourceService.js +2 -16
- package/lib/tile/style/utils.js +0 -3
- package/lib/tile/tileFactory/DebugTile.js +28 -53
- package/lib/tile/tileFactory/ImageTile.js +20 -46
- package/lib/tile/tileFactory/MaskTile.js +22 -51
- package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
- package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
- package/lib/tile/tileFactory/RasterTile.js +30 -63
- package/lib/tile/tileFactory/Tile.js +63 -102
- package/lib/tile/tileFactory/VectorTile.js +41 -76
- package/lib/tile/tileFactory/index.js +0 -25
- package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
- package/lib/tile/tileFactory/util.js +0 -9
- package/lib/tile/tileLayer/BaseLayer.js +105 -153
- package/lib/tile/utils.js +1 -5
- package/lib/utils/blend.js +0 -5
- package/lib/utils/collision-index.js +9 -25
- package/lib/utils/dataMappingStyle.js +8 -19
- package/lib/utils/extrude_polyline.js +101 -181
- package/lib/utils/grid-index.js +2 -28
- package/lib/utils/identityScale.js +0 -9
- package/lib/utils/layerData.js +30 -49
- package/lib/utils/multiPassRender.js +11 -16
- package/lib/utils/polylineNormal.js +31 -66
- package/lib/utils/simpleLine.js +2 -21
- package/lib/utils/stencil.js +0 -4
- package/lib/utils/symbol-layout.js +27 -55
- package/lib/wind/index.js +9 -37
- package/lib/wind/models/index.js +0 -3
- package/lib/wind/models/utils.js +26 -62
- package/lib/wind/models/wind.js +101 -157
- package/lib/wind/models/windRender.js +53 -71
- package/lib/wind/models/windShader.js +0 -1
- package/package.json +7 -7
|
@@ -1,41 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
|
|
12
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
12
|
var _l7Core = require("@antv/l7-core");
|
|
19
|
-
|
|
20
13
|
var _l7Utils = require("@antv/l7-utils");
|
|
21
|
-
|
|
22
14
|
var BaseLayerPickService = /*#__PURE__*/function () {
|
|
23
15
|
function BaseLayerPickService(layer) {
|
|
24
16
|
(0, _classCallCheck2.default)(this, BaseLayerPickService);
|
|
25
17
|
this.layer = layer;
|
|
26
18
|
}
|
|
27
|
-
|
|
28
19
|
(0, _createClass2.default)(BaseLayerPickService, [{
|
|
29
20
|
key: "pickRender",
|
|
30
21
|
value: function pickRender(target) {
|
|
31
22
|
var container = this.layer.getContainer();
|
|
32
23
|
var layerService = container.get(_l7Core.TYPES.ILayerService);
|
|
33
|
-
var layer = this.layer;
|
|
34
|
-
|
|
24
|
+
var layer = this.layer;
|
|
25
|
+
// 瓦片图层的拾取绘制
|
|
35
26
|
if (layer.tileLayer) {
|
|
36
27
|
return layer.tileLayer.pickRender(target);
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
layer.hooks.beforePickingEncode.call();
|
|
40
30
|
layerService.renderTileLayerMask(layer);
|
|
41
31
|
layer.renderModels({
|
|
@@ -48,11 +38,9 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
48
38
|
value: function pick(layer, target) {
|
|
49
39
|
var container = this.layer.getContainer();
|
|
50
40
|
var pickingService = container.get(_l7Core.TYPES.IPickingService);
|
|
51
|
-
|
|
52
41
|
if (layer.type === 'RasterLayer') {
|
|
53
42
|
return this.pickRasterLayer(layer, target);
|
|
54
43
|
}
|
|
55
|
-
|
|
56
44
|
this.pickRender(target);
|
|
57
45
|
return pickingService.pickFromPickingFBO(layer, target);
|
|
58
46
|
}
|
|
@@ -73,7 +61,6 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
73
61
|
rasterValue: null
|
|
74
62
|
};
|
|
75
63
|
var adviceTarget = parent ? parent : layer;
|
|
76
|
-
|
|
77
64
|
if (isPick) {
|
|
78
65
|
var rasterValue = this.readRasterValue(layer, extent, mapService, target.x, target.y);
|
|
79
66
|
layerTarget.rasterValue = rasterValue;
|
|
@@ -92,24 +79,24 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
92
79
|
key: "readRasterValue",
|
|
93
80
|
value: function readRasterValue(layer, bbox, mapService, x, y) {
|
|
94
81
|
var rasterData = layer.getSource().data.dataArray[0];
|
|
95
|
-
|
|
96
82
|
var _bbox = (0, _slicedToArray2.default)(bbox, 4),
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
83
|
+
_bbox$ = _bbox[0],
|
|
84
|
+
minLng = _bbox$ === void 0 ? 0 : _bbox$,
|
|
85
|
+
_bbox$2 = _bbox[1],
|
|
86
|
+
minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
|
|
87
|
+
_bbox$3 = _bbox[2],
|
|
88
|
+
maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
|
|
89
|
+
_bbox$4 = _bbox[3],
|
|
90
|
+
maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
|
|
106
91
|
var tileXY = mapService.lngLatToContainer([minLng, minLat]);
|
|
107
92
|
var tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);
|
|
108
93
|
var tilePixelWidth = tileMaxXY.x - tileXY.x;
|
|
109
94
|
var tilePixelHeight = tileXY.y - tileMaxXY.y;
|
|
110
|
-
var pos = [(x - tileXY.x) / tilePixelWidth,
|
|
95
|
+
var pos = [(x - tileXY.x) / tilePixelWidth,
|
|
96
|
+
// x
|
|
111
97
|
(y - tileMaxXY.y) / tilePixelHeight // y
|
|
112
98
|
];
|
|
99
|
+
|
|
113
100
|
var tileWidth = rasterData.width || 1;
|
|
114
101
|
var tileHeight = rasterData.height || 1;
|
|
115
102
|
var indexX = Math.floor(pos[0] * tileWidth);
|
|
@@ -121,13 +108,12 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
121
108
|
}, {
|
|
122
109
|
key: "selectFeature",
|
|
123
110
|
value: function selectFeature(pickedColors) {
|
|
124
|
-
var layer = this.layer;
|
|
125
|
-
|
|
111
|
+
var layer = this.layer;
|
|
112
|
+
// @ts-ignore
|
|
126
113
|
var _pickedColors = (0, _slicedToArray2.default)(pickedColors, 3),
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
114
|
+
r = _pickedColors[0],
|
|
115
|
+
g = _pickedColors[1],
|
|
116
|
+
b = _pickedColors[2];
|
|
131
117
|
layer.hooks.beforeSelect.call([r, g, b]);
|
|
132
118
|
}
|
|
133
119
|
}, {
|
|
@@ -135,10 +121,9 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
135
121
|
value: function highlightPickedFeature(pickedColors) {
|
|
136
122
|
// @ts-ignore
|
|
137
123
|
var _pickedColors2 = (0, _slicedToArray2.default)(pickedColors, 3),
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
124
|
+
r = _pickedColors2[0],
|
|
125
|
+
g = _pickedColors2[1],
|
|
126
|
+
b = _pickedColors2[2];
|
|
142
127
|
this.layer.hooks.beforeHighlight.call([r, g, b]);
|
|
143
128
|
}
|
|
144
129
|
}, {
|
|
@@ -149,5 +134,4 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
149
134
|
}]);
|
|
150
135
|
return BaseLayerPickService;
|
|
151
136
|
}();
|
|
152
|
-
|
|
153
137
|
exports.default = BaseLayerPickService;
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _l7Core = require("@antv/l7-core");
|
|
15
|
-
|
|
16
11
|
var _l7Utils = require("@antv/l7-utils");
|
|
17
|
-
|
|
18
12
|
var TextureService = /*#__PURE__*/function () {
|
|
19
13
|
function TextureService(layer) {
|
|
20
14
|
(0, _classCallCheck2.default)(this, TextureService);
|
|
@@ -22,19 +16,16 @@ var TextureService = /*#__PURE__*/function () {
|
|
|
22
16
|
var container = this.layer.getContainer();
|
|
23
17
|
this.rendererService = container.get(_l7Core.TYPES.IRendererService);
|
|
24
18
|
}
|
|
25
|
-
|
|
26
19
|
(0, _createClass2.default)(TextureService, [{
|
|
27
20
|
key: "getColorTexture",
|
|
28
21
|
value: function getColorTexture(colorRamp, domain) {
|
|
29
22
|
// TODO 支持传入图片
|
|
30
23
|
var currentkey = this.getTextureKey(colorRamp, domain);
|
|
31
|
-
|
|
32
24
|
if (this.key === currentkey) {
|
|
33
25
|
return this.colorTexture;
|
|
34
26
|
} else {
|
|
35
27
|
this.createColorTexture(colorRamp, domain);
|
|
36
28
|
}
|
|
37
|
-
|
|
38
29
|
this.key = currentkey;
|
|
39
30
|
return this.colorTexture;
|
|
40
31
|
}
|
|
@@ -62,7 +53,6 @@ var TextureService = /*#__PURE__*/function () {
|
|
|
62
53
|
key: "destroy",
|
|
63
54
|
value: function destroy() {
|
|
64
55
|
var _this$colorTexture;
|
|
65
|
-
|
|
66
56
|
(_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
|
|
67
57
|
}
|
|
68
58
|
}, {
|
|
@@ -71,16 +61,12 @@ var TextureService = /*#__PURE__*/function () {
|
|
|
71
61
|
switch (colorRamp.type) {
|
|
72
62
|
case 'cat':
|
|
73
63
|
return (0, _l7Utils.generateCatRamp)(colorRamp);
|
|
74
|
-
|
|
75
64
|
case 'quantize':
|
|
76
65
|
return (0, _l7Utils.generateQuantizeRamp)(colorRamp);
|
|
77
|
-
|
|
78
66
|
case 'custom':
|
|
79
67
|
return (0, _l7Utils.generateCustomRamp)(colorRamp, domain);
|
|
80
|
-
|
|
81
68
|
case 'linear':
|
|
82
69
|
return (0, _l7Utils.generateLinearRamp)(colorRamp, domain);
|
|
83
|
-
|
|
84
70
|
default:
|
|
85
71
|
return (0, _l7Utils.generateColorRamp)(colorRamp);
|
|
86
72
|
}
|
|
@@ -89,11 +75,9 @@ var TextureService = /*#__PURE__*/function () {
|
|
|
89
75
|
key: "getTextureKey",
|
|
90
76
|
value: function getTextureKey(colorRamp, domain) {
|
|
91
77
|
var _colorRamp$positions;
|
|
92
|
-
|
|
93
78
|
return "".concat(colorRamp.colors.join('_'), "_").concat(colorRamp === null || colorRamp === void 0 ? void 0 : (_colorRamp$positions = colorRamp.positions) === null || _colorRamp$positions === void 0 ? void 0 : _colorRamp$positions.join('_'), "_").concat(colorRamp.type, "_").concat(domain === null || domain === void 0 ? void 0 : domain.join('_'));
|
|
94
79
|
}
|
|
95
80
|
}]);
|
|
96
81
|
return TextureService;
|
|
97
82
|
}();
|
|
98
|
-
|
|
99
83
|
exports.default = TextureService;
|
package/lib/core/interface.js
CHANGED
|
@@ -4,46 +4,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.lineStyleType = exports.TextureBlend = exports.SizeUnitType = exports.LinearDir = exports.CanvasUpdateType = void 0;
|
|
7
|
-
var lineStyleType
|
|
8
|
-
exports.lineStyleType = lineStyleType;
|
|
9
|
-
|
|
10
|
-
(function (lineStyleType) {
|
|
7
|
+
var lineStyleType = /*#__PURE__*/function (lineStyleType) {
|
|
11
8
|
lineStyleType[lineStyleType["solid"] = 0] = "solid";
|
|
12
9
|
lineStyleType[lineStyleType["dash"] = 1] = "dash";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
(function (LinearDir) {
|
|
10
|
+
return lineStyleType;
|
|
11
|
+
}({});
|
|
12
|
+
exports.lineStyleType = lineStyleType;
|
|
13
|
+
var LinearDir = /*#__PURE__*/function (LinearDir) {
|
|
19
14
|
LinearDir["VERTICAL"] = "vertical";
|
|
20
15
|
LinearDir["HORIZONTAL"] = "horizontal";
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
return LinearDir;
|
|
17
|
+
}({});
|
|
18
|
+
exports.LinearDir = LinearDir;
|
|
19
|
+
var TextureBlend = /*#__PURE__*/function (TextureBlend) {
|
|
20
|
+
TextureBlend["NORMAL"] = "normal";
|
|
21
|
+
TextureBlend["REPLACE"] = "replace";
|
|
22
|
+
return TextureBlend;
|
|
23
|
+
}({});
|
|
24
24
|
/**
|
|
25
25
|
* 基础图层类型定义
|
|
26
26
|
*/
|
|
27
|
-
|
|
28
27
|
exports.TextureBlend = TextureBlend;
|
|
29
|
-
|
|
30
|
-
(function (TextureBlend) {
|
|
31
|
-
TextureBlend["NORMAL"] = "normal";
|
|
32
|
-
TextureBlend["REPLACE"] = "replace";
|
|
33
|
-
})(TextureBlend || (exports.TextureBlend = TextureBlend = {}));
|
|
34
|
-
|
|
35
|
-
var SizeUnitType;
|
|
36
|
-
exports.SizeUnitType = SizeUnitType;
|
|
37
|
-
|
|
38
|
-
(function (SizeUnitType) {
|
|
28
|
+
var SizeUnitType = /*#__PURE__*/function (SizeUnitType) {
|
|
39
29
|
SizeUnitType[SizeUnitType["pixel"] = 0] = "pixel";
|
|
40
30
|
SizeUnitType[SizeUnitType["meter"] = 1] = "meter";
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
(function (CanvasUpdateType) {
|
|
31
|
+
return SizeUnitType;
|
|
32
|
+
}({});
|
|
33
|
+
exports.SizeUnitType = SizeUnitType;
|
|
34
|
+
var CanvasUpdateType = /*#__PURE__*/function (CanvasUpdateType) {
|
|
47
35
|
CanvasUpdateType["ALWAYS"] = "always";
|
|
48
36
|
CanvasUpdateType["DRAGEND"] = "dragend";
|
|
49
|
-
|
|
37
|
+
return CanvasUpdateType;
|
|
38
|
+
}({});
|
|
39
|
+
exports.CanvasUpdateType = CanvasUpdateType;
|
package/lib/core/schema.js
CHANGED
package/lib/core/shape/Path.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -13,76 +12,60 @@ exports.pentagon = pentagon;
|
|
|
13
12
|
exports.polygonPath = polygonPath;
|
|
14
13
|
exports.square = square;
|
|
15
14
|
exports.triangle = triangle;
|
|
16
|
-
|
|
17
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
-
|
|
19
16
|
var _geometryShape;
|
|
20
|
-
|
|
21
|
-
var ShapeType3D;
|
|
22
|
-
exports.ShapeType3D = ShapeType3D;
|
|
23
|
-
|
|
24
|
-
(function (ShapeType3D) {
|
|
17
|
+
var ShapeType3D = /*#__PURE__*/function (ShapeType3D) {
|
|
25
18
|
ShapeType3D["CYLINDER"] = "cylinder";
|
|
26
19
|
ShapeType3D["SQUARECOLUMN"] = "squareColumn";
|
|
27
20
|
ShapeType3D["TRIANGLECOLUMN"] = "triangleColumn";
|
|
28
21
|
ShapeType3D["HEXAGONCOLUMN"] = "hexagonColumn";
|
|
29
22
|
ShapeType3D["PENTAGONCOLUMN"] = "pentagonColumn";
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
return ShapeType3D;
|
|
24
|
+
}({});
|
|
25
|
+
exports.ShapeType3D = ShapeType3D;
|
|
26
|
+
var ShapeType2D = /*#__PURE__*/function (ShapeType2D) {
|
|
27
|
+
ShapeType2D["CIRCLE"] = "circle";
|
|
28
|
+
ShapeType2D["SQUARE"] = "square";
|
|
29
|
+
ShapeType2D["TRIANGLE"] = "triangle";
|
|
30
|
+
ShapeType2D["HEXAGON"] = "hexagon";
|
|
31
|
+
ShapeType2D["PENTAGON"] = "pentagon";
|
|
32
|
+
return ShapeType2D;
|
|
33
|
+
}({});
|
|
33
34
|
/**
|
|
34
35
|
* 生成规则多边形顶点个数
|
|
35
36
|
* @param pointCount 顶点个数 3 => 三角形
|
|
36
37
|
* @param start 顶点起始角度 调整图形的方向
|
|
37
38
|
*/
|
|
38
|
-
|
|
39
39
|
exports.ShapeType2D = ShapeType2D;
|
|
40
|
-
|
|
41
|
-
(function (ShapeType2D) {
|
|
42
|
-
ShapeType2D["CIRCLE"] = "circle";
|
|
43
|
-
ShapeType2D["SQUARE"] = "square";
|
|
44
|
-
ShapeType2D["TRIANGLE"] = "triangle";
|
|
45
|
-
ShapeType2D["HEXAGON"] = "hexagon";
|
|
46
|
-
ShapeType2D["PENTAGON"] = "pentagon";
|
|
47
|
-
})(ShapeType2D || (exports.ShapeType2D = ShapeType2D = {}));
|
|
48
|
-
|
|
49
40
|
function polygonPath(pointCount) {
|
|
50
41
|
var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
51
42
|
var step = Math.PI * 2 / pointCount;
|
|
52
43
|
var line = [];
|
|
53
|
-
|
|
54
44
|
for (var i = 0; i < pointCount; i++) {
|
|
55
45
|
line.push(step * i + start * Math.PI / 12);
|
|
56
46
|
}
|
|
57
|
-
|
|
58
47
|
var path = line.map(function (t) {
|
|
59
48
|
var x = Math.sin(t + Math.PI / 4);
|
|
60
49
|
var y = Math.cos(t + Math.PI / 4);
|
|
61
50
|
return [x, y, 0];
|
|
62
|
-
});
|
|
63
|
-
|
|
51
|
+
});
|
|
52
|
+
// path.push(path[0]);
|
|
64
53
|
return path;
|
|
65
54
|
}
|
|
66
|
-
|
|
67
55
|
function circle() {
|
|
68
56
|
return polygonPath(30);
|
|
69
57
|
}
|
|
70
|
-
|
|
71
58
|
function square() {
|
|
72
59
|
return polygonPath(4);
|
|
73
60
|
}
|
|
74
|
-
|
|
75
61
|
function triangle() {
|
|
76
62
|
return polygonPath(3);
|
|
77
63
|
}
|
|
78
|
-
|
|
79
64
|
function hexagon() {
|
|
80
65
|
return polygonPath(6, 1);
|
|
81
66
|
}
|
|
82
|
-
|
|
83
67
|
function pentagon() {
|
|
84
68
|
return polygonPath(5);
|
|
85
69
|
}
|
|
86
|
-
|
|
87
70
|
var geometryShape = (_geometryShape = {}, (0, _defineProperty2.default)(_geometryShape, ShapeType2D.CIRCLE, circle), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.HEXAGON, hexagon), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.TRIANGLE, triangle), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.SQUARE, square), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.PENTAGON, pentagon), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.CYLINDER, circle), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.HEXAGONCOLUMN, hexagon), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.TRIANGLECOLUMN, triangle), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.SQUARECOLUMN, square), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.PENTAGONCOLUMN, pentagon), _geometryShape);
|
|
88
71
|
exports.geometryShape = geometryShape;
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = extrudePolygon;
|
|
9
8
|
exports.extrude_PolygonNormal = extrude_PolygonNormal;
|
|
10
9
|
exports.fillPolygon = fillPolygon;
|
|
11
|
-
|
|
12
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
11
|
var _l7Utils = require("@antv/l7-utils");
|
|
15
|
-
|
|
16
12
|
var _earcut = _interopRequireDefault(require("earcut"));
|
|
17
|
-
|
|
18
13
|
var _glMatrix = require("gl-matrix");
|
|
19
|
-
|
|
20
14
|
/**
|
|
21
15
|
* 拉伸多边形顶点,返回拉伸后的顶点信息
|
|
22
16
|
* @param paths 路径数据组
|
|
@@ -25,20 +19,16 @@ var _glMatrix = require("gl-matrix");
|
|
|
25
19
|
function extrudePolygon(path) {
|
|
26
20
|
var p1 = path[0][0];
|
|
27
21
|
var p2 = path[0][path[0].length - 1];
|
|
28
|
-
|
|
29
22
|
if (p1[0] === p2[0] && p1[1] === p2[1]) {
|
|
30
23
|
path[0] = path[0].slice(0, path[0].length - 1);
|
|
31
24
|
}
|
|
32
|
-
|
|
33
25
|
var n = path[0].length;
|
|
34
|
-
|
|
35
26
|
var flattengeo = _earcut.default.flatten(path);
|
|
36
|
-
|
|
37
27
|
var vertices = flattengeo.vertices,
|
|
38
|
-
|
|
28
|
+
dimensions = flattengeo.dimensions;
|
|
39
29
|
var positions = [];
|
|
40
|
-
var indexArray = [];
|
|
41
|
-
|
|
30
|
+
var indexArray = [];
|
|
31
|
+
// 设置顶部z值
|
|
42
32
|
for (var j = 0; j < vertices.length / dimensions; j++) {
|
|
43
33
|
if (dimensions === 2) {
|
|
44
34
|
positions.push(vertices[j * 2], vertices[j * 2 + 1], 1);
|
|
@@ -46,85 +36,67 @@ function extrudePolygon(path) {
|
|
|
46
36
|
positions.push(vertices[j * 3], vertices[j * 3 + 1], 1);
|
|
47
37
|
}
|
|
48
38
|
}
|
|
49
|
-
|
|
50
39
|
var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
51
40
|
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
|
|
52
|
-
|
|
53
|
-
var _loop = function _loop(i) {
|
|
41
|
+
var _loop = function _loop() {
|
|
54
42
|
var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
|
|
55
43
|
var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
|
|
56
|
-
|
|
57
44
|
if (nextPoint.length === 0) {
|
|
58
45
|
nextPoint = flattengeo.vertices.slice(0, dimensions);
|
|
59
46
|
}
|
|
60
|
-
|
|
61
47
|
var indexOffset = positions.length / 3;
|
|
62
48
|
positions.push(prePoint[0], prePoint[1], 1, nextPoint[0], nextPoint[1], 1, prePoint[0], prePoint[1], 0, nextPoint[0], nextPoint[1], 0);
|
|
63
49
|
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)([0, 2, 1, 2, 3, 1].map(function (v) {
|
|
64
50
|
return v + indexOffset;
|
|
65
51
|
})));
|
|
66
52
|
};
|
|
67
|
-
|
|
68
53
|
for (var i = 0; i < n; i++) {
|
|
69
|
-
_loop(
|
|
54
|
+
_loop();
|
|
70
55
|
}
|
|
71
|
-
|
|
72
56
|
return {
|
|
73
57
|
positions: positions,
|
|
74
58
|
index: indexArray
|
|
75
59
|
};
|
|
76
60
|
}
|
|
77
|
-
|
|
78
61
|
function fillPolygon(points) {
|
|
79
62
|
var flattengeo = _earcut.default.flatten(points);
|
|
80
|
-
|
|
81
63
|
var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
82
64
|
return {
|
|
83
65
|
positions: flattengeo.vertices,
|
|
84
66
|
index: triangles
|
|
85
67
|
};
|
|
86
68
|
}
|
|
87
|
-
|
|
88
69
|
function extrude_PolygonNormal(path) {
|
|
89
70
|
var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
90
71
|
var p1 = path[0][0];
|
|
91
72
|
var p2 = path[0][path[0].length - 1];
|
|
92
|
-
|
|
93
73
|
if (p1[0] === p2[0] && p1[1] === p2[1]) {
|
|
94
74
|
path[0] = path[0].slice(0, path[0].length - 1);
|
|
95
75
|
}
|
|
96
|
-
|
|
97
76
|
var n = path[0].length;
|
|
98
|
-
|
|
99
77
|
var flattengeo = _earcut.default.flatten(path);
|
|
100
|
-
|
|
101
78
|
var vertices = flattengeo.vertices,
|
|
102
|
-
|
|
79
|
+
dimensions = flattengeo.dimensions;
|
|
103
80
|
var positions = [];
|
|
104
81
|
var indexArray = [];
|
|
105
|
-
var normals = [];
|
|
106
|
-
|
|
82
|
+
var normals = [];
|
|
83
|
+
// 设置顶部z值 position uv
|
|
107
84
|
for (var j = 0; j < vertices.length / dimensions; j++) {
|
|
108
85
|
if (dimensions === 2) {
|
|
109
86
|
positions.push(vertices[j * 2], vertices[j * 2 + 1], 1, -1, -1);
|
|
110
87
|
} else {
|
|
111
88
|
positions.push(vertices[j * 3], vertices[j * 3 + 1], 1, -1, -1);
|
|
112
89
|
}
|
|
113
|
-
|
|
114
90
|
normals.push(0, 0, 1);
|
|
115
91
|
}
|
|
116
|
-
|
|
117
92
|
var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
118
93
|
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
|
|
119
|
-
|
|
120
|
-
var _loop2 = function _loop2(i) {
|
|
94
|
+
var _loop2 = function _loop2() {
|
|
121
95
|
var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
|
|
122
96
|
var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
|
|
123
|
-
|
|
124
97
|
if (nextPoint.length === 0) {
|
|
125
98
|
nextPoint = flattengeo.vertices.slice(0, dimensions);
|
|
126
99
|
}
|
|
127
|
-
|
|
128
100
|
var indexOffset = positions.length / 5;
|
|
129
101
|
positions.push(prePoint[0], prePoint[1], 1, 0, 0, nextPoint[0], nextPoint[1], 1, 0.1, 0, prePoint[0], prePoint[1], 0, 0, 0.8, nextPoint[0], nextPoint[1], 0, 0.1, 0.8);
|
|
130
102
|
var normal = computeVertexNormals([nextPoint[0], nextPoint[1], 1], [prePoint[0], prePoint[1], 0], [prePoint[0], prePoint[1], 1], needFlat);
|
|
@@ -133,48 +105,32 @@ function extrude_PolygonNormal(path) {
|
|
|
133
105
|
return v + indexOffset;
|
|
134
106
|
})));
|
|
135
107
|
};
|
|
136
|
-
|
|
137
108
|
for (var i = 0; i < n; i++) {
|
|
138
|
-
_loop2(
|
|
109
|
+
_loop2();
|
|
139
110
|
}
|
|
140
|
-
|
|
141
111
|
return {
|
|
142
112
|
positions: positions,
|
|
143
113
|
index: indexArray,
|
|
144
114
|
normals: normals
|
|
145
115
|
};
|
|
146
116
|
}
|
|
147
|
-
|
|
148
117
|
function computeVertexNormals(p1, p2, p3) {
|
|
149
118
|
var needFlat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
150
|
-
|
|
151
119
|
var cb = _glMatrix.vec3.create();
|
|
152
|
-
|
|
153
120
|
var ab = _glMatrix.vec3.create();
|
|
154
|
-
|
|
155
121
|
var normal = _glMatrix.vec3.create();
|
|
156
|
-
|
|
157
122
|
if (needFlat) {
|
|
158
123
|
p1 = (0, _l7Utils.lngLatToMeters)(p1);
|
|
159
124
|
p2 = (0, _l7Utils.lngLatToMeters)(p2);
|
|
160
125
|
p3 = (0, _l7Utils.lngLatToMeters)(p3);
|
|
161
126
|
}
|
|
162
|
-
|
|
163
127
|
var pA = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p1));
|
|
164
|
-
|
|
165
128
|
var pB = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p2));
|
|
166
|
-
|
|
167
129
|
var pC = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p3));
|
|
168
|
-
|
|
169
130
|
_glMatrix.vec3.sub(cb, pC, pB);
|
|
170
|
-
|
|
171
131
|
_glMatrix.vec3.sub(ab, pA, pB);
|
|
172
|
-
|
|
173
132
|
_glMatrix.vec3.cross(normal, cb, ab);
|
|
174
|
-
|
|
175
133
|
var newNormal = _glMatrix.vec3.create();
|
|
176
|
-
|
|
177
134
|
_glMatrix.vec3.normalize(newNormal, normal);
|
|
178
|
-
|
|
179
135
|
return newNormal;
|
|
180
136
|
}
|