@antv/l7-layers 2.17.3 → 2.17.4
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 +478 -313
- package/es/core/BaseModel.js +80 -51
- package/es/core/CommonStyleAttribute.js +5 -2
- 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 +39 -27
- package/es/core/triangulation.js +136 -99
- 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 +149 -92
- 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 +35 -9
- package/es/line/models/arc.js +112 -63
- package/es/line/models/arc_3d.js +102 -58
- package/es/line/models/earthArc_3d.js +105 -60
- package/es/line/models/flow.js +60 -36
- package/es/line/models/great_circle.js +94 -53
- package/es/line/models/line.js +136 -85
- package/es/line/models/linearline.js +74 -42
- package/es/line/models/simpleLine.js +67 -38
- 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 +114 -78
- 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 +108 -69
- 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 +78 -26
- package/es/point/models/earthExtrude.js +95 -58
- package/es/point/models/earthFill.js +80 -52
- package/es/point/models/extrude.js +94 -57
- package/es/point/models/fill.js +81 -56
- package/es/point/models/fillmage.js +100 -60
- package/es/point/models/image.js +83 -47
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +54 -30
- package/es/point/models/radar.js +63 -38
- package/es/point/models/simplePoint.js +62 -38
- package/es/point/models/text.js +296 -199
- package/es/point/shape/extrude.js +13 -4
- package/es/polygon/index.js +41 -11
- package/es/polygon/models/extrude.js +135 -87
- package/es/polygon/models/fill.js +79 -50
- 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/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 +469 -313
- package/lib/core/BaseModel.js +90 -51
- package/lib/core/CommonStyleAttribute.js +7 -2
- 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 +62 -27
- package/lib/core/triangulation.js +177 -98
- 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 +166 -92
- 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 +122 -61
- package/lib/line/models/arc_3d.js +113 -56
- package/lib/line/models/earthArc_3d.js +115 -58
- package/lib/line/models/flow.js +70 -36
- package/lib/line/models/great_circle.js +104 -53
- package/lib/line/models/index.js +11 -0
- package/lib/line/models/line.js +144 -83
- package/lib/line/models/linearline.js +86 -42
- package/lib/line/models/simpleLine.js +77 -38
- 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 +125 -78
- 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 +117 -70
- 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 +106 -58
- package/lib/point/models/earthFill.js +110 -52
- package/lib/point/models/extrude.js +103 -57
- package/lib/point/models/fill.js +90 -54
- package/lib/point/models/fillmage.js +107 -58
- package/lib/point/models/image.js +92 -47
- package/lib/point/models/index.js +12 -1
- package/lib/point/models/normal.js +64 -30
- package/lib/point/models/radar.js +72 -38
- package/lib/point/models/simplePoint.js +72 -38
- package/lib/point/models/text.js +305 -199
- package/lib/point/shape/extrude.js +20 -4
- package/lib/polygon/index.js +48 -11
- package/lib/polygon/models/extrude.js +146 -87
- package/lib/polygon/models/fill.js +89 -50
- 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/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_sceneCenterMercator;\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_sceneCenterMercator; // \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,59 +1,93 @@
|
|
|
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 _lodash = require("lodash");
|
|
43
|
+
|
|
25
44
|
var _triangulation2 = require("../triangulation");
|
|
45
|
+
|
|
26
46
|
var _dec, _class;
|
|
47
|
+
|
|
27
48
|
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); }; }
|
|
49
|
+
|
|
28
50
|
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; } }
|
|
51
|
+
|
|
29
52
|
/* babel-plugin-inline-import '../shaders/heatmap_3d_frag.glsl' */
|
|
30
53
|
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";
|
|
54
|
+
|
|
31
55
|
/* babel-plugin-inline-import '../shaders/heatmap_3d_vert.glsl' */
|
|
32
56
|
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
|
|
57
|
+
|
|
33
58
|
/* babel-plugin-inline-import '../shaders/heatmap_frag.glsl' */
|
|
34
59
|
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";
|
|
60
|
+
|
|
35
61
|
/* babel-plugin-inline-import '../shaders/heatmap_vert.glsl' */
|
|
36
62
|
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";
|
|
63
|
+
|
|
37
64
|
/* babel-plugin-inline-import '../shaders/heatmap_framebuffer_frag.glsl' */
|
|
38
65
|
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";
|
|
66
|
+
|
|
39
67
|
/* babel-plugin-inline-import '../shaders/heatmap_framebuffer_vert.glsl' */
|
|
40
68
|
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";
|
|
41
69
|
var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function (_BaseModel) {
|
|
42
70
|
(0, _inherits2.default)(HeatMapModel, _BaseModel);
|
|
71
|
+
|
|
43
72
|
var _super = _createSuper(HeatMapModel);
|
|
73
|
+
|
|
44
74
|
function HeatMapModel() {
|
|
45
75
|
(0, _classCallCheck2.default)(this, HeatMapModel);
|
|
46
76
|
return _super.apply(this, arguments);
|
|
47
77
|
}
|
|
78
|
+
|
|
48
79
|
(0, _createClass2.default)(HeatMapModel, [{
|
|
49
80
|
key: "render",
|
|
50
81
|
value: function render(options) {
|
|
51
82
|
var _this = this;
|
|
83
|
+
|
|
52
84
|
var _this$rendererService = this.rendererService,
|
|
53
|
-
|
|
54
|
-
|
|
85
|
+
clear = _this$rendererService.clear,
|
|
86
|
+
useFramebuffer = _this$rendererService.useFramebuffer;
|
|
87
|
+
|
|
55
88
|
var _ref = this.layer.getLayerConfig(),
|
|
56
|
-
|
|
89
|
+
rampColors = _ref.rampColors;
|
|
90
|
+
|
|
57
91
|
useFramebuffer(this.heatmapFramerBuffer, function () {
|
|
58
92
|
clear({
|
|
59
93
|
color: [0, 0, 0, 0],
|
|
@@ -61,11 +95,14 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
61
95
|
stencil: 0,
|
|
62
96
|
framebuffer: _this.heatmapFramerBuffer
|
|
63
97
|
});
|
|
98
|
+
|
|
64
99
|
_this.drawIntensityMode();
|
|
65
100
|
});
|
|
101
|
+
|
|
66
102
|
if (!(0, _lodash.isEqual)(this.preRampColors, rampColors)) {
|
|
67
103
|
this.updateColorTexture();
|
|
68
104
|
}
|
|
105
|
+
|
|
69
106
|
this.shapeType === 'heatmap' ? this.drawColorMode(options) : this.draw3DHeatMap(options);
|
|
70
107
|
}
|
|
71
108
|
}, {
|
|
@@ -78,45 +115,55 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
78
115
|
value: function () {
|
|
79
116
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
80
117
|
var _shapeAttr$scale;
|
|
118
|
+
|
|
81
119
|
var _this$rendererService2, createFramebuffer, getViewportSize, createTexture2D, shapeAttr, shapeType, _getViewportSize, width, height;
|
|
120
|
+
|
|
82
121
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
83
|
-
while (1)
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
122
|
+
while (1) {
|
|
123
|
+
switch (_context.prev = _context.next) {
|
|
124
|
+
case 0:
|
|
125
|
+
_this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D;
|
|
126
|
+
shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
|
|
127
|
+
shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
|
|
128
|
+
this.shapeType = shapeType; // 生成热力图密度图
|
|
129
|
+
|
|
130
|
+
_context.next = 6;
|
|
131
|
+
return this.buildHeatMapIntensity();
|
|
132
|
+
|
|
133
|
+
case 6:
|
|
134
|
+
this.intensityModel = _context.sent;
|
|
135
|
+
// 渲染到屏幕
|
|
136
|
+
this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() // 2D
|
|
137
|
+
: this.build3dHeatMap(); // 3D
|
|
138
|
+
|
|
139
|
+
_getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height; // 初始化密度图纹理
|
|
140
|
+
|
|
141
|
+
this.heatmapFramerBuffer = createFramebuffer({
|
|
142
|
+
color: createTexture2D({
|
|
143
|
+
width: Math.floor(width / 4),
|
|
144
|
+
height: Math.floor(height / 4),
|
|
145
|
+
wrapS: _l7Core.gl.CLAMP_TO_EDGE,
|
|
146
|
+
wrapT: _l7Core.gl.CLAMP_TO_EDGE,
|
|
147
|
+
min: _l7Core.gl.LINEAR,
|
|
148
|
+
mag: _l7Core.gl.LINEAR
|
|
149
|
+
}),
|
|
150
|
+
depth: false
|
|
151
|
+
});
|
|
152
|
+
this.updateColorTexture();
|
|
153
|
+
return _context.abrupt("return", [this.intensityModel, this.colorModel]);
|
|
154
|
+
|
|
155
|
+
case 12:
|
|
156
|
+
case "end":
|
|
157
|
+
return _context.stop();
|
|
158
|
+
}
|
|
114
159
|
}
|
|
115
160
|
}, _callee, this);
|
|
116
161
|
}));
|
|
162
|
+
|
|
117
163
|
function initModels() {
|
|
118
164
|
return _initModels.apply(this, arguments);
|
|
119
165
|
}
|
|
166
|
+
|
|
120
167
|
return initModels;
|
|
121
168
|
}()
|
|
122
169
|
}, {
|
|
@@ -124,18 +171,23 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
124
171
|
value: function () {
|
|
125
172
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
126
173
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
127
|
-
while (1)
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
174
|
+
while (1) {
|
|
175
|
+
switch (_context2.prev = _context2.next) {
|
|
176
|
+
case 0:
|
|
177
|
+
return _context2.abrupt("return", this.initModels());
|
|
178
|
+
|
|
179
|
+
case 1:
|
|
180
|
+
case "end":
|
|
181
|
+
return _context2.stop();
|
|
182
|
+
}
|
|
133
183
|
}
|
|
134
184
|
}, _callee2, this);
|
|
135
185
|
}));
|
|
186
|
+
|
|
136
187
|
function buildModels() {
|
|
137
188
|
return _buildModels.apply(this, arguments);
|
|
138
189
|
}
|
|
190
|
+
|
|
139
191
|
return buildModels;
|
|
140
192
|
}()
|
|
141
193
|
}, {
|
|
@@ -171,7 +223,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
171
223
|
size: 1,
|
|
172
224
|
update: function update(feature) {
|
|
173
225
|
var _feature$size = feature.size,
|
|
174
|
-
|
|
226
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
175
227
|
return [size];
|
|
176
228
|
}
|
|
177
229
|
}
|
|
@@ -183,35 +235,41 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
183
235
|
var _buildHeatMapIntensity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
184
236
|
var model;
|
|
185
237
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
186
|
-
while (1)
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
238
|
+
while (1) {
|
|
239
|
+
switch (_context3.prev = _context3.next) {
|
|
240
|
+
case 0:
|
|
241
|
+
this.layer.triangulation = _triangulation.HeatmapTriangulation;
|
|
242
|
+
_context3.next = 3;
|
|
243
|
+
return this.layer.buildLayerModel({
|
|
244
|
+
moduleName: 'heatmapIntensity',
|
|
245
|
+
vertexShader: heatmapFramebufferVert,
|
|
246
|
+
fragmentShader: heatmapFramebufferFrag,
|
|
247
|
+
triangulation: _triangulation.HeatmapTriangulation,
|
|
248
|
+
depth: {
|
|
249
|
+
enable: false
|
|
250
|
+
},
|
|
251
|
+
cull: {
|
|
252
|
+
enable: true,
|
|
253
|
+
face: (0, _l7Utils.getCullFace)(this.mapService.version)
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
case 3:
|
|
258
|
+
model = _context3.sent;
|
|
259
|
+
return _context3.abrupt("return", model);
|
|
260
|
+
|
|
261
|
+
case 5:
|
|
262
|
+
case "end":
|
|
263
|
+
return _context3.stop();
|
|
264
|
+
}
|
|
209
265
|
}
|
|
210
266
|
}, _callee3, this);
|
|
211
267
|
}));
|
|
268
|
+
|
|
212
269
|
function buildHeatMapIntensity() {
|
|
213
270
|
return _buildHeatMapIntensity.apply(this, arguments);
|
|
214
271
|
}
|
|
272
|
+
|
|
215
273
|
return buildHeatMapIntensity;
|
|
216
274
|
}()
|
|
217
275
|
}, {
|
|
@@ -221,15 +279,17 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
221
279
|
vs: heatmapColorVert,
|
|
222
280
|
fs: heatmapColorFrag
|
|
223
281
|
});
|
|
282
|
+
|
|
224
283
|
var _this$shaderModuleSer = this.shaderModuleService.getModule('heatmapColor'),
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
284
|
+
vs = _this$shaderModuleSer.vs,
|
|
285
|
+
fs = _this$shaderModuleSer.fs,
|
|
286
|
+
uniforms = _this$shaderModuleSer.uniforms;
|
|
287
|
+
|
|
228
288
|
var _this$rendererService3 = this.rendererService,
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
289
|
+
createAttribute = _this$rendererService3.createAttribute,
|
|
290
|
+
createElements = _this$rendererService3.createElements,
|
|
291
|
+
createBuffer = _this$rendererService3.createBuffer,
|
|
292
|
+
createModel = _this$rendererService3.createModel;
|
|
233
293
|
return createModel({
|
|
234
294
|
vs: vs,
|
|
235
295
|
fs: fs,
|
|
@@ -264,15 +324,17 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
264
324
|
key: "drawIntensityMode",
|
|
265
325
|
value: function drawIntensityMode() {
|
|
266
326
|
var _this$intensityModel;
|
|
327
|
+
|
|
267
328
|
var _ref2 = this.layer.getLayerConfig(),
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
329
|
+
opacity = _ref2.opacity,
|
|
330
|
+
_ref2$intensity = _ref2.intensity,
|
|
331
|
+
intensity = _ref2$intensity === void 0 ? 10 : _ref2$intensity,
|
|
332
|
+
_ref2$radius = _ref2.radius,
|
|
333
|
+
radius = _ref2$radius === void 0 ? 5 : _ref2$radius;
|
|
334
|
+
|
|
273
335
|
this.layerService.beforeRenderData(this.layer);
|
|
274
|
-
this.layer.hooks.beforeRender.call();
|
|
275
|
-
|
|
336
|
+
this.layer.hooks.beforeRender.call(); // 绘制密度图
|
|
337
|
+
|
|
276
338
|
(_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
|
|
277
339
|
uniforms: {
|
|
278
340
|
u_opacity: opacity || 1.0,
|
|
@@ -305,8 +367,10 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
305
367
|
key: "drawColorMode",
|
|
306
368
|
value: function drawColorMode(options) {
|
|
307
369
|
var _this$colorModel;
|
|
370
|
+
|
|
308
371
|
var _ref3 = this.layer.getLayerConfig(),
|
|
309
|
-
|
|
372
|
+
opacity = _ref3.opacity;
|
|
373
|
+
|
|
310
374
|
(_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
|
|
311
375
|
uniforms: {
|
|
312
376
|
u_opacity: opacity || 1.0,
|
|
@@ -321,18 +385,21 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
321
385
|
key: "draw3DHeatMap",
|
|
322
386
|
value: function draw3DHeatMap(options) {
|
|
323
387
|
var _this$colorModel2;
|
|
324
|
-
var _ref4 = this.layer.getLayerConfig(),
|
|
325
|
-
opacity = _ref4.opacity;
|
|
326
388
|
|
|
327
|
-
|
|
389
|
+
var _ref4 = this.layer.getLayerConfig(),
|
|
390
|
+
opacity = _ref4.opacity; // const invert = mat4.invert(
|
|
328
391
|
// mat4.create(),
|
|
329
392
|
// mat4.fromValues(
|
|
330
393
|
// // @ts-ignore
|
|
331
394
|
// ...this.cameraService.getViewProjectionMatrixUncentered(),
|
|
332
395
|
// ),
|
|
333
396
|
// ) as mat4;
|
|
397
|
+
|
|
398
|
+
|
|
334
399
|
var invert = _glMatrix.mat4.create();
|
|
400
|
+
|
|
335
401
|
_glMatrix.mat4.invert(invert, this.cameraService.getViewProjectionMatrixUncentered());
|
|
402
|
+
|
|
336
403
|
(_this$colorModel2 = this.colorModel) === null || _this$colorModel2 === void 0 ? void 0 : _this$colorModel2.draw({
|
|
337
404
|
uniforms: {
|
|
338
405
|
u_opacity: opacity || 1.0,
|
|
@@ -357,23 +424,27 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
357
424
|
key: "build3dHeatMap",
|
|
358
425
|
value: function build3dHeatMap() {
|
|
359
426
|
var getViewportSize = this.rendererService.getViewportSize;
|
|
427
|
+
|
|
360
428
|
var _getViewportSize2 = getViewportSize(),
|
|
361
|
-
|
|
362
|
-
|
|
429
|
+
width = _getViewportSize2.width,
|
|
430
|
+
height = _getViewportSize2.height;
|
|
431
|
+
|
|
363
432
|
var triangulation = (0, _triangulation2.heatMap3DTriangulation)(width / 4.0, height / 4.0);
|
|
364
433
|
this.shaderModuleService.registerModule('heatmap3dColor', {
|
|
365
434
|
vs: heatmap3DVert,
|
|
366
435
|
fs: heatmap3DFrag
|
|
367
436
|
});
|
|
437
|
+
|
|
368
438
|
var _this$shaderModuleSer2 = this.shaderModuleService.getModule('heatmap3dColor'),
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
439
|
+
vs = _this$shaderModuleSer2.vs,
|
|
440
|
+
fs = _this$shaderModuleSer2.fs,
|
|
441
|
+
uniforms = _this$shaderModuleSer2.uniforms;
|
|
442
|
+
|
|
372
443
|
var _this$rendererService4 = this.rendererService,
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
444
|
+
createAttribute = _this$rendererService4.createAttribute,
|
|
445
|
+
createElements = _this$rendererService4.createElements,
|
|
446
|
+
createBuffer = _this$rendererService4.createBuffer,
|
|
447
|
+
createModel = _this$rendererService4.createModel;
|
|
377
448
|
return createModel({
|
|
378
449
|
vs: vs,
|
|
379
450
|
fs: fs,
|
|
@@ -423,11 +494,14 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
423
494
|
key: "updateColorTexture",
|
|
424
495
|
value: function updateColorTexture() {
|
|
425
496
|
var createTexture2D = this.rendererService.createTexture2D;
|
|
497
|
+
|
|
426
498
|
if (this.texture) {
|
|
427
499
|
this.texture.destroy();
|
|
428
500
|
}
|
|
501
|
+
|
|
429
502
|
var _ref5 = this.layer.getLayerConfig(),
|
|
430
|
-
|
|
503
|
+
rampColors = _ref5.rampColors;
|
|
504
|
+
|
|
431
505
|
var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
|
|
432
506
|
this.colorTexture = createTexture2D({
|
|
433
507
|
data: new Uint8Array(imageData.data),
|