@antv/l7-layers 2.15.2 → 2.15.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.
Files changed (242) 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 +320 -484
  10. package/es/core/BaseModel.js +97 -126
  11. package/es/core/LayerPickService.js +21 -32
  12. package/es/core/TextureService.js +0 -13
  13. package/es/core/interface.js +17 -24
  14. package/es/core/shape/Path.js +13 -20
  15. package/es/core/shape/extrude.js +10 -31
  16. package/es/core/triangulation.js +54 -114
  17. package/es/earth/index.js +9 -33
  18. package/es/earth/models/atmosphere.js +30 -54
  19. package/es/earth/models/base.js +47 -85
  20. package/es/earth/models/bloomsphere.js +30 -54
  21. package/es/earth/utils.js +9 -13
  22. package/es/heatmap/index.js +10 -40
  23. package/es/heatmap/models/grid.js +28 -52
  24. package/es/heatmap/models/grid3d.js +28 -52
  25. package/es/heatmap/models/heatmap.js +91 -146
  26. package/es/heatmap/models/hexagon.js +28 -52
  27. package/es/heatmap/triangulation.js +0 -4
  28. package/es/image/index.js +9 -28
  29. package/es/image/models/image.js +66 -100
  30. package/es/index.js +9 -17
  31. package/es/line/index.js +9 -34
  32. package/es/line/models/arc.js +66 -118
  33. package/es/line/models/arc_3d.js +60 -108
  34. package/es/line/models/earthArc_3d.js +63 -111
  35. package/es/line/models/great_circle.js +56 -100
  36. package/es/line/models/half.js +46 -77
  37. package/es/line/models/line.js +94 -148
  38. package/es/line/models/linearline.js +45 -80
  39. package/es/line/models/simpleLine.js +41 -74
  40. package/es/line/models/wall.js +52 -92
  41. package/es/mask/index.js +9 -28
  42. package/es/mask/models/fill.js +29 -54
  43. package/es/plugins/DataMappingPlugin.js +80 -117
  44. package/es/plugins/DataSourcePlugin.js +45 -68
  45. package/es/plugins/FeatureScalePlugin.js +67 -122
  46. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  47. package/es/plugins/LayerMaskPlugin.js +3 -11
  48. package/es/plugins/LayerModelPlugin.js +67 -104
  49. package/es/plugins/LayerStylePlugin.js +3 -9
  50. package/es/plugins/LightingPlugin.js +12 -18
  51. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  52. package/es/plugins/PixelPickingPlugin.js +12 -21
  53. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  54. package/es/plugins/ShaderUniformPlugin.js +13 -27
  55. package/es/plugins/UpdateModelPlugin.js +0 -5
  56. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  57. package/es/point/index.js +26 -77
  58. package/es/point/models/earthExtrude.js +61 -102
  59. package/es/point/models/earthFill.js +57 -87
  60. package/es/point/models/extrude.js +60 -101
  61. package/es/point/models/fill.js +70 -100
  62. package/es/point/models/fillmage.js +63 -107
  63. package/es/point/models/image.js +48 -88
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +30 -54
  66. package/es/point/models/radar.js +40 -64
  67. package/es/point/models/simplePoint.js +41 -69
  68. package/es/point/models/text.js +197 -299
  69. package/es/point/shape/extrude.js +4 -13
  70. package/es/polygon/index.js +11 -40
  71. package/es/polygon/models/extrude.js +48 -92
  72. package/es/polygon/models/fill.js +54 -88
  73. package/es/polygon/models/index.js +3 -2
  74. package/es/polygon/models/ocean.js +42 -76
  75. package/es/polygon/models/water.js +37 -71
  76. package/es/raster/buffers/triangulation.js +2 -4
  77. package/es/raster/index.js +9 -32
  78. package/es/raster/models/raster.js +80 -116
  79. package/es/raster/models/rasterRgb.js +84 -127
  80. package/es/raster/models/rasterTerrainRgb.js +56 -84
  81. package/es/tile/interaction/getRasterData.js +14 -20
  82. package/es/tile/interaction/utils.js +7 -9
  83. package/es/tile/manager/base.js +63 -96
  84. package/es/tile/service/TileLayerService.js +30 -52
  85. package/es/tile/service/TilePickService.js +26 -40
  86. package/es/tile/service/TileSourceService.js +3 -7
  87. package/es/tile/tileFactory/DebugTile.js +28 -45
  88. package/es/tile/tileFactory/ImageTile.js +20 -38
  89. package/es/tile/tileFactory/MaskTile.js +22 -43
  90. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  91. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  92. package/es/tile/tileFactory/RasterTile.js +30 -53
  93. package/es/tile/tileFactory/Tile.js +63 -97
  94. package/es/tile/tileFactory/VectorTile.js +41 -68
  95. package/es/tile/tileFactory/index.js +0 -11
  96. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  97. package/es/tile/tileFactory/util.js +0 -3
  98. package/es/tile/tileLayer/BaseLayer.js +105 -146
  99. package/es/tile/utils.js +1 -1
  100. package/es/utils/blend.js +0 -2
  101. package/es/utils/collision-index.js +9 -16
  102. package/es/utils/dataMappingStyle.js +8 -18
  103. package/es/utils/extrude_polyline.js +101 -149
  104. package/es/utils/grid-index.js +2 -27
  105. package/es/utils/identityScale.js +0 -8
  106. package/es/utils/layerData.js +30 -44
  107. package/es/utils/multiPassRender.js +11 -13
  108. package/es/utils/polylineNormal.js +31 -37
  109. package/es/utils/simpleLine.js +2 -16
  110. package/es/utils/stencil.js +2 -3
  111. package/es/utils/symbol-layout.js +27 -53
  112. package/es/wind/index.js +9 -29
  113. package/es/wind/models/utils.js +26 -51
  114. package/es/wind/models/wind.js +101 -147
  115. package/es/wind/models/windRender.js +53 -66
  116. package/lib/Geometry/index.js +9 -38
  117. package/lib/Geometry/models/billboard.js +51 -97
  118. package/lib/Geometry/models/index.js +0 -5
  119. package/lib/Geometry/models/plane.js +79 -151
  120. package/lib/Geometry/models/sprite.js +60 -127
  121. package/lib/canvas/index.js +10 -40
  122. package/lib/canvas/models/canvas.js +41 -101
  123. package/lib/canvas/models/index.js +0 -3
  124. package/lib/citybuliding/building.js +8 -35
  125. package/lib/citybuliding/models/build.js +57 -92
  126. package/lib/core/BaseLayer.js +320 -478
  127. package/lib/core/BaseModel.js +97 -139
  128. package/lib/core/LayerPickService.js +21 -37
  129. package/lib/core/TextureService.js +0 -16
  130. package/lib/core/interface.js +21 -31
  131. package/lib/core/schema.js +0 -1
  132. package/lib/core/shape/Path.js +14 -31
  133. package/lib/core/shape/extrude.js +10 -54
  134. package/lib/core/triangulation.js +53 -153
  135. package/lib/earth/index.js +9 -43
  136. package/lib/earth/models/atmosphere.js +30 -63
  137. package/lib/earth/models/base.js +47 -90
  138. package/lib/earth/models/bloomsphere.js +30 -63
  139. package/lib/earth/utils.js +7 -31
  140. package/lib/heatmap/index.js +10 -48
  141. package/lib/heatmap/models/grid.js +28 -60
  142. package/lib/heatmap/models/grid3d.js +28 -60
  143. package/lib/heatmap/models/heatmap.js +91 -162
  144. package/lib/heatmap/models/hexagon.js +28 -60
  145. package/lib/heatmap/models/index.js +0 -6
  146. package/lib/heatmap/triangulation.js +0 -5
  147. package/lib/image/index.js +9 -36
  148. package/lib/image/models/image.js +66 -109
  149. package/lib/image/models/index.js +0 -3
  150. package/lib/index.js +7 -61
  151. package/lib/line/index.js +9 -40
  152. package/lib/line/models/arc.js +64 -128
  153. package/lib/line/models/arc_3d.js +58 -119
  154. package/lib/line/models/earthArc_3d.js +61 -122
  155. package/lib/line/models/great_circle.js +56 -111
  156. package/lib/line/models/half.js +46 -87
  157. package/lib/line/models/index.js +0 -11
  158. package/lib/line/models/line.js +92 -156
  159. package/lib/line/models/linearline.js +45 -92
  160. package/lib/line/models/simpleLine.js +41 -84
  161. package/lib/line/models/wall.js +52 -103
  162. package/lib/mask/index.js +9 -36
  163. package/lib/mask/models/fill.js +29 -63
  164. package/lib/mask/models/index.js +0 -3
  165. package/lib/plugins/DataMappingPlugin.js +80 -128
  166. package/lib/plugins/DataSourcePlugin.js +45 -76
  167. package/lib/plugins/FeatureScalePlugin.js +67 -138
  168. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  169. package/lib/plugins/LayerMaskPlugin.js +4 -17
  170. package/lib/plugins/LayerModelPlugin.js +68 -113
  171. package/lib/plugins/LayerStylePlugin.js +4 -14
  172. package/lib/plugins/LightingPlugin.js +12 -25
  173. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  174. package/lib/plugins/PixelPickingPlugin.js +12 -27
  175. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  176. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  177. package/lib/plugins/UpdateModelPlugin.js +1 -10
  178. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  179. package/lib/point/index.js +26 -83
  180. package/lib/point/models/earthExtrude.js +61 -113
  181. package/lib/point/models/earthFill.js +57 -117
  182. package/lib/point/models/extrude.js +60 -111
  183. package/lib/point/models/fill.js +68 -109
  184. package/lib/point/models/fillmage.js +61 -115
  185. package/lib/point/models/image.js +48 -98
  186. package/lib/point/models/index.js +1 -12
  187. package/lib/point/models/normal.js +30 -64
  188. package/lib/point/models/radar.js +40 -74
  189. package/lib/point/models/simplePoint.js +41 -79
  190. package/lib/point/models/text.js +197 -307
  191. package/lib/point/shape/extrude.js +4 -20
  192. package/lib/polygon/index.js +11 -48
  193. package/lib/polygon/models/extrude.js +48 -103
  194. package/lib/polygon/models/fill.js +54 -98
  195. package/lib/polygon/models/index.js +2 -14
  196. package/lib/polygon/models/ocean.js +42 -88
  197. package/lib/polygon/models/water.js +37 -82
  198. package/lib/raster/buffers/triangulation.js +3 -7
  199. package/lib/raster/index.js +9 -40
  200. package/lib/raster/models/index.js +0 -5
  201. package/lib/raster/models/raster.js +80 -125
  202. package/lib/raster/models/rasterRgb.js +84 -139
  203. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  204. package/lib/tile/interaction/getRasterData.js +14 -25
  205. package/lib/tile/interaction/utils.js +7 -19
  206. package/lib/tile/manager/base.js +63 -104
  207. package/lib/tile/service/TileLayerService.js +30 -57
  208. package/lib/tile/service/TilePickService.js +26 -48
  209. package/lib/tile/service/TileSourceService.js +2 -16
  210. package/lib/tile/style/utils.js +0 -3
  211. package/lib/tile/tileFactory/DebugTile.js +28 -53
  212. package/lib/tile/tileFactory/ImageTile.js +20 -46
  213. package/lib/tile/tileFactory/MaskTile.js +22 -51
  214. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  215. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  216. package/lib/tile/tileFactory/RasterTile.js +30 -63
  217. package/lib/tile/tileFactory/Tile.js +63 -102
  218. package/lib/tile/tileFactory/VectorTile.js +41 -76
  219. package/lib/tile/tileFactory/index.js +0 -25
  220. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  221. package/lib/tile/tileFactory/util.js +0 -9
  222. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  223. package/lib/tile/utils.js +1 -5
  224. package/lib/utils/blend.js +0 -5
  225. package/lib/utils/collision-index.js +9 -25
  226. package/lib/utils/dataMappingStyle.js +8 -19
  227. package/lib/utils/extrude_polyline.js +101 -181
  228. package/lib/utils/grid-index.js +2 -28
  229. package/lib/utils/identityScale.js +0 -9
  230. package/lib/utils/layerData.js +30 -49
  231. package/lib/utils/multiPassRender.js +11 -16
  232. package/lib/utils/polylineNormal.js +31 -66
  233. package/lib/utils/simpleLine.js +2 -21
  234. package/lib/utils/stencil.js +0 -4
  235. package/lib/utils/symbol-layout.js +27 -55
  236. package/lib/wind/index.js +9 -37
  237. package/lib/wind/models/index.js +0 -3
  238. package/lib/wind/models/utils.js +26 -62
  239. package/lib/wind/models/wind.js +101 -157
  240. package/lib/wind/models/windRender.js +53 -71
  241. package/lib/wind/models/windShader.js +0 -1
  242. 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_SceneCenterMKT;\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_SceneCenterMKT; // \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;