@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,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 = "varying vec4 v_color;\nvoid main() {\n gl_FragColor = v_color;\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 float u_opacity : 1;\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 = vec4(a_Color.xyz, a_Color.w * u_opacity);\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,45 +1,66 @@
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 _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
27
+
17
28
  var _interface = require("../../core/interface");
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/radar/radar_frag.glsl' */
22
37
  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";
38
+
23
39
  /* babel-plugin-inline-import '../shaders/radar/radar_vert.glsl' */
24
40
  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";
41
+
25
42
  var RadarModel = /*#__PURE__*/function (_BaseModel) {
26
43
  (0, _inherits2.default)(RadarModel, _BaseModel);
44
+
27
45
  var _super = _createSuper(RadarModel);
46
+
28
47
  function RadarModel() {
29
48
  (0, _classCallCheck2.default)(this, RadarModel);
30
49
  return _super.apply(this, arguments);
31
50
  }
51
+
32
52
  (0, _createClass2.default)(RadarModel, [{
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,
38
- blend = _ref.blend,
39
- _ref$speed = _ref.speed,
40
- speed = _ref$speed === void 0 ? 1 : _ref$speed,
41
- _ref$unit = _ref.unit,
42
- unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
56
+ _ref$opacity = _ref.opacity,
57
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
58
+ blend = _ref.blend,
59
+ _ref$speed = _ref.speed,
60
+ speed = _ref$speed === void 0 ? 1 : _ref$speed,
61
+ _ref$unit = _ref.unit,
62
+ unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
63
+
43
64
  return {
44
65
  u_size_unit: _interface.SizeUnitType[unit],
45
66
  u_speed: speed,
@@ -51,10 +72,11 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
51
72
  key: "getAnimateUniforms",
52
73
  value: function getAnimateUniforms() {
53
74
  var _ref2 = this.layer.getLayerConfig(),
54
- _ref2$animateOption = _ref2.animateOption,
55
- animateOption = _ref2$animateOption === void 0 ? {
56
- enable: false
57
- } : _ref2$animateOption;
75
+ _ref2$animateOption = _ref2.animateOption,
76
+ animateOption = _ref2$animateOption === void 0 ? {
77
+ enable: false
78
+ } : _ref2$animateOption;
79
+
58
80
  return {
59
81
  u_animate: this.animateOption2Array(animateOption),
60
82
  u_time: this.layer.getLayerAnimateTime()
@@ -70,18 +92,23 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
70
92
  value: function () {
71
93
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
72
94
  return _regenerator.default.wrap(function _callee$(_context) {
73
- while (1) switch (_context.prev = _context.next) {
74
- case 0:
75
- return _context.abrupt("return", this.buildModels());
76
- case 1:
77
- case "end":
78
- return _context.stop();
95
+ while (1) {
96
+ switch (_context.prev = _context.next) {
97
+ case 0:
98
+ return _context.abrupt("return", this.buildModels());
99
+
100
+ case 1:
101
+ case "end":
102
+ return _context.stop();
103
+ }
79
104
  }
80
105
  }, _callee, this);
81
106
  }));
107
+
82
108
  function initModels() {
83
109
  return _initModels.apply(this, arguments);
84
110
  }
111
+
85
112
  return initModels;
86
113
  }()
87
114
  }, {
@@ -90,32 +117,39 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
90
117
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
91
118
  var model;
92
119
  return _regenerator.default.wrap(function _callee2$(_context2) {
93
- while (1) switch (_context2.prev = _context2.next) {
94
- case 0:
95
- _context2.next = 2;
96
- return this.layer.buildLayerModel({
97
- moduleName: 'pointRadar',
98
- vertexShader: pointFillVert,
99
- fragmentShader: pointFillFrag,
100
- triangulation: _triangulation.PointFillTriangulation,
101
- depth: {
102
- enable: false
103
- }
104
- });
105
- case 2:
106
- model = _context2.sent;
107
- return _context2.abrupt("return", [model]);
108
- case 4:
109
- case "end":
110
- return _context2.stop();
120
+ while (1) {
121
+ switch (_context2.prev = _context2.next) {
122
+ case 0:
123
+ _context2.next = 2;
124
+ return this.layer.buildLayerModel({
125
+ moduleName: 'pointRadar',
126
+ vertexShader: pointFillVert,
127
+ fragmentShader: pointFillFrag,
128
+ triangulation: _triangulation.PointFillTriangulation,
129
+ depth: {
130
+ enable: false
131
+ }
132
+ });
133
+
134
+ case 2:
135
+ model = _context2.sent;
136
+ return _context2.abrupt("return", [model]);
137
+
138
+ case 4:
139
+ case "end":
140
+ return _context2.stop();
141
+ }
111
142
  }
112
143
  }, _callee2, this);
113
144
  }));
145
+
114
146
  function buildModels() {
115
147
  return _buildModels.apply(this, arguments);
116
148
  }
149
+
117
150
  return buildModels;
118
151
  }() // overwrite baseModel func
152
+
119
153
  }, {
120
154
  key: "animateOption2Array",
121
155
  value: function animateOption2Array(option) {
@@ -142,9 +176,8 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
142
176
  return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
143
177
  }
144
178
  }
145
- });
179
+ }); // point layer size;
146
180
 
147
- // point layer size;
148
181
  this.styleAttributeService.registerStyleAttribute({
149
182
  name: 'size',
150
183
  type: _l7Core.AttributeType.Attribute,
@@ -159,7 +192,7 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
159
192
  size: 1,
160
193
  update: function update(feature) {
161
194
  var _feature$size = feature.size,
162
- size = _feature$size === void 0 ? 5 : _feature$size;
195
+ size = _feature$size === void 0 ? 5 : _feature$size;
163
196
  return Array.isArray(size) ? [size[0]] : [size];
164
197
  }
165
198
  }
@@ -168,4 +201,5 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
168
201
  }]);
169
202
  return RadarModel;
170
203
  }(_BaseModel2.default);
204
+
171
205
  exports.default = RadarModel;
@@ -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 _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
30
+
19
31
  var _l7Utils = require("@antv/l7-utils");
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/simplePoint_frag.glsl' */
23
38
  var simplePointFrag = "\nuniform float u_additive;\nuniform float u_stroke_opacity : 1;\n\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\n\nvarying vec4 v_color;\nvarying float v_blur;\nvarying float v_innerRadius;\n\n#pragma include \"picking\"\nvoid main() {\n vec2 center = vec2(0.5);\n\n // Tip: \u7247\u5143\u5230\u4E2D\u5FC3\u70B9\u7684\u8DDD\u79BB 0 - 1\n float fragmengTocenter = distance(center, gl_PointCoord) * 2.0;\n // Tip: \u7247\u5143\u7684\u526A\u5207\u6210\u5706\u5F62\n float circleClipOpacity = 1.0 - smoothstep(v_blur, 1.0, fragmengTocenter);\n\n\n if(v_innerRadius < 0.99) {\n // \u5F53\u5B58\u5728 stroke \u4E14 stroke > 0.01\n float blurWidth = (1.0 - v_blur)/2.0;\n vec4 stroke = vec4(u_stroke_color.rgb, u_stroke_opacity);\n if(fragmengTocenter > v_innerRadius + blurWidth) {\n gl_FragColor = stroke;\n } else if(fragmengTocenter > v_innerRadius - blurWidth){\n float mixR = (fragmengTocenter - (v_innerRadius - blurWidth)) / (blurWidth * 2.0);\n gl_FragColor = mix(v_color, stroke, mixR);\n } else {\n gl_FragColor = v_color;\n }\n } else {\n // \u5F53\u4E0D\u5B58\u5728 stroke \u6216 stroke <= 0.01\n gl_FragColor = v_color;\n }\n\n gl_FragColor = filterColor(gl_FragColor);\n \n if(u_additive > 0.0) {\n gl_FragColor *= circleClipOpacity;\n } else {\n gl_FragColor.a *= circleClipOpacity;\n }\n\n}\n";
39
+
24
40
  /* babel-plugin-inline-import '../shaders/simplePoint_vert.glsl' */
25
41
  var simplePointVert = "\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute float a_Size;\nattribute vec4 a_Color;\nvarying vec4 v_color;\n\nuniform float u_opacity : 1;\nuniform vec2 u_offsets;\nuniform float u_stroke_width;\n\nvarying float v_blur;\nvarying float v_innerRadius;\n\n\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n#pragma include \"project\"\nvoid main() {\n v_color = vec4(a_Color.xyz, a_Color.w * u_opacity);\n v_blur = 1.0 - max(2.0/a_Size, 0.05);\n v_innerRadius = max((a_Size - u_stroke_width) / a_Size, 0.0);\n \n vec2 offset = project_pixel(u_offsets);\n \n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(a_Position.xy + offset, a_Position.z, 1.0);\n } else { // 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+offset),project_pos.z,project_pos.w));\n }\n\n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n setPickingColor(a_PickingColor);\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 SimplePointModel = /*#__PURE__*/function (_BaseModel) {
35
53
  (0, _inherits2.default)(SimplePointModel, _BaseModel);
54
+
36
55
  var _super = _createSuper(SimplePointModel);
56
+
37
57
  function SimplePointModel() {
38
58
  (0, _classCallCheck2.default)(this, SimplePointModel);
39
59
  return _super.apply(this, arguments);
40
60
  }
61
+
41
62
  (0, _createClass2.default)(SimplePointModel, [{
42
63
  key: "getDefaultStyle",
43
64
  value: function getDefaultStyle() {
@@ -49,17 +70,18 @@ var SimplePointModel = /*#__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,
54
- _ref$offsets = _ref.offsets,
55
- offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
56
- blend = _ref.blend,
57
- _ref$strokeOpacity = _ref.strokeOpacity,
58
- strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
59
- _ref$strokeWidth = _ref.strokeWidth,
60
- strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
61
- _ref$stroke = _ref.stroke,
62
- stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke;
73
+ _ref$opacity = _ref.opacity,
74
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
75
+ _ref$offsets = _ref.offsets,
76
+ offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
77
+ blend = _ref.blend,
78
+ _ref$strokeOpacity = _ref.strokeOpacity,
79
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
80
+ _ref$strokeWidth = _ref.strokeWidth,
81
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
82
+ _ref$stroke = _ref.stroke,
83
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke;
84
+
63
85
  return {
64
86
  u_additive: blend === 'additive' ? 1.0 : 0.0,
65
87
  u_opacity: opacity,
@@ -74,18 +96,23 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
74
96
  value: function () {
75
97
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
76
98
  return _regenerator.default.wrap(function _callee$(_context) {
77
- while (1) switch (_context.prev = _context.next) {
78
- case 0:
79
- return _context.abrupt("return", this.buildModels());
80
- case 1:
81
- case "end":
82
- return _context.stop();
99
+ while (1) {
100
+ switch (_context.prev = _context.next) {
101
+ case 0:
102
+ return _context.abrupt("return", this.buildModels());
103
+
104
+ case 1:
105
+ case "end":
106
+ return _context.stop();
107
+ }
83
108
  }
84
109
  }, _callee, this);
85
110
  }));
111
+
86
112
  function initModels() {
87
113
  return _initModels.apply(this, arguments);
88
114
  }
115
+
89
116
  return initModels;
90
117
  }()
91
118
  }, {
@@ -94,32 +121,38 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
94
121
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
95
122
  var model;
96
123
  return _regenerator.default.wrap(function _callee2$(_context2) {
97
- while (1) switch (_context2.prev = _context2.next) {
98
- case 0:
99
- this.layer.triangulation = PointTriangulation;
100
- _context2.next = 3;
101
- return this.layer.buildLayerModel({
102
- moduleName: 'pointSimple',
103
- vertexShader: simplePointVert,
104
- fragmentShader: simplePointFrag,
105
- triangulation: PointTriangulation,
106
- depth: {
107
- enable: false
108
- },
109
- primitive: _l7Core.gl.POINTS
110
- });
111
- case 3:
112
- model = _context2.sent;
113
- return _context2.abrupt("return", [model]);
114
- case 5:
115
- case "end":
116
- return _context2.stop();
124
+ while (1) {
125
+ switch (_context2.prev = _context2.next) {
126
+ case 0:
127
+ this.layer.triangulation = PointTriangulation;
128
+ _context2.next = 3;
129
+ return this.layer.buildLayerModel({
130
+ moduleName: 'pointSimple',
131
+ vertexShader: simplePointVert,
132
+ fragmentShader: simplePointFrag,
133
+ triangulation: PointTriangulation,
134
+ depth: {
135
+ enable: false
136
+ },
137
+ primitive: _l7Core.gl.POINTS
138
+ });
139
+
140
+ case 3:
141
+ model = _context2.sent;
142
+ return _context2.abrupt("return", [model]);
143
+
144
+ case 5:
145
+ case "end":
146
+ return _context2.stop();
147
+ }
117
148
  }
118
149
  }, _callee2, this);
119
150
  }));
151
+
120
152
  function buildModels() {
121
153
  return _buildModels.apply(this, arguments);
122
154
  }
155
+
123
156
  return buildModels;
124
157
  }()
125
158
  }, {
@@ -138,7 +171,7 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
138
171
  size: 1,
139
172
  update: function update(feature) {
140
173
  var _feature$size = feature.size,
141
- size = _feature$size === void 0 ? 1 : _feature$size;
174
+ size = _feature$size === void 0 ? 1 : _feature$size;
142
175
  return Array.isArray(size) ? [size[0]] : [size];
143
176
  }
144
177
  }
@@ -147,4 +180,5 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
147
180
  }]);
148
181
  return SimplePointModel;
149
182
  }(_BaseModel2.default);
183
+
150
184
  exports.default = SimplePointModel;