@antv/l7-layers 2.15.2 → 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.js +197 -299
- 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 +197 -307
- 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,60 +1,40 @@
|
|
|
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
15
|
var _l7Core = require("@antv/l7-core");
|
|
25
|
-
|
|
26
16
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
27
|
-
|
|
28
17
|
var _triangulation = require("../../core/triangulation");
|
|
29
|
-
|
|
30
18
|
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); }; }
|
|
31
|
-
|
|
32
19
|
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; } }
|
|
33
|
-
|
|
34
20
|
/* babel-plugin-inline-import '../shaders/hexagon_3d_vert.glsl' */
|
|
35
21
|
var heatmapGrid3dVert = "precision highp float;\n// \u591A\u8FB9\u5F62\u9876\u70B9\u5750\u6807\nattribute vec3 a_Position;\n// \u591A\u8FB9\u5F62\u7ECF\u7EAC\u5EA6\u5750\u6807\nattribute vec3 a_Pos;\n\nattribute vec3 a_Normal;\nattribute float a_Size;\nattribute vec4 a_Color;\nuniform vec2 u_radius;\nuniform float u_coverage: 0.9;\nuniform float u_angle: 0;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\n\nuniform vec2 u_SceneCenterMKT;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\n\nvoid main() {\n mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));\n vec2 offset =(vec2(a_Position.xy * u_radius * rotationMatrix * u_coverage));\n\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n \n vec2 lnglat = unProjectFlat(a_Pos.xy + offset); // \u7ECF\u7EAC\u5EA6\n vec2 customLnglat = customProject(lnglat) - u_SceneCenterMKT; // \u5C06\u7ECF\u7EAC\u5EA6\u8F6C\u6362\u4E3A\u9AD8\u5FB72.0\u9700\u8981\u7684\u5E73\u9762\u5750\u6807\n vec4 project_pos = project_position(vec4(customLnglat, a_Position.z * a_Size, 1.0));\n\n float lightWeight = calc_lighting(project_pos);\n v_color =vec4(a_Color.rgb*lightWeight, a_Color.w);\n \n gl_Position = u_Mvp * vec4(customLnglat , a_Position.z * a_Size, 1.0);\n } else {\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset); // \u5B9E\u9645\u7684\u7ECF\u7EAC\u5EA6\n vec4 project_pos = project_position(vec4(lnglat, a_Position.z * a_Size, 1.0));\n \n float lightWeight = calc_lighting(project_pos);\n v_color =vec4(a_Color.rgb*lightWeight, a_Color.w);\n \n gl_Position = project_common_position_to_clipspace(project_pos);\n }\n\n\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
36
|
-
|
|
37
22
|
/* babel-plugin-inline-import '../shaders/hexagon_frag.glsl' */
|
|
38
23
|
var heatmapGridFrag = "precision highp float;\nvarying vec4 v_color;\nuniform float u_opacity: 1;\n\n#pragma include \"picking\"\n\nvoid main() {\n gl_FragColor = v_color;\n gl_FragColor.a *= u_opacity;\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
39
|
-
|
|
40
24
|
var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
41
25
|
(0, _inherits2.default)(Grid3DModel, _BaseModel);
|
|
42
|
-
|
|
43
26
|
var _super = _createSuper(Grid3DModel);
|
|
44
|
-
|
|
45
27
|
function Grid3DModel() {
|
|
46
28
|
(0, _classCallCheck2.default)(this, Grid3DModel);
|
|
47
29
|
return _super.apply(this, arguments);
|
|
48
30
|
}
|
|
49
|
-
|
|
50
31
|
(0, _createClass2.default)(Grid3DModel, [{
|
|
51
32
|
key: "getUninforms",
|
|
52
33
|
value: function getUninforms() {
|
|
53
34
|
var _ref = this.layer.getLayerConfig(),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
35
|
+
opacity = _ref.opacity,
|
|
36
|
+
coverage = _ref.coverage,
|
|
37
|
+
angle = _ref.angle;
|
|
58
38
|
return {
|
|
59
39
|
u_opacity: opacity || 1.0,
|
|
60
40
|
u_coverage: coverage || 1.0,
|
|
@@ -67,23 +47,18 @@ var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
67
47
|
value: function () {
|
|
68
48
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
69
49
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
70
|
-
while (1) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
case "end":
|
|
77
|
-
return _context.stop();
|
|
78
|
-
}
|
|
50
|
+
while (1) switch (_context.prev = _context.next) {
|
|
51
|
+
case 0:
|
|
52
|
+
return _context.abrupt("return", this.buildModels());
|
|
53
|
+
case 1:
|
|
54
|
+
case "end":
|
|
55
|
+
return _context.stop();
|
|
79
56
|
}
|
|
80
57
|
}, _callee, this);
|
|
81
58
|
}));
|
|
82
|
-
|
|
83
59
|
function initModels() {
|
|
84
60
|
return _initModels.apply(this, arguments);
|
|
85
61
|
}
|
|
86
|
-
|
|
87
62
|
return initModels;
|
|
88
63
|
}()
|
|
89
64
|
}, {
|
|
@@ -92,37 +67,31 @@ var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
92
67
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
93
68
|
var model;
|
|
94
69
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
95
|
-
while (1) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
case 4:
|
|
115
|
-
case "end":
|
|
116
|
-
return _context2.stop();
|
|
117
|
-
}
|
|
70
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
71
|
+
case 0:
|
|
72
|
+
_context2.next = 2;
|
|
73
|
+
return this.layer.buildLayerModel({
|
|
74
|
+
moduleName: 'heatmapGrid3d',
|
|
75
|
+
vertexShader: heatmapGrid3dVert,
|
|
76
|
+
fragmentShader: heatmapGridFrag,
|
|
77
|
+
triangulation: _triangulation.PointExtrudeTriangulation,
|
|
78
|
+
primitive: _l7Core.gl.TRIANGLES,
|
|
79
|
+
depth: {
|
|
80
|
+
enable: true
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
case 2:
|
|
84
|
+
model = _context2.sent;
|
|
85
|
+
return _context2.abrupt("return", [model]);
|
|
86
|
+
case 4:
|
|
87
|
+
case "end":
|
|
88
|
+
return _context2.stop();
|
|
118
89
|
}
|
|
119
90
|
}, _callee2, this);
|
|
120
91
|
}));
|
|
121
|
-
|
|
122
92
|
function buildModels() {
|
|
123
93
|
return _buildModels.apply(this, arguments);
|
|
124
94
|
}
|
|
125
|
-
|
|
126
95
|
return buildModels;
|
|
127
96
|
}()
|
|
128
97
|
}, {
|
|
@@ -183,5 +152,4 @@ var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
183
152
|
}]);
|
|
184
153
|
return Grid3DModel;
|
|
185
154
|
}(_BaseModel2.default);
|
|
186
|
-
|
|
187
155
|
exports.default = Grid3DModel;
|
|
@@ -1,87 +1,56 @@
|
|
|
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
|
-
|
|
16
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
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 _glMatrix = require("gl-matrix");
|
|
33
|
-
|
|
34
20
|
var _inversify = require("inversify");
|
|
35
|
-
|
|
36
21
|
require("reflect-metadata");
|
|
37
|
-
|
|
38
22
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
39
|
-
|
|
40
23
|
var _triangulation = require("../../core/triangulation");
|
|
41
|
-
|
|
42
24
|
var _triangulation2 = require("../triangulation");
|
|
43
|
-
|
|
44
25
|
var _dec, _class;
|
|
45
|
-
|
|
46
26
|
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); }; }
|
|
47
|
-
|
|
48
27
|
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; } }
|
|
49
|
-
|
|
50
28
|
/* babel-plugin-inline-import '../shaders/heatmap_3d_frag.glsl' */
|
|
51
29
|
var heatmap3DFrag = "uniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_opacity;\nvarying vec2 v_texCoord;\nvarying float v_intensity;\n\nvoid main(){\n \n float intensity = texture2D(u_texture, v_texCoord).r;\n vec4 color = texture2D(u_colorTexture,vec2(intensity, 0));\n gl_FragColor = color;\n // gl_FragColor.a = color.a * smoothstep(0.1,0.2,intensity)* u_opacity;\n gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;\n}\n";
|
|
52
|
-
|
|
53
30
|
/* babel-plugin-inline-import '../shaders/heatmap_3d_vert.glsl' */
|
|
54
31
|
var heatmap3DVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_InverseViewProjectionMatrix;\nuniform mat4 u_ViewProjectionMatrixUncentered;\nvarying float v_intensity;\n\n\nvec2 toBezier(float t, vec2 P0, vec2 P1, vec2 P2, vec2 P3) {\n float t2 = t * t;\n float one_minus_t = 1.0 - t;\n float one_minus_t2 = one_minus_t * one_minus_t;\n return (P0 * one_minus_t2 * one_minus_t + P1 * 3.0 * t * one_minus_t2 + P2 * 3.0 * t2 * one_minus_t + P3 * t2 * t);\n}\nvec2 toBezier(float t, vec4 p){\n return toBezier(t, vec2(0.0, 0.0), vec2(p.x, p.y), vec2(p.z, p.w), vec2(1.0, 1.0));\n}\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n\n vec2 pos = a_Uv * vec2(2.0) - vec2(1.0); // \u5C06\u539F\u672C 0 -> 1 \u7684 uv \u8F6C\u6362\u4E3A -1 -> 1 \u7684\u6807\u51C6\u5750\u6807\u7A7A\u95F4\uFF08NDC\uFF09\n\n vec4 p1 = vec4(pos, 0.0, 1.0); // x/y \u5E73\u9762\u4E0A\u7684\u70B9\uFF08z == 0\uFF09\u53EF\u4EE5\u8BA4\u4E3A\u662F\u4E09\u7EF4\u4E0A\u7684\u70B9\u88AB\u6295\u5F71\u5230\u5E73\u9762\u540E\u7684\u70B9\n\tvec4 p2 = vec4(pos, 1.0, 1.0); // \u5E73\u884C\u4E8Ex/y\u5E73\u9762\u3001z==1 \u7684\u5E73\u9762\u4E0A\u7684\u70B9\n\n\tvec4 inverseP1 = u_InverseViewProjectionMatrix * p1; // \u6839\u636E\u89C6\u56FE\u6295\u5F71\u77E9\u9635\u7684\u9006\u77E9\u9635\u5E73\u9762\u4E0A\u7684\u53CD\u7B97\u51FA\u4E09\u7EF4\u7A7A\u95F4\u4E2D\u7684\u70B9\uFF08p1\u5E73\u9762\u4E0A\u7684\u70B9\uFF09\n\tvec4 inverseP2 = u_InverseViewProjectionMatrix * p2;\n\n inverseP1 = inverseP1 / inverseP1.w; // \u5F52\u4E00\u5316\u64CD\u4F5C\uFF08\u5F52\u4E00\u5316\u540E\u4E3A\u4E16\u754C\u5750\u6807\uFF09\n\tinverseP2 = inverseP2 / inverseP2.w;\n\n\tfloat zPos = (0.0 - inverseP1.z) / (inverseP2.z - inverseP1.z); // ??\n\tvec4 position = inverseP1 + zPos * (inverseP2 - inverseP1);\n\n vec4 b= vec4(0.5000, 0.0, 1.0, 0.5000);\n float fh;\n\n v_intensity = texture2D(u_texture, v_texCoord).r;\n fh = toBezier(v_intensity, b).y;\n gl_Position = u_ViewProjectionMatrixUncentered * vec4(position.xy, fh * project_pixel(50.), 1.0);\n \n}\n"; // 绘制平面热力的 shader
|
|
55
|
-
|
|
56
32
|
/* babel-plugin-inline-import '../shaders/heatmap_frag.glsl' */
|
|
57
33
|
var heatmapColorFrag = "uniform sampler2D u_texture; // \u70ED\u529B\u5F3A\u5EA6\u56FE\nuniform sampler2D u_colorTexture; // \u6839\u636E\u5F3A\u5EA6\u5206\u5E03\u7684\u8272\u5E26\nuniform float u_opacity;\nvarying vec2 v_texCoord;\n\nuniform vec2 u_ViewportSize;\n\nfloat getBlurIndusty() {\n float vW = 2.0/u_ViewportSize.x;\n float vH = 2.0/u_ViewportSize.y;\n vec2 vUv = v_texCoord;\n float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;\n float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n\n float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;\n float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;\n float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;\n\n float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;\n float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;\n float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;\n\n return(\n i11 + \n i12 + \n i13 + \n i21 + \n i21 + \n i22 + \n i23 + \n i31 + \n i32 + \n i33\n )/9.0;\n}\n\n\nvoid main(){\n // float intensity = texture2D(u_texture, v_texCoord).r;\n float intensity = getBlurIndusty();\n vec4 color = texture2D(u_colorTexture, vec2(intensity, 0.0));\n\n gl_FragColor =color;\n gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;\n\n}\n";
|
|
58
|
-
|
|
59
34
|
/* babel-plugin-inline-import '../shaders/heatmap_vert.glsl' */
|
|
60
35
|
var heatmapColorVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\nvoid main() {\n v_texCoord = a_Uv;\n\n gl_Position = vec4(a_Position.xy, 0, 1.);\n}\n";
|
|
61
|
-
|
|
62
36
|
/* babel-plugin-inline-import '../shaders/heatmap_framebuffer_frag.glsl' */
|
|
63
37
|
var heatmapFramebufferFrag = "precision highp float;\nuniform float u_intensity;\nvarying float v_weight;\nvarying vec2 v_extrude;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(){\n float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\n float val = v_weight * u_intensity * GAUSS_COEF * exp(d);\n gl_FragColor = vec4(val, 1., 1., 1.);\n}\n";
|
|
64
|
-
|
|
65
38
|
/* babel-plugin-inline-import '../shaders/heatmap_framebuffer_vert.glsl' */
|
|
66
39
|
var heatmapFramebufferVert = "precision highp float;\nattribute vec3 a_Position;\nattribute float a_Size;\nattribute vec2 a_Dir;\nuniform float u_intensity;\nuniform float u_radius;\nvarying vec2 v_extrude;\nvarying float v_weight;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\n#define GAUSS_COEF 0.3989422804014327\n\n#pragma include \"projection\"\n\nvoid main(){\n v_weight = a_Size;\n float ZERO = 1.0 / 255.0 / 16.0;\n float extrude_x = a_Dir.x * 2.0 -1.0;\n float extrude_y = a_Dir.y * 2.0 -1.0;\n vec2 extrude_dir = normalize(vec2(extrude_x,extrude_y));\n float S = sqrt(-2.0 * log(ZERO / a_Size / u_intensity / GAUSS_COEF)) / 2.5;\n v_extrude = extrude_dir * S;\n\n vec2 offset = project_pixel(v_extrude * u_radius);\n vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy + offset, 0.0, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n }\n}\n";
|
|
67
40
|
var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function (_BaseModel) {
|
|
68
41
|
(0, _inherits2.default)(HeatMapModel, _BaseModel);
|
|
69
|
-
|
|
70
42
|
var _super = _createSuper(HeatMapModel);
|
|
71
|
-
|
|
72
43
|
function HeatMapModel() {
|
|
73
44
|
(0, _classCallCheck2.default)(this, HeatMapModel);
|
|
74
45
|
return _super.apply(this, arguments);
|
|
75
46
|
}
|
|
76
|
-
|
|
77
47
|
(0, _createClass2.default)(HeatMapModel, [{
|
|
78
48
|
key: "render",
|
|
79
49
|
value: function render(options) {
|
|
80
50
|
var _this = this;
|
|
81
|
-
|
|
82
51
|
var _this$rendererService = this.rendererService,
|
|
83
|
-
|
|
84
|
-
|
|
52
|
+
clear = _this$rendererService.clear,
|
|
53
|
+
useFramebuffer = _this$rendererService.useFramebuffer;
|
|
85
54
|
useFramebuffer(this.heatmapFramerBuffer, function () {
|
|
86
55
|
clear({
|
|
87
56
|
color: [0, 0, 0, 0],
|
|
@@ -89,14 +58,11 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
89
58
|
stencil: 0,
|
|
90
59
|
framebuffer: _this.heatmapFramerBuffer
|
|
91
60
|
});
|
|
92
|
-
|
|
93
61
|
_this.drawIntensityMode();
|
|
94
62
|
});
|
|
95
|
-
|
|
96
63
|
if (this.layer.styleNeedUpdate) {
|
|
97
64
|
this.updateColorTexture();
|
|
98
65
|
}
|
|
99
|
-
|
|
100
66
|
this.shapeType === 'heatmap' ? this.drawColorMode(options) : this.draw3DHeatMap(options);
|
|
101
67
|
}
|
|
102
68
|
}, {
|
|
@@ -109,55 +75,45 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
109
75
|
value: function () {
|
|
110
76
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
111
77
|
var _shapeAttr$scale;
|
|
112
|
-
|
|
113
78
|
var _this$rendererService2, createFramebuffer, getViewportSize, createTexture2D, shapeAttr, shapeType, _getViewportSize, width, height;
|
|
114
|
-
|
|
115
79
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
116
|
-
while (1) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return _context.abrupt("return", [this.intensityModel, this.colorModel]);
|
|
148
|
-
|
|
149
|
-
case 12:
|
|
150
|
-
case "end":
|
|
151
|
-
return _context.stop();
|
|
152
|
-
}
|
|
80
|
+
while (1) switch (_context.prev = _context.next) {
|
|
81
|
+
case 0:
|
|
82
|
+
_this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D;
|
|
83
|
+
shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
|
|
84
|
+
shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
|
|
85
|
+
this.shapeType = shapeType;
|
|
86
|
+
// 生成热力图密度图
|
|
87
|
+
_context.next = 6;
|
|
88
|
+
return this.buildHeatMapIntensity();
|
|
89
|
+
case 6:
|
|
90
|
+
this.intensityModel = _context.sent;
|
|
91
|
+
// 渲染到屏幕
|
|
92
|
+
this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() // 2D
|
|
93
|
+
: this.build3dHeatMap(); // 3D
|
|
94
|
+
_getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height; // 初始化密度图纹理
|
|
95
|
+
this.heatmapFramerBuffer = createFramebuffer({
|
|
96
|
+
color: createTexture2D({
|
|
97
|
+
width: Math.floor(width / 4),
|
|
98
|
+
height: Math.floor(height / 4),
|
|
99
|
+
wrapS: _l7Core.gl.CLAMP_TO_EDGE,
|
|
100
|
+
wrapT: _l7Core.gl.CLAMP_TO_EDGE,
|
|
101
|
+
min: _l7Core.gl.LINEAR,
|
|
102
|
+
mag: _l7Core.gl.LINEAR
|
|
103
|
+
}),
|
|
104
|
+
depth: false
|
|
105
|
+
});
|
|
106
|
+
this.updateColorTexture();
|
|
107
|
+
return _context.abrupt("return", [this.intensityModel, this.colorModel]);
|
|
108
|
+
case 12:
|
|
109
|
+
case "end":
|
|
110
|
+
return _context.stop();
|
|
153
111
|
}
|
|
154
112
|
}, _callee, this);
|
|
155
113
|
}));
|
|
156
|
-
|
|
157
114
|
function initModels() {
|
|
158
115
|
return _initModels.apply(this, arguments);
|
|
159
116
|
}
|
|
160
|
-
|
|
161
117
|
return initModels;
|
|
162
118
|
}()
|
|
163
119
|
}, {
|
|
@@ -165,23 +121,18 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
165
121
|
value: function () {
|
|
166
122
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
167
123
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
168
|
-
while (1) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
case "end":
|
|
175
|
-
return _context2.stop();
|
|
176
|
-
}
|
|
124
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
125
|
+
case 0:
|
|
126
|
+
return _context2.abrupt("return", this.initModels());
|
|
127
|
+
case 1:
|
|
128
|
+
case "end":
|
|
129
|
+
return _context2.stop();
|
|
177
130
|
}
|
|
178
131
|
}, _callee2, this);
|
|
179
132
|
}));
|
|
180
|
-
|
|
181
133
|
function buildModels() {
|
|
182
134
|
return _buildModels.apply(this, arguments);
|
|
183
135
|
}
|
|
184
|
-
|
|
185
136
|
return buildModels;
|
|
186
137
|
}()
|
|
187
138
|
}, {
|
|
@@ -217,7 +168,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
217
168
|
size: 1,
|
|
218
169
|
update: function update(feature) {
|
|
219
170
|
var _feature$size = feature.size,
|
|
220
|
-
|
|
171
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
221
172
|
return [size];
|
|
222
173
|
}
|
|
223
174
|
}
|
|
@@ -229,41 +180,35 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
229
180
|
var _buildHeatMapIntensity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
230
181
|
var model;
|
|
231
182
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
232
|
-
while (1) {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
case 5:
|
|
256
|
-
case "end":
|
|
257
|
-
return _context3.stop();
|
|
258
|
-
}
|
|
183
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
184
|
+
case 0:
|
|
185
|
+
this.layer.triangulation = _triangulation.HeatmapTriangulation;
|
|
186
|
+
_context3.next = 3;
|
|
187
|
+
return this.layer.buildLayerModel({
|
|
188
|
+
moduleName: 'heatmapIntensity',
|
|
189
|
+
vertexShader: heatmapFramebufferVert,
|
|
190
|
+
fragmentShader: heatmapFramebufferFrag,
|
|
191
|
+
triangulation: _triangulation.HeatmapTriangulation,
|
|
192
|
+
depth: {
|
|
193
|
+
enable: false
|
|
194
|
+
},
|
|
195
|
+
cull: {
|
|
196
|
+
enable: true,
|
|
197
|
+
face: (0, _l7Utils.getCullFace)(this.mapService.version)
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
case 3:
|
|
201
|
+
model = _context3.sent;
|
|
202
|
+
return _context3.abrupt("return", model);
|
|
203
|
+
case 5:
|
|
204
|
+
case "end":
|
|
205
|
+
return _context3.stop();
|
|
259
206
|
}
|
|
260
207
|
}, _callee3, this);
|
|
261
208
|
}));
|
|
262
|
-
|
|
263
209
|
function buildHeatMapIntensity() {
|
|
264
210
|
return _buildHeatMapIntensity.apply(this, arguments);
|
|
265
211
|
}
|
|
266
|
-
|
|
267
212
|
return buildHeatMapIntensity;
|
|
268
213
|
}()
|
|
269
214
|
}, {
|
|
@@ -273,17 +218,15 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
273
218
|
vs: heatmapColorVert,
|
|
274
219
|
fs: heatmapColorFrag
|
|
275
220
|
});
|
|
276
|
-
|
|
277
221
|
var _this$shaderModuleSer = this.shaderModuleService.getModule('heatmapColor'),
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
222
|
+
vs = _this$shaderModuleSer.vs,
|
|
223
|
+
fs = _this$shaderModuleSer.fs,
|
|
224
|
+
uniforms = _this$shaderModuleSer.uniforms;
|
|
282
225
|
var _this$rendererService3 = this.rendererService,
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
226
|
+
createAttribute = _this$rendererService3.createAttribute,
|
|
227
|
+
createElements = _this$rendererService3.createElements,
|
|
228
|
+
createBuffer = _this$rendererService3.createBuffer,
|
|
229
|
+
createModel = _this$rendererService3.createModel;
|
|
287
230
|
return createModel({
|
|
288
231
|
vs: vs,
|
|
289
232
|
fs: fs,
|
|
@@ -318,17 +261,15 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
318
261
|
key: "drawIntensityMode",
|
|
319
262
|
value: function drawIntensityMode() {
|
|
320
263
|
var _this$intensityModel;
|
|
321
|
-
|
|
322
264
|
var _ref = this.layer.getLayerConfig(),
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
265
|
+
opacity = _ref.opacity,
|
|
266
|
+
_ref$intensity = _ref.intensity,
|
|
267
|
+
intensity = _ref$intensity === void 0 ? 10 : _ref$intensity,
|
|
268
|
+
_ref$radius = _ref.radius,
|
|
269
|
+
radius = _ref$radius === void 0 ? 5 : _ref$radius;
|
|
329
270
|
this.layerService.beforeRenderData(this.layer);
|
|
330
|
-
this.layer.hooks.beforeRender.call();
|
|
331
|
-
|
|
271
|
+
this.layer.hooks.beforeRender.call();
|
|
272
|
+
// 绘制密度图
|
|
332
273
|
(_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
|
|
333
274
|
uniforms: {
|
|
334
275
|
u_opacity: opacity || 1.0,
|
|
@@ -361,10 +302,8 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
361
302
|
key: "drawColorMode",
|
|
362
303
|
value: function drawColorMode(options) {
|
|
363
304
|
var _this$colorModel;
|
|
364
|
-
|
|
365
305
|
var _ref2 = this.layer.getLayerConfig(),
|
|
366
|
-
|
|
367
|
-
|
|
306
|
+
opacity = _ref2.opacity;
|
|
368
307
|
(_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
|
|
369
308
|
uniforms: {
|
|
370
309
|
u_opacity: opacity || 1.0,
|
|
@@ -379,21 +318,18 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
379
318
|
key: "draw3DHeatMap",
|
|
380
319
|
value: function draw3DHeatMap(options) {
|
|
381
320
|
var _this$colorModel2;
|
|
382
|
-
|
|
383
321
|
var _ref3 = this.layer.getLayerConfig(),
|
|
384
|
-
|
|
322
|
+
opacity = _ref3.opacity;
|
|
323
|
+
|
|
324
|
+
// const invert = mat4.invert(
|
|
385
325
|
// mat4.create(),
|
|
386
326
|
// mat4.fromValues(
|
|
387
327
|
// // @ts-ignore
|
|
388
328
|
// ...this.cameraService.getViewProjectionMatrixUncentered(),
|
|
389
329
|
// ),
|
|
390
330
|
// ) as mat4;
|
|
391
|
-
|
|
392
|
-
|
|
393
331
|
var invert = _glMatrix.mat4.create();
|
|
394
|
-
|
|
395
332
|
_glMatrix.mat4.invert(invert, this.cameraService.getViewProjectionMatrixUncentered());
|
|
396
|
-
|
|
397
333
|
(_this$colorModel2 = this.colorModel) === null || _this$colorModel2 === void 0 ? void 0 : _this$colorModel2.draw({
|
|
398
334
|
uniforms: {
|
|
399
335
|
u_opacity: opacity || 1.0,
|
|
@@ -418,27 +354,23 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
418
354
|
key: "build3dHeatMap",
|
|
419
355
|
value: function build3dHeatMap() {
|
|
420
356
|
var getViewportSize = this.rendererService.getViewportSize;
|
|
421
|
-
|
|
422
357
|
var _getViewportSize2 = getViewportSize(),
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
358
|
+
width = _getViewportSize2.width,
|
|
359
|
+
height = _getViewportSize2.height;
|
|
426
360
|
var triangulation = (0, _triangulation2.heatMap3DTriangulation)(width / 4.0, height / 4.0);
|
|
427
361
|
this.shaderModuleService.registerModule('heatmap3dColor', {
|
|
428
362
|
vs: heatmap3DVert,
|
|
429
363
|
fs: heatmap3DFrag
|
|
430
364
|
});
|
|
431
|
-
|
|
432
365
|
var _this$shaderModuleSer2 = this.shaderModuleService.getModule('heatmap3dColor'),
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
366
|
+
vs = _this$shaderModuleSer2.vs,
|
|
367
|
+
fs = _this$shaderModuleSer2.fs,
|
|
368
|
+
uniforms = _this$shaderModuleSer2.uniforms;
|
|
437
369
|
var _this$rendererService4 = this.rendererService,
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
370
|
+
createAttribute = _this$rendererService4.createAttribute,
|
|
371
|
+
createElements = _this$rendererService4.createElements,
|
|
372
|
+
createBuffer = _this$rendererService4.createBuffer,
|
|
373
|
+
createModel = _this$rendererService4.createModel;
|
|
442
374
|
return createModel({
|
|
443
375
|
vs: vs,
|
|
444
376
|
fs: fs,
|
|
@@ -488,14 +420,11 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
488
420
|
key: "updateColorTexture",
|
|
489
421
|
value: function updateColorTexture() {
|
|
490
422
|
var createTexture2D = this.rendererService.createTexture2D;
|
|
491
|
-
|
|
492
423
|
if (this.texture) {
|
|
493
424
|
this.texture.destroy();
|
|
494
425
|
}
|
|
495
|
-
|
|
496
426
|
var _ref4 = this.layer.getLayerConfig(),
|
|
497
|
-
|
|
498
|
-
|
|
427
|
+
rampColors = _ref4.rampColors;
|
|
499
428
|
var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
|
|
500
429
|
this.colorTexture = createTexture2D({
|
|
501
430
|
data: new Uint8Array(imageData.data),
|