@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
package/es/earth/index.js CHANGED
@@ -7,11 +7,8 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
-
11
10
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
-
13
11
  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; } }
14
-
15
12
  import BaseLayer from "../core/BaseLayer";
16
13
  import EarthAtomSphereModel from "./models/atmosphere";
17
14
  import BaseEarthModel from "./models/base";
@@ -22,25 +19,17 @@ var EarthModels = {
22
19
  bloomSphere: EarthBloomSphereModel
23
20
  };
24
21
  var earthLayerTypes = ['base', 'atomSphere', 'bloomSphere'];
25
-
26
22
  var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
27
23
  _inherits(EarthLayer, _BaseLayer);
28
-
29
24
  var _super = _createSuper(EarthLayer);
30
-
31
25
  function EarthLayer() {
32
26
  var _this;
33
-
34
27
  _classCallCheck(this, EarthLayer);
35
-
36
28
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37
29
  args[_key] = arguments[_key];
38
30
  }
39
-
40
31
  _this = _super.call.apply(_super, [this].concat(args));
41
-
42
32
  _defineProperty(_assertThisInitialized(_this), "type", 'EarthLayer');
43
-
44
33
  _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
45
34
  data: [],
46
35
  options: {
@@ -49,43 +38,35 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
49
38
  }
50
39
  }
51
40
  });
52
-
53
41
  return _this;
54
42
  }
55
-
56
43
  _createClass(EarthLayer, [{
57
44
  key: "buildModels",
58
45
  value: function () {
59
46
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
60
47
  var shape;
61
48
  return _regeneratorRuntime.wrap(function _callee$(_context) {
62
- while (1) {
63
- switch (_context.prev = _context.next) {
64
- case 0:
65
- shape = this.getModelType();
66
- this.layerModel = new EarthModels[shape](this);
67
- _context.next = 4;
68
- return this.initLayerModels();
69
-
70
- case 4:
71
- case "end":
72
- return _context.stop();
73
- }
49
+ while (1) switch (_context.prev = _context.next) {
50
+ case 0:
51
+ shape = this.getModelType();
52
+ this.layerModel = new EarthModels[shape](this);
53
+ _context.next = 4;
54
+ return this.initLayerModels();
55
+ case 4:
56
+ case "end":
57
+ return _context.stop();
74
58
  }
75
59
  }, _callee, this);
76
60
  }));
77
-
78
61
  function buildModels() {
79
62
  return _buildModels.apply(this, arguments);
80
63
  }
81
-
82
64
  return buildModels;
83
65
  }()
84
66
  /**
85
67
  * 设置当前地球时间
86
68
  * @param time
87
69
  */
88
-
89
70
  }, {
90
71
  key: "setEarthTime",
91
72
  value: function setEarthTime(time) {
@@ -99,19 +80,14 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
99
80
  key: "getModelType",
100
81
  value: function getModelType() {
101
82
  var _shapeAttribute$scale;
102
-
103
83
  var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
104
84
  var shape = (shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field) || 'base';
105
-
106
85
  if (earthLayerTypes.indexOf(shape) < 0) {
107
86
  shape = 'base';
108
87
  }
109
-
110
88
  return shape;
111
89
  }
112
90
  }]);
113
-
114
91
  return EarthLayer;
115
92
  }(BaseLayer);
116
-
117
93
  export { EarthLayer as default };
@@ -5,40 +5,29 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
-
9
8
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
9
  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; } }
12
-
13
10
  import { AttributeType, gl } from '@antv/l7-core';
14
11
  import { isNumber } from 'lodash';
15
12
  import BaseModel from "../../core/BaseModel";
16
13
  import { earthTriangulation } from "../../core/triangulation";
17
-
18
14
  /* babel-plugin-inline-import '../shaders/atmosphere_frag.glsl' */
19
15
  var atmoSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\n\nvarying vec3 vVertexNormal;\nvarying float v_offset;\nvarying vec4 v_Color;\nvoid main() {\n \n \n // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\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";
20
-
21
16
  /* babel-plugin-inline-import '../shaders/atmosphere_vert.glsl' */
22
17
  var atmoSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nvarying float v_CamreaDistance;\n\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\nvarying float v_offset;\n\nvoid main() {\n float EARTH_RADIUS = 100.0;\n \n v_Color = a_Color;\n\n v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
23
-
24
18
  var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
25
19
  _inherits(EarthAtomSphereModel, _BaseModel);
26
-
27
20
  var _super = _createSuper(EarthAtomSphereModel);
28
-
29
21
  function EarthAtomSphereModel() {
30
22
  _classCallCheck(this, EarthAtomSphereModel);
31
-
32
23
  return _super.apply(this, arguments);
33
24
  }
34
-
35
25
  _createClass(EarthAtomSphereModel, [{
36
26
  key: "getUninforms",
37
27
  value: function getUninforms() {
38
28
  var _ref = this.layer.getLayerConfig(),
39
- _ref$opacity = _ref.opacity,
40
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
41
-
29
+ _ref$opacity = _ref.opacity,
30
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
42
31
  return {
43
32
  u_opacity: isNumber(opacity) ? opacity : 1.0
44
33
  };
@@ -48,23 +37,18 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
48
37
  value: function () {
49
38
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
50
39
  return _regeneratorRuntime.wrap(function _callee$(_context) {
51
- while (1) {
52
- switch (_context.prev = _context.next) {
53
- case 0:
54
- return _context.abrupt("return", this.buildModels());
55
-
56
- case 1:
57
- case "end":
58
- return _context.stop();
59
- }
40
+ while (1) switch (_context.prev = _context.next) {
41
+ case 0:
42
+ return _context.abrupt("return", this.buildModels());
43
+ case 1:
44
+ case "end":
45
+ return _context.stop();
60
46
  }
61
47
  }, _callee, this);
62
48
  }));
63
-
64
49
  function initModels() {
65
50
  return _initModels.apply(this, arguments);
66
51
  }
67
-
68
52
  return initModels;
69
53
  }()
70
54
  }, {
@@ -78,39 +62,33 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
78
62
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
79
63
  var model;
80
64
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
81
- while (1) {
82
- switch (_context2.prev = _context2.next) {
83
- case 0:
84
- // TODO: 调整图层的绘制顺序 地球大气层
85
- this.layer.zIndex = -997;
86
- _context2.next = 3;
87
- return this.layer.buildLayerModel({
88
- moduleName: 'earthAtmoSphere',
89
- vertexShader: atmoSphereVert,
90
- fragmentShader: atmoSphereFrag,
91
- triangulation: earthTriangulation,
92
- depth: {
93
- enable: false
94
- },
95
- blend: this.getBlend()
96
- });
97
-
98
- case 3:
99
- model = _context2.sent;
100
- return _context2.abrupt("return", [model]);
101
-
102
- case 5:
103
- case "end":
104
- return _context2.stop();
105
- }
65
+ while (1) switch (_context2.prev = _context2.next) {
66
+ case 0:
67
+ // TODO: 调整图层的绘制顺序 地球大气层
68
+ this.layer.zIndex = -997;
69
+ _context2.next = 3;
70
+ return this.layer.buildLayerModel({
71
+ moduleName: 'earthAtmoSphere',
72
+ vertexShader: atmoSphereVert,
73
+ fragmentShader: atmoSphereFrag,
74
+ triangulation: earthTriangulation,
75
+ depth: {
76
+ enable: false
77
+ },
78
+ blend: this.getBlend()
79
+ });
80
+ case 3:
81
+ model = _context2.sent;
82
+ return _context2.abrupt("return", [model]);
83
+ case 5:
84
+ case "end":
85
+ return _context2.stop();
106
86
  }
107
87
  }, _callee2, this);
108
88
  }));
109
-
110
89
  function buildModels() {
111
90
  return _buildModels.apply(this, arguments);
112
91
  }
113
-
114
92
  return buildModels;
115
93
  }()
116
94
  }, {
@@ -130,7 +108,7 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
130
108
  size: 1,
131
109
  update: function update(feature) {
132
110
  var _feature$size = feature.size,
133
- size = _feature$size === void 0 ? 1 : _feature$size;
111
+ size = _feature$size === void 0 ? 1 : _feature$size;
134
112
  return Array.isArray(size) ? [size[0]] : [size];
135
113
  }
136
114
  }
@@ -169,8 +147,6 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
169
147
  });
170
148
  }
171
149
  }]);
172
-
173
150
  return EarthAtomSphereModel;
174
151
  }(BaseModel);
175
-
176
152
  export { EarthAtomSphereModel as default };
@@ -7,57 +7,38 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
-
11
10
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
-
13
11
  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; } }
14
-
15
12
  import { AttributeType, gl } from '@antv/l7-core';
16
13
  import BaseModel from "../../core/BaseModel";
17
14
  import { earthTriangulation } from "../../core/triangulation";
18
-
19
15
  /* babel-plugin-inline-import '../shaders/base_frag.glsl' */
20
16
  var baseFrag = "\nuniform sampler2D u_texture;\n\nvarying vec2 v_texCoord;\nvarying float v_lightWeight;\n\n\nvoid main() {\n\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n color.xyz = color.xyz * v_lightWeight;\n gl_FragColor = color;\n}\n";
21
-
22
17
  /* babel-plugin-inline-import '../shaders/base_vert.glsl' */
23
18
  var baseVert = "// attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\n// attribute vec2 a_Extrude;\n// attribute float a_Size;\n// attribute float a_Shape;\n\nuniform vec3 u_CameraPosition;\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform float u_ambientRatio : 0.5;\nuniform float u_diffuseRatio : 0.3;\nuniform float u_specularRatio : 0.2;\nuniform vec3 u_sunLight: [1.0, -10.5, 12.0];\n\n\n\nfloat calc_lighting(vec4 pos) {\n\n vec3 worldPos = vec3(pos * u_ModelMatrix);\n\n vec3 worldNormal = a_Normal;\n\n // cal light weight\n vec3 viewDir = normalize(u_CameraPosition - worldPos);\n\n vec3 lightDir = normalize(u_sunLight);\n\n vec3 halfDir = normalize(viewDir+lightDir);\n // lambert\n float lambert = dot(worldNormal, lightDir);\n // specular\n float specular = pow(max(0.0, dot(worldNormal, halfDir)), 32.0);\n //sum to light weight\n float lightWeight = u_ambientRatio + u_diffuseRatio * lambert + u_specularRatio * specular;\n\n return lightWeight;\n}\n\nvarying float v_lightWeight;\nvoid main() {\n\n v_texCoord = a_Uv;\n\n float lightWeight = calc_lighting(vec4(a_Position, 1.0));\n v_lightWeight = lightWeight;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
24
-
25
19
  var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
26
20
  _inherits(BaseEarthModel, _BaseModel);
27
-
28
21
  var _super = _createSuper(BaseEarthModel);
29
-
30
22
  function BaseEarthModel() {
31
23
  var _this;
32
-
33
24
  _classCallCheck(this, BaseEarthModel);
34
-
35
25
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
26
  args[_key] = arguments[_key];
37
27
  }
38
-
39
28
  _this = _super.call.apply(_super, [this].concat(args));
40
-
41
29
  _defineProperty(_assertThisInitialized(_this), "earthTime", 3.4);
42
-
43
30
  _defineProperty(_assertThisInitialized(_this), "sunX", 1000);
44
-
45
31
  _defineProperty(_assertThisInitialized(_this), "sunY", 1000);
46
-
47
32
  _defineProperty(_assertThisInitialized(_this), "sunZ", 1000);
48
-
49
33
  _defineProperty(_assertThisInitialized(_this), "sunRadius", Math.sqrt(_this.sunX * _this.sunX + _this.sunY * _this.sunY + _this.sunZ * _this.sunZ));
50
-
51
34
  return _this;
52
35
  }
53
-
54
36
  _createClass(BaseEarthModel, [{
55
37
  key: "getUninforms",
56
38
  value: function getUninforms() {
57
39
  var _this$layer$getLayerC = this.layer.getLayerConfig(),
58
- animateOption = _this$layer$getLayerC.animateOption,
59
- globalOptions = _this$layer$getLayerC.globalOptions;
60
-
40
+ animateOption = _this$layer$getLayerC.animateOption,
41
+ globalOptions = _this$layer$getLayerC.globalOptions;
61
42
  if (animateOption !== null && animateOption !== void 0 && animateOption.enable) {
62
43
  // @ts-ignore
63
44
  // T: rotateY 方法只有在地球模式下存在
@@ -69,7 +50,6 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
69
50
  this.sunX = Math.cos(this.earthTime) * (this.sunRadius - this.sunY);
70
51
  this.sunZ = Math.sin(this.earthTime) * (this.sunRadius - this.sunY);
71
52
  }
72
-
73
53
  return {
74
54
  u_ambientRatio: (globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.ambientRatio) || 0.6,
75
55
  // 环境光
@@ -95,48 +75,38 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
95
75
  value: function () {
96
76
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
97
77
  var _this2 = this;
98
-
99
78
  var _this$layer$getLayerC2, globalOptions, source, createTexture2D;
100
-
101
79
  return _regeneratorRuntime.wrap(function _callee$(_context) {
102
- while (1) {
103
- switch (_context.prev = _context.next) {
104
- case 0:
105
- _this$layer$getLayerC2 = this.layer.getLayerConfig(), globalOptions = _this$layer$getLayerC2.globalOptions;
106
-
107
- if ((globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.earthTime) !== undefined) {
108
- this.setEarthTime(globalOptions.earthTime);
109
- }
110
-
111
- source = this.layer.getSource();
112
- createTexture2D = this.rendererService.createTexture2D;
113
- this.texture = createTexture2D({
114
- height: 0,
115
- width: 0
80
+ while (1) switch (_context.prev = _context.next) {
81
+ case 0:
82
+ _this$layer$getLayerC2 = this.layer.getLayerConfig(), globalOptions = _this$layer$getLayerC2.globalOptions;
83
+ if ((globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.earthTime) !== undefined) {
84
+ this.setEarthTime(globalOptions.earthTime);
85
+ }
86
+ source = this.layer.getSource();
87
+ createTexture2D = this.rendererService.createTexture2D;
88
+ this.texture = createTexture2D({
89
+ height: 0,
90
+ width: 0
91
+ });
92
+ source.data.images.then(function (imageData) {
93
+ _this2.texture = createTexture2D({
94
+ data: imageData[0],
95
+ width: imageData[0].width,
96
+ height: imageData[0].height
116
97
  });
117
- source.data.images.then(function (imageData) {
118
- _this2.texture = createTexture2D({
119
- data: imageData[0],
120
- width: imageData[0].width,
121
- height: imageData[0].height
122
- });
123
-
124
- _this2.layerService.reRender();
125
- });
126
- return _context.abrupt("return", this.buildModels());
127
-
128
- case 7:
129
- case "end":
130
- return _context.stop();
131
- }
98
+ _this2.layerService.reRender();
99
+ });
100
+ return _context.abrupt("return", this.buildModels());
101
+ case 7:
102
+ case "end":
103
+ return _context.stop();
132
104
  }
133
105
  }, _callee, this);
134
106
  }));
135
-
136
107
  function initModels() {
137
108
  return _initModels.apply(this, arguments);
138
109
  }
139
-
140
110
  return initModels;
141
111
  }()
142
112
  }, {
@@ -150,39 +120,33 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
150
120
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
151
121
  var model;
152
122
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
153
- while (1) {
154
- switch (_context2.prev = _context2.next) {
155
- case 0:
156
- // Tip: 调整图层的绘制顺序 地球大气层
157
- this.layer.zIndex = -998;
158
- _context2.next = 3;
159
- return this.layer.buildLayerModel({
160
- moduleName: 'earthBase',
161
- vertexShader: baseVert,
162
- fragmentShader: baseFrag,
163
- triangulation: earthTriangulation,
164
- depth: {
165
- enable: true
166
- },
167
- blend: this.getBlend()
168
- });
169
-
170
- case 3:
171
- model = _context2.sent;
172
- return _context2.abrupt("return", [model]);
173
-
174
- case 5:
175
- case "end":
176
- return _context2.stop();
177
- }
123
+ while (1) switch (_context2.prev = _context2.next) {
124
+ case 0:
125
+ // Tip: 调整图层的绘制顺序 地球大气层
126
+ this.layer.zIndex = -998;
127
+ _context2.next = 3;
128
+ return this.layer.buildLayerModel({
129
+ moduleName: 'earthBase',
130
+ vertexShader: baseVert,
131
+ fragmentShader: baseFrag,
132
+ triangulation: earthTriangulation,
133
+ depth: {
134
+ enable: true
135
+ },
136
+ blend: this.getBlend()
137
+ });
138
+ case 3:
139
+ model = _context2.sent;
140
+ return _context2.abrupt("return", [model]);
141
+ case 5:
142
+ case "end":
143
+ return _context2.stop();
178
144
  }
179
145
  }, _callee2, this);
180
146
  }));
181
-
182
147
  function buildModels() {
183
148
  return _buildModels.apply(this, arguments);
184
149
  }
185
-
186
150
  return buildModels;
187
151
  }()
188
152
  }, {
@@ -201,7 +165,7 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
201
165
  size: 1,
202
166
  update: function update(feature) {
203
167
  var _feature$size = feature.size,
204
- size = _feature$size === void 0 ? 1 : _feature$size;
168
+ size = _feature$size === void 0 ? 1 : _feature$size;
205
169
  return Array.isArray(size) ? [size[0]] : [size];
206
170
  }
207
171
  }
@@ -241,8 +205,6 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
241
205
  });
242
206
  }
243
207
  }]);
244
-
245
208
  return BaseEarthModel;
246
209
  }(BaseModel);
247
-
248
210
  export { BaseEarthModel as default };
@@ -5,40 +5,29 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
-
9
8
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
9
  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; } }
12
-
13
10
  import { AttributeType, gl } from '@antv/l7-core';
14
11
  import { isNumber } from 'lodash';
15
12
  import BaseModel from "../../core/BaseModel";
16
13
  import { earthOuterTriangulation } from "../../core/triangulation";
17
-
18
14
  /* babel-plugin-inline-import '../shaders/bloomsphere_frag.glsl' */
19
15
  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";
20
-
21
16
  /* babel-plugin-inline-import '../shaders/bloomsphere_vert.glsl' */
22
17
  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";
23
-
24
18
  var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
25
19
  _inherits(EarthBloomSphereModel, _BaseModel);
26
-
27
20
  var _super = _createSuper(EarthBloomSphereModel);
28
-
29
21
  function EarthBloomSphereModel() {
30
22
  _classCallCheck(this, EarthBloomSphereModel);
31
-
32
23
  return _super.apply(this, arguments);
33
24
  }
34
-
35
25
  _createClass(EarthBloomSphereModel, [{
36
26
  key: "getUninforms",
37
27
  value: function getUninforms() {
38
28
  var _ref = this.layer.getLayerConfig(),
39
- _ref$opacity = _ref.opacity,
40
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
41
-
29
+ _ref$opacity = _ref.opacity,
30
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
42
31
  return {
43
32
  u_opacity: isNumber(opacity) ? opacity : 1.0
44
33
  };
@@ -48,23 +37,18 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
48
37
  value: function () {
49
38
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
50
39
  return _regeneratorRuntime.wrap(function _callee$(_context) {
51
- while (1) {
52
- switch (_context.prev = _context.next) {
53
- case 0:
54
- return _context.abrupt("return", this.buildModels());
55
-
56
- case 1:
57
- case "end":
58
- return _context.stop();
59
- }
40
+ while (1) switch (_context.prev = _context.next) {
41
+ case 0:
42
+ return _context.abrupt("return", this.buildModels());
43
+ case 1:
44
+ case "end":
45
+ return _context.stop();
60
46
  }
61
47
  }, _callee, this);
62
48
  }));
63
-
64
49
  function initModels() {
65
50
  return _initModels.apply(this, arguments);
66
51
  }
67
-
68
52
  return initModels;
69
53
  }()
70
54
  }, {
@@ -78,39 +62,33 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
78
62
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
79
63
  var model;
80
64
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
81
- while (1) {
82
- switch (_context2.prev = _context2.next) {
83
- case 0:
84
- // Tip: 调整图层的绘制顺序,让它保持在地球后面(减少锯齿现象)
85
- this.layer.zIndex = -999;
86
- _context2.next = 3;
87
- return this.layer.buildLayerModel({
88
- moduleName: 'earthBloom',
89
- vertexShader: bloomSphereVert,
90
- fragmentShader: bloomSphereFrag,
91
- triangulation: earthOuterTriangulation,
92
- depth: {
93
- enable: false
94
- },
95
- blend: this.getBlend()
96
- });
97
-
98
- case 3:
99
- model = _context2.sent;
100
- return _context2.abrupt("return", [model]);
101
-
102
- case 5:
103
- case "end":
104
- return _context2.stop();
105
- }
65
+ while (1) switch (_context2.prev = _context2.next) {
66
+ case 0:
67
+ // Tip: 调整图层的绘制顺序,让它保持在地球后面(减少锯齿现象)
68
+ this.layer.zIndex = -999;
69
+ _context2.next = 3;
70
+ return this.layer.buildLayerModel({
71
+ moduleName: 'earthBloom',
72
+ vertexShader: bloomSphereVert,
73
+ fragmentShader: bloomSphereFrag,
74
+ triangulation: earthOuterTriangulation,
75
+ depth: {
76
+ enable: false
77
+ },
78
+ blend: this.getBlend()
79
+ });
80
+ case 3:
81
+ model = _context2.sent;
82
+ return _context2.abrupt("return", [model]);
83
+ case 5:
84
+ case "end":
85
+ return _context2.stop();
106
86
  }
107
87
  }, _callee2, this);
108
88
  }));
109
-
110
89
  function buildModels() {
111
90
  return _buildModels.apply(this, arguments);
112
91
  }
113
-
114
92
  return buildModels;
115
93
  }()
116
94
  }, {
@@ -129,7 +107,7 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
129
107
  size: 1,
130
108
  update: function update(feature) {
131
109
  var _feature$size = feature.size,
132
- size = _feature$size === void 0 ? 1 : _feature$size;
110
+ size = _feature$size === void 0 ? 1 : _feature$size;
133
111
  return Array.isArray(size) ? [size[0]] : [size];
134
112
  }
135
113
  }
@@ -168,8 +146,6 @@ var EarthBloomSphereModel = /*#__PURE__*/function (_BaseModel) {
168
146
  });
169
147
  }
170
148
  }]);
171
-
172
149
  return EarthBloomSphereModel;
173
150
  }(BaseModel);
174
-
175
151
  export { EarthBloomSphereModel as default };