@antv/l7-layers 2.17.4 → 2.17.6
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 +325 -483
- package/es/core/BaseModel.js +51 -80
- package/es/core/CommonStyleAttribute.js +2 -5
- 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 +27 -39
- package/es/core/triangulation.js +99 -136
- 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 +92 -149
- 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 -35
- package/es/line/models/arc.js +63 -112
- package/es/line/models/arc_3d.js +58 -102
- package/es/line/models/earthArc_3d.js +60 -105
- package/es/line/models/flow.js +36 -60
- package/es/line/models/great_circle.js +53 -94
- package/es/line/models/line.js +92 -144
- package/es/line/models/linearline.js +42 -74
- package/es/line/models/simpleLine.js +38 -67
- package/es/line/models/wall.js +52 -92
- package/es/line/shaders/dash/line_dash_vert.glsl +1 -2
- package/es/line/shaders/line_frag.glsl +1 -3
- package/es/line/shaders/line_vert.glsl +2 -0
- package/es/line/shaders/linear/line_linear_frag.glsl +1 -1
- package/es/mask/index.js +9 -28
- package/es/mask/models/fill.js +29 -54
- package/es/plugins/DataMappingPlugin.js +78 -114
- 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 +69 -118
- package/es/plugins/LayerStylePlugin.js +4 -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 -78
- package/es/point/models/earthExtrude.js +58 -95
- package/es/point/models/earthFill.js +52 -80
- package/es/point/models/extrude.js +57 -94
- package/es/point/models/fill.js +56 -81
- package/es/point/models/fillmage.js +60 -100
- package/es/point/models/image.js +47 -83
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +30 -54
- package/es/point/models/radar.js +38 -63
- package/es/point/models/simplePoint.js +38 -62
- package/es/point/models/text.js +199 -296
- package/es/point/shape/extrude.js +4 -13
- package/es/polygon/index.js +11 -41
- package/es/polygon/models/extrude.js +87 -135
- package/es/polygon/models/fill.js +50 -79
- 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 +33 -55
- package/es/tile/service/TilePickService.js +26 -40
- package/es/tile/service/TileSourceService.js +3 -7
- package/es/tile/tileFactory/DebugTile.js +29 -46
- 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/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 +325 -474
- package/lib/core/BaseModel.js +51 -90
- package/lib/core/CommonStyleAttribute.js +2 -7
- 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 +27 -62
- package/lib/core/triangulation.js +98 -177
- 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 +92 -166
- 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 +61 -122
- package/lib/line/models/arc_3d.js +56 -113
- package/lib/line/models/earthArc_3d.js +58 -115
- package/lib/line/models/flow.js +36 -70
- package/lib/line/models/great_circle.js +53 -104
- package/lib/line/models/index.js +0 -11
- package/lib/line/models/line.js +90 -152
- package/lib/line/models/linearline.js +42 -86
- package/lib/line/models/simpleLine.js +38 -77
- package/lib/line/models/wall.js +52 -103
- package/lib/line/shaders/dash/line_dash_vert.glsl +1 -2
- package/lib/line/shaders/line_frag.glsl +1 -3
- package/lib/line/shaders/line_vert.glsl +2 -0
- package/lib/line/shaders/linear/line_linear_frag.glsl +1 -1
- 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 +78 -125
- 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 +70 -127
- package/lib/plugins/LayerStylePlugin.js +5 -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 +58 -106
- package/lib/point/models/earthFill.js +52 -110
- package/lib/point/models/extrude.js +57 -103
- package/lib/point/models/fill.js +54 -90
- package/lib/point/models/fillmage.js +58 -107
- package/lib/point/models/image.js +47 -92
- package/lib/point/models/index.js +1 -12
- package/lib/point/models/normal.js +30 -64
- package/lib/point/models/radar.js +38 -72
- package/lib/point/models/simplePoint.js +38 -72
- package/lib/point/models/text.js +199 -305
- package/lib/point/shape/extrude.js +4 -20
- package/lib/polygon/index.js +11 -48
- package/lib/polygon/models/extrude.js +87 -146
- package/lib/polygon/models/fill.js +50 -89
- 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 +33 -60
- 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 +29 -54
- 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/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,17 +1,13 @@
|
|
|
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.fillPolygon = fillPolygon;
|
|
10
|
-
|
|
11
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
|
-
|
|
13
10
|
var _earcut = _interopRequireDefault(require("earcut"));
|
|
14
|
-
|
|
15
11
|
/**
|
|
16
12
|
* 拉伸多边形顶点,返回拉伸后的顶点信息
|
|
17
13
|
* @param paths 路径数据组
|
|
@@ -20,56 +16,44 @@ var _earcut = _interopRequireDefault(require("earcut"));
|
|
|
20
16
|
function extrudePolygon(path) {
|
|
21
17
|
var p1 = path[0][0];
|
|
22
18
|
var p2 = path[0][path[0].length - 1];
|
|
23
|
-
|
|
24
19
|
if (p1[0] === p2[0] && p1[1] === p2[1]) {
|
|
25
20
|
path[0] = path[0].slice(0, path[0].length - 1);
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
var n = path[0].length;
|
|
29
|
-
|
|
30
23
|
var flattengeo = _earcut.default.flatten(path);
|
|
31
|
-
|
|
32
24
|
var positions = [];
|
|
33
25
|
var indexArray = [];
|
|
34
|
-
var normals = [];
|
|
35
|
-
|
|
26
|
+
var normals = [];
|
|
27
|
+
// 设置顶部z值
|
|
36
28
|
for (var j = 0; j < flattengeo.vertices.length / 3; j++) {
|
|
37
29
|
flattengeo.vertices[j * 3 + 2] = 1;
|
|
38
30
|
normals.push(0, 0, 1);
|
|
39
31
|
}
|
|
40
|
-
|
|
41
32
|
positions.push.apply(positions, (0, _toConsumableArray2.default)(flattengeo.vertices));
|
|
42
33
|
var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
43
34
|
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
|
|
44
|
-
|
|
45
|
-
var _loop = function _loop(i) {
|
|
35
|
+
var _loop = function _loop() {
|
|
46
36
|
var prePoint = flattengeo.vertices.slice(i * 3, i * 3 + 3);
|
|
47
37
|
var nextPoint = flattengeo.vertices.slice(i * 3 + 3, i * 3 + 6);
|
|
48
|
-
|
|
49
38
|
if (nextPoint.length === 0) {
|
|
50
39
|
nextPoint = flattengeo.vertices.slice(0, 3);
|
|
51
40
|
}
|
|
52
|
-
|
|
53
41
|
var indexOffset = positions.length / 3;
|
|
54
42
|
positions.push(prePoint[0], prePoint[1], 1, nextPoint[0], nextPoint[1], 1, prePoint[0], prePoint[1], 0, nextPoint[0], nextPoint[1], 0);
|
|
55
43
|
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)([1, 2, 0, 3, 2, 1].map(function (v) {
|
|
56
44
|
return v + indexOffset;
|
|
57
45
|
})));
|
|
58
46
|
};
|
|
59
|
-
|
|
60
47
|
for (var i = 0; i < n; i++) {
|
|
61
|
-
_loop(
|
|
48
|
+
_loop();
|
|
62
49
|
}
|
|
63
|
-
|
|
64
50
|
return {
|
|
65
51
|
positions: positions,
|
|
66
52
|
index: indexArray
|
|
67
53
|
};
|
|
68
54
|
}
|
|
69
|
-
|
|
70
55
|
function fillPolygon(points) {
|
|
71
56
|
var flattengeo = _earcut.default.flatten(points);
|
|
72
|
-
|
|
73
57
|
var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
74
58
|
return {
|
|
75
59
|
positions: flattengeo.vertices,
|
package/lib/polygon/index.js
CHANGED
|
@@ -1,94 +1,66 @@
|
|
|
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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
17
|
var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
|
|
29
|
-
|
|
30
18
|
var _models = _interopRequireDefault(require("./models/"));
|
|
31
|
-
|
|
32
19
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
33
|
-
|
|
34
20
|
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; } }
|
|
35
|
-
|
|
36
21
|
var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
37
22
|
(0, _inherits2.default)(PolygonLayer, _BaseLayer);
|
|
38
|
-
|
|
39
23
|
var _super = _createSuper(PolygonLayer);
|
|
40
|
-
|
|
41
24
|
function PolygonLayer() {
|
|
42
25
|
var _this;
|
|
43
|
-
|
|
44
26
|
(0, _classCallCheck2.default)(this, PolygonLayer);
|
|
45
|
-
|
|
46
27
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
47
28
|
args[_key] = arguments[_key];
|
|
48
29
|
}
|
|
49
|
-
|
|
50
30
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
51
31
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'PolygonLayer');
|
|
52
32
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "enableEncodeStyles", ['opacity']);
|
|
53
33
|
return _this;
|
|
54
34
|
}
|
|
55
|
-
|
|
56
35
|
(0, _createClass2.default)(PolygonLayer, [{
|
|
57
36
|
key: "buildModels",
|
|
58
37
|
value: function () {
|
|
59
38
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
60
39
|
var shape;
|
|
61
40
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
62
|
-
while (1) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
case "end":
|
|
72
|
-
return _context.stop();
|
|
73
|
-
}
|
|
41
|
+
while (1) switch (_context.prev = _context.next) {
|
|
42
|
+
case 0:
|
|
43
|
+
shape = this.getModelType();
|
|
44
|
+
this.layerModel = new _models.default[shape](this);
|
|
45
|
+
_context.next = 4;
|
|
46
|
+
return this.initLayerModels();
|
|
47
|
+
case 4:
|
|
48
|
+
case "end":
|
|
49
|
+
return _context.stop();
|
|
74
50
|
}
|
|
75
51
|
}, _callee, this);
|
|
76
52
|
}));
|
|
77
|
-
|
|
78
53
|
function buildModels() {
|
|
79
54
|
return _buildModels.apply(this, arguments);
|
|
80
55
|
}
|
|
81
|
-
|
|
82
56
|
return buildModels;
|
|
83
57
|
}()
|
|
84
58
|
}, {
|
|
85
59
|
key: "getModelType",
|
|
86
60
|
value: function getModelType() {
|
|
87
61
|
var _shapeAttribute$scale;
|
|
88
|
-
|
|
89
62
|
var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
|
|
90
63
|
var shape = shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field;
|
|
91
|
-
|
|
92
64
|
if (shape === 'fill' || !shape) {
|
|
93
65
|
return 'fill';
|
|
94
66
|
} else if (shape === 'extrude') {
|
|
@@ -109,42 +81,33 @@ var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
109
81
|
// pointlayer
|
|
110
82
|
// 2D、 3d、 shape、image、text、normal、
|
|
111
83
|
var layerData = this.getEncodedData();
|
|
112
|
-
|
|
113
84
|
var _this$getLayerConfig = this.getLayerConfig(),
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
85
|
+
shape2d = _this$getLayerConfig.shape2d,
|
|
86
|
+
shape3d = _this$getLayerConfig.shape3d;
|
|
117
87
|
var iconMap = this.iconService.getIconMap();
|
|
118
88
|
var item = layerData.find(function (fe) {
|
|
119
89
|
return fe.hasOwnProperty('shape');
|
|
120
90
|
});
|
|
121
|
-
|
|
122
91
|
if (!item) {
|
|
123
92
|
return 'fill';
|
|
124
93
|
} else {
|
|
125
94
|
var shape = item.shape;
|
|
126
|
-
|
|
127
95
|
if (shape === 'dot') {
|
|
128
96
|
return 'point_normal';
|
|
129
97
|
}
|
|
130
|
-
|
|
131
98
|
if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
|
|
132
99
|
return 'point_fill';
|
|
133
100
|
}
|
|
134
|
-
|
|
135
101
|
if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
|
|
136
102
|
return 'point_extrude';
|
|
137
103
|
}
|
|
138
|
-
|
|
139
104
|
if (iconMap.hasOwnProperty(shape)) {
|
|
140
105
|
return 'point_image';
|
|
141
106
|
}
|
|
142
|
-
|
|
143
107
|
return 'text';
|
|
144
108
|
}
|
|
145
109
|
}
|
|
146
110
|
}]);
|
|
147
111
|
return PolygonLayer;
|
|
148
112
|
}(_BaseLayer2.default);
|
|
149
|
-
|
|
150
113
|
exports.default = PolygonLayer;
|
|
@@ -1,97 +1,68 @@
|
|
|
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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
11
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
17
|
-
|
|
18
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
-
|
|
20
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
-
|
|
22
14
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
-
|
|
24
15
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
-
|
|
26
16
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
-
|
|
28
17
|
var _l7Core = require("@antv/l7-core");
|
|
29
|
-
|
|
30
18
|
var _l7Utils = require("@antv/l7-utils");
|
|
31
|
-
|
|
32
19
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
33
|
-
|
|
34
20
|
var _triangulation = require("../../core/triangulation");
|
|
35
|
-
|
|
36
21
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
37
|
-
|
|
38
22
|
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; } }
|
|
39
|
-
|
|
40
23
|
/* babel-plugin-inline-import '../shaders/extrude/polygon_extrude_frag.glsl' */
|
|
41
24
|
var polygonExtrudeFrag = "uniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\n\n#pragma include \"picking\"\n\nvoid main() {\n\n\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n\n gl_FragColor = v_Color;\n \n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
42
|
-
|
|
43
25
|
/* babel-plugin-inline-import '../shaders/extrude/polygon_extrude_vert.glsl' */
|
|
44
26
|
var polygonExtrudeVert = "precision highp float;\n\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute float a_Size;\nattribute vec3 a_uvs;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nuniform float u_heightfixed: 0.0; // \u9ED8\u8BA4\u4E0D\u56FA\u5B9A\nuniform float u_raisingHeight: 0.0;\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\nvoid main() {\n \n float isSide = a_Position.z;\n float topU = a_uvs[0];\n float topV = 1.0 - a_uvs[1];\n float sidey = a_uvs[2];\n\n vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);\n float lightWeight = calc_lighting(pos);\n\n vec4 project_pos = project_position(pos);\n\n if(u_heightfixed > 0.0) { // \u5224\u65AD\u51E0\u4F55\u4F53\u662F\u5426\u56FA\u5B9A\u9AD8\u5EA6\n project_pos.z = a_Position.z * a_Size;\n project_pos.z += u_raisingHeight;\n\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 project_pos.z *= mapboxZoomScale;\n project_pos.z += u_raisingHeight * mapboxZoomScale;\n }\n }\n\n\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n // Tip: \u90E8\u5206\u673A\u578B GPU \u8BA1\u7B97\u7CBE\u5EA6\u517C\u5BB9\n if(isSide < 0.999) {\n // side face\n // if(u_sidesurface < 1.0) {\n // discard;\n // }\n\n if(u_linearColor == 1.0) {\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n v_Color = linearColor;\n } else {\n v_Color = a_Color;\n }\n\n } else {\n v_Color = a_Color;\n }\n\n v_Color = vec4(v_Color.rgb * lightWeight, v_Color.w * opacity);\n\n\n setPickingColor(a_PickingColor);\n}\n"; // extrude
|
|
45
|
-
|
|
46
27
|
/* babel-plugin-inline-import '../shaders/extrude/polygon_extrudetex_frag.glsl' */
|
|
47
28
|
var polygonExtrudeTexFrag = "uniform sampler2D u_texture;\nuniform float u_opacity: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nvarying vec3 v_uvs;\nvarying vec2 v_texture_data;\n\n\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = u_opacity;\n float isSide = v_texture_data.x;\n float lightWeight = v_texture_data.y;\n float topU = v_uvs[0];\n float topV = 1.0 - v_uvs[1];\n float sidey = v_uvs[2];\n // Tip: \u90E8\u5206\u673A\u578B GPU \u8BA1\u7B97\u7CBE\u5EA6\u517C\u5BB9\n if(isSide < 0.999) {// \u662F\u5426\u662F\u8FB9\u7F18\n // side face\n if(u_sidesurface < 1.0) {\n discard;\n }\n\n if(u_linearColor == 1.0) {\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n gl_FragColor = linearColor;\n } else {\n gl_FragColor = v_Color;\n }\n } else {\n\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n\n gl_FragColor = texture2D(u_texture, vec2(topU, topV));\n // gl_FragColor = vec4(1.0, 0., 0., 1.0);\n }\n \n\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n"; // texture
|
|
48
|
-
|
|
49
29
|
/* babel-plugin-inline-import '../shaders/extrude/polygon_extrudetex_vert.glsl' */
|
|
50
30
|
var polygonExtrudeTexVert = "precision highp float;\n\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute float a_Size;\nattribute vec3 a_uvs;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform sampler2D u_texture;\n\n\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\nvarying vec4 v_Color;\nuniform float u_heightfixed: 0.0; // \u9ED8\u8BA4\u4E0D\u56FA\u5B9A\nuniform float u_raisingHeight: 0.0;\nuniform float u_linearColor: 0.0;\n\nvarying vec2 v_texture_data;\nvarying vec3 v_uvs;\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\nvoid main() {\n \n vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);\n float lightWeight = calc_lighting(pos);\n vec4 project_pos = project_position(pos);\n v_uvs = a_uvs;\n\n v_texture_data = vec2(a_Position.z, lightWeight);\n\n if(u_heightfixed > 0.0) { // \u5224\u65AD\u51E0\u4F55\u4F53\u662F\u5426\u56FA\u5B9A\u9AD8\u5EA6\n project_pos.z = a_Position.z * a_Size;\n project_pos.z += u_raisingHeight;\n\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 project_pos.z *= mapboxZoomScale;\n project_pos.z += u_raisingHeight * mapboxZoomScale;\n }\n }\n\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n\n\n\n setPickingColor(a_PickingColor);\n}\n"; // extrude picking
|
|
51
|
-
|
|
52
31
|
/* babel-plugin-inline-import '../shaders/extrude/polygon_extrude_picklight_frag.glsl' */
|
|
53
32
|
var polygonExtrudePickLightFrag = "uniform float u_opacity: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nvarying vec3 v_uvs;\nvarying vec2 v_texture_data;\n\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = u_opacity;\n float isSide = v_texture_data.x;\n float sidey = v_uvs[2];\n float lightWeight = v_texture_data.y;\n\n // Tip: \u90E8\u5206\u673A\u578B GPU \u8BA1\u7B97\u7CBE\u5EA6\u517C\u5BB9\n if(isSide < 0.999) {\n // side face\n if(u_sidesurface < 1.0) {\n discard;\n }\n \n if( u_linearColor == 1.0) {\n // side use linear\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n gl_FragColor = linearColor;\n } else {\n // side notuse linear\n gl_FragColor = v_Color;\n }\n } else {\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n gl_FragColor = v_Color;\n }\n\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColorAlpha(gl_FragColor, lightWeight);\n}\n";
|
|
54
|
-
|
|
55
33
|
/* babel-plugin-inline-import '../shaders/extrude/polygon_extrude_picklight_vert.glsl' */
|
|
56
34
|
var polygonExtrudePickLightVert = "precision highp float;\n\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute float a_Size;\nattribute vec3 a_uvs;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nuniform float u_heightfixed: 0.0; // \u9ED8\u8BA4\u4E0D\u56FA\u5B9A\nuniform float u_raisingHeight: 0.0;\n\nvarying vec2 v_texture_data;\nvarying vec3 v_uvs;\nvarying vec4 v_Color;\n\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\nvoid main() {\n\n\n v_uvs = a_uvs;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);\n vec4 project_pos = project_position(pos);\n\n if(u_heightfixed > 0.0) { // \u5224\u65AD\u51E0\u4F55\u4F53\u662F\u5426\u56FA\u5B9A\u9AD8\u5EA6\n project_pos.z = a_Position.z * a_Size;\n project_pos.z += u_raisingHeight;\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 project_pos.z *= mapboxZoomScale;\n project_pos.z += u_raisingHeight * mapboxZoomScale;\n }\n }\n\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n float lightWeight = calc_lighting(pos);\n v_texture_data = vec2(a_Position.z,lightWeight);\n\n v_Color = vec4(a_Color.rgb * lightWeight, a_Color.w);\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
57
|
-
|
|
58
35
|
var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
59
36
|
(0, _inherits2.default)(ExtrudeModel, _BaseModel);
|
|
60
|
-
|
|
61
37
|
var _super = _createSuper(ExtrudeModel);
|
|
62
|
-
|
|
63
38
|
function ExtrudeModel() {
|
|
64
39
|
(0, _classCallCheck2.default)(this, ExtrudeModel);
|
|
65
40
|
return _super.apply(this, arguments);
|
|
66
41
|
}
|
|
67
|
-
|
|
68
42
|
(0, _createClass2.default)(ExtrudeModel, [{
|
|
69
43
|
key: "getUninforms",
|
|
70
44
|
value: function getUninforms() {
|
|
71
45
|
var _ref = this.layer.getLayerConfig(),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
46
|
+
_ref$heightfixed = _ref.heightfixed,
|
|
47
|
+
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
|
|
48
|
+
_ref$raisingHeight = _ref.raisingHeight,
|
|
49
|
+
raisingHeight = _ref$raisingHeight === void 0 ? 0 : _ref$raisingHeight,
|
|
50
|
+
_ref$topsurface = _ref.topsurface,
|
|
51
|
+
topsurface = _ref$topsurface === void 0 ? true : _ref$topsurface,
|
|
52
|
+
_ref$sidesurface = _ref.sidesurface,
|
|
53
|
+
sidesurface = _ref$sidesurface === void 0 ? true : _ref$sidesurface,
|
|
54
|
+
sourceColor = _ref.sourceColor,
|
|
55
|
+
targetColor = _ref.targetColor;
|
|
56
|
+
|
|
57
|
+
// 转化渐变色
|
|
84
58
|
var useLinearColor = 0; // 默认不生效
|
|
85
|
-
|
|
86
59
|
var sourceColorArr = [1, 1, 1, 1];
|
|
87
60
|
var targetColorArr = [1, 1, 1, 1];
|
|
88
|
-
|
|
89
61
|
if (sourceColor && targetColor) {
|
|
90
62
|
sourceColorArr = (0, _l7Utils.rgb2arr)(sourceColor);
|
|
91
63
|
targetColorArr = (0, _l7Utils.rgb2arr)(targetColor);
|
|
92
64
|
useLinearColor = 1;
|
|
93
65
|
}
|
|
94
|
-
|
|
95
66
|
return (0, _objectSpread2.default)({
|
|
96
67
|
// 控制侧面和顶面的显示隐藏
|
|
97
68
|
u_topsurface: Number(topsurface),
|
|
@@ -110,27 +81,21 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
110
81
|
value: function () {
|
|
111
82
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
112
83
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
113
|
-
while (1) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
case 3:
|
|
123
|
-
case "end":
|
|
124
|
-
return _context.stop();
|
|
125
|
-
}
|
|
84
|
+
while (1) switch (_context.prev = _context.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
_context.next = 2;
|
|
87
|
+
return this.loadTexture();
|
|
88
|
+
case 2:
|
|
89
|
+
return _context.abrupt("return", this.buildModels());
|
|
90
|
+
case 3:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context.stop();
|
|
126
93
|
}
|
|
127
94
|
}, _callee, this);
|
|
128
95
|
}));
|
|
129
|
-
|
|
130
96
|
function initModels() {
|
|
131
97
|
return _initModels.apply(this, arguments);
|
|
132
98
|
}
|
|
133
|
-
|
|
134
99
|
return initModels;
|
|
135
100
|
}()
|
|
136
101
|
}, {
|
|
@@ -138,46 +103,38 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
138
103
|
value: function () {
|
|
139
104
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
140
105
|
var _this$getShaders, frag, vert, type, model;
|
|
141
|
-
|
|
142
106
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
143
|
-
while (1) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
case 5:
|
|
161
|
-
case "end":
|
|
162
|
-
return _context2.stop();
|
|
163
|
-
}
|
|
107
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
108
|
+
case 0:
|
|
109
|
+
_this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
|
|
110
|
+
_context2.next = 3;
|
|
111
|
+
return this.layer.buildLayerModel({
|
|
112
|
+
moduleName: type,
|
|
113
|
+
vertexShader: vert,
|
|
114
|
+
fragmentShader: frag,
|
|
115
|
+
inject: this.getInject(),
|
|
116
|
+
triangulation: _triangulation.PolygonExtrudeTriangulation
|
|
117
|
+
});
|
|
118
|
+
case 3:
|
|
119
|
+
model = _context2.sent;
|
|
120
|
+
return _context2.abrupt("return", [model]);
|
|
121
|
+
case 5:
|
|
122
|
+
case "end":
|
|
123
|
+
return _context2.stop();
|
|
164
124
|
}
|
|
165
125
|
}, _callee2, this);
|
|
166
126
|
}));
|
|
167
|
-
|
|
168
127
|
function buildModels() {
|
|
169
128
|
return _buildModels.apply(this, arguments);
|
|
170
129
|
}
|
|
171
|
-
|
|
172
130
|
return buildModels;
|
|
173
131
|
}()
|
|
174
132
|
}, {
|
|
175
133
|
key: "getShaders",
|
|
176
134
|
value: function getShaders() {
|
|
177
135
|
var _ref2 = this.layer.getLayerConfig(),
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
136
|
+
pickLight = _ref2.pickLight,
|
|
137
|
+
mapTexture = _ref2.mapTexture;
|
|
181
138
|
if (mapTexture) {
|
|
182
139
|
return {
|
|
183
140
|
frag: polygonExtrudeTexFrag,
|
|
@@ -185,7 +142,6 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
185
142
|
type: 'polygonExtrudeTexture'
|
|
186
143
|
};
|
|
187
144
|
}
|
|
188
|
-
|
|
189
145
|
if (pickLight) {
|
|
190
146
|
return {
|
|
191
147
|
frag: polygonExtrudePickLightFrag,
|
|
@@ -204,7 +160,6 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
204
160
|
key: "clearModels",
|
|
205
161
|
value: function clearModels() {
|
|
206
162
|
var _this$texture;
|
|
207
|
-
|
|
208
163
|
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
209
164
|
}
|
|
210
165
|
}, {
|
|
@@ -215,25 +170,21 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
215
170
|
var layerCenter = this.layer.coordCenter || this.layer.getSource().center;
|
|
216
171
|
var lngLen = bounds[2] - bounds[0];
|
|
217
172
|
var latLen = bounds[3] - bounds[1];
|
|
218
|
-
|
|
219
173
|
if (this.mapService.version === 'GAODE2.x') {
|
|
220
174
|
// @ts-ignore
|
|
221
175
|
var _this$mapService$coor = this.mapService.coordToAMap2RelativeCoordinates([bbox[0], bbox[1]], layerCenter),
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
176
|
+
_this$mapService$coor2 = (0, _slicedToArray2.default)(_this$mapService$coor, 2),
|
|
177
|
+
minX = _this$mapService$coor2[0],
|
|
178
|
+
minY = _this$mapService$coor2[1];
|
|
179
|
+
// @ts-ignore
|
|
227
180
|
var _this$mapService$coor3 = this.mapService.coordToAMap2RelativeCoordinates([bbox[2], bbox[3]], layerCenter),
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
181
|
+
_this$mapService$coor4 = (0, _slicedToArray2.default)(_this$mapService$coor3, 2),
|
|
182
|
+
maxX = _this$mapService$coor4[0],
|
|
183
|
+
maxY = _this$mapService$coor4[1];
|
|
232
184
|
lngLen = maxX - minX;
|
|
233
185
|
latLen = maxY - minY;
|
|
234
186
|
bounds = [minX, minY, maxX, maxY];
|
|
235
187
|
}
|
|
236
|
-
|
|
237
188
|
this.styleAttributeService.registerStyleAttribute({
|
|
238
189
|
name: 'uvs',
|
|
239
190
|
type: _l7Core.AttributeType.Attribute,
|
|
@@ -248,9 +199,9 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
248
199
|
size: 3,
|
|
249
200
|
update: function update(feature, featureIdx, vertex) {
|
|
250
201
|
var lng = vertex[0];
|
|
251
|
-
var lat = vertex[1];
|
|
202
|
+
var lat = vertex[1];
|
|
203
|
+
// console.log((lng - bounds[0]) / lngLen, (lat - bounds[1]) / latLen, vertex[4])
|
|
252
204
|
// 临时 兼容高德V2
|
|
253
|
-
|
|
254
205
|
return [(lng - bounds[0]) / lngLen, (lat - bounds[1]) / latLen, vertex[4]];
|
|
255
206
|
}
|
|
256
207
|
}
|
|
@@ -285,7 +236,7 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
285
236
|
size: 1,
|
|
286
237
|
update: function update(feature) {
|
|
287
238
|
var _feature$size = feature.size,
|
|
288
|
-
|
|
239
|
+
size = _feature$size === void 0 ? 10 : _feature$size;
|
|
289
240
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
290
241
|
}
|
|
291
242
|
}
|
|
@@ -296,64 +247,54 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
296
247
|
value: function () {
|
|
297
248
|
var _loadTexture = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
298
249
|
var _this = this;
|
|
299
|
-
|
|
300
250
|
var _ref3, mapTexture, createTexture2D;
|
|
301
|
-
|
|
302
251
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
303
|
-
while (1) {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
case 5:
|
|
342
|
-
case "end":
|
|
343
|
-
return _context3.stop();
|
|
344
|
-
}
|
|
252
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
253
|
+
case 0:
|
|
254
|
+
_ref3 = this.layer.getLayerConfig(), mapTexture = _ref3.mapTexture;
|
|
255
|
+
createTexture2D = this.rendererService.createTexture2D;
|
|
256
|
+
this.texture = createTexture2D({
|
|
257
|
+
height: 0,
|
|
258
|
+
width: 0
|
|
259
|
+
});
|
|
260
|
+
if (!mapTexture) {
|
|
261
|
+
_context3.next = 5;
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
return _context3.abrupt("return", new Promise(function (resolve, reject) {
|
|
265
|
+
var image = new Image();
|
|
266
|
+
image.crossOrigin = 'anonymous';
|
|
267
|
+
image.src = mapTexture;
|
|
268
|
+
image.onload = function () {
|
|
269
|
+
_this.texture = createTexture2D({
|
|
270
|
+
data: image,
|
|
271
|
+
width: image.width,
|
|
272
|
+
height: image.height,
|
|
273
|
+
wrapS: _l7Core.gl.CLAMP_TO_EDGE,
|
|
274
|
+
wrapT: _l7Core.gl.CLAMP_TO_EDGE,
|
|
275
|
+
min: _l7Core.gl.LINEAR,
|
|
276
|
+
mag: _l7Core.gl.LINEAR
|
|
277
|
+
});
|
|
278
|
+
return resolve(null);
|
|
279
|
+
// this.layerService.reRender();
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
image.onerror = function () {
|
|
283
|
+
reject(new Error('image load error'));
|
|
284
|
+
};
|
|
285
|
+
}));
|
|
286
|
+
case 5:
|
|
287
|
+
case "end":
|
|
288
|
+
return _context3.stop();
|
|
345
289
|
}
|
|
346
290
|
}, _callee3, this);
|
|
347
291
|
}));
|
|
348
|
-
|
|
349
292
|
function loadTexture() {
|
|
350
293
|
return _loadTexture.apply(this, arguments);
|
|
351
294
|
}
|
|
352
|
-
|
|
353
295
|
return loadTexture;
|
|
354
296
|
}()
|
|
355
297
|
}]);
|
|
356
298
|
return ExtrudeModel;
|
|
357
299
|
}(_BaseModel2.default);
|
|
358
|
-
|
|
359
300
|
exports.default = ExtrudeModel;
|