@antv/l7-layers 2.16.0 → 2.16.1
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 +31 -9
- package/es/Geometry/models/billboard.js +89 -51
- package/es/Geometry/models/plane.js +143 -81
- package/es/Geometry/models/sprite.js +118 -60
- package/es/canvas/index.js +33 -10
- package/es/canvas/models/canvas.js +97 -41
- package/es/citybuliding/building.js +27 -8
- package/es/citybuliding/models/build.js +82 -57
- package/es/core/BaseLayer.js +485 -321
- package/es/core/BaseModel.js +126 -97
- package/es/core/LayerPickService.js +32 -21
- package/es/core/TextureService.js +13 -0
- package/es/core/interface.js +24 -17
- package/es/core/shape/Path.js +20 -13
- package/es/core/shape/extrude.js +31 -10
- package/es/core/triangulation.js +114 -54
- package/es/earth/index.js +33 -9
- package/es/earth/models/atmosphere.js +54 -30
- package/es/earth/models/base.js +85 -47
- package/es/earth/models/bloomsphere.js +54 -30
- package/es/earth/utils.js +13 -9
- package/es/heatmap/index.js +40 -10
- package/es/heatmap/models/grid.js +52 -28
- package/es/heatmap/models/grid3d.js +52 -28
- package/es/heatmap/models/heatmap.js +146 -91
- package/es/heatmap/models/hexagon.js +52 -28
- package/es/heatmap/triangulation.js +4 -0
- package/es/image/index.js +28 -9
- package/es/image/models/image.js +100 -66
- package/es/index.js +17 -9
- package/es/line/index.js +34 -9
- package/es/line/models/arc.js +118 -66
- package/es/line/models/arc_3d.js +108 -60
- package/es/line/models/earthArc_3d.js +111 -63
- package/es/line/models/great_circle.js +100 -56
- package/es/line/models/half.js +77 -46
- package/es/line/models/line.js +148 -94
- package/es/line/models/linearline.js +80 -45
- package/es/line/models/simpleLine.js +74 -41
- package/es/line/models/wall.js +92 -52
- package/es/mask/index.js +28 -9
- package/es/mask/models/fill.js +54 -29
- package/es/plugins/DataMappingPlugin.js +117 -80
- package/es/plugins/DataSourcePlugin.js +68 -45
- package/es/plugins/FeatureScalePlugin.js +122 -67
- package/es/plugins/LayerAnimateStylePlugin.js +5 -0
- package/es/plugins/LayerMaskPlugin.js +11 -3
- package/es/plugins/LayerModelPlugin.js +104 -67
- package/es/plugins/LayerStylePlugin.js +9 -3
- package/es/plugins/LightingPlugin.js +18 -12
- package/es/plugins/MultiPassRendererPlugin.js +16 -11
- package/es/plugins/PixelPickingPlugin.js +21 -12
- package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
- package/es/plugins/ShaderUniformPlugin.js +27 -13
- package/es/plugins/UpdateModelPlugin.js +5 -0
- package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
- package/es/point/index.js +77 -26
- package/es/point/models/earthExtrude.js +102 -61
- package/es/point/models/earthFill.js +87 -57
- package/es/point/models/extrude.js +101 -60
- package/es/point/models/fill.js +100 -70
- package/es/point/models/fillmage.js +107 -63
- package/es/point/models/image.js +88 -48
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +54 -30
- package/es/point/models/radar.js +64 -40
- package/es/point/models/simplePoint.js +69 -41
- package/es/point/models/text.js +301 -198
- package/es/point/shape/extrude.js +13 -4
- package/es/polygon/index.js +40 -11
- package/es/polygon/models/extrude.js +92 -48
- package/es/polygon/models/fill.js +88 -54
- package/es/polygon/models/index.js +2 -3
- package/es/polygon/models/ocean.js +76 -42
- package/es/polygon/models/water.js +71 -37
- package/es/raster/buffers/triangulation.js +4 -2
- package/es/raster/index.js +32 -9
- package/es/raster/models/raster.js +116 -80
- package/es/raster/models/rasterRgb.js +127 -84
- package/es/raster/models/rasterTerrainRgb.js +84 -56
- package/es/tile/interaction/getRasterData.js +20 -14
- package/es/tile/interaction/utils.js +9 -7
- package/es/tile/manager/base.js +96 -63
- package/es/tile/service/TileLayerService.js +55 -33
- package/es/tile/service/TilePickService.js +40 -26
- package/es/tile/service/TileSourceService.js +7 -3
- package/es/tile/tileFactory/DebugTile.js +46 -29
- package/es/tile/tileFactory/ImageTile.js +38 -20
- package/es/tile/tileFactory/MaskTile.js +43 -22
- package/es/tile/tileFactory/RasterRGBTile.js +42 -22
- package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
- package/es/tile/tileFactory/RasterTile.js +53 -30
- package/es/tile/tileFactory/Tile.js +97 -63
- package/es/tile/tileFactory/VectorTile.js +68 -41
- package/es/tile/tileFactory/index.js +11 -0
- package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
- package/es/tile/tileFactory/util.js +3 -0
- package/es/tile/tileLayer/BaseLayer.js +146 -105
- package/es/tile/utils.js +1 -1
- package/es/utils/blend.js +2 -0
- package/es/utils/collision-index.js +16 -9
- package/es/utils/dataMappingStyle.js +18 -8
- package/es/utils/extrude_polyline.js +149 -101
- package/es/utils/grid-index.js +27 -2
- package/es/utils/identityScale.js +8 -0
- package/es/utils/layerData.js +44 -30
- package/es/utils/multiPassRender.js +13 -11
- package/es/utils/polylineNormal.js +37 -31
- package/es/utils/simpleLine.js +16 -2
- package/es/utils/stencil.js +3 -2
- package/es/utils/symbol-layout.js +53 -27
- package/es/wind/index.js +29 -9
- package/es/wind/models/utils.js +51 -26
- package/es/wind/models/wind.js +147 -101
- package/es/wind/models/windRender.js +66 -53
- package/lib/Geometry/index.js +38 -9
- package/lib/Geometry/models/billboard.js +97 -51
- package/lib/Geometry/models/index.js +5 -0
- package/lib/Geometry/models/plane.js +151 -79
- package/lib/Geometry/models/sprite.js +127 -60
- package/lib/canvas/index.js +40 -10
- package/lib/canvas/models/canvas.js +101 -41
- package/lib/canvas/models/index.js +3 -0
- package/lib/citybuliding/building.js +35 -8
- package/lib/citybuliding/models/build.js +92 -57
- package/lib/core/BaseLayer.js +479 -321
- package/lib/core/BaseModel.js +139 -97
- package/lib/core/LayerPickService.js +37 -21
- package/lib/core/TextureService.js +16 -0
- package/lib/core/interface.js +31 -21
- package/lib/core/schema.js +1 -0
- package/lib/core/shape/Path.js +31 -14
- package/lib/core/shape/extrude.js +54 -10
- package/lib/core/triangulation.js +153 -53
- package/lib/earth/index.js +43 -9
- package/lib/earth/models/atmosphere.js +63 -30
- package/lib/earth/models/base.js +90 -47
- package/lib/earth/models/bloomsphere.js +63 -30
- package/lib/earth/utils.js +31 -7
- package/lib/heatmap/index.js +48 -10
- package/lib/heatmap/models/grid.js +60 -28
- package/lib/heatmap/models/grid3d.js +60 -28
- package/lib/heatmap/models/heatmap.js +162 -91
- package/lib/heatmap/models/hexagon.js +60 -28
- package/lib/heatmap/models/index.js +6 -0
- package/lib/heatmap/triangulation.js +5 -0
- package/lib/image/index.js +36 -9
- package/lib/image/models/image.js +109 -66
- package/lib/image/models/index.js +3 -0
- package/lib/index.js +61 -7
- package/lib/line/index.js +40 -9
- package/lib/line/models/arc.js +128 -64
- package/lib/line/models/arc_3d.js +119 -58
- package/lib/line/models/earthArc_3d.js +122 -61
- package/lib/line/models/great_circle.js +111 -56
- package/lib/line/models/half.js +87 -46
- package/lib/line/models/index.js +11 -0
- package/lib/line/models/line.js +156 -92
- package/lib/line/models/linearline.js +92 -45
- package/lib/line/models/simpleLine.js +84 -41
- package/lib/line/models/wall.js +103 -52
- package/lib/mask/index.js +36 -9
- package/lib/mask/models/fill.js +63 -29
- package/lib/mask/models/index.js +3 -0
- package/lib/plugins/DataMappingPlugin.js +128 -80
- package/lib/plugins/DataSourcePlugin.js +76 -45
- package/lib/plugins/FeatureScalePlugin.js +138 -67
- package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
- package/lib/plugins/LayerMaskPlugin.js +17 -4
- package/lib/plugins/LayerModelPlugin.js +113 -68
- package/lib/plugins/LayerStylePlugin.js +14 -4
- package/lib/plugins/LightingPlugin.js +25 -12
- package/lib/plugins/MultiPassRendererPlugin.js +22 -11
- package/lib/plugins/PixelPickingPlugin.js +27 -12
- package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
- package/lib/plugins/ShaderUniformPlugin.js +34 -13
- package/lib/plugins/UpdateModelPlugin.js +10 -1
- package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
- package/lib/point/index.js +83 -26
- package/lib/point/models/earthExtrude.js +113 -61
- package/lib/point/models/earthFill.js +117 -57
- package/lib/point/models/extrude.js +111 -60
- package/lib/point/models/fill.js +109 -68
- package/lib/point/models/fillmage.js +115 -61
- package/lib/point/models/image.js +98 -48
- package/lib/point/models/index.js +12 -1
- package/lib/point/models/normal.js +64 -30
- package/lib/point/models/radar.js +74 -40
- package/lib/point/models/simplePoint.js +79 -41
- package/lib/point/models/text.js +309 -198
- package/lib/point/shape/extrude.js +20 -4
- package/lib/polygon/index.js +48 -11
- package/lib/polygon/models/extrude.js +103 -48
- package/lib/polygon/models/fill.js +98 -54
- package/lib/polygon/models/index.js +14 -2
- package/lib/polygon/models/ocean.js +88 -42
- package/lib/polygon/models/water.js +82 -37
- package/lib/raster/buffers/triangulation.js +7 -3
- package/lib/raster/index.js +40 -9
- package/lib/raster/models/index.js +5 -0
- package/lib/raster/models/raster.js +125 -80
- package/lib/raster/models/rasterRgb.js +139 -84
- package/lib/raster/models/rasterTerrainRgb.js +93 -56
- package/lib/tile/interaction/getRasterData.js +25 -14
- package/lib/tile/interaction/utils.js +19 -7
- package/lib/tile/manager/base.js +104 -63
- package/lib/tile/service/TileLayerService.js +60 -33
- package/lib/tile/service/TilePickService.js +48 -26
- package/lib/tile/service/TileSourceService.js +16 -2
- package/lib/tile/style/utils.js +3 -0
- package/lib/tile/tileFactory/DebugTile.js +54 -29
- package/lib/tile/tileFactory/ImageTile.js +46 -20
- package/lib/tile/tileFactory/MaskTile.js +51 -22
- package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
- package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
- package/lib/tile/tileFactory/RasterTile.js +63 -30
- package/lib/tile/tileFactory/Tile.js +102 -63
- package/lib/tile/tileFactory/VectorTile.js +76 -41
- package/lib/tile/tileFactory/index.js +25 -0
- package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
- package/lib/tile/tileFactory/util.js +9 -0
- package/lib/tile/tileLayer/BaseLayer.js +153 -105
- package/lib/tile/utils.js +5 -1
- package/lib/utils/blend.js +5 -0
- package/lib/utils/collision-index.js +25 -9
- package/lib/utils/dataMappingStyle.js +19 -8
- package/lib/utils/extrude_polyline.js +181 -101
- package/lib/utils/grid-index.js +28 -2
- package/lib/utils/identityScale.js +9 -0
- package/lib/utils/layerData.js +49 -30
- package/lib/utils/multiPassRender.js +16 -11
- package/lib/utils/polylineNormal.js +66 -31
- package/lib/utils/simpleLine.js +21 -2
- package/lib/utils/stencil.js +4 -0
- package/lib/utils/symbol-layout.js +55 -27
- package/lib/wind/index.js +37 -9
- package/lib/wind/models/index.js +3 -0
- package/lib/wind/models/utils.js +62 -26
- package/lib/wind/models/wind.js +157 -101
- package/lib/wind/models/windRender.js +71 -53
- package/lib/wind/models/windShader.js +1 -0
- package/package.json +7 -7
|
@@ -1,40 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
9
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
10
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
11
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
12
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
13
20
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
14
22
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
15
24
|
var _l7Core = require("@antv/l7-core");
|
|
25
|
+
|
|
16
26
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
27
|
+
|
|
17
28
|
var _triangulation = require("../../core/triangulation");
|
|
29
|
+
|
|
18
30
|
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
|
+
|
|
19
32
|
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
|
+
|
|
20
34
|
/* babel-plugin-inline-import '../shaders/hexagon_3d_vert.glsl' */
|
|
21
35
|
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
|
+
|
|
22
37
|
/* babel-plugin-inline-import '../shaders/hexagon_frag.glsl' */
|
|
23
38
|
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
|
+
|
|
24
40
|
var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
25
41
|
(0, _inherits2.default)(Grid3DModel, _BaseModel);
|
|
42
|
+
|
|
26
43
|
var _super = _createSuper(Grid3DModel);
|
|
44
|
+
|
|
27
45
|
function Grid3DModel() {
|
|
28
46
|
(0, _classCallCheck2.default)(this, Grid3DModel);
|
|
29
47
|
return _super.apply(this, arguments);
|
|
30
48
|
}
|
|
49
|
+
|
|
31
50
|
(0, _createClass2.default)(Grid3DModel, [{
|
|
32
51
|
key: "getUninforms",
|
|
33
52
|
value: function getUninforms() {
|
|
34
53
|
var _ref = this.layer.getLayerConfig(),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
54
|
+
opacity = _ref.opacity,
|
|
55
|
+
coverage = _ref.coverage,
|
|
56
|
+
angle = _ref.angle;
|
|
57
|
+
|
|
38
58
|
return {
|
|
39
59
|
u_opacity: opacity || 1.0,
|
|
40
60
|
u_coverage: coverage || 1.0,
|
|
@@ -47,18 +67,23 @@ var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
47
67
|
value: function () {
|
|
48
68
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
49
69
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
50
|
-
while (1)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
70
|
+
while (1) {
|
|
71
|
+
switch (_context.prev = _context.next) {
|
|
72
|
+
case 0:
|
|
73
|
+
return _context.abrupt("return", this.buildModels());
|
|
74
|
+
|
|
75
|
+
case 1:
|
|
76
|
+
case "end":
|
|
77
|
+
return _context.stop();
|
|
78
|
+
}
|
|
56
79
|
}
|
|
57
80
|
}, _callee, this);
|
|
58
81
|
}));
|
|
82
|
+
|
|
59
83
|
function initModels() {
|
|
60
84
|
return _initModels.apply(this, arguments);
|
|
61
85
|
}
|
|
86
|
+
|
|
62
87
|
return initModels;
|
|
63
88
|
}()
|
|
64
89
|
}, {
|
|
@@ -67,31 +92,37 @@ var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
67
92
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
68
93
|
var model;
|
|
69
94
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
70
|
-
while (1)
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
95
|
+
while (1) {
|
|
96
|
+
switch (_context2.prev = _context2.next) {
|
|
97
|
+
case 0:
|
|
98
|
+
_context2.next = 2;
|
|
99
|
+
return this.layer.buildLayerModel({
|
|
100
|
+
moduleName: 'heatmapGrid3d',
|
|
101
|
+
vertexShader: heatmapGrid3dVert,
|
|
102
|
+
fragmentShader: heatmapGridFrag,
|
|
103
|
+
triangulation: _triangulation.PointExtrudeTriangulation,
|
|
104
|
+
primitive: _l7Core.gl.TRIANGLES,
|
|
105
|
+
depth: {
|
|
106
|
+
enable: true
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
case 2:
|
|
111
|
+
model = _context2.sent;
|
|
112
|
+
return _context2.abrupt("return", [model]);
|
|
113
|
+
|
|
114
|
+
case 4:
|
|
115
|
+
case "end":
|
|
116
|
+
return _context2.stop();
|
|
117
|
+
}
|
|
89
118
|
}
|
|
90
119
|
}, _callee2, this);
|
|
91
120
|
}));
|
|
121
|
+
|
|
92
122
|
function buildModels() {
|
|
93
123
|
return _buildModels.apply(this, arguments);
|
|
94
124
|
}
|
|
125
|
+
|
|
95
126
|
return buildModels;
|
|
96
127
|
}()
|
|
97
128
|
}, {
|
|
@@ -152,4 +183,5 @@ var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
152
183
|
}]);
|
|
153
184
|
return Grid3DModel;
|
|
154
185
|
}(_BaseModel2.default);
|
|
186
|
+
|
|
155
187
|
exports.default = Grid3DModel;
|
|
@@ -1,56 +1,87 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
9
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
10
14
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
|
+
|
|
11
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
12
18
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
+
|
|
13
20
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
+
|
|
14
22
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
+
|
|
15
24
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
+
|
|
16
26
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
+
|
|
17
28
|
var _l7Core = require("@antv/l7-core");
|
|
29
|
+
|
|
18
30
|
var _l7Utils = require("@antv/l7-utils");
|
|
31
|
+
|
|
19
32
|
var _glMatrix = require("gl-matrix");
|
|
33
|
+
|
|
20
34
|
var _inversify = require("inversify");
|
|
35
|
+
|
|
21
36
|
require("reflect-metadata");
|
|
37
|
+
|
|
22
38
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
39
|
+
|
|
23
40
|
var _triangulation = require("../../core/triangulation");
|
|
41
|
+
|
|
24
42
|
var _triangulation2 = require("../triangulation");
|
|
43
|
+
|
|
25
44
|
var _dec, _class;
|
|
45
|
+
|
|
26
46
|
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
|
+
|
|
27
48
|
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
|
+
|
|
28
50
|
/* babel-plugin-inline-import '../shaders/heatmap_3d_frag.glsl' */
|
|
29
51
|
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
|
+
|
|
30
53
|
/* babel-plugin-inline-import '../shaders/heatmap_3d_vert.glsl' */
|
|
31
54
|
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
|
+
|
|
32
56
|
/* babel-plugin-inline-import '../shaders/heatmap_frag.glsl' */
|
|
33
57
|
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
|
+
|
|
34
59
|
/* babel-plugin-inline-import '../shaders/heatmap_vert.glsl' */
|
|
35
60
|
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
|
+
|
|
36
62
|
/* babel-plugin-inline-import '../shaders/heatmap_framebuffer_frag.glsl' */
|
|
37
63
|
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
|
+
|
|
38
65
|
/* babel-plugin-inline-import '../shaders/heatmap_framebuffer_vert.glsl' */
|
|
39
66
|
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";
|
|
40
67
|
var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function (_BaseModel) {
|
|
41
68
|
(0, _inherits2.default)(HeatMapModel, _BaseModel);
|
|
69
|
+
|
|
42
70
|
var _super = _createSuper(HeatMapModel);
|
|
71
|
+
|
|
43
72
|
function HeatMapModel() {
|
|
44
73
|
(0, _classCallCheck2.default)(this, HeatMapModel);
|
|
45
74
|
return _super.apply(this, arguments);
|
|
46
75
|
}
|
|
76
|
+
|
|
47
77
|
(0, _createClass2.default)(HeatMapModel, [{
|
|
48
78
|
key: "render",
|
|
49
79
|
value: function render(options) {
|
|
50
80
|
var _this = this;
|
|
81
|
+
|
|
51
82
|
var _this$rendererService = this.rendererService,
|
|
52
|
-
|
|
53
|
-
|
|
83
|
+
clear = _this$rendererService.clear,
|
|
84
|
+
useFramebuffer = _this$rendererService.useFramebuffer;
|
|
54
85
|
useFramebuffer(this.heatmapFramerBuffer, function () {
|
|
55
86
|
clear({
|
|
56
87
|
color: [0, 0, 0, 0],
|
|
@@ -58,11 +89,14 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
58
89
|
stencil: 0,
|
|
59
90
|
framebuffer: _this.heatmapFramerBuffer
|
|
60
91
|
});
|
|
92
|
+
|
|
61
93
|
_this.drawIntensityMode();
|
|
62
94
|
});
|
|
95
|
+
|
|
63
96
|
if (this.layer.styleNeedUpdate) {
|
|
64
97
|
this.updateColorTexture();
|
|
65
98
|
}
|
|
99
|
+
|
|
66
100
|
this.shapeType === 'heatmap' ? this.drawColorMode(options) : this.draw3DHeatMap(options);
|
|
67
101
|
}
|
|
68
102
|
}, {
|
|
@@ -75,45 +109,55 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
75
109
|
value: function () {
|
|
76
110
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
77
111
|
var _shapeAttr$scale;
|
|
112
|
+
|
|
78
113
|
var _this$rendererService2, createFramebuffer, getViewportSize, createTexture2D, shapeAttr, shapeType, _getViewportSize, width, height;
|
|
114
|
+
|
|
79
115
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
80
|
-
while (1)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
116
|
+
while (1) {
|
|
117
|
+
switch (_context.prev = _context.next) {
|
|
118
|
+
case 0:
|
|
119
|
+
_this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D;
|
|
120
|
+
shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
|
|
121
|
+
shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
|
|
122
|
+
this.shapeType = shapeType; // 生成热力图密度图
|
|
123
|
+
|
|
124
|
+
_context.next = 6;
|
|
125
|
+
return this.buildHeatMapIntensity();
|
|
126
|
+
|
|
127
|
+
case 6:
|
|
128
|
+
this.intensityModel = _context.sent;
|
|
129
|
+
// 渲染到屏幕
|
|
130
|
+
this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() // 2D
|
|
131
|
+
: this.build3dHeatMap(); // 3D
|
|
132
|
+
|
|
133
|
+
_getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height; // 初始化密度图纹理
|
|
134
|
+
|
|
135
|
+
this.heatmapFramerBuffer = createFramebuffer({
|
|
136
|
+
color: createTexture2D({
|
|
137
|
+
width: Math.floor(width / 4),
|
|
138
|
+
height: Math.floor(height / 4),
|
|
139
|
+
wrapS: _l7Core.gl.CLAMP_TO_EDGE,
|
|
140
|
+
wrapT: _l7Core.gl.CLAMP_TO_EDGE,
|
|
141
|
+
min: _l7Core.gl.LINEAR,
|
|
142
|
+
mag: _l7Core.gl.LINEAR
|
|
143
|
+
}),
|
|
144
|
+
depth: false
|
|
145
|
+
});
|
|
146
|
+
this.updateColorTexture();
|
|
147
|
+
return _context.abrupt("return", [this.intensityModel, this.colorModel]);
|
|
148
|
+
|
|
149
|
+
case 12:
|
|
150
|
+
case "end":
|
|
151
|
+
return _context.stop();
|
|
152
|
+
}
|
|
111
153
|
}
|
|
112
154
|
}, _callee, this);
|
|
113
155
|
}));
|
|
156
|
+
|
|
114
157
|
function initModels() {
|
|
115
158
|
return _initModels.apply(this, arguments);
|
|
116
159
|
}
|
|
160
|
+
|
|
117
161
|
return initModels;
|
|
118
162
|
}()
|
|
119
163
|
}, {
|
|
@@ -121,18 +165,23 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
121
165
|
value: function () {
|
|
122
166
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
123
167
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
124
|
-
while (1)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
168
|
+
while (1) {
|
|
169
|
+
switch (_context2.prev = _context2.next) {
|
|
170
|
+
case 0:
|
|
171
|
+
return _context2.abrupt("return", this.initModels());
|
|
172
|
+
|
|
173
|
+
case 1:
|
|
174
|
+
case "end":
|
|
175
|
+
return _context2.stop();
|
|
176
|
+
}
|
|
130
177
|
}
|
|
131
178
|
}, _callee2, this);
|
|
132
179
|
}));
|
|
180
|
+
|
|
133
181
|
function buildModels() {
|
|
134
182
|
return _buildModels.apply(this, arguments);
|
|
135
183
|
}
|
|
184
|
+
|
|
136
185
|
return buildModels;
|
|
137
186
|
}()
|
|
138
187
|
}, {
|
|
@@ -168,7 +217,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
168
217
|
size: 1,
|
|
169
218
|
update: function update(feature) {
|
|
170
219
|
var _feature$size = feature.size,
|
|
171
|
-
|
|
220
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
172
221
|
return [size];
|
|
173
222
|
}
|
|
174
223
|
}
|
|
@@ -180,35 +229,41 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
180
229
|
var _buildHeatMapIntensity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
181
230
|
var model;
|
|
182
231
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
183
|
-
while (1)
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
232
|
+
while (1) {
|
|
233
|
+
switch (_context3.prev = _context3.next) {
|
|
234
|
+
case 0:
|
|
235
|
+
this.layer.triangulation = _triangulation.HeatmapTriangulation;
|
|
236
|
+
_context3.next = 3;
|
|
237
|
+
return this.layer.buildLayerModel({
|
|
238
|
+
moduleName: 'heatmapIntensity',
|
|
239
|
+
vertexShader: heatmapFramebufferVert,
|
|
240
|
+
fragmentShader: heatmapFramebufferFrag,
|
|
241
|
+
triangulation: _triangulation.HeatmapTriangulation,
|
|
242
|
+
depth: {
|
|
243
|
+
enable: false
|
|
244
|
+
},
|
|
245
|
+
cull: {
|
|
246
|
+
enable: true,
|
|
247
|
+
face: (0, _l7Utils.getCullFace)(this.mapService.version)
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
case 3:
|
|
252
|
+
model = _context3.sent;
|
|
253
|
+
return _context3.abrupt("return", model);
|
|
254
|
+
|
|
255
|
+
case 5:
|
|
256
|
+
case "end":
|
|
257
|
+
return _context3.stop();
|
|
258
|
+
}
|
|
206
259
|
}
|
|
207
260
|
}, _callee3, this);
|
|
208
261
|
}));
|
|
262
|
+
|
|
209
263
|
function buildHeatMapIntensity() {
|
|
210
264
|
return _buildHeatMapIntensity.apply(this, arguments);
|
|
211
265
|
}
|
|
266
|
+
|
|
212
267
|
return buildHeatMapIntensity;
|
|
213
268
|
}()
|
|
214
269
|
}, {
|
|
@@ -218,15 +273,17 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
218
273
|
vs: heatmapColorVert,
|
|
219
274
|
fs: heatmapColorFrag
|
|
220
275
|
});
|
|
276
|
+
|
|
221
277
|
var _this$shaderModuleSer = this.shaderModuleService.getModule('heatmapColor'),
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
278
|
+
vs = _this$shaderModuleSer.vs,
|
|
279
|
+
fs = _this$shaderModuleSer.fs,
|
|
280
|
+
uniforms = _this$shaderModuleSer.uniforms;
|
|
281
|
+
|
|
225
282
|
var _this$rendererService3 = this.rendererService,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
283
|
+
createAttribute = _this$rendererService3.createAttribute,
|
|
284
|
+
createElements = _this$rendererService3.createElements,
|
|
285
|
+
createBuffer = _this$rendererService3.createBuffer,
|
|
286
|
+
createModel = _this$rendererService3.createModel;
|
|
230
287
|
return createModel({
|
|
231
288
|
vs: vs,
|
|
232
289
|
fs: fs,
|
|
@@ -261,15 +318,17 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
261
318
|
key: "drawIntensityMode",
|
|
262
319
|
value: function drawIntensityMode() {
|
|
263
320
|
var _this$intensityModel;
|
|
321
|
+
|
|
264
322
|
var _ref = this.layer.getLayerConfig(),
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
323
|
+
opacity = _ref.opacity,
|
|
324
|
+
_ref$intensity = _ref.intensity,
|
|
325
|
+
intensity = _ref$intensity === void 0 ? 10 : _ref$intensity,
|
|
326
|
+
_ref$radius = _ref.radius,
|
|
327
|
+
radius = _ref$radius === void 0 ? 5 : _ref$radius;
|
|
328
|
+
|
|
270
329
|
this.layerService.beforeRenderData(this.layer);
|
|
271
|
-
this.layer.hooks.beforeRender.call();
|
|
272
|
-
|
|
330
|
+
this.layer.hooks.beforeRender.call(); // 绘制密度图
|
|
331
|
+
|
|
273
332
|
(_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
|
|
274
333
|
uniforms: {
|
|
275
334
|
u_opacity: opacity || 1.0,
|
|
@@ -302,8 +361,10 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
302
361
|
key: "drawColorMode",
|
|
303
362
|
value: function drawColorMode(options) {
|
|
304
363
|
var _this$colorModel;
|
|
364
|
+
|
|
305
365
|
var _ref2 = this.layer.getLayerConfig(),
|
|
306
|
-
|
|
366
|
+
opacity = _ref2.opacity;
|
|
367
|
+
|
|
307
368
|
(_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
|
|
308
369
|
uniforms: {
|
|
309
370
|
u_opacity: opacity || 1.0,
|
|
@@ -318,18 +379,21 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
318
379
|
key: "draw3DHeatMap",
|
|
319
380
|
value: function draw3DHeatMap(options) {
|
|
320
381
|
var _this$colorModel2;
|
|
321
|
-
var _ref3 = this.layer.getLayerConfig(),
|
|
322
|
-
opacity = _ref3.opacity;
|
|
323
382
|
|
|
324
|
-
|
|
383
|
+
var _ref3 = this.layer.getLayerConfig(),
|
|
384
|
+
opacity = _ref3.opacity; // const invert = mat4.invert(
|
|
325
385
|
// mat4.create(),
|
|
326
386
|
// mat4.fromValues(
|
|
327
387
|
// // @ts-ignore
|
|
328
388
|
// ...this.cameraService.getViewProjectionMatrixUncentered(),
|
|
329
389
|
// ),
|
|
330
390
|
// ) as mat4;
|
|
391
|
+
|
|
392
|
+
|
|
331
393
|
var invert = _glMatrix.mat4.create();
|
|
394
|
+
|
|
332
395
|
_glMatrix.mat4.invert(invert, this.cameraService.getViewProjectionMatrixUncentered());
|
|
396
|
+
|
|
333
397
|
(_this$colorModel2 = this.colorModel) === null || _this$colorModel2 === void 0 ? void 0 : _this$colorModel2.draw({
|
|
334
398
|
uniforms: {
|
|
335
399
|
u_opacity: opacity || 1.0,
|
|
@@ -354,23 +418,27 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
354
418
|
key: "build3dHeatMap",
|
|
355
419
|
value: function build3dHeatMap() {
|
|
356
420
|
var getViewportSize = this.rendererService.getViewportSize;
|
|
421
|
+
|
|
357
422
|
var _getViewportSize2 = getViewportSize(),
|
|
358
|
-
|
|
359
|
-
|
|
423
|
+
width = _getViewportSize2.width,
|
|
424
|
+
height = _getViewportSize2.height;
|
|
425
|
+
|
|
360
426
|
var triangulation = (0, _triangulation2.heatMap3DTriangulation)(width / 4.0, height / 4.0);
|
|
361
427
|
this.shaderModuleService.registerModule('heatmap3dColor', {
|
|
362
428
|
vs: heatmap3DVert,
|
|
363
429
|
fs: heatmap3DFrag
|
|
364
430
|
});
|
|
431
|
+
|
|
365
432
|
var _this$shaderModuleSer2 = this.shaderModuleService.getModule('heatmap3dColor'),
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
433
|
+
vs = _this$shaderModuleSer2.vs,
|
|
434
|
+
fs = _this$shaderModuleSer2.fs,
|
|
435
|
+
uniforms = _this$shaderModuleSer2.uniforms;
|
|
436
|
+
|
|
369
437
|
var _this$rendererService4 = this.rendererService,
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
438
|
+
createAttribute = _this$rendererService4.createAttribute,
|
|
439
|
+
createElements = _this$rendererService4.createElements,
|
|
440
|
+
createBuffer = _this$rendererService4.createBuffer,
|
|
441
|
+
createModel = _this$rendererService4.createModel;
|
|
374
442
|
return createModel({
|
|
375
443
|
vs: vs,
|
|
376
444
|
fs: fs,
|
|
@@ -420,11 +488,14 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
420
488
|
key: "updateColorTexture",
|
|
421
489
|
value: function updateColorTexture() {
|
|
422
490
|
var createTexture2D = this.rendererService.createTexture2D;
|
|
491
|
+
|
|
423
492
|
if (this.texture) {
|
|
424
493
|
this.texture.destroy();
|
|
425
494
|
}
|
|
495
|
+
|
|
426
496
|
var _ref4 = this.layer.getLayerConfig(),
|
|
427
|
-
|
|
497
|
+
rampColors = _ref4.rampColors;
|
|
498
|
+
|
|
428
499
|
var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
|
|
429
500
|
this.colorTexture = createTexture2D({
|
|
430
501
|
data: new Uint8Array(imageData.data),
|