@antv/l7-layers 2.17.2 → 2.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/es/Geometry/index.js +31 -9
  2. package/es/Geometry/models/billboard.js +89 -51
  3. package/es/Geometry/models/plane.js +143 -81
  4. package/es/Geometry/models/sprite.js +118 -60
  5. package/es/canvas/index.js +33 -10
  6. package/es/canvas/models/canvas.js +97 -41
  7. package/es/citybuliding/building.js +27 -8
  8. package/es/citybuliding/models/build.js +82 -57
  9. package/es/core/BaseLayer.js +478 -313
  10. package/es/core/BaseModel.js +80 -51
  11. package/es/core/CommonStyleAttribute.js +5 -2
  12. package/es/core/LayerPickService.js +32 -21
  13. package/es/core/TextureService.js +13 -0
  14. package/es/core/interface.js +24 -17
  15. package/es/core/shape/Path.js +20 -13
  16. package/es/core/shape/extrude.js +39 -27
  17. package/es/core/triangulation.js +136 -99
  18. package/es/earth/index.js +33 -9
  19. package/es/earth/models/atmosphere.js +54 -30
  20. package/es/earth/models/base.js +85 -47
  21. package/es/earth/models/bloomsphere.js +54 -30
  22. package/es/earth/utils.js +13 -9
  23. package/es/heatmap/index.js +40 -10
  24. package/es/heatmap/models/grid.js +52 -28
  25. package/es/heatmap/models/grid3d.js +52 -28
  26. package/es/heatmap/models/heatmap.js +149 -92
  27. package/es/heatmap/models/hexagon.js +52 -28
  28. package/es/heatmap/triangulation.js +4 -0
  29. package/es/image/index.js +28 -9
  30. package/es/image/models/image.js +100 -66
  31. package/es/index.js +17 -9
  32. package/es/line/index.js +35 -9
  33. package/es/line/models/arc.js +114 -64
  34. package/es/line/models/arc_3d.js +102 -58
  35. package/es/line/models/earthArc_3d.js +105 -60
  36. package/es/line/models/flow.js +60 -36
  37. package/es/line/models/great_circle.js +94 -53
  38. package/es/line/models/line.js +138 -86
  39. package/es/line/models/linearline.js +76 -43
  40. package/es/line/models/simpleLine.js +69 -39
  41. package/es/line/models/wall.js +92 -52
  42. package/es/mask/index.js +28 -9
  43. package/es/mask/models/fill.js +54 -29
  44. package/es/plugins/DataMappingPlugin.js +114 -78
  45. package/es/plugins/DataSourcePlugin.js +68 -45
  46. package/es/plugins/FeatureScalePlugin.js +122 -67
  47. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  48. package/es/plugins/LayerMaskPlugin.js +11 -3
  49. package/es/plugins/LayerModelPlugin.js +108 -69
  50. package/es/plugins/LayerStylePlugin.js +9 -3
  51. package/es/plugins/LightingPlugin.js +18 -12
  52. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  53. package/es/plugins/PixelPickingPlugin.js +21 -12
  54. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  55. package/es/plugins/ShaderUniformPlugin.js +27 -13
  56. package/es/plugins/UpdateModelPlugin.js +5 -0
  57. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  58. package/es/point/index.js +78 -26
  59. package/es/point/models/earthExtrude.js +95 -58
  60. package/es/point/models/earthFill.js +80 -52
  61. package/es/point/models/extrude.js +94 -57
  62. package/es/point/models/fill.js +81 -56
  63. package/es/point/models/fillmage.js +100 -60
  64. package/es/point/models/image.js +83 -47
  65. package/es/point/models/index.js +2 -2
  66. package/es/point/models/normal.js +54 -30
  67. package/es/point/models/radar.js +63 -38
  68. package/es/point/models/simplePoint.js +62 -38
  69. package/es/point/models/text.js +296 -199
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +41 -11
  72. package/es/polygon/models/extrude.js +135 -87
  73. package/es/polygon/models/fill.js +79 -50
  74. package/es/polygon/models/index.js +2 -3
  75. package/es/polygon/models/ocean.js +76 -42
  76. package/es/polygon/models/water.js +71 -37
  77. package/es/raster/buffers/triangulation.js +4 -2
  78. package/es/raster/index.js +32 -9
  79. package/es/raster/models/raster.js +116 -80
  80. package/es/raster/models/rasterRgb.js +127 -84
  81. package/es/raster/models/rasterTerrainRgb.js +84 -56
  82. package/es/tile/interaction/getRasterData.js +20 -14
  83. package/es/tile/interaction/utils.js +9 -7
  84. package/es/tile/manager/base.js +96 -63
  85. package/es/tile/service/TileLayerService.js +55 -33
  86. package/es/tile/service/TilePickService.js +40 -26
  87. package/es/tile/service/TileSourceService.js +7 -3
  88. package/es/tile/tileFactory/DebugTile.js +46 -29
  89. package/es/tile/tileFactory/ImageTile.js +38 -20
  90. package/es/tile/tileFactory/MaskTile.js +43 -22
  91. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  93. package/es/tile/tileFactory/RasterTile.js +53 -30
  94. package/es/tile/tileFactory/Tile.js +97 -63
  95. package/es/tile/tileFactory/VectorTile.js +68 -41
  96. package/es/tile/tileFactory/index.js +11 -0
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  98. package/es/tile/tileFactory/util.js +3 -0
  99. package/es/tile/tileLayer/BaseLayer.js +146 -105
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +2 -0
  102. package/es/utils/collision-index.js +16 -9
  103. package/es/utils/extrude_polyline.js +149 -101
  104. package/es/utils/grid-index.js +27 -2
  105. package/es/utils/identityScale.js +8 -0
  106. package/es/utils/layerData.js +44 -30
  107. package/es/utils/multiPassRender.js +13 -11
  108. package/es/utils/polylineNormal.js +37 -31
  109. package/es/utils/simpleLine.js +16 -2
  110. package/es/utils/stencil.js +3 -2
  111. package/es/utils/symbol-layout.js +53 -27
  112. package/es/wind/index.js +29 -9
  113. package/es/wind/models/utils.js +51 -26
  114. package/es/wind/models/wind.js +147 -101
  115. package/es/wind/models/windRender.js +66 -53
  116. package/lib/Geometry/index.js +38 -9
  117. package/lib/Geometry/models/billboard.js +97 -51
  118. package/lib/Geometry/models/index.js +5 -0
  119. package/lib/Geometry/models/plane.js +151 -79
  120. package/lib/Geometry/models/sprite.js +127 -60
  121. package/lib/canvas/index.js +40 -10
  122. package/lib/canvas/models/canvas.js +101 -41
  123. package/lib/canvas/models/index.js +3 -0
  124. package/lib/citybuliding/building.js +35 -8
  125. package/lib/citybuliding/models/build.js +92 -57
  126. package/lib/core/BaseLayer.js +469 -313
  127. package/lib/core/BaseModel.js +90 -51
  128. package/lib/core/CommonStyleAttribute.js +7 -2
  129. package/lib/core/LayerPickService.js +37 -21
  130. package/lib/core/TextureService.js +16 -0
  131. package/lib/core/interface.js +31 -21
  132. package/lib/core/schema.js +1 -0
  133. package/lib/core/shape/Path.js +31 -14
  134. package/lib/core/shape/extrude.js +62 -27
  135. package/lib/core/triangulation.js +177 -98
  136. package/lib/earth/index.js +43 -9
  137. package/lib/earth/models/atmosphere.js +63 -30
  138. package/lib/earth/models/base.js +90 -47
  139. package/lib/earth/models/bloomsphere.js +63 -30
  140. package/lib/earth/utils.js +31 -7
  141. package/lib/heatmap/index.js +48 -10
  142. package/lib/heatmap/models/grid.js +60 -28
  143. package/lib/heatmap/models/grid3d.js +60 -28
  144. package/lib/heatmap/models/heatmap.js +166 -92
  145. package/lib/heatmap/models/hexagon.js +60 -28
  146. package/lib/heatmap/models/index.js +6 -0
  147. package/lib/heatmap/triangulation.js +5 -0
  148. package/lib/image/index.js +36 -9
  149. package/lib/image/models/image.js +109 -66
  150. package/lib/image/models/index.js +3 -0
  151. package/lib/index.js +61 -7
  152. package/lib/line/index.js +40 -9
  153. package/lib/line/models/arc.js +124 -62
  154. package/lib/line/models/arc_3d.js +113 -56
  155. package/lib/line/models/earthArc_3d.js +115 -58
  156. package/lib/line/models/flow.js +70 -36
  157. package/lib/line/models/great_circle.js +104 -53
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +146 -84
  160. package/lib/line/models/linearline.js +88 -43
  161. package/lib/line/models/simpleLine.js +79 -39
  162. package/lib/line/models/wall.js +103 -52
  163. package/lib/mask/index.js +36 -9
  164. package/lib/mask/models/fill.js +63 -29
  165. package/lib/mask/models/index.js +3 -0
  166. package/lib/plugins/DataMappingPlugin.js +125 -78
  167. package/lib/plugins/DataSourcePlugin.js +76 -45
  168. package/lib/plugins/FeatureScalePlugin.js +138 -67
  169. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  170. package/lib/plugins/LayerMaskPlugin.js +17 -4
  171. package/lib/plugins/LayerModelPlugin.js +117 -70
  172. package/lib/plugins/LayerStylePlugin.js +14 -4
  173. package/lib/plugins/LightingPlugin.js +25 -12
  174. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  175. package/lib/plugins/PixelPickingPlugin.js +27 -12
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  177. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  178. package/lib/plugins/UpdateModelPlugin.js +10 -1
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  180. package/lib/point/index.js +83 -26
  181. package/lib/point/models/earthExtrude.js +106 -58
  182. package/lib/point/models/earthFill.js +110 -52
  183. package/lib/point/models/extrude.js +103 -57
  184. package/lib/point/models/fill.js +90 -54
  185. package/lib/point/models/fillmage.js +107 -58
  186. package/lib/point/models/image.js +92 -47
  187. package/lib/point/models/index.js +12 -1
  188. package/lib/point/models/normal.js +64 -30
  189. package/lib/point/models/radar.js +72 -38
  190. package/lib/point/models/simplePoint.js +72 -38
  191. package/lib/point/models/text.js +305 -199
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +146 -87
  195. package/lib/polygon/models/fill.js +89 -50
  196. package/lib/polygon/models/index.js +14 -2
  197. package/lib/polygon/models/ocean.js +88 -42
  198. package/lib/polygon/models/water.js +82 -37
  199. package/lib/raster/buffers/triangulation.js +7 -3
  200. package/lib/raster/index.js +40 -9
  201. package/lib/raster/models/index.js +5 -0
  202. package/lib/raster/models/raster.js +125 -80
  203. package/lib/raster/models/rasterRgb.js +139 -84
  204. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  205. package/lib/tile/interaction/getRasterData.js +25 -14
  206. package/lib/tile/interaction/utils.js +19 -7
  207. package/lib/tile/manager/base.js +104 -63
  208. package/lib/tile/service/TileLayerService.js +60 -33
  209. package/lib/tile/service/TilePickService.js +48 -26
  210. package/lib/tile/service/TileSourceService.js +16 -2
  211. package/lib/tile/style/utils.js +3 -0
  212. package/lib/tile/tileFactory/DebugTile.js +54 -29
  213. package/lib/tile/tileFactory/ImageTile.js +46 -20
  214. package/lib/tile/tileFactory/MaskTile.js +51 -22
  215. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  217. package/lib/tile/tileFactory/RasterTile.js +63 -30
  218. package/lib/tile/tileFactory/Tile.js +102 -63
  219. package/lib/tile/tileFactory/VectorTile.js +76 -41
  220. package/lib/tile/tileFactory/index.js +25 -0
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  222. package/lib/tile/tileFactory/util.js +9 -0
  223. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  224. package/lib/tile/utils.js +5 -1
  225. package/lib/utils/blend.js +5 -0
  226. package/lib/utils/collision-index.js +25 -9
  227. package/lib/utils/extrude_polyline.js +181 -101
  228. package/lib/utils/grid-index.js +28 -2
  229. package/lib/utils/identityScale.js +9 -0
  230. package/lib/utils/layerData.js +49 -30
  231. package/lib/utils/multiPassRender.js +16 -11
  232. package/lib/utils/polylineNormal.js +66 -31
  233. package/lib/utils/simpleLine.js +21 -2
  234. package/lib/utils/stencil.js +4 -0
  235. package/lib/utils/symbol-layout.js +55 -27
  236. package/lib/wind/index.js +37 -9
  237. package/lib/wind/models/index.js +3 -0
  238. package/lib/wind/models/utils.js +62 -26
  239. package/lib/wind/models/wind.js +157 -101
  240. package/lib/wind/models/windRender.js +71 -53
  241. package/lib/wind/models/windShader.js +1 -0
  242. package/package.json +7 -7
@@ -1,40 +1,63 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
13
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
14
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
15
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
16
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
17
28
  var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
29
+
18
30
  var _atmosphere = _interopRequireDefault(require("./models/atmosphere"));
31
+
19
32
  var _base = _interopRequireDefault(require("./models/base"));
33
+
20
34
  var _bloomsphere = _interopRequireDefault(require("./models/bloomsphere"));
35
+
21
36
  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); }; }
37
+
22
38
  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; } }
39
+
23
40
  var EarthModels = {
24
41
  base: _base.default,
25
42
  atomSphere: _atmosphere.default,
26
43
  bloomSphere: _bloomsphere.default
27
44
  };
28
45
  var earthLayerTypes = ['base', 'atomSphere', 'bloomSphere'];
46
+
29
47
  var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
30
48
  (0, _inherits2.default)(EarthLayer, _BaseLayer);
49
+
31
50
  var _super = _createSuper(EarthLayer);
51
+
32
52
  function EarthLayer() {
33
53
  var _this;
54
+
34
55
  (0, _classCallCheck2.default)(this, EarthLayer);
56
+
35
57
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
58
  args[_key] = arguments[_key];
37
59
  }
60
+
38
61
  _this = _super.call.apply(_super, [this].concat(args));
39
62
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'EarthLayer');
40
63
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultSourceConfig", {
@@ -47,33 +70,40 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
47
70
  });
48
71
  return _this;
49
72
  }
73
+
50
74
  (0, _createClass2.default)(EarthLayer, [{
51
75
  key: "buildModels",
52
76
  value: function () {
53
77
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
54
78
  var shape;
55
79
  return _regenerator.default.wrap(function _callee$(_context) {
56
- while (1) switch (_context.prev = _context.next) {
57
- case 0:
58
- shape = this.getModelType();
59
- this.layerModel = new EarthModels[shape](this);
60
- _context.next = 4;
61
- return this.initLayerModels();
62
- case 4:
63
- case "end":
64
- return _context.stop();
80
+ while (1) {
81
+ switch (_context.prev = _context.next) {
82
+ case 0:
83
+ shape = this.getModelType();
84
+ this.layerModel = new EarthModels[shape](this);
85
+ _context.next = 4;
86
+ return this.initLayerModels();
87
+
88
+ case 4:
89
+ case "end":
90
+ return _context.stop();
91
+ }
65
92
  }
66
93
  }, _callee, this);
67
94
  }));
95
+
68
96
  function buildModels() {
69
97
  return _buildModels.apply(this, arguments);
70
98
  }
99
+
71
100
  return buildModels;
72
101
  }()
73
102
  /**
74
103
  * 设置当前地球时间
75
104
  * @param time
76
105
  */
106
+
77
107
  }, {
78
108
  key: "setEarthTime",
79
109
  value: function setEarthTime(time) {
@@ -87,14 +117,18 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
87
117
  key: "getModelType",
88
118
  value: function getModelType() {
89
119
  var _shapeAttribute$scale;
120
+
90
121
  var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
91
122
  var shape = (shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field) || 'base';
123
+
92
124
  if (earthLayerTypes.indexOf(shape) < 0) {
93
125
  shape = 'base';
94
126
  }
127
+
95
128
  return shape;
96
129
  }
97
130
  }]);
98
131
  return EarthLayer;
99
132
  }(_BaseLayer2.default);
133
+
100
134
  exports.default = EarthLayer;
@@ -1,40 +1,61 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
13
20
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
14
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
15
24
  var _l7Core = require("@antv/l7-core");
25
+
16
26
  var _lodash = require("lodash");
27
+
17
28
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
29
+
18
30
  var _triangulation = require("../../core/triangulation");
31
+
19
32
  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
+
20
34
  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
+
21
36
  /* babel-plugin-inline-import '../shaders/atmosphere_frag.glsl' */
22
37
  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";
38
+
23
39
  /* babel-plugin-inline-import '../shaders/atmosphere_vert.glsl' */
24
40
  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";
41
+
25
42
  var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
26
43
  (0, _inherits2.default)(EarthAtomSphereModel, _BaseModel);
44
+
27
45
  var _super = _createSuper(EarthAtomSphereModel);
46
+
28
47
  function EarthAtomSphereModel() {
29
48
  (0, _classCallCheck2.default)(this, EarthAtomSphereModel);
30
49
  return _super.apply(this, arguments);
31
50
  }
51
+
32
52
  (0, _createClass2.default)(EarthAtomSphereModel, [{
33
53
  key: "getUninforms",
34
54
  value: function getUninforms() {
35
55
  var _ref = this.layer.getLayerConfig(),
36
- _ref$opacity = _ref.opacity,
37
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
56
+ _ref$opacity = _ref.opacity,
57
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
58
+
38
59
  return {
39
60
  u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1.0
40
61
  };
@@ -44,18 +65,23 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
44
65
  value: function () {
45
66
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
46
67
  return _regenerator.default.wrap(function _callee$(_context) {
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();
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
+ }
53
77
  }
54
78
  }, _callee, this);
55
79
  }));
80
+
56
81
  function initModels() {
57
82
  return _initModels.apply(this, arguments);
58
83
  }
84
+
59
85
  return initModels;
60
86
  }()
61
87
  }, {
@@ -69,33 +95,39 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
69
95
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
70
96
  var model;
71
97
  return _regenerator.default.wrap(function _callee2$(_context2) {
72
- while (1) switch (_context2.prev = _context2.next) {
73
- case 0:
74
- // TODO: 调整图层的绘制顺序 地球大气层
75
- this.layer.zIndex = -997;
76
- _context2.next = 3;
77
- return this.layer.buildLayerModel({
78
- moduleName: 'earthAtmoSphere',
79
- vertexShader: atmoSphereVert,
80
- fragmentShader: atmoSphereFrag,
81
- triangulation: _triangulation.earthTriangulation,
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();
98
+ while (1) {
99
+ switch (_context2.prev = _context2.next) {
100
+ case 0:
101
+ // TODO: 调整图层的绘制顺序 地球大气层
102
+ this.layer.zIndex = -997;
103
+ _context2.next = 3;
104
+ return this.layer.buildLayerModel({
105
+ moduleName: 'earthAtmoSphere',
106
+ vertexShader: atmoSphereVert,
107
+ fragmentShader: atmoSphereFrag,
108
+ triangulation: _triangulation.earthTriangulation,
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
+ }
93
123
  }
94
124
  }, _callee2, this);
95
125
  }));
126
+
96
127
  function buildModels() {
97
128
  return _buildModels.apply(this, arguments);
98
129
  }
130
+
99
131
  return buildModels;
100
132
  }()
101
133
  }, {
@@ -115,7 +147,7 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
115
147
  size: 1,
116
148
  update: function update(feature) {
117
149
  var _feature$size = feature.size,
118
- size = _feature$size === void 0 ? 1 : _feature$size;
150
+ size = _feature$size === void 0 ? 1 : _feature$size;
119
151
  return Array.isArray(size) ? [size[0]] : [size];
120
152
  }
121
153
  }
@@ -156,4 +188,5 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
156
188
  }]);
157
189
  return EarthAtomSphereModel;
158
190
  }(_BaseModel2.default);
191
+
159
192
  exports.default = EarthAtomSphereModel;
@@ -1,37 +1,60 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
13
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
14
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
15
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
16
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
17
28
  var _l7Core = require("@antv/l7-core");
29
+
18
30
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
31
+
19
32
  var _triangulation = require("../../core/triangulation");
33
+
20
34
  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); }; }
35
+
21
36
  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; } }
37
+
22
38
  /* babel-plugin-inline-import '../shaders/base_frag.glsl' */
23
39
  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";
40
+
24
41
  /* babel-plugin-inline-import '../shaders/base_vert.glsl' */
25
42
  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";
43
+
26
44
  var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
27
45
  (0, _inherits2.default)(BaseEarthModel, _BaseModel);
46
+
28
47
  var _super = _createSuper(BaseEarthModel);
48
+
29
49
  function BaseEarthModel() {
30
50
  var _this;
51
+
31
52
  (0, _classCallCheck2.default)(this, BaseEarthModel);
53
+
32
54
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33
55
  args[_key] = arguments[_key];
34
56
  }
57
+
35
58
  _this = _super.call.apply(_super, [this].concat(args));
36
59
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "earthTime", 3.4);
37
60
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sunX", 1000);
@@ -40,12 +63,14 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
40
63
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sunRadius", Math.sqrt(_this.sunX * _this.sunX + _this.sunY * _this.sunY + _this.sunZ * _this.sunZ));
41
64
  return _this;
42
65
  }
66
+
43
67
  (0, _createClass2.default)(BaseEarthModel, [{
44
68
  key: "getUninforms",
45
69
  value: function getUninforms() {
46
70
  var _this$layer$getLayerC = this.layer.getLayerConfig(),
47
- animateOption = _this$layer$getLayerC.animateOption,
48
- globalOptions = _this$layer$getLayerC.globalOptions;
71
+ animateOption = _this$layer$getLayerC.animateOption,
72
+ globalOptions = _this$layer$getLayerC.globalOptions;
73
+
49
74
  if (animateOption !== null && animateOption !== void 0 && animateOption.enable) {
50
75
  // @ts-ignore
51
76
  // T: rotateY 方法只有在地球模式下存在
@@ -57,6 +82,7 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
57
82
  this.sunX = Math.cos(this.earthTime) * (this.sunRadius - this.sunY);
58
83
  this.sunZ = Math.sin(this.earthTime) * (this.sunRadius - this.sunY);
59
84
  }
85
+
60
86
  return {
61
87
  u_ambientRatio: (globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.ambientRatio) || 0.6,
62
88
  // 环境光
@@ -82,38 +108,48 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
82
108
  value: function () {
83
109
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
84
110
  var _this2 = this;
111
+
85
112
  var _this$layer$getLayerC2, globalOptions, source, createTexture2D;
113
+
86
114
  return _regenerator.default.wrap(function _callee$(_context) {
87
- while (1) switch (_context.prev = _context.next) {
88
- case 0:
89
- _this$layer$getLayerC2 = this.layer.getLayerConfig(), globalOptions = _this$layer$getLayerC2.globalOptions;
90
- if ((globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.earthTime) !== undefined) {
91
- this.setEarthTime(globalOptions.earthTime);
92
- }
93
- source = this.layer.getSource();
94
- createTexture2D = this.rendererService.createTexture2D;
95
- this.texture = createTexture2D({
96
- height: 0,
97
- width: 0
98
- });
99
- source.data.images.then(function (imageData) {
100
- _this2.texture = createTexture2D({
101
- data: imageData[0],
102
- width: imageData[0].width,
103
- height: imageData[0].height
115
+ while (1) {
116
+ switch (_context.prev = _context.next) {
117
+ case 0:
118
+ _this$layer$getLayerC2 = this.layer.getLayerConfig(), globalOptions = _this$layer$getLayerC2.globalOptions;
119
+
120
+ if ((globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.earthTime) !== undefined) {
121
+ this.setEarthTime(globalOptions.earthTime);
122
+ }
123
+
124
+ source = this.layer.getSource();
125
+ createTexture2D = this.rendererService.createTexture2D;
126
+ this.texture = createTexture2D({
127
+ height: 0,
128
+ width: 0
129
+ });
130
+ source.data.images.then(function (imageData) {
131
+ _this2.texture = createTexture2D({
132
+ data: imageData[0],
133
+ width: imageData[0].width,
134
+ height: imageData[0].height
135
+ });
136
+
137
+ _this2.layerService.reRender();
104
138
  });
105
- _this2.layerService.reRender();
106
- });
107
- return _context.abrupt("return", this.buildModels());
108
- case 7:
109
- case "end":
110
- return _context.stop();
139
+ return _context.abrupt("return", this.buildModels());
140
+
141
+ case 7:
142
+ case "end":
143
+ return _context.stop();
144
+ }
111
145
  }
112
146
  }, _callee, this);
113
147
  }));
148
+
114
149
  function initModels() {
115
150
  return _initModels.apply(this, arguments);
116
151
  }
152
+
117
153
  return initModels;
118
154
  }()
119
155
  }, {
@@ -127,33 +163,39 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
127
163
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
128
164
  var model;
129
165
  return _regenerator.default.wrap(function _callee2$(_context2) {
130
- while (1) switch (_context2.prev = _context2.next) {
131
- case 0:
132
- // Tip: 调整图层的绘制顺序 地球大气层
133
- this.layer.zIndex = -998;
134
- _context2.next = 3;
135
- return this.layer.buildLayerModel({
136
- moduleName: 'earthBase',
137
- vertexShader: baseVert,
138
- fragmentShader: baseFrag,
139
- triangulation: _triangulation.earthTriangulation,
140
- depth: {
141
- enable: true
142
- },
143
- blend: this.getBlend()
144
- });
145
- case 3:
146
- model = _context2.sent;
147
- return _context2.abrupt("return", [model]);
148
- case 5:
149
- case "end":
150
- return _context2.stop();
166
+ while (1) {
167
+ switch (_context2.prev = _context2.next) {
168
+ case 0:
169
+ // Tip: 调整图层的绘制顺序 地球大气层
170
+ this.layer.zIndex = -998;
171
+ _context2.next = 3;
172
+ return this.layer.buildLayerModel({
173
+ moduleName: 'earthBase',
174
+ vertexShader: baseVert,
175
+ fragmentShader: baseFrag,
176
+ triangulation: _triangulation.earthTriangulation,
177
+ depth: {
178
+ enable: true
179
+ },
180
+ blend: this.getBlend()
181
+ });
182
+
183
+ case 3:
184
+ model = _context2.sent;
185
+ return _context2.abrupt("return", [model]);
186
+
187
+ case 5:
188
+ case "end":
189
+ return _context2.stop();
190
+ }
151
191
  }
152
192
  }, _callee2, this);
153
193
  }));
194
+
154
195
  function buildModels() {
155
196
  return _buildModels.apply(this, arguments);
156
197
  }
198
+
157
199
  return buildModels;
158
200
  }()
159
201
  }, {
@@ -172,7 +214,7 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
172
214
  size: 1,
173
215
  update: function update(feature) {
174
216
  var _feature$size = feature.size,
175
- size = _feature$size === void 0 ? 1 : _feature$size;
217
+ size = _feature$size === void 0 ? 1 : _feature$size;
176
218
  return Array.isArray(size) ? [size[0]] : [size];
177
219
  }
178
220
  }
@@ -214,4 +256,5 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
214
256
  }]);
215
257
  return BaseEarthModel;
216
258
  }(_BaseModel2.default);
259
+
217
260
  exports.default = BaseEarthModel;