@antv/l7-layers 2.16.0 → 2.16.1

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 +485 -321
  10. package/es/core/BaseModel.js +126 -97
  11. package/es/core/LayerPickService.js +32 -21
  12. package/es/core/TextureService.js +13 -0
  13. package/es/core/interface.js +24 -17
  14. package/es/core/shape/Path.js +20 -13
  15. package/es/core/shape/extrude.js +31 -10
  16. package/es/core/triangulation.js +114 -54
  17. package/es/earth/index.js +33 -9
  18. package/es/earth/models/atmosphere.js +54 -30
  19. package/es/earth/models/base.js +85 -47
  20. package/es/earth/models/bloomsphere.js +54 -30
  21. package/es/earth/utils.js +13 -9
  22. package/es/heatmap/index.js +40 -10
  23. package/es/heatmap/models/grid.js +52 -28
  24. package/es/heatmap/models/grid3d.js +52 -28
  25. package/es/heatmap/models/heatmap.js +146 -91
  26. package/es/heatmap/models/hexagon.js +52 -28
  27. package/es/heatmap/triangulation.js +4 -0
  28. package/es/image/index.js +28 -9
  29. package/es/image/models/image.js +100 -66
  30. package/es/index.js +17 -9
  31. package/es/line/index.js +34 -9
  32. package/es/line/models/arc.js +118 -66
  33. package/es/line/models/arc_3d.js +108 -60
  34. package/es/line/models/earthArc_3d.js +111 -63
  35. package/es/line/models/great_circle.js +100 -56
  36. package/es/line/models/half.js +77 -46
  37. package/es/line/models/line.js +148 -94
  38. package/es/line/models/linearline.js +80 -45
  39. package/es/line/models/simpleLine.js +74 -41
  40. package/es/line/models/wall.js +92 -52
  41. package/es/mask/index.js +28 -9
  42. package/es/mask/models/fill.js +54 -29
  43. package/es/plugins/DataMappingPlugin.js +117 -80
  44. package/es/plugins/DataSourcePlugin.js +68 -45
  45. package/es/plugins/FeatureScalePlugin.js +122 -67
  46. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  47. package/es/plugins/LayerMaskPlugin.js +11 -3
  48. package/es/plugins/LayerModelPlugin.js +104 -67
  49. package/es/plugins/LayerStylePlugin.js +9 -3
  50. package/es/plugins/LightingPlugin.js +18 -12
  51. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  52. package/es/plugins/PixelPickingPlugin.js +21 -12
  53. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  54. package/es/plugins/ShaderUniformPlugin.js +27 -13
  55. package/es/plugins/UpdateModelPlugin.js +5 -0
  56. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  57. package/es/point/index.js +77 -26
  58. package/es/point/models/earthExtrude.js +102 -61
  59. package/es/point/models/earthFill.js +87 -57
  60. package/es/point/models/extrude.js +101 -60
  61. package/es/point/models/fill.js +100 -70
  62. package/es/point/models/fillmage.js +107 -63
  63. package/es/point/models/image.js +88 -48
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +54 -30
  66. package/es/point/models/radar.js +64 -40
  67. package/es/point/models/simplePoint.js +69 -41
  68. package/es/point/models/text.js +301 -198
  69. package/es/point/shape/extrude.js +13 -4
  70. package/es/polygon/index.js +40 -11
  71. package/es/polygon/models/extrude.js +92 -48
  72. package/es/polygon/models/fill.js +88 -54
  73. package/es/polygon/models/index.js +2 -3
  74. package/es/polygon/models/ocean.js +76 -42
  75. package/es/polygon/models/water.js +71 -37
  76. package/es/raster/buffers/triangulation.js +4 -2
  77. package/es/raster/index.js +32 -9
  78. package/es/raster/models/raster.js +116 -80
  79. package/es/raster/models/rasterRgb.js +127 -84
  80. package/es/raster/models/rasterTerrainRgb.js +84 -56
  81. package/es/tile/interaction/getRasterData.js +20 -14
  82. package/es/tile/interaction/utils.js +9 -7
  83. package/es/tile/manager/base.js +96 -63
  84. package/es/tile/service/TileLayerService.js +55 -33
  85. package/es/tile/service/TilePickService.js +40 -26
  86. package/es/tile/service/TileSourceService.js +7 -3
  87. package/es/tile/tileFactory/DebugTile.js +46 -29
  88. package/es/tile/tileFactory/ImageTile.js +38 -20
  89. package/es/tile/tileFactory/MaskTile.js +43 -22
  90. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  91. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  92. package/es/tile/tileFactory/RasterTile.js +53 -30
  93. package/es/tile/tileFactory/Tile.js +97 -63
  94. package/es/tile/tileFactory/VectorTile.js +68 -41
  95. package/es/tile/tileFactory/index.js +11 -0
  96. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  97. package/es/tile/tileFactory/util.js +3 -0
  98. package/es/tile/tileLayer/BaseLayer.js +146 -105
  99. package/es/tile/utils.js +1 -1
  100. package/es/utils/blend.js +2 -0
  101. package/es/utils/collision-index.js +16 -9
  102. package/es/utils/dataMappingStyle.js +18 -8
  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 +479 -321
  127. package/lib/core/BaseModel.js +139 -97
  128. package/lib/core/LayerPickService.js +37 -21
  129. package/lib/core/TextureService.js +16 -0
  130. package/lib/core/interface.js +31 -21
  131. package/lib/core/schema.js +1 -0
  132. package/lib/core/shape/Path.js +31 -14
  133. package/lib/core/shape/extrude.js +54 -10
  134. package/lib/core/triangulation.js +153 -53
  135. package/lib/earth/index.js +43 -9
  136. package/lib/earth/models/atmosphere.js +63 -30
  137. package/lib/earth/models/base.js +90 -47
  138. package/lib/earth/models/bloomsphere.js +63 -30
  139. package/lib/earth/utils.js +31 -7
  140. package/lib/heatmap/index.js +48 -10
  141. package/lib/heatmap/models/grid.js +60 -28
  142. package/lib/heatmap/models/grid3d.js +60 -28
  143. package/lib/heatmap/models/heatmap.js +162 -91
  144. package/lib/heatmap/models/hexagon.js +60 -28
  145. package/lib/heatmap/models/index.js +6 -0
  146. package/lib/heatmap/triangulation.js +5 -0
  147. package/lib/image/index.js +36 -9
  148. package/lib/image/models/image.js +109 -66
  149. package/lib/image/models/index.js +3 -0
  150. package/lib/index.js +61 -7
  151. package/lib/line/index.js +40 -9
  152. package/lib/line/models/arc.js +128 -64
  153. package/lib/line/models/arc_3d.js +119 -58
  154. package/lib/line/models/earthArc_3d.js +122 -61
  155. package/lib/line/models/great_circle.js +111 -56
  156. package/lib/line/models/half.js +87 -46
  157. package/lib/line/models/index.js +11 -0
  158. package/lib/line/models/line.js +156 -92
  159. package/lib/line/models/linearline.js +92 -45
  160. package/lib/line/models/simpleLine.js +84 -41
  161. package/lib/line/models/wall.js +103 -52
  162. package/lib/mask/index.js +36 -9
  163. package/lib/mask/models/fill.js +63 -29
  164. package/lib/mask/models/index.js +3 -0
  165. package/lib/plugins/DataMappingPlugin.js +128 -80
  166. package/lib/plugins/DataSourcePlugin.js +76 -45
  167. package/lib/plugins/FeatureScalePlugin.js +138 -67
  168. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  169. package/lib/plugins/LayerMaskPlugin.js +17 -4
  170. package/lib/plugins/LayerModelPlugin.js +113 -68
  171. package/lib/plugins/LayerStylePlugin.js +14 -4
  172. package/lib/plugins/LightingPlugin.js +25 -12
  173. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  174. package/lib/plugins/PixelPickingPlugin.js +27 -12
  175. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  176. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  177. package/lib/plugins/UpdateModelPlugin.js +10 -1
  178. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  179. package/lib/point/index.js +83 -26
  180. package/lib/point/models/earthExtrude.js +113 -61
  181. package/lib/point/models/earthFill.js +117 -57
  182. package/lib/point/models/extrude.js +111 -60
  183. package/lib/point/models/fill.js +109 -68
  184. package/lib/point/models/fillmage.js +115 -61
  185. package/lib/point/models/image.js +98 -48
  186. package/lib/point/models/index.js +12 -1
  187. package/lib/point/models/normal.js +64 -30
  188. package/lib/point/models/radar.js +74 -40
  189. package/lib/point/models/simplePoint.js +79 -41
  190. package/lib/point/models/text.js +309 -198
  191. package/lib/point/shape/extrude.js +20 -4
  192. package/lib/polygon/index.js +48 -11
  193. package/lib/polygon/models/extrude.js +103 -48
  194. package/lib/polygon/models/fill.js +98 -54
  195. package/lib/polygon/models/index.js +14 -2
  196. package/lib/polygon/models/ocean.js +88 -42
  197. package/lib/polygon/models/water.js +82 -37
  198. package/lib/raster/buffers/triangulation.js +7 -3
  199. package/lib/raster/index.js +40 -9
  200. package/lib/raster/models/index.js +5 -0
  201. package/lib/raster/models/raster.js +125 -80
  202. package/lib/raster/models/rasterRgb.js +139 -84
  203. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  204. package/lib/tile/interaction/getRasterData.js +25 -14
  205. package/lib/tile/interaction/utils.js +19 -7
  206. package/lib/tile/manager/base.js +104 -63
  207. package/lib/tile/service/TileLayerService.js +60 -33
  208. package/lib/tile/service/TilePickService.js +48 -26
  209. package/lib/tile/service/TileSourceService.js +16 -2
  210. package/lib/tile/style/utils.js +3 -0
  211. package/lib/tile/tileFactory/DebugTile.js +54 -29
  212. package/lib/tile/tileFactory/ImageTile.js +46 -20
  213. package/lib/tile/tileFactory/MaskTile.js +51 -22
  214. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  215. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  216. package/lib/tile/tileFactory/RasterTile.js +63 -30
  217. package/lib/tile/tileFactory/Tile.js +102 -63
  218. package/lib/tile/tileFactory/VectorTile.js +76 -41
  219. package/lib/tile/tileFactory/index.js +25 -0
  220. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  221. package/lib/tile/tileFactory/util.js +9 -0
  222. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  223. package/lib/tile/utils.js +5 -1
  224. package/lib/utils/blend.js +5 -0
  225. package/lib/utils/collision-index.js +25 -9
  226. package/lib/utils/dataMappingStyle.js +19 -8
  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,22 +1,33 @@
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 _earthExtrude = _interopRequireDefault(require("./earthExtrude"));
11
+
9
12
  var _earthFill = _interopRequireDefault(require("./earthFill"));
13
+
10
14
  var _extrude = _interopRequireDefault(require("./extrude"));
15
+
11
16
  var _fill = _interopRequireDefault(require("./fill"));
17
+
12
18
  var _fillmage = _interopRequireDefault(require("./fillmage"));
19
+
13
20
  var _image = _interopRequireDefault(require("./image"));
21
+
14
22
  var _normal = _interopRequireDefault(require("./normal"));
23
+
15
24
  var _radar = _interopRequireDefault(require("./radar"));
25
+
16
26
  var _simplePoint = _interopRequireDefault(require("./simplePoint"));
27
+
17
28
  var _text = _interopRequireDefault(require("./text"));
18
- // earth
19
29
 
30
+ // earth
20
31
  var PointModels = {
21
32
  fillImage: _fillmage.default,
22
33
  fill: _fill.default,
@@ -1,28 +1,45 @@
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.PointTriangulation = PointTriangulation;
8
9
  exports.default = void 0;
10
+
9
11
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
+
10
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
+
11
15
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
16
+
12
17
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
18
+
13
19
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
20
+
14
21
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
22
+
15
23
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
24
+
16
25
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
26
+
17
27
  var _l7Core = require("@antv/l7-core");
28
+
18
29
  var _lodash = require("lodash");
30
+
19
31
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
32
+
20
33
  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); }; }
34
+
21
35
  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; } }
36
+
22
37
  /* babel-plugin-inline-import '../shaders/normal_frag.glsl' */
23
38
  var normalFrag = "uniform float u_opacity : 1;\nvarying vec4 v_color;\nvoid main() {\n gl_FragColor = v_color;\n gl_FragColor.a *= u_opacity;\n}\n";
39
+
24
40
  /* babel-plugin-inline-import '../shaders/normal_vert.glsl' */
25
41
  var normalVert = "\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute float a_Size;\nattribute vec4 a_Color;\n\nvarying vec4 v_color;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n\nvoid main() {\n v_color = a_Color;\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(a_Position.xy, a_Position.z, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(a_Position, 1.0)) + vec4(a_Size / 2.,-a_Size /2.,0.,0.);\n gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy),project_pos.z,project_pos.w));\n }\n\n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n}\n";
42
+
26
43
  function PointTriangulation(feature) {
27
44
  var coordinates = feature.coordinates;
28
45
  return {
@@ -31,13 +48,17 @@ function PointTriangulation(feature) {
31
48
  size: coordinates.length
32
49
  };
33
50
  }
51
+
34
52
  var NormalModel = /*#__PURE__*/function (_BaseModel) {
35
53
  (0, _inherits2.default)(NormalModel, _BaseModel);
54
+
36
55
  var _super = _createSuper(NormalModel);
56
+
37
57
  function NormalModel() {
38
58
  (0, _classCallCheck2.default)(this, NormalModel);
39
59
  return _super.apply(this, arguments);
40
60
  }
61
+
41
62
  (0, _createClass2.default)(NormalModel, [{
42
63
  key: "getDefaultStyle",
43
64
  value: function getDefaultStyle() {
@@ -49,8 +70,9 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
49
70
  key: "getUninforms",
50
71
  value: function getUninforms() {
51
72
  var _ref = this.layer.getLayerConfig(),
52
- _ref$opacity = _ref.opacity,
53
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
73
+ _ref$opacity = _ref.opacity,
74
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
75
+
54
76
  return {
55
77
  u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1.0
56
78
  };
@@ -60,18 +82,23 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
60
82
  value: function () {
61
83
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
62
84
  return _regenerator.default.wrap(function _callee$(_context) {
63
- while (1) switch (_context.prev = _context.next) {
64
- case 0:
65
- return _context.abrupt("return", this.buildModels());
66
- case 1:
67
- case "end":
68
- return _context.stop();
85
+ while (1) {
86
+ switch (_context.prev = _context.next) {
87
+ case 0:
88
+ return _context.abrupt("return", this.buildModels());
89
+
90
+ case 1:
91
+ case "end":
92
+ return _context.stop();
93
+ }
69
94
  }
70
95
  }, _callee, this);
71
96
  }));
97
+
72
98
  function initModels() {
73
99
  return _initModels.apply(this, arguments);
74
100
  }
101
+
75
102
  return initModels;
76
103
  }()
77
104
  }, {
@@ -80,33 +107,39 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
80
107
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
81
108
  var model;
82
109
  return _regenerator.default.wrap(function _callee2$(_context2) {
83
- while (1) switch (_context2.prev = _context2.next) {
84
- case 0:
85
- this.layer.triangulation = PointTriangulation;
86
- _context2.next = 3;
87
- return this.layer.buildLayerModel({
88
- moduleName: 'pointNormal',
89
- vertexShader: normalVert,
90
- fragmentShader: normalFrag,
91
- triangulation: PointTriangulation,
92
- depth: {
93
- enable: false
94
- },
95
- primitive: _l7Core.gl.POINTS,
96
- pick: false
97
- });
98
- case 3:
99
- model = _context2.sent;
100
- return _context2.abrupt("return", [model]);
101
- case 5:
102
- case "end":
103
- return _context2.stop();
110
+ while (1) {
111
+ switch (_context2.prev = _context2.next) {
112
+ case 0:
113
+ this.layer.triangulation = PointTriangulation;
114
+ _context2.next = 3;
115
+ return this.layer.buildLayerModel({
116
+ moduleName: 'pointNormal',
117
+ vertexShader: normalVert,
118
+ fragmentShader: normalFrag,
119
+ triangulation: PointTriangulation,
120
+ depth: {
121
+ enable: false
122
+ },
123
+ primitive: _l7Core.gl.POINTS,
124
+ pick: false
125
+ });
126
+
127
+ case 3:
128
+ model = _context2.sent;
129
+ return _context2.abrupt("return", [model]);
130
+
131
+ case 5:
132
+ case "end":
133
+ return _context2.stop();
134
+ }
104
135
  }
105
136
  }, _callee2, this);
106
137
  }));
138
+
107
139
  function buildModels() {
108
140
  return _buildModels.apply(this, arguments);
109
141
  }
142
+
110
143
  return buildModels;
111
144
  }()
112
145
  }, {
@@ -130,7 +163,7 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
130
163
  size: 1,
131
164
  update: function update(feature) {
132
165
  var _feature$size = feature.size,
133
- size = _feature$size === void 0 ? 1 : _feature$size;
166
+ size = _feature$size === void 0 ? 1 : _feature$size;
134
167
  return Array.isArray(size) ? [size[0]] : [size];
135
168
  }
136
169
  }
@@ -139,4 +172,5 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
139
172
  }]);
140
173
  return NormalModel;
141
174
  }(_BaseModel2.default);
175
+
142
176
  exports.default = NormalModel;
@@ -1,46 +1,68 @@
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 _interface = require("../../core/interface");
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/radar/radar_frag.glsl' */
23
39
  var pointFillFrag = "\nuniform float u_additive;\nuniform float u_opacity: 1.0;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec2 v_exteude;\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\nvoid main() {\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius);\n\n float outer_df = sdCircle(v_data.xy, 1.0);\n float inner_df = sdCircle(v_data.xy, r);\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n gl_FragColor = vec4(v_color.rgb, v_color.a * u_opacity);\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n } else {\n gl_FragColor.a *= opacity_t;\n }\n\n if(gl_FragColor.a > 0.0) {\n gl_FragColor = filterColor(gl_FragColor);\n }\n\n vec2 extrude = v_exteude;\n vec2 dir = normalize(extrude);\n vec2 baseDir = vec2(1.0, 0.0);\n float pi = 3.14159265359;\n // full circle\n // float rades = dot(dir, baseDir);\n // float flag = sign(dir.y);\n // float radar_v = (flag - 1.0) * -0.5 + flag * acos(rades)/pi/2.0;\n \n // half circle\n float flag = sign(dir.y);\n float rades = dot(dir, baseDir);\n float radar_v = (flag - 1.0) * -0.5 * acos(rades)/pi;\n // simple AA\n if(radar_v > 0.99) {\n radar_v = 1.0 - (radar_v - 0.99)/0.01;\n }\n\n gl_FragColor.a *= radar_v;\n}\n";
40
+
24
41
  /* babel-plugin-inline-import '../shaders/radar/radar_vert.glsl' */
25
42
  var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nuniform float u_speed: 1.0;\nuniform float u_time;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform int u_Size_Unit;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec2 v_exteude;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float newSize = setPickingSize(a_Size);\n\n float time = u_time * u_speed;\n mat2 rotateMatrix = mat2( \n cos(time), sin(time), \n -sin(time), cos(time)\n );\n v_exteude = rotateMatrix * a_Extrude.xy;\n\n // unpack color(vec2)\n v_color = a_Color;\n\n\n\n // anti-alias\n float blur = 0.0;\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / a_Size, blur);\n\n if(u_Size_Unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n // radius(16-bit)\n v_radius = newSize;\n\n vec2 offset = (extrude.xy * (newSize));\n vec3 aPosition = a_Position;\n \n // \u4E0D\u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n offset = project_pixel(offset);\n \n v_data = vec4(extrude.x, extrude.y, antialiasblur, -1.0);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp *vec4(project_pos.xy + offset, 0.0, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
43
+
26
44
  var RadarModel = /*#__PURE__*/function (_BaseModel) {
27
45
  (0, _inherits2.default)(RadarModel, _BaseModel);
46
+
28
47
  var _super = _createSuper(RadarModel);
48
+
29
49
  function RadarModel() {
30
50
  (0, _classCallCheck2.default)(this, RadarModel);
31
51
  return _super.apply(this, arguments);
32
52
  }
53
+
33
54
  (0, _createClass2.default)(RadarModel, [{
34
55
  key: "getUninforms",
35
56
  value: function getUninforms() {
36
57
  var _ref = this.layer.getLayerConfig(),
37
- _ref$opacity = _ref.opacity,
38
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
39
- blend = _ref.blend,
40
- _ref$speed = _ref.speed,
41
- speed = _ref$speed === void 0 ? 1 : _ref$speed,
42
- _ref$unit = _ref.unit,
43
- unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
58
+ _ref$opacity = _ref.opacity,
59
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
60
+ blend = _ref.blend,
61
+ _ref$speed = _ref.speed,
62
+ speed = _ref$speed === void 0 ? 1 : _ref$speed,
63
+ _ref$unit = _ref.unit,
64
+ unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
65
+
44
66
  return {
45
67
  u_Size_Unit: _interface.SizeUnitType[unit],
46
68
  u_speed: speed,
@@ -52,10 +74,11 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
52
74
  key: "getAnimateUniforms",
53
75
  value: function getAnimateUniforms() {
54
76
  var _ref2 = this.layer.getLayerConfig(),
55
- _ref2$animateOption = _ref2.animateOption,
56
- animateOption = _ref2$animateOption === void 0 ? {
57
- enable: false
58
- } : _ref2$animateOption;
77
+ _ref2$animateOption = _ref2.animateOption,
78
+ animateOption = _ref2$animateOption === void 0 ? {
79
+ enable: false
80
+ } : _ref2$animateOption;
81
+
59
82
  return {
60
83
  u_animate: this.animateOption2Array(animateOption),
61
84
  u_time: this.layer.getLayerAnimateTime()
@@ -71,18 +94,23 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
71
94
  value: function () {
72
95
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
73
96
  return _regenerator.default.wrap(function _callee$(_context) {
74
- while (1) switch (_context.prev = _context.next) {
75
- case 0:
76
- return _context.abrupt("return", this.buildModels());
77
- case 1:
78
- case "end":
79
- return _context.stop();
97
+ while (1) {
98
+ switch (_context.prev = _context.next) {
99
+ case 0:
100
+ return _context.abrupt("return", this.buildModels());
101
+
102
+ case 1:
103
+ case "end":
104
+ return _context.stop();
105
+ }
80
106
  }
81
107
  }, _callee, this);
82
108
  }));
109
+
83
110
  function initModels() {
84
111
  return _initModels.apply(this, arguments);
85
112
  }
113
+
86
114
  return initModels;
87
115
  }()
88
116
  }, {
@@ -91,40 +119,46 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
91
119
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
92
120
  var model;
93
121
  return _regenerator.default.wrap(function _callee2$(_context2) {
94
- while (1) switch (_context2.prev = _context2.next) {
95
- case 0:
96
- _context2.next = 2;
97
- return this.layer.buildLayerModel({
98
- moduleName: 'pointRadar',
99
- vertexShader: pointFillVert,
100
- fragmentShader: pointFillFrag,
101
- triangulation: _triangulation.PointFillTriangulation,
102
- depth: {
103
- enable: false
104
- }
105
- });
106
- case 2:
107
- model = _context2.sent;
108
- return _context2.abrupt("return", [model]);
109
- case 4:
110
- case "end":
111
- return _context2.stop();
122
+ while (1) {
123
+ switch (_context2.prev = _context2.next) {
124
+ case 0:
125
+ _context2.next = 2;
126
+ return this.layer.buildLayerModel({
127
+ moduleName: 'pointRadar',
128
+ vertexShader: pointFillVert,
129
+ fragmentShader: pointFillFrag,
130
+ triangulation: _triangulation.PointFillTriangulation,
131
+ depth: {
132
+ enable: false
133
+ }
134
+ });
135
+
136
+ case 2:
137
+ model = _context2.sent;
138
+ return _context2.abrupt("return", [model]);
139
+
140
+ case 4:
141
+ case "end":
142
+ return _context2.stop();
143
+ }
112
144
  }
113
145
  }, _callee2, this);
114
146
  }));
147
+
115
148
  function buildModels() {
116
149
  return _buildModels.apply(this, arguments);
117
150
  }
151
+
118
152
  return buildModels;
119
153
  }()
120
154
  }, {
121
155
  key: "clearModels",
122
156
  value: function clearModels() {
123
157
  var _this$dataTexture;
158
+
124
159
  (_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
125
- }
160
+ } // overwrite baseModel func
126
161
 
127
- // overwrite baseModel func
128
162
  }, {
129
163
  key: "animateOption2Array",
130
164
  value: function animateOption2Array(option) {
@@ -151,9 +185,8 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
151
185
  return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
152
186
  }
153
187
  }
154
- });
188
+ }); // point layer size;
155
189
 
156
- // point layer size;
157
190
  this.styleAttributeService.registerStyleAttribute({
158
191
  name: 'size',
159
192
  type: _l7Core.AttributeType.Attribute,
@@ -168,7 +201,7 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
168
201
  size: 1,
169
202
  update: function update(feature) {
170
203
  var _feature$size = feature.size,
171
- size = _feature$size === void 0 ? 5 : _feature$size;
204
+ size = _feature$size === void 0 ? 5 : _feature$size;
172
205
  return Array.isArray(size) ? [size[0]] : [size];
173
206
  }
174
207
  }
@@ -177,4 +210,5 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
177
210
  }]);
178
211
  return RadarModel;
179
212
  }(_BaseModel2.default);
213
+
180
214
  exports.default = RadarModel;