@antv/l7-layers 2.17.4 → 2.17.5

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.
Files changed (250) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.js +325 -483
  10. package/es/core/BaseModel.js +51 -80
  11. package/es/core/CommonStyleAttribute.js +2 -5
  12. package/es/core/LayerPickService.js +21 -32
  13. package/es/core/TextureService.js +0 -13
  14. package/es/core/interface.js +17 -24
  15. package/es/core/shape/Path.js +13 -20
  16. package/es/core/shape/extrude.js +27 -39
  17. package/es/core/triangulation.js +99 -136
  18. package/es/earth/index.js +9 -33
  19. package/es/earth/models/atmosphere.js +30 -54
  20. package/es/earth/models/base.js +47 -85
  21. package/es/earth/models/bloomsphere.js +30 -54
  22. package/es/earth/utils.js +9 -13
  23. package/es/heatmap/index.js +10 -40
  24. package/es/heatmap/models/grid.js +28 -52
  25. package/es/heatmap/models/grid3d.js +28 -52
  26. package/es/heatmap/models/heatmap.js +92 -149
  27. package/es/heatmap/models/hexagon.js +28 -52
  28. package/es/heatmap/triangulation.js +0 -4
  29. package/es/image/index.js +9 -28
  30. package/es/image/models/image.js +66 -100
  31. package/es/index.js +9 -17
  32. package/es/line/index.js +9 -35
  33. package/es/line/models/arc.js +63 -112
  34. package/es/line/models/arc_3d.js +58 -102
  35. package/es/line/models/earthArc_3d.js +60 -105
  36. package/es/line/models/flow.js +36 -60
  37. package/es/line/models/great_circle.js +53 -94
  38. package/es/line/models/line.js +92 -144
  39. package/es/line/models/linearline.js +42 -74
  40. package/es/line/models/simpleLine.js +38 -67
  41. package/es/line/models/wall.js +52 -92
  42. package/es/line/shaders/dash/line_dash_vert.glsl +1 -2
  43. package/es/line/shaders/line_frag.glsl +1 -3
  44. package/es/line/shaders/line_vert.glsl +2 -0
  45. package/es/line/shaders/linear/line_linear_frag.glsl +1 -1
  46. package/es/mask/index.js +9 -28
  47. package/es/mask/models/fill.js +29 -54
  48. package/es/plugins/DataMappingPlugin.js +78 -114
  49. package/es/plugins/DataSourcePlugin.js +45 -68
  50. package/es/plugins/FeatureScalePlugin.js +67 -122
  51. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  52. package/es/plugins/LayerMaskPlugin.js +3 -11
  53. package/es/plugins/LayerModelPlugin.js +69 -118
  54. package/es/plugins/LayerStylePlugin.js +4 -9
  55. package/es/plugins/LightingPlugin.js +12 -18
  56. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  57. package/es/plugins/PixelPickingPlugin.js +12 -21
  58. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  59. package/es/plugins/ShaderUniformPlugin.js +13 -27
  60. package/es/plugins/UpdateModelPlugin.js +0 -5
  61. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  62. package/es/point/index.js +26 -78
  63. package/es/point/models/earthExtrude.js +58 -95
  64. package/es/point/models/earthFill.js +52 -80
  65. package/es/point/models/extrude.js +57 -94
  66. package/es/point/models/fill.js +56 -81
  67. package/es/point/models/fillmage.js +60 -100
  68. package/es/point/models/image.js +47 -83
  69. package/es/point/models/index.js +2 -2
  70. package/es/point/models/normal.js +30 -54
  71. package/es/point/models/radar.js +38 -63
  72. package/es/point/models/simplePoint.js +38 -62
  73. package/es/point/models/text.js +199 -296
  74. package/es/point/shape/extrude.js +4 -13
  75. package/es/polygon/index.js +11 -41
  76. package/es/polygon/models/extrude.js +87 -135
  77. package/es/polygon/models/fill.js +50 -79
  78. package/es/polygon/models/index.js +3 -2
  79. package/es/polygon/models/ocean.js +42 -76
  80. package/es/polygon/models/water.js +37 -71
  81. package/es/raster/buffers/triangulation.js +2 -4
  82. package/es/raster/index.js +9 -32
  83. package/es/raster/models/raster.js +80 -116
  84. package/es/raster/models/rasterRgb.js +84 -127
  85. package/es/raster/models/rasterTerrainRgb.js +56 -84
  86. package/es/tile/interaction/getRasterData.js +14 -20
  87. package/es/tile/interaction/utils.js +7 -9
  88. package/es/tile/manager/base.js +63 -96
  89. package/es/tile/service/TileLayerService.js +33 -55
  90. package/es/tile/service/TilePickService.js +26 -40
  91. package/es/tile/service/TileSourceService.js +3 -7
  92. package/es/tile/tileFactory/DebugTile.js +29 -46
  93. package/es/tile/tileFactory/ImageTile.js +20 -38
  94. package/es/tile/tileFactory/MaskTile.js +22 -43
  95. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  96. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  97. package/es/tile/tileFactory/RasterTile.js +30 -53
  98. package/es/tile/tileFactory/Tile.js +63 -97
  99. package/es/tile/tileFactory/VectorTile.js +41 -68
  100. package/es/tile/tileFactory/index.js +0 -11
  101. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  102. package/es/tile/tileFactory/util.js +0 -3
  103. package/es/tile/tileLayer/BaseLayer.js +105 -146
  104. package/es/tile/utils.js +1 -1
  105. package/es/utils/blend.js +0 -2
  106. package/es/utils/collision-index.js +9 -16
  107. package/es/utils/extrude_polyline.js +101 -149
  108. package/es/utils/grid-index.js +2 -27
  109. package/es/utils/identityScale.js +0 -8
  110. package/es/utils/layerData.js +30 -44
  111. package/es/utils/multiPassRender.js +11 -13
  112. package/es/utils/polylineNormal.js +31 -37
  113. package/es/utils/simpleLine.js +2 -16
  114. package/es/utils/stencil.js +2 -3
  115. package/es/utils/symbol-layout.js +27 -53
  116. package/es/wind/index.js +9 -29
  117. package/es/wind/models/utils.js +26 -51
  118. package/es/wind/models/wind.js +101 -147
  119. package/es/wind/models/windRender.js +53 -66
  120. package/lib/Geometry/index.js +9 -38
  121. package/lib/Geometry/models/billboard.js +51 -97
  122. package/lib/Geometry/models/index.js +0 -5
  123. package/lib/Geometry/models/plane.js +79 -151
  124. package/lib/Geometry/models/sprite.js +60 -127
  125. package/lib/canvas/index.js +10 -40
  126. package/lib/canvas/models/canvas.js +41 -101
  127. package/lib/canvas/models/index.js +0 -3
  128. package/lib/citybuliding/building.js +8 -35
  129. package/lib/citybuliding/models/build.js +57 -92
  130. package/lib/core/BaseLayer.js +325 -474
  131. package/lib/core/BaseModel.js +51 -90
  132. package/lib/core/CommonStyleAttribute.js +2 -7
  133. package/lib/core/LayerPickService.js +21 -37
  134. package/lib/core/TextureService.js +0 -16
  135. package/lib/core/interface.js +21 -31
  136. package/lib/core/schema.js +0 -1
  137. package/lib/core/shape/Path.js +14 -31
  138. package/lib/core/shape/extrude.js +27 -62
  139. package/lib/core/triangulation.js +98 -177
  140. package/lib/earth/index.js +9 -43
  141. package/lib/earth/models/atmosphere.js +30 -63
  142. package/lib/earth/models/base.js +47 -90
  143. package/lib/earth/models/bloomsphere.js +30 -63
  144. package/lib/earth/utils.js +7 -31
  145. package/lib/heatmap/index.js +10 -48
  146. package/lib/heatmap/models/grid.js +28 -60
  147. package/lib/heatmap/models/grid3d.js +28 -60
  148. package/lib/heatmap/models/heatmap.js +92 -166
  149. package/lib/heatmap/models/hexagon.js +28 -60
  150. package/lib/heatmap/models/index.js +0 -6
  151. package/lib/heatmap/triangulation.js +0 -5
  152. package/lib/image/index.js +9 -36
  153. package/lib/image/models/image.js +66 -109
  154. package/lib/image/models/index.js +0 -3
  155. package/lib/index.js +7 -61
  156. package/lib/line/index.js +9 -40
  157. package/lib/line/models/arc.js +61 -122
  158. package/lib/line/models/arc_3d.js +56 -113
  159. package/lib/line/models/earthArc_3d.js +58 -115
  160. package/lib/line/models/flow.js +36 -70
  161. package/lib/line/models/great_circle.js +53 -104
  162. package/lib/line/models/index.js +0 -11
  163. package/lib/line/models/line.js +90 -152
  164. package/lib/line/models/linearline.js +42 -86
  165. package/lib/line/models/simpleLine.js +38 -77
  166. package/lib/line/models/wall.js +52 -103
  167. package/lib/line/shaders/dash/line_dash_vert.glsl +1 -2
  168. package/lib/line/shaders/line_frag.glsl +1 -3
  169. package/lib/line/shaders/line_vert.glsl +2 -0
  170. package/lib/line/shaders/linear/line_linear_frag.glsl +1 -1
  171. package/lib/mask/index.js +9 -36
  172. package/lib/mask/models/fill.js +29 -63
  173. package/lib/mask/models/index.js +0 -3
  174. package/lib/plugins/DataMappingPlugin.js +78 -125
  175. package/lib/plugins/DataSourcePlugin.js +45 -76
  176. package/lib/plugins/FeatureScalePlugin.js +67 -138
  177. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  178. package/lib/plugins/LayerMaskPlugin.js +4 -17
  179. package/lib/plugins/LayerModelPlugin.js +70 -127
  180. package/lib/plugins/LayerStylePlugin.js +5 -14
  181. package/lib/plugins/LightingPlugin.js +12 -25
  182. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  183. package/lib/plugins/PixelPickingPlugin.js +12 -27
  184. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  185. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  186. package/lib/plugins/UpdateModelPlugin.js +1 -10
  187. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  188. package/lib/point/index.js +26 -83
  189. package/lib/point/models/earthExtrude.js +58 -106
  190. package/lib/point/models/earthFill.js +52 -110
  191. package/lib/point/models/extrude.js +57 -103
  192. package/lib/point/models/fill.js +54 -90
  193. package/lib/point/models/fillmage.js +58 -107
  194. package/lib/point/models/image.js +47 -92
  195. package/lib/point/models/index.js +1 -12
  196. package/lib/point/models/normal.js +30 -64
  197. package/lib/point/models/radar.js +38 -72
  198. package/lib/point/models/simplePoint.js +38 -72
  199. package/lib/point/models/text.js +199 -305
  200. package/lib/point/shape/extrude.js +4 -20
  201. package/lib/polygon/index.js +11 -48
  202. package/lib/polygon/models/extrude.js +87 -146
  203. package/lib/polygon/models/fill.js +50 -89
  204. package/lib/polygon/models/index.js +2 -14
  205. package/lib/polygon/models/ocean.js +42 -88
  206. package/lib/polygon/models/water.js +37 -82
  207. package/lib/raster/buffers/triangulation.js +3 -7
  208. package/lib/raster/index.js +9 -40
  209. package/lib/raster/models/index.js +0 -5
  210. package/lib/raster/models/raster.js +80 -125
  211. package/lib/raster/models/rasterRgb.js +84 -139
  212. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  213. package/lib/tile/interaction/getRasterData.js +14 -25
  214. package/lib/tile/interaction/utils.js +7 -19
  215. package/lib/tile/manager/base.js +63 -104
  216. package/lib/tile/service/TileLayerService.js +33 -60
  217. package/lib/tile/service/TilePickService.js +26 -48
  218. package/lib/tile/service/TileSourceService.js +2 -16
  219. package/lib/tile/style/utils.js +0 -3
  220. package/lib/tile/tileFactory/DebugTile.js +29 -54
  221. package/lib/tile/tileFactory/ImageTile.js +20 -46
  222. package/lib/tile/tileFactory/MaskTile.js +22 -51
  223. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  224. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  225. package/lib/tile/tileFactory/RasterTile.js +30 -63
  226. package/lib/tile/tileFactory/Tile.js +63 -102
  227. package/lib/tile/tileFactory/VectorTile.js +41 -76
  228. package/lib/tile/tileFactory/index.js +0 -25
  229. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  230. package/lib/tile/tileFactory/util.js +0 -9
  231. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  232. package/lib/tile/utils.js +1 -5
  233. package/lib/utils/blend.js +0 -5
  234. package/lib/utils/collision-index.js +9 -25
  235. package/lib/utils/extrude_polyline.js +101 -181
  236. package/lib/utils/grid-index.js +2 -28
  237. package/lib/utils/identityScale.js +0 -9
  238. package/lib/utils/layerData.js +30 -49
  239. package/lib/utils/multiPassRender.js +11 -16
  240. package/lib/utils/polylineNormal.js +31 -66
  241. package/lib/utils/simpleLine.js +2 -21
  242. package/lib/utils/stencil.js +0 -4
  243. package/lib/utils/symbol-layout.js +27 -55
  244. package/lib/wind/index.js +9 -37
  245. package/lib/wind/models/index.js +0 -3
  246. package/lib/wind/models/utils.js +26 -62
  247. package/lib/wind/models/wind.js +101 -157
  248. package/lib/wind/models/windRender.js +53 -71
  249. package/lib/wind/models/windShader.js +0 -1
  250. package/package.json +7 -7
@@ -1,61 +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 _lodash = require("lodash");
27
-
28
17
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
29
-
30
18
  var _triangulation = require("../../core/triangulation");
31
-
32
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
33
-
34
20
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
-
36
21
  /* babel-plugin-inline-import '../shaders/bloomsphere_frag.glsl' */
37
22
  var bloomSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\nvarying vec3 vVertexNormal;\n\nvarying vec4 v_Color;\nvoid main() {\n\n\n float intensity = - dot(normalize(vVertexNormal), normalize(u_CameraPosition));\n // \u53BB\u9664\u80CC\u9762\n if(intensity > 1.0) intensity = 0.0;\n\n gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);\n}\n";
38
-
39
23
  /* babel-plugin-inline-import '../shaders/bloomsphere_vert.glsl' */
40
24
  var bloomSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\n\nvoid main() {\n v_Color = a_Color;\n\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
41
-
42
25
  var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
43
26
  (0, _inherits2.default)(EarthBloomSphereModel, _BaseModel);
44
-
45
27
  var _super = _createSuper(EarthBloomSphereModel);
46
-
47
28
  function EarthBloomSphereModel() {
48
29
  (0, _classCallCheck2.default)(this, EarthBloomSphereModel);
49
30
  return _super.apply(this, arguments);
50
31
  }
51
-
52
32
  (0, _createClass2.default)(EarthBloomSphereModel, [{
53
33
  key: "getUninforms",
54
34
  value: function getUninforms() {
55
35
  var _ref = this.layer.getLayerConfig(),
56
- _ref$opacity = _ref.opacity,
57
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
58
-
36
+ _ref$opacity = _ref.opacity,
37
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
59
38
  return {
60
39
  u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1.0
61
40
  };
@@ -65,23 +44,18 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
65
44
  value: function () {
66
45
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
67
46
  return _regenerator.default.wrap(function _callee$(_context) {
68
- while (1) {
69
- switch (_context.prev = _context.next) {
70
- case 0:
71
- return _context.abrupt("return", this.buildModels());
72
-
73
- case 1:
74
- case "end":
75
- return _context.stop();
76
- }
47
+ while (1) switch (_context.prev = _context.next) {
48
+ case 0:
49
+ return _context.abrupt("return", this.buildModels());
50
+ case 1:
51
+ case "end":
52
+ return _context.stop();
77
53
  }
78
54
  }, _callee, this);
79
55
  }));
80
-
81
56
  function initModels() {
82
57
  return _initModels.apply(this, arguments);
83
58
  }
84
-
85
59
  return initModels;
86
60
  }()
87
61
  }, {
@@ -95,39 +69,33 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
95
69
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
96
70
  var model;
97
71
  return _regenerator.default.wrap(function _callee2$(_context2) {
98
- while (1) {
99
- switch (_context2.prev = _context2.next) {
100
- case 0:
101
- // Tip: 调整图层的绘制顺序,让它保持在地球后面(减少锯齿现象)
102
- this.layer.zIndex = -999;
103
- _context2.next = 3;
104
- return this.layer.buildLayerModel({
105
- moduleName: 'earthBloom',
106
- vertexShader: bloomSphereVert,
107
- fragmentShader: bloomSphereFrag,
108
- triangulation: _triangulation.earthOuterTriangulation,
109
- depth: {
110
- enable: false
111
- },
112
- blend: this.getBlend()
113
- });
114
-
115
- case 3:
116
- model = _context2.sent;
117
- return _context2.abrupt("return", [model]);
118
-
119
- case 5:
120
- case "end":
121
- return _context2.stop();
122
- }
72
+ while (1) switch (_context2.prev = _context2.next) {
73
+ case 0:
74
+ // Tip: 调整图层的绘制顺序,让它保持在地球后面(减少锯齿现象)
75
+ this.layer.zIndex = -999;
76
+ _context2.next = 3;
77
+ return this.layer.buildLayerModel({
78
+ moduleName: 'earthBloom',
79
+ vertexShader: bloomSphereVert,
80
+ fragmentShader: bloomSphereFrag,
81
+ triangulation: _triangulation.earthOuterTriangulation,
82
+ depth: {
83
+ enable: false
84
+ },
85
+ blend: this.getBlend()
86
+ });
87
+ case 3:
88
+ model = _context2.sent;
89
+ return _context2.abrupt("return", [model]);
90
+ case 5:
91
+ case "end":
92
+ return _context2.stop();
123
93
  }
124
94
  }, _callee2, this);
125
95
  }));
126
-
127
96
  function buildModels() {
128
97
  return _buildModels.apply(this, arguments);
129
98
  }
130
-
131
99
  return buildModels;
132
100
  }()
133
101
  }, {
@@ -146,7 +114,7 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
146
114
  size: 1,
147
115
  update: function update(feature) {
148
116
  var _feature$size = feature.size,
149
- size = _feature$size === void 0 ? 1 : _feature$size;
117
+ size = _feature$size === void 0 ? 1 : _feature$size;
150
118
  return Array.isArray(size) ? [size[0]] : [size];
151
119
  }
152
120
  }
@@ -187,5 +155,4 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
187
155
  }]);
188
156
  return EarthBloomSphereModel;
189
157
  }(_BaseModel2.default);
190
-
191
158
  exports.default = EarthBloomSphereModel;
@@ -1,33 +1,29 @@
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.EARTH_SEGMENTS = exports.EARTH_RADIUS_OUTER = exports.EARTH_RADIUS = void 0;
9
8
  exports.lglt2xyz = lglt2xyz;
10
9
  exports.primitiveSphere = primitiveSphere;
11
-
12
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
11
  var _glMatrix = require("gl-matrix");
15
-
16
12
  // 该文件专门记录地球模式的数值
13
+
17
14
  // 地球网格半径
18
15
  var EARTH_RADIUS = 100;
19
16
  exports.EARTH_RADIUS = EARTH_RADIUS;
20
17
  var EARTH_SEGMENTS = 36;
21
18
  exports.EARTH_SEGMENTS = EARTH_SEGMENTS;
22
19
  var EARTH_RADIUS_OUTER = 40;
20
+
23
21
  /**
24
22
  * 角度转弧度
25
23
  * @param deg
26
24
  * @returns
27
25
  */
28
-
29
26
  exports.EARTH_RADIUS_OUTER = EARTH_RADIUS_OUTER;
30
-
31
27
  function torad(deg) {
32
28
  return deg / 180 * Math.acos(-1);
33
29
  }
@@ -37,36 +33,30 @@ function torad(deg) {
37
33
  * @param latitude 纬度
38
34
  * @param radius 半径
39
35
  */
40
-
41
-
42
36
  function lglt2xyz(lnglat) {
43
37
  // TODO: + Math.PI/2 是为了对齐坐标
44
38
  var lng = torad(lnglat[0]) + Math.PI / 2;
45
- var lat = torad(lnglat[1]); // TODO: 手动增加一些偏移,减轻面的冲突
39
+ var lat = torad(lnglat[1]);
46
40
 
41
+ // TODO: 手动增加一些偏移,减轻面的冲突
47
42
  var radius = EARTH_RADIUS + Math.random() * 0.4;
48
43
  var z = radius * Math.cos(lat) * Math.cos(lng);
49
44
  var x = radius * Math.cos(lat) * Math.sin(lng);
50
45
  var y = radius * Math.sin(lat);
51
46
  return [x, y, z];
52
47
  }
48
+
53
49
  /**
54
50
  * 构建地球球体网格
55
51
  * @param radius
56
52
  * @param opt
57
53
  * @returns
58
54
  */
59
-
60
-
61
55
  function primitiveSphere(radius, opt) {
62
56
  var matRotY = _glMatrix.mat4.create();
63
-
64
57
  var matRotZ = _glMatrix.mat4.create();
65
-
66
58
  var up = _glMatrix.vec3.fromValues(0, 1, 0);
67
-
68
59
  var tmpVec3 = _glMatrix.vec3.fromValues(0, 0, 0);
69
-
70
60
  opt = opt || {};
71
61
  radius = typeof radius !== 'undefined' ? radius : 1;
72
62
  var segments = typeof opt.segments !== 'undefined' ? opt.segments : 32;
@@ -78,44 +68,31 @@ function primitiveSphere(radius, opt) {
78
68
  var positionsArr = [];
79
69
  var normalArr = [];
80
70
  var uvs = [];
81
-
82
71
  for (var zRotationStep = 0; zRotationStep <= totalZRotationSteps; zRotationStep++) {
83
72
  var normalizedZ = zRotationStep / totalZRotationSteps;
84
73
  var angleZ = normalizedZ * Math.PI;
85
-
86
74
  for (var yRotationStep = 0; yRotationStep <= totalYRotationSteps; yRotationStep++) {
87
75
  var normalizedY = yRotationStep / totalYRotationSteps;
88
76
  var angleY = normalizedY * Math.PI * 2;
89
-
90
77
  _glMatrix.mat4.identity(matRotZ);
91
-
92
78
  _glMatrix.mat4.rotateZ(matRotZ, matRotZ, -angleZ);
93
-
94
79
  _glMatrix.mat4.identity(matRotY);
95
-
96
80
  _glMatrix.mat4.rotateY(matRotY, matRotY, angleY);
97
-
98
81
  _glMatrix.vec3.transformMat4(tmpVec3, up, matRotZ);
99
-
100
82
  _glMatrix.vec3.transformMat4(tmpVec3, tmpVec3, matRotY);
101
-
102
83
  _glMatrix.vec3.scale(tmpVec3, tmpVec3, -radius);
103
-
104
84
  positions.push(tmpVec3.slice());
105
85
  positionsArr.push.apply(positionsArr, (0, _toConsumableArray2.default)(tmpVec3.slice()));
106
-
107
86
  _glMatrix.vec3.normalize(tmpVec3, tmpVec3);
108
-
109
87
  normalArr.push.apply(normalArr, (0, _toConsumableArray2.default)(tmpVec3.slice()));
110
- uvs.push([normalizedY, 1 - normalizedZ]); // position 和 uv 一起存储
88
+ uvs.push([normalizedY, 1 - normalizedZ]);
111
89
 
90
+ // position 和 uv 一起存储
112
91
  positionsArr.push(normalizedY, 1 - normalizedZ);
113
92
  }
114
-
115
93
  if (zRotationStep > 0) {
116
94
  var verticesCount = positions.length;
117
95
  var firstIndex = verticesCount - 2 * (totalYRotationSteps + 1);
118
-
119
96
  for (; firstIndex + totalYRotationSteps + 2 < verticesCount; firstIndex++) {
120
97
  indices.push([firstIndex, firstIndex + 1, firstIndex + totalYRotationSteps + 1]);
121
98
  indicesArr.push(firstIndex, firstIndex + 1, firstIndex + totalYRotationSteps + 1);
@@ -124,7 +101,6 @@ function primitiveSphere(radius, opt) {
124
101
  }
125
102
  }
126
103
  }
127
-
128
104
  return {
129
105
  cells: indices,
130
106
  positions: positions,
@@ -1,93 +1,65 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
26
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
17
  var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
29
-
30
18
  var _models = _interopRequireDefault(require("./models"));
31
-
32
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
33
-
34
20
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
-
36
21
  var HeatMapLayer = /*#__PURE__*/function (_BaseLayer) {
37
22
  (0, _inherits2.default)(HeatMapLayer, _BaseLayer);
38
-
39
23
  var _super = _createSuper(HeatMapLayer);
40
-
41
24
  function HeatMapLayer() {
42
25
  var _this;
43
-
44
26
  (0, _classCallCheck2.default)(this, HeatMapLayer);
45
-
46
27
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47
28
  args[_key] = arguments[_key];
48
29
  }
49
-
50
30
  _this = _super.call.apply(_super, [this].concat(args));
51
31
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'HeatMapLayer');
52
32
  return _this;
53
33
  }
54
-
55
34
  (0, _createClass2.default)(HeatMapLayer, [{
56
35
  key: "buildModels",
57
36
  value: function () {
58
37
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
59
38
  var shape;
60
39
  return _regenerator.default.wrap(function _callee$(_context) {
61
- while (1) {
62
- switch (_context.prev = _context.next) {
63
- case 0:
64
- shape = this.getModelType();
65
- this.layerModel = new _models.default[shape](this);
66
- _context.next = 4;
67
- return this.initLayerModels();
68
-
69
- case 4:
70
- case "end":
71
- return _context.stop();
72
- }
40
+ while (1) switch (_context.prev = _context.next) {
41
+ case 0:
42
+ shape = this.getModelType();
43
+ this.layerModel = new _models.default[shape](this);
44
+ _context.next = 4;
45
+ return this.initLayerModels();
46
+ case 4:
47
+ case "end":
48
+ return _context.stop();
73
49
  }
74
50
  }, _callee, this);
75
51
  }));
76
-
77
52
  function buildModels() {
78
53
  return _buildModels.apply(this, arguments);
79
54
  }
80
-
81
55
  return buildModels;
82
56
  }()
83
57
  }, {
84
58
  key: "renderModels",
85
59
  value: function renderModels() {
86
60
  var _this2 = this;
87
-
88
61
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
89
62
  var shape = this.getModelType();
90
-
91
63
  if (shape === 'heatmap') {
92
64
  if (this.layerModel) {
93
65
  this.layerModel.render(options); // 独立的渲染流程
@@ -95,11 +67,9 @@ var HeatMapLayer = /*#__PURE__*/function (_BaseLayer) {
95
67
 
96
68
  return this;
97
69
  }
98
-
99
70
  if (this.encodeDataLength <= 0 && !this.forceRender) {
100
71
  return this;
101
72
  }
102
-
103
73
  this.hooks.beforeRender.call();
104
74
  this.models.forEach(function (model) {
105
75
  return model.draw({
@@ -124,32 +94,24 @@ var HeatMapLayer = /*#__PURE__*/function (_BaseLayer) {
124
94
  key: "getModelType",
125
95
  value: function getModelType() {
126
96
  var _shapeAttribute$scale;
127
-
128
97
  var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
129
-
130
98
  var _this$getLayerConfig = this.getLayerConfig(),
131
- shape3d = _this$getLayerConfig.shape3d;
132
-
99
+ shape3d = _this$getLayerConfig.shape3d;
133
100
  var source = this.getSource();
134
101
  var sourceType = source.data.type;
135
102
  var shape = (shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field) || 'heatmap';
136
-
137
103
  if (shape === 'heatmap' || shape === 'heatmap3d') {
138
104
  return 'heatmap';
139
105
  }
140
-
141
106
  if (sourceType === 'hexagon') {
142
107
  return (shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) === -1 ? 'hexagon' : 'grid3d';
143
108
  }
144
-
145
109
  if (sourceType === 'grid') {
146
110
  return (shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) === -1 ? 'grid' : 'grid3d';
147
111
  }
148
-
149
112
  return 'heatmap';
150
113
  }
151
114
  }]);
152
115
  return HeatMapLayer;
153
116
  }(_BaseLayer2.default);
154
-
155
117
  exports.default = HeatMapLayer;
@@ -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/grid_vert.glsl' */
35
21
  var heatmapGridVert = "precision highp float;\r\n// \u591A\u8FB9\u5F62\u9876\u70B9\u5750\u6807\r\nattribute vec3 a_Position;\r\n// \u591A\u8FB9\u5F62\u7ECF\u7EAC\u5EA6\u5750\u6807\r\nattribute vec3 a_Pos;\r\nattribute float a_Size;\r\nattribute vec4 a_Color;\r\nuniform vec2 u_radius;\r\nuniform float u_coverage: 0.9;\r\nuniform float u_angle: 0;\r\nuniform mat4 u_ModelMatrix;\r\nuniform mat4 u_Mvp;\r\nvarying vec4 v_color;\r\n\r\nuniform vec2 u_sceneCenterMercator;\r\n\r\n#pragma include \"projection\"\r\n#pragma include \"project\"\r\n#pragma include \"picking\"\r\n\r\nvoid main() {\r\n v_color = a_Color;\r\n\r\n mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));\r\n vec2 offset = a_Position.xy * u_radius * rotationMatrix * u_coverage ;\r\n // vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\r\n // vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\r\n // gl_Position = project_common_position_to_clipspace(project_pos);\r\n\r\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\r\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\r\n vec2 customLnglat = customProject(lnglat) - u_sceneCenterMercator; // \u5C06\u7ECF\u7EAC\u5EA6\u8F6C\u6362\u4E3A\u9AD8\u5FB72.0\u9700\u8981\u7684\u5E73\u9762\u5750\u6807\r\n vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));\r\n gl_Position = u_Mvp * (project_pos);\r\n } else {\r\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\r\n vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\r\n gl_Position = project_common_position_to_clipspace(project_pos);\r\n }\r\n\r\n setPickingColor(a_PickingColor);\r\n}\r\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 GridModel = /*#__PURE__*/function (_BaseModel) {
41
25
  (0, _inherits2.default)(GridModel, _BaseModel);
42
-
43
26
  var _super = _createSuper(GridModel);
44
-
45
27
  function GridModel() {
46
28
  (0, _classCallCheck2.default)(this, GridModel);
47
29
  return _super.apply(this, arguments);
48
30
  }
49
-
50
31
  (0, _createClass2.default)(GridModel, [{
51
32
  key: "getUninforms",
52
33
  value: function getUninforms() {
53
34
  var _ref = this.layer.getLayerConfig(),
54
- opacity = _ref.opacity,
55
- coverage = _ref.coverage,
56
- angle = _ref.angle;
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 || 0.9,
@@ -67,23 +47,18 @@ var GridModel = /*#__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
- 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
- }
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 GridModel = /*#__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
- switch (_context2.prev = _context2.next) {
97
- case 0:
98
- _context2.next = 2;
99
- return this.layer.buildLayerModel({
100
- moduleName: 'heatmapGrid',
101
- vertexShader: heatmapGridVert,
102
- fragmentShader: heatmapGridFrag,
103
- triangulation: _triangulation.HeatmapGridTriangulation,
104
- primitive: _l7Core.gl.TRIANGLES,
105
- depth: {
106
- enable: false
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
- }
70
+ while (1) switch (_context2.prev = _context2.next) {
71
+ case 0:
72
+ _context2.next = 2;
73
+ return this.layer.buildLayerModel({
74
+ moduleName: 'heatmapGrid',
75
+ vertexShader: heatmapGridVert,
76
+ fragmentShader: heatmapGridFrag,
77
+ triangulation: _triangulation.HeatmapGridTriangulation,
78
+ primitive: _l7Core.gl.TRIANGLES,
79
+ depth: {
80
+ enable: false
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
  }, {
@@ -150,5 +119,4 @@ var GridModel = /*#__PURE__*/function (_BaseModel) {
150
119
  }]);
151
120
  return GridModel;
152
121
  }(_BaseModel2.default);
153
-
154
122
  exports.default = GridModel;