@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,91 +1,62 @@
|
|
|
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
23
|
-
|
|
24
15
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
25
|
-
|
|
26
16
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
27
|
-
|
|
28
17
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
29
|
-
|
|
30
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
-
|
|
32
19
|
var _l7Core = require("@antv/l7-core");
|
|
33
|
-
|
|
34
20
|
var _l7Maps = require("@antv/l7-maps");
|
|
35
|
-
|
|
36
21
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
37
|
-
|
|
38
22
|
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); }; }
|
|
39
|
-
|
|
40
23
|
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; } }
|
|
41
|
-
|
|
42
24
|
/* babel-plugin-inline-import '../shaders/plane_frag.glsl' */
|
|
43
25
|
var planeFrag = "\nuniform sampler2D u_texture;\nuniform float u_mapFlag;\nuniform float u_opacity;\n\nvarying vec3 v_Color;\nvarying vec2 v_uv;\nvarying float v_clip;\n\n#pragma include \"picking\"\nvoid main() {\n // gl_FragColor = vec4(v_Color, u_opacity);\n if(u_mapFlag > 0.0) {\n gl_FragColor = texture2D(u_texture, vec2(v_uv.x, 1.0 - v_uv.y));\n gl_FragColor.a *= u_opacity;\n } else {\n // gl_FragColor = vec4(v_uv, 0.0, u_opacity);\n gl_FragColor = vec4(v_Color, u_opacity);\n }\n gl_FragColor.a *= v_clip;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
44
|
-
|
|
45
26
|
/* babel-plugin-inline-import '../shaders/plane_vert.glsl' */
|
|
46
27
|
var planeVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\n\nuniform mat4 u_Mvp;\nuniform float u_opacity;\nuniform float u_terrainClipHeight;\n\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nattribute vec3 a_Color;\n\nvarying vec3 v_Color;\nvarying vec2 v_uv;\nvarying float v_clip;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\nvoid main() {\n v_Color = a_Color;\n v_uv = a_Uv;\n \n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n v_clip = 1.0;\n if(a_Position.z < u_terrainClipHeight) {\n v_clip = 0.0;\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n\n // float x = 1.0;\n // float y = 0.0;\n // float z = 0.0;\n // mat3 translateMatrix = mat3(\n // 1.0, 0.0, 0.0 \n // 0.0, 1.0, 0.0\n // -project_pos.x, -project_pos.y, 1.0\n // );\n // mat4 translateMatrix = mat4(\n // 1.0, 0.0, 0.0, 0.0 ,\n // 0.0, 1.0, 0.0, 0.0,\n // 0.0, 0.0, 1.0, 0.0,\n // 1.0, 0.0, 0.0, 1.0\n // );\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy, a_Position.z, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, a_Position.z, 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
47
|
-
|
|
48
28
|
var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
49
29
|
(0, _inherits2.default)(PlaneModel, _BaseModel);
|
|
50
|
-
|
|
51
30
|
var _super = _createSuper(PlaneModel);
|
|
52
|
-
|
|
53
31
|
function PlaneModel() {
|
|
54
32
|
var _this;
|
|
55
|
-
|
|
56
33
|
(0, _classCallCheck2.default)(this, PlaneModel);
|
|
57
|
-
|
|
58
34
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
59
35
|
args[_key] = arguments[_key];
|
|
60
36
|
}
|
|
61
|
-
|
|
62
37
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
63
38
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "terrainImageLoaded", false);
|
|
64
39
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "planeGeometryTriangulation", function () {
|
|
65
40
|
var _this2;
|
|
66
|
-
|
|
67
41
|
var _ref = _this.layer.getLayerConfig(),
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
42
|
+
_ref$width = _ref.width,
|
|
43
|
+
width = _ref$width === void 0 ? 1 : _ref$width,
|
|
44
|
+
_ref$height = _ref.height,
|
|
45
|
+
height = _ref$height === void 0 ? 1 : _ref$height,
|
|
46
|
+
_ref$widthSegments = _ref.widthSegments,
|
|
47
|
+
widthSegments = _ref$widthSegments === void 0 ? 1 : _ref$widthSegments,
|
|
48
|
+
_ref$heightSegments = _ref.heightSegments,
|
|
49
|
+
heightSegments = _ref$heightSegments === void 0 ? 1 : _ref$heightSegments,
|
|
50
|
+
_ref$center = _ref.center,
|
|
51
|
+
center = _ref$center === void 0 ? [120, 30] : _ref$center,
|
|
52
|
+
terrainTexture = _ref.terrainTexture;
|
|
80
53
|
var _this$initPlane = (_this2 = _this).initPlane.apply(_this2, [width, height, widthSegments, heightSegments].concat((0, _toConsumableArray2.default)(center))),
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
54
|
+
indices = _this$initPlane.indices,
|
|
55
|
+
positions = _this$initPlane.positions;
|
|
84
56
|
if (terrainTexture) {
|
|
85
57
|
// 存在地形贴图的时候会根据地形贴图对顶点进行偏移
|
|
86
58
|
_this.loadTerrainTexture(positions, indices);
|
|
87
59
|
}
|
|
88
|
-
|
|
89
60
|
return {
|
|
90
61
|
vertices: positions,
|
|
91
62
|
indices: indices,
|
|
@@ -94,7 +65,6 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
94
65
|
});
|
|
95
66
|
return _this;
|
|
96
67
|
}
|
|
97
|
-
|
|
98
68
|
(0, _createClass2.default)(PlaneModel, [{
|
|
99
69
|
key: "initPlane",
|
|
100
70
|
value: function initPlane() {
|
|
@@ -115,43 +85,34 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
115
85
|
var segmentHeight = height / gridY;
|
|
116
86
|
var indices = [];
|
|
117
87
|
var positions = [];
|
|
118
|
-
|
|
119
88
|
for (var iy = 0; iy < gridY1; iy++) {
|
|
120
89
|
var y = iy * segmentHeight - heightHalf;
|
|
121
|
-
|
|
122
90
|
for (var ix = 0; ix < gridX1; ix++) {
|
|
123
91
|
var x = ix * segmentWidth - widthHalf;
|
|
124
|
-
|
|
125
92
|
if (this.mapService.version === _l7Maps.Version['GAODE2.x']) {
|
|
126
93
|
// @ts-ignore
|
|
127
94
|
var _ref2 = this.mapService.lngLatToCoord([x + lng, -y + lat]),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
95
|
+
_ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
|
96
|
+
a = _ref3[0],
|
|
97
|
+
_b = _ref3[1];
|
|
132
98
|
positions.push(a, _b, 0);
|
|
133
99
|
} else {
|
|
134
100
|
positions.push(x + lng, -y + lat, 0);
|
|
135
101
|
}
|
|
136
|
-
|
|
137
102
|
positions.push(ix / gridX);
|
|
138
103
|
positions.push(1 - iy / gridY);
|
|
139
104
|
}
|
|
140
105
|
}
|
|
141
|
-
|
|
142
106
|
for (var _iy = 0; _iy < gridY; _iy++) {
|
|
143
107
|
for (var _ix = 0; _ix < gridX; _ix++) {
|
|
144
108
|
var _a = _ix + gridX1 * _iy;
|
|
145
|
-
|
|
146
109
|
var _b2 = _ix + gridX1 * (_iy + 1);
|
|
147
|
-
|
|
148
110
|
var c = _ix + 1 + gridX1 * (_iy + 1);
|
|
149
111
|
var d = _ix + 1 + gridX1 * _iy;
|
|
150
112
|
indices.push(_a, _b2, d);
|
|
151
113
|
indices.push(_b2, c, d);
|
|
152
114
|
}
|
|
153
115
|
}
|
|
154
|
-
|
|
155
116
|
return {
|
|
156
117
|
indices: indices,
|
|
157
118
|
positions: positions
|
|
@@ -161,20 +122,17 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
161
122
|
key: "getUninforms",
|
|
162
123
|
value: function getUninforms() {
|
|
163
124
|
var _ref4 = this.layer.getLayerConfig(),
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
125
|
+
opacity = _ref4.opacity,
|
|
126
|
+
mapTexture = _ref4.mapTexture,
|
|
127
|
+
_ref4$terrainClipHeig = _ref4.terrainClipHeight,
|
|
128
|
+
terrainClipHeight = _ref4$terrainClipHeig === void 0 ? 0 : _ref4$terrainClipHeig,
|
|
129
|
+
terrainTexture = _ref4.terrainTexture;
|
|
170
130
|
if (this.mapTexture !== mapTexture) {
|
|
171
131
|
var _this$texture;
|
|
172
|
-
|
|
173
132
|
this.mapTexture = mapTexture;
|
|
174
133
|
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
175
134
|
this.updateTexture(mapTexture);
|
|
176
135
|
}
|
|
177
|
-
|
|
178
136
|
return {
|
|
179
137
|
u_opacity: opacity || 1,
|
|
180
138
|
u_mapFlag: mapTexture ? 1 : 0,
|
|
@@ -186,7 +144,6 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
186
144
|
key: "clearModels",
|
|
187
145
|
value: function clearModels() {
|
|
188
146
|
var _this$texture2;
|
|
189
|
-
|
|
190
147
|
// @ts-ignore
|
|
191
148
|
this.terrainImage = null;
|
|
192
149
|
(_this$texture2 = this.texture) === null || _this$texture2 === void 0 ? void 0 : _this$texture2.destroy();
|
|
@@ -196,52 +153,44 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
196
153
|
value: function () {
|
|
197
154
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
198
155
|
var _ref5, mapTexture, createTexture2D, model;
|
|
199
|
-
|
|
200
156
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
201
|
-
while (1) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
case 9:
|
|
234
|
-
case "end":
|
|
235
|
-
return _context.stop();
|
|
236
|
-
}
|
|
157
|
+
while (1) switch (_context.prev = _context.next) {
|
|
158
|
+
case 0:
|
|
159
|
+
_ref5 = this.layer.getLayerConfig(), mapTexture = _ref5.mapTexture;
|
|
160
|
+
this.mapTexture = mapTexture;
|
|
161
|
+
createTexture2D = this.rendererService.createTexture2D;
|
|
162
|
+
this.texture = createTexture2D({
|
|
163
|
+
height: 0,
|
|
164
|
+
width: 0
|
|
165
|
+
});
|
|
166
|
+
this.updateTexture(mapTexture);
|
|
167
|
+
_context.next = 7;
|
|
168
|
+
return this.layer.buildLayerModel({
|
|
169
|
+
moduleName: 'geometryPlane',
|
|
170
|
+
vertexShader: planeVert,
|
|
171
|
+
fragmentShader: planeFrag,
|
|
172
|
+
triangulation: this.planeGeometryTriangulation,
|
|
173
|
+
primitive: _l7Core.gl.TRIANGLES,
|
|
174
|
+
depth: {
|
|
175
|
+
enable: true
|
|
176
|
+
},
|
|
177
|
+
cull: {
|
|
178
|
+
enable: true,
|
|
179
|
+
face: _l7Core.gl.BACK // gl.FRONT | gl.BACK;
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
case 7:
|
|
183
|
+
model = _context.sent;
|
|
184
|
+
return _context.abrupt("return", [model]);
|
|
185
|
+
case 9:
|
|
186
|
+
case "end":
|
|
187
|
+
return _context.stop();
|
|
237
188
|
}
|
|
238
189
|
}, _callee, this);
|
|
239
190
|
}));
|
|
240
|
-
|
|
241
191
|
function initModels() {
|
|
242
192
|
return _initModels.apply(this, arguments);
|
|
243
193
|
}
|
|
244
|
-
|
|
245
194
|
return initModels;
|
|
246
195
|
}()
|
|
247
196
|
}, {
|
|
@@ -249,23 +198,18 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
249
198
|
value: function () {
|
|
250
199
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
251
200
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
252
|
-
while (1) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
case "end":
|
|
259
|
-
return _context2.stop();
|
|
260
|
-
}
|
|
201
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
202
|
+
case 0:
|
|
203
|
+
return _context2.abrupt("return", this.initModels());
|
|
204
|
+
case 1:
|
|
205
|
+
case "end":
|
|
206
|
+
return _context2.stop();
|
|
261
207
|
}
|
|
262
208
|
}, _callee2, this);
|
|
263
209
|
}));
|
|
264
|
-
|
|
265
210
|
function buildModels() {
|
|
266
211
|
return _buildModels.apply(this, arguments);
|
|
267
212
|
}
|
|
268
|
-
|
|
269
213
|
return buildModels;
|
|
270
214
|
}()
|
|
271
215
|
}, {
|
|
@@ -273,16 +217,15 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
273
217
|
value: function createModelData(options) {
|
|
274
218
|
if (options) {
|
|
275
219
|
var _ref6 = this.layer.getLayerConfig(),
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
220
|
+
oldwidthSegments = _ref6.widthSegments,
|
|
221
|
+
oldheightSegments = _ref6.heightSegments,
|
|
222
|
+
oldwidth = _ref6.width,
|
|
223
|
+
oldheight = _ref6.height;
|
|
281
224
|
var _ref7 = options,
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
225
|
+
widthSegments = _ref7.widthSegments,
|
|
226
|
+
heightSegments = _ref7.heightSegments,
|
|
227
|
+
width = _ref7.width,
|
|
228
|
+
height = _ref7.height;
|
|
286
229
|
this.layer.style({
|
|
287
230
|
widthSegments: widthSegments !== undefined ? widthSegments : oldwidthSegments,
|
|
288
231
|
heightSegments: heightSegments !== undefined ? heightSegments : oldheightSegments,
|
|
@@ -290,7 +233,6 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
290
233
|
height: height !== undefined ? height : oldheight
|
|
291
234
|
});
|
|
292
235
|
}
|
|
293
|
-
|
|
294
236
|
var oldFeatures = this.layer.getEncodedData();
|
|
295
237
|
var res = this.styleAttributeService.createAttributesAndIndices(oldFeatures, this.planeGeometryTriangulation);
|
|
296
238
|
return res;
|
|
@@ -299,13 +241,10 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
299
241
|
key: "updateTexture",
|
|
300
242
|
value: function updateTexture(mapTexture) {
|
|
301
243
|
var _this3 = this;
|
|
302
|
-
|
|
303
244
|
var createTexture2D = this.rendererService.createTexture2D;
|
|
304
|
-
|
|
305
245
|
if (mapTexture) {
|
|
306
246
|
var img = new Image();
|
|
307
247
|
img.crossOrigin = 'anonymous';
|
|
308
|
-
|
|
309
248
|
img.onload = function () {
|
|
310
249
|
_this3.texture = createTexture2D({
|
|
311
250
|
data: img,
|
|
@@ -314,10 +253,8 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
314
253
|
wrapS: _l7Core.gl.CLAMP_TO_EDGE,
|
|
315
254
|
wrapT: _l7Core.gl.CLAMP_TO_EDGE
|
|
316
255
|
});
|
|
317
|
-
|
|
318
256
|
_this3.layerService.reRender();
|
|
319
257
|
};
|
|
320
|
-
|
|
321
258
|
img.src = mapTexture;
|
|
322
259
|
} else {
|
|
323
260
|
this.texture = createTexture2D({
|
|
@@ -332,7 +269,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
332
269
|
var canvas = document.createElement('canvas');
|
|
333
270
|
var ctx = canvas.getContext('2d');
|
|
334
271
|
var width = img.width,
|
|
335
|
-
|
|
272
|
+
height = img.height;
|
|
336
273
|
canvas.width = width;
|
|
337
274
|
canvas.height = height;
|
|
338
275
|
ctx.drawImage(img, 0, 0, width, height);
|
|
@@ -351,11 +288,9 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
351
288
|
var gridY1 = gridY + 1;
|
|
352
289
|
var widthStep = imgWidth / gridX;
|
|
353
290
|
var heightStep = imgHeight / gridY;
|
|
354
|
-
|
|
355
291
|
for (var iy = 0; iy < gridY1; iy++) {
|
|
356
292
|
var imgIndexY = Math.floor(iy * heightStep);
|
|
357
293
|
var imgLen = imgIndexY * imgWidth;
|
|
358
|
-
|
|
359
294
|
for (var ix = 0; ix < gridX1; ix++) {
|
|
360
295
|
var imgIndexX = Math.floor(ix * widthStep);
|
|
361
296
|
var imgDataIndex = (imgLen + imgIndexX) * 4;
|
|
@@ -366,7 +301,6 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
366
301
|
positions[z] = rgb2height(_r, _g, _b3);
|
|
367
302
|
}
|
|
368
303
|
}
|
|
369
|
-
|
|
370
304
|
var oldFeatures = this.layer.getEncodedData();
|
|
371
305
|
var modelData = this.styleAttributeService.createAttributesAndIndices(oldFeatures, function () {
|
|
372
306
|
return {
|
|
@@ -378,26 +312,24 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
378
312
|
this.layer.updateModelData(modelData);
|
|
379
313
|
this.layerService.throttleRenderLayers();
|
|
380
314
|
}
|
|
315
|
+
|
|
381
316
|
/**
|
|
382
317
|
* load terrain texture & offset attribute z
|
|
383
318
|
*/
|
|
384
|
-
|
|
385
319
|
}, {
|
|
386
320
|
key: "loadTerrainTexture",
|
|
387
321
|
value: function loadTerrainTexture(positions, indices) {
|
|
388
322
|
var _this4 = this;
|
|
389
|
-
|
|
390
323
|
var _ref8 = this.layer.getLayerConfig(),
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
324
|
+
_ref8$widthSegments = _ref8.widthSegments,
|
|
325
|
+
widthSegments = _ref8$widthSegments === void 0 ? 1 : _ref8$widthSegments,
|
|
326
|
+
_ref8$heightSegments = _ref8.heightSegments,
|
|
327
|
+
heightSegments = _ref8$heightSegments === void 0 ? 1 : _ref8$heightSegments,
|
|
328
|
+
terrainTexture = _ref8.terrainTexture,
|
|
329
|
+
_ref8$rgb2height = _ref8.rgb2height,
|
|
330
|
+
rgb2height = _ref8$rgb2height === void 0 ? function (r, g, b) {
|
|
331
|
+
return r + g + b;
|
|
332
|
+
} : _ref8$rgb2height;
|
|
401
333
|
if (this.terrainImage) {
|
|
402
334
|
// 若当前已经存在 image,直接进行偏移计算(LOD)
|
|
403
335
|
if (this.terrainImageLoaded) {
|
|
@@ -412,17 +344,14 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
412
344
|
var terrainImage = new Image();
|
|
413
345
|
this.terrainImage = terrainImage;
|
|
414
346
|
terrainImage.crossOrigin = 'anonymous';
|
|
415
|
-
|
|
416
347
|
terrainImage.onload = function () {
|
|
417
|
-
_this4.terrainImageLoaded = true;
|
|
418
|
-
|
|
348
|
+
_this4.terrainImageLoaded = true;
|
|
349
|
+
// 图片加载完,触发事件,可以进行地形图的顶点计算存储
|
|
419
350
|
setTimeout(function () {
|
|
420
351
|
return _this4.layer.emit('terrainImageLoaded', null);
|
|
421
352
|
});
|
|
422
|
-
|
|
423
353
|
_this4.translateVertex(positions, indices, terrainImage, widthSegments, heightSegments, rgb2height);
|
|
424
354
|
};
|
|
425
|
-
|
|
426
355
|
terrainImage.src = terrainTexture;
|
|
427
356
|
}
|
|
428
357
|
}
|
|
@@ -451,5 +380,4 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
451
380
|
}]);
|
|
452
381
|
return PlaneModel;
|
|
453
382
|
}(_BaseModel2.default);
|
|
454
|
-
|
|
455
383
|
exports.default = PlaneModel;
|