@antv/l7-layers 2.17.4 → 2.17.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.js +325 -483
  10. package/es/core/BaseModel.js +51 -80
  11. package/es/core/CommonStyleAttribute.js +2 -5
  12. package/es/core/LayerPickService.js +21 -32
  13. package/es/core/TextureService.js +0 -13
  14. package/es/core/interface.js +17 -24
  15. package/es/core/shape/Path.js +13 -20
  16. package/es/core/shape/extrude.js +27 -39
  17. package/es/core/triangulation.js +99 -136
  18. package/es/earth/index.js +9 -33
  19. package/es/earth/models/atmosphere.js +30 -54
  20. package/es/earth/models/base.js +47 -85
  21. package/es/earth/models/bloomsphere.js +30 -54
  22. package/es/earth/utils.js +9 -13
  23. package/es/heatmap/index.js +10 -40
  24. package/es/heatmap/models/grid.js +28 -52
  25. package/es/heatmap/models/grid3d.js +28 -52
  26. package/es/heatmap/models/heatmap.js +92 -149
  27. package/es/heatmap/models/hexagon.js +28 -52
  28. package/es/heatmap/triangulation.js +0 -4
  29. package/es/image/index.js +9 -28
  30. package/es/image/models/image.js +66 -100
  31. package/es/index.js +9 -17
  32. package/es/line/index.js +9 -35
  33. package/es/line/models/arc.js +63 -112
  34. package/es/line/models/arc_3d.js +58 -102
  35. package/es/line/models/earthArc_3d.js +60 -105
  36. package/es/line/models/flow.js +36 -60
  37. package/es/line/models/great_circle.js +53 -94
  38. package/es/line/models/line.js +92 -144
  39. package/es/line/models/linearline.js +42 -74
  40. package/es/line/models/simpleLine.js +38 -67
  41. package/es/line/models/wall.js +52 -92
  42. package/es/line/shaders/dash/line_dash_vert.glsl +1 -2
  43. package/es/line/shaders/line_frag.glsl +1 -3
  44. package/es/line/shaders/line_vert.glsl +2 -0
  45. package/es/line/shaders/linear/line_linear_frag.glsl +1 -1
  46. package/es/mask/index.js +9 -28
  47. package/es/mask/models/fill.js +29 -54
  48. package/es/plugins/DataMappingPlugin.js +78 -114
  49. package/es/plugins/DataSourcePlugin.js +45 -68
  50. package/es/plugins/FeatureScalePlugin.js +67 -122
  51. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  52. package/es/plugins/LayerMaskPlugin.js +3 -11
  53. package/es/plugins/LayerModelPlugin.js +69 -118
  54. package/es/plugins/LayerStylePlugin.js +4 -9
  55. package/es/plugins/LightingPlugin.js +12 -18
  56. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  57. package/es/plugins/PixelPickingPlugin.js +12 -21
  58. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  59. package/es/plugins/ShaderUniformPlugin.js +13 -27
  60. package/es/plugins/UpdateModelPlugin.js +0 -5
  61. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  62. package/es/point/index.js +26 -78
  63. package/es/point/models/earthExtrude.js +58 -95
  64. package/es/point/models/earthFill.js +52 -80
  65. package/es/point/models/extrude.js +57 -94
  66. package/es/point/models/fill.js +56 -81
  67. package/es/point/models/fillmage.js +60 -100
  68. package/es/point/models/image.js +47 -83
  69. package/es/point/models/index.js +2 -2
  70. package/es/point/models/normal.js +30 -54
  71. package/es/point/models/radar.js +38 -63
  72. package/es/point/models/simplePoint.js +38 -62
  73. package/es/point/models/text.js +199 -296
  74. package/es/point/shape/extrude.js +4 -13
  75. package/es/polygon/index.js +11 -41
  76. package/es/polygon/models/extrude.js +87 -135
  77. package/es/polygon/models/fill.js +50 -79
  78. package/es/polygon/models/index.js +3 -2
  79. package/es/polygon/models/ocean.js +42 -76
  80. package/es/polygon/models/water.js +37 -71
  81. package/es/raster/buffers/triangulation.js +2 -4
  82. package/es/raster/index.js +9 -32
  83. package/es/raster/models/raster.js +80 -116
  84. package/es/raster/models/rasterRgb.js +84 -127
  85. package/es/raster/models/rasterTerrainRgb.js +56 -84
  86. package/es/tile/interaction/getRasterData.js +14 -20
  87. package/es/tile/interaction/utils.js +7 -9
  88. package/es/tile/manager/base.js +63 -96
  89. package/es/tile/service/TileLayerService.js +33 -55
  90. package/es/tile/service/TilePickService.js +26 -40
  91. package/es/tile/service/TileSourceService.js +3 -7
  92. package/es/tile/tileFactory/DebugTile.js +29 -46
  93. package/es/tile/tileFactory/ImageTile.js +20 -38
  94. package/es/tile/tileFactory/MaskTile.js +22 -43
  95. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  96. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  97. package/es/tile/tileFactory/RasterTile.js +30 -53
  98. package/es/tile/tileFactory/Tile.js +63 -97
  99. package/es/tile/tileFactory/VectorTile.js +41 -68
  100. package/es/tile/tileFactory/index.js +0 -11
  101. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  102. package/es/tile/tileFactory/util.js +0 -3
  103. package/es/tile/tileLayer/BaseLayer.js +105 -146
  104. package/es/tile/utils.js +1 -1
  105. package/es/utils/blend.js +0 -2
  106. package/es/utils/collision-index.js +9 -16
  107. package/es/utils/extrude_polyline.js +101 -149
  108. package/es/utils/grid-index.js +2 -27
  109. package/es/utils/identityScale.js +0 -8
  110. package/es/utils/layerData.js +30 -44
  111. package/es/utils/multiPassRender.js +11 -13
  112. package/es/utils/polylineNormal.js +31 -37
  113. package/es/utils/simpleLine.js +2 -16
  114. package/es/utils/stencil.js +2 -3
  115. package/es/utils/symbol-layout.js +27 -53
  116. package/es/wind/index.js +9 -29
  117. package/es/wind/models/utils.js +26 -51
  118. package/es/wind/models/wind.js +101 -147
  119. package/es/wind/models/windRender.js +53 -66
  120. package/lib/Geometry/index.js +9 -38
  121. package/lib/Geometry/models/billboard.js +51 -97
  122. package/lib/Geometry/models/index.js +0 -5
  123. package/lib/Geometry/models/plane.js +79 -151
  124. package/lib/Geometry/models/sprite.js +60 -127
  125. package/lib/canvas/index.js +10 -40
  126. package/lib/canvas/models/canvas.js +41 -101
  127. package/lib/canvas/models/index.js +0 -3
  128. package/lib/citybuliding/building.js +8 -35
  129. package/lib/citybuliding/models/build.js +57 -92
  130. package/lib/core/BaseLayer.js +325 -474
  131. package/lib/core/BaseModel.js +51 -90
  132. package/lib/core/CommonStyleAttribute.js +2 -7
  133. package/lib/core/LayerPickService.js +21 -37
  134. package/lib/core/TextureService.js +0 -16
  135. package/lib/core/interface.js +21 -31
  136. package/lib/core/schema.js +0 -1
  137. package/lib/core/shape/Path.js +14 -31
  138. package/lib/core/shape/extrude.js +27 -62
  139. package/lib/core/triangulation.js +98 -177
  140. package/lib/earth/index.js +9 -43
  141. package/lib/earth/models/atmosphere.js +30 -63
  142. package/lib/earth/models/base.js +47 -90
  143. package/lib/earth/models/bloomsphere.js +30 -63
  144. package/lib/earth/utils.js +7 -31
  145. package/lib/heatmap/index.js +10 -48
  146. package/lib/heatmap/models/grid.js +28 -60
  147. package/lib/heatmap/models/grid3d.js +28 -60
  148. package/lib/heatmap/models/heatmap.js +92 -166
  149. package/lib/heatmap/models/hexagon.js +28 -60
  150. package/lib/heatmap/models/index.js +0 -6
  151. package/lib/heatmap/triangulation.js +0 -5
  152. package/lib/image/index.js +9 -36
  153. package/lib/image/models/image.js +66 -109
  154. package/lib/image/models/index.js +0 -3
  155. package/lib/index.js +7 -61
  156. package/lib/line/index.js +9 -40
  157. package/lib/line/models/arc.js +61 -122
  158. package/lib/line/models/arc_3d.js +56 -113
  159. package/lib/line/models/earthArc_3d.js +58 -115
  160. package/lib/line/models/flow.js +36 -70
  161. package/lib/line/models/great_circle.js +53 -104
  162. package/lib/line/models/index.js +0 -11
  163. package/lib/line/models/line.js +90 -152
  164. package/lib/line/models/linearline.js +42 -86
  165. package/lib/line/models/simpleLine.js +38 -77
  166. package/lib/line/models/wall.js +52 -103
  167. package/lib/line/shaders/dash/line_dash_vert.glsl +1 -2
  168. package/lib/line/shaders/line_frag.glsl +1 -3
  169. package/lib/line/shaders/line_vert.glsl +2 -0
  170. package/lib/line/shaders/linear/line_linear_frag.glsl +1 -1
  171. package/lib/mask/index.js +9 -36
  172. package/lib/mask/models/fill.js +29 -63
  173. package/lib/mask/models/index.js +0 -3
  174. package/lib/plugins/DataMappingPlugin.js +78 -125
  175. package/lib/plugins/DataSourcePlugin.js +45 -76
  176. package/lib/plugins/FeatureScalePlugin.js +67 -138
  177. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  178. package/lib/plugins/LayerMaskPlugin.js +4 -17
  179. package/lib/plugins/LayerModelPlugin.js +70 -127
  180. package/lib/plugins/LayerStylePlugin.js +5 -14
  181. package/lib/plugins/LightingPlugin.js +12 -25
  182. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  183. package/lib/plugins/PixelPickingPlugin.js +12 -27
  184. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  185. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  186. package/lib/plugins/UpdateModelPlugin.js +1 -10
  187. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  188. package/lib/point/index.js +26 -83
  189. package/lib/point/models/earthExtrude.js +58 -106
  190. package/lib/point/models/earthFill.js +52 -110
  191. package/lib/point/models/extrude.js +57 -103
  192. package/lib/point/models/fill.js +54 -90
  193. package/lib/point/models/fillmage.js +58 -107
  194. package/lib/point/models/image.js +47 -92
  195. package/lib/point/models/index.js +1 -12
  196. package/lib/point/models/normal.js +30 -64
  197. package/lib/point/models/radar.js +38 -72
  198. package/lib/point/models/simplePoint.js +38 -72
  199. package/lib/point/models/text.js +199 -305
  200. package/lib/point/shape/extrude.js +4 -20
  201. package/lib/polygon/index.js +11 -48
  202. package/lib/polygon/models/extrude.js +87 -146
  203. package/lib/polygon/models/fill.js +50 -89
  204. package/lib/polygon/models/index.js +2 -14
  205. package/lib/polygon/models/ocean.js +42 -88
  206. package/lib/polygon/models/water.js +37 -82
  207. package/lib/raster/buffers/triangulation.js +3 -7
  208. package/lib/raster/index.js +9 -40
  209. package/lib/raster/models/index.js +0 -5
  210. package/lib/raster/models/raster.js +80 -125
  211. package/lib/raster/models/rasterRgb.js +84 -139
  212. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  213. package/lib/tile/interaction/getRasterData.js +14 -25
  214. package/lib/tile/interaction/utils.js +7 -19
  215. package/lib/tile/manager/base.js +63 -104
  216. package/lib/tile/service/TileLayerService.js +33 -60
  217. package/lib/tile/service/TilePickService.js +26 -48
  218. package/lib/tile/service/TileSourceService.js +2 -16
  219. package/lib/tile/style/utils.js +0 -3
  220. package/lib/tile/tileFactory/DebugTile.js +29 -54
  221. package/lib/tile/tileFactory/ImageTile.js +20 -46
  222. package/lib/tile/tileFactory/MaskTile.js +22 -51
  223. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  224. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  225. package/lib/tile/tileFactory/RasterTile.js +30 -63
  226. package/lib/tile/tileFactory/Tile.js +63 -102
  227. package/lib/tile/tileFactory/VectorTile.js +41 -76
  228. package/lib/tile/tileFactory/index.js +0 -25
  229. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  230. package/lib/tile/tileFactory/util.js +0 -9
  231. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  232. package/lib/tile/utils.js +1 -5
  233. package/lib/utils/blend.js +0 -5
  234. package/lib/utils/collision-index.js +9 -25
  235. package/lib/utils/extrude_polyline.js +101 -181
  236. package/lib/utils/grid-index.js +2 -28
  237. package/lib/utils/identityScale.js +0 -9
  238. package/lib/utils/layerData.js +30 -49
  239. package/lib/utils/multiPassRender.js +11 -16
  240. package/lib/utils/polylineNormal.js +31 -66
  241. package/lib/utils/simpleLine.js +2 -21
  242. package/lib/utils/stencil.js +0 -4
  243. package/lib/utils/symbol-layout.js +27 -55
  244. package/lib/wind/index.js +9 -37
  245. package/lib/wind/models/index.js +0 -3
  246. package/lib/wind/models/utils.js +26 -62
  247. package/lib/wind/models/wind.js +101 -157
  248. package/lib/wind/models/windRender.js +53 -71
  249. package/lib/wind/models/windShader.js +0 -1
  250. package/package.json +7 -7
@@ -6,18 +6,13 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
8
8
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
-
10
9
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
-
12
10
  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; } }
13
-
14
11
  import { AttributeType, gl } from '@antv/l7-core';
15
12
  import { isNumber } from 'lodash';
16
13
  import BaseModel from "../../core/BaseModel";
17
-
18
14
  /* babel-plugin-inline-import '../shaders/normal_frag.glsl' */
19
15
  var normalFrag = "varying vec4 v_color;\nvoid main() {\n gl_FragColor = v_color;\n}\n";
20
-
21
16
  /* babel-plugin-inline-import '../shaders/normal_vert.glsl' */
22
17
  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";
23
18
  export function PointTriangulation(feature) {
@@ -28,18 +23,13 @@ export function PointTriangulation(feature) {
28
23
  size: coordinates.length
29
24
  };
30
25
  }
31
-
32
26
  var NormalModel = /*#__PURE__*/function (_BaseModel) {
33
27
  _inherits(NormalModel, _BaseModel);
34
-
35
28
  var _super = _createSuper(NormalModel);
36
-
37
29
  function NormalModel() {
38
30
  _classCallCheck(this, NormalModel);
39
-
40
31
  return _super.apply(this, arguments);
41
32
  }
42
-
43
33
  _createClass(NormalModel, [{
44
34
  key: "getDefaultStyle",
45
35
  value: function getDefaultStyle() {
@@ -51,9 +41,8 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
51
41
  key: "getUninforms",
52
42
  value: function getUninforms() {
53
43
  var _ref = this.layer.getLayerConfig(),
54
- _ref$opacity = _ref.opacity,
55
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
56
-
44
+ _ref$opacity = _ref.opacity,
45
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
57
46
  return {
58
47
  u_opacity: isNumber(opacity) ? opacity : 1.0
59
48
  };
@@ -63,23 +52,18 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
63
52
  value: function () {
64
53
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
65
54
  return _regeneratorRuntime.wrap(function _callee$(_context) {
66
- while (1) {
67
- switch (_context.prev = _context.next) {
68
- case 0:
69
- return _context.abrupt("return", this.buildModels());
70
-
71
- case 1:
72
- case "end":
73
- return _context.stop();
74
- }
55
+ while (1) switch (_context.prev = _context.next) {
56
+ case 0:
57
+ return _context.abrupt("return", this.buildModels());
58
+ case 1:
59
+ case "end":
60
+ return _context.stop();
75
61
  }
76
62
  }, _callee, this);
77
63
  }));
78
-
79
64
  function initModels() {
80
65
  return _initModels.apply(this, arguments);
81
66
  }
82
-
83
67
  return initModels;
84
68
  }()
85
69
  }, {
@@ -88,39 +72,33 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
88
72
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
89
73
  var model;
90
74
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
91
- while (1) {
92
- switch (_context2.prev = _context2.next) {
93
- case 0:
94
- this.layer.triangulation = PointTriangulation;
95
- _context2.next = 3;
96
- return this.layer.buildLayerModel({
97
- moduleName: 'pointNormal',
98
- vertexShader: normalVert,
99
- fragmentShader: normalFrag,
100
- triangulation: PointTriangulation,
101
- depth: {
102
- enable: false
103
- },
104
- primitive: gl.POINTS,
105
- pick: false
106
- });
107
-
108
- case 3:
109
- model = _context2.sent;
110
- return _context2.abrupt("return", [model]);
111
-
112
- case 5:
113
- case "end":
114
- return _context2.stop();
115
- }
75
+ while (1) switch (_context2.prev = _context2.next) {
76
+ case 0:
77
+ this.layer.triangulation = PointTriangulation;
78
+ _context2.next = 3;
79
+ return this.layer.buildLayerModel({
80
+ moduleName: 'pointNormal',
81
+ vertexShader: normalVert,
82
+ fragmentShader: normalFrag,
83
+ triangulation: PointTriangulation,
84
+ depth: {
85
+ enable: false
86
+ },
87
+ primitive: gl.POINTS,
88
+ pick: false
89
+ });
90
+ case 3:
91
+ model = _context2.sent;
92
+ return _context2.abrupt("return", [model]);
93
+ case 5:
94
+ case "end":
95
+ return _context2.stop();
116
96
  }
117
97
  }, _callee2, this);
118
98
  }));
119
-
120
99
  function buildModels() {
121
100
  return _buildModels.apply(this, arguments);
122
101
  }
123
-
124
102
  return buildModels;
125
103
  }()
126
104
  }, {
@@ -144,15 +122,13 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
144
122
  size: 1,
145
123
  update: function update(feature) {
146
124
  var _feature$size = feature.size,
147
- size = _feature$size === void 0 ? 1 : _feature$size;
125
+ size = _feature$size === void 0 ? 1 : _feature$size;
148
126
  return Array.isArray(size) ? [size[0]] : [size];
149
127
  }
150
128
  }
151
129
  });
152
130
  }
153
131
  }]);
154
-
155
132
  return NormalModel;
156
133
  }(BaseModel);
157
-
158
134
  export { NormalModel as default };
@@ -5,45 +5,34 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
-
9
8
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
9
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
-
13
10
  import { AttributeType, gl } from '@antv/l7-core';
14
11
  import BaseModel from "../../core/BaseModel";
15
12
  import { SizeUnitType } from "../../core/interface";
16
13
  import { PointFillTriangulation } from "../../core/triangulation";
17
-
18
14
  /* babel-plugin-inline-import '../shaders/radar/radar_frag.glsl' */
19
15
  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";
20
-
21
16
  /* babel-plugin-inline-import '../shaders/radar/radar_vert.glsl' */
22
17
  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";
23
-
24
18
  var RadarModel = /*#__PURE__*/function (_BaseModel) {
25
19
  _inherits(RadarModel, _BaseModel);
26
-
27
20
  var _super = _createSuper(RadarModel);
28
-
29
21
  function RadarModel() {
30
22
  _classCallCheck(this, RadarModel);
31
-
32
23
  return _super.apply(this, arguments);
33
24
  }
34
-
35
25
  _createClass(RadarModel, [{
36
26
  key: "getUninforms",
37
27
  value: function getUninforms() {
38
28
  var _ref = this.layer.getLayerConfig(),
39
- _ref$opacity = _ref.opacity,
40
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
41
- blend = _ref.blend,
42
- _ref$speed = _ref.speed,
43
- speed = _ref$speed === void 0 ? 1 : _ref$speed,
44
- _ref$unit = _ref.unit,
45
- unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
46
-
29
+ _ref$opacity = _ref.opacity,
30
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
31
+ blend = _ref.blend,
32
+ _ref$speed = _ref.speed,
33
+ speed = _ref$speed === void 0 ? 1 : _ref$speed,
34
+ _ref$unit = _ref.unit,
35
+ unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
47
36
  return {
48
37
  u_size_unit: SizeUnitType[unit],
49
38
  u_speed: speed,
@@ -55,11 +44,10 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
55
44
  key: "getAnimateUniforms",
56
45
  value: function getAnimateUniforms() {
57
46
  var _ref2 = this.layer.getLayerConfig(),
58
- _ref2$animateOption = _ref2.animateOption,
59
- animateOption = _ref2$animateOption === void 0 ? {
60
- enable: false
61
- } : _ref2$animateOption;
62
-
47
+ _ref2$animateOption = _ref2.animateOption,
48
+ animateOption = _ref2$animateOption === void 0 ? {
49
+ enable: false
50
+ } : _ref2$animateOption;
63
51
  return {
64
52
  u_animate: this.animateOption2Array(animateOption),
65
53
  u_time: this.layer.getLayerAnimateTime()
@@ -75,23 +63,18 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
75
63
  value: function () {
76
64
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
77
65
  return _regeneratorRuntime.wrap(function _callee$(_context) {
78
- while (1) {
79
- switch (_context.prev = _context.next) {
80
- case 0:
81
- return _context.abrupt("return", this.buildModels());
82
-
83
- case 1:
84
- case "end":
85
- return _context.stop();
86
- }
66
+ while (1) switch (_context.prev = _context.next) {
67
+ case 0:
68
+ return _context.abrupt("return", this.buildModels());
69
+ case 1:
70
+ case "end":
71
+ return _context.stop();
87
72
  }
88
73
  }, _callee, this);
89
74
  }));
90
-
91
75
  function initModels() {
92
76
  return _initModels.apply(this, arguments);
93
77
  }
94
-
95
78
  return initModels;
96
79
  }()
97
80
  }, {
@@ -100,39 +83,32 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
100
83
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
101
84
  var model;
102
85
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
103
- while (1) {
104
- switch (_context2.prev = _context2.next) {
105
- case 0:
106
- _context2.next = 2;
107
- return this.layer.buildLayerModel({
108
- moduleName: 'pointRadar',
109
- vertexShader: pointFillVert,
110
- fragmentShader: pointFillFrag,
111
- triangulation: PointFillTriangulation,
112
- depth: {
113
- enable: false
114
- }
115
- });
116
-
117
- case 2:
118
- model = _context2.sent;
119
- return _context2.abrupt("return", [model]);
120
-
121
- case 4:
122
- case "end":
123
- return _context2.stop();
124
- }
86
+ while (1) switch (_context2.prev = _context2.next) {
87
+ case 0:
88
+ _context2.next = 2;
89
+ return this.layer.buildLayerModel({
90
+ moduleName: 'pointRadar',
91
+ vertexShader: pointFillVert,
92
+ fragmentShader: pointFillFrag,
93
+ triangulation: PointFillTriangulation,
94
+ depth: {
95
+ enable: false
96
+ }
97
+ });
98
+ case 2:
99
+ model = _context2.sent;
100
+ return _context2.abrupt("return", [model]);
101
+ case 4:
102
+ case "end":
103
+ return _context2.stop();
125
104
  }
126
105
  }, _callee2, this);
127
106
  }));
128
-
129
107
  function buildModels() {
130
108
  return _buildModels.apply(this, arguments);
131
109
  }
132
-
133
110
  return buildModels;
134
111
  }() // overwrite baseModel func
135
-
136
112
  }, {
137
113
  key: "animateOption2Array",
138
114
  value: function animateOption2Array(option) {
@@ -159,8 +135,9 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
159
135
  return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
160
136
  }
161
137
  }
162
- }); // point layer size;
138
+ });
163
139
 
140
+ // point layer size;
164
141
  this.styleAttributeService.registerStyleAttribute({
165
142
  name: 'size',
166
143
  type: AttributeType.Attribute,
@@ -175,15 +152,13 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
175
152
  size: 1,
176
153
  update: function update(feature) {
177
154
  var _feature$size = feature.size,
178
- size = _feature$size === void 0 ? 5 : _feature$size;
155
+ size = _feature$size === void 0 ? 5 : _feature$size;
179
156
  return Array.isArray(size) ? [size[0]] : [size];
180
157
  }
181
158
  }
182
159
  });
183
160
  }
184
161
  }]);
185
-
186
162
  return RadarModel;
187
163
  }(BaseModel);
188
-
189
164
  export { RadarModel as default };
@@ -6,18 +6,13 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
8
8
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
-
10
9
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
-
12
10
  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; } }
13
-
14
11
  import { AttributeType, gl } from '@antv/l7-core';
15
12
  import BaseModel from "../../core/BaseModel";
16
13
  import { rgb2arr } from '@antv/l7-utils';
17
-
18
14
  /* babel-plugin-inline-import '../shaders/simplePoint_frag.glsl' */
19
15
  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";
20
-
21
16
  /* babel-plugin-inline-import '../shaders/simplePoint_vert.glsl' */
22
17
  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";
23
18
  export function PointTriangulation(feature) {
@@ -28,18 +23,13 @@ export function PointTriangulation(feature) {
28
23
  size: coordinates.length
29
24
  };
30
25
  }
31
-
32
26
  var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
33
27
  _inherits(SimplePointModel, _BaseModel);
34
-
35
28
  var _super = _createSuper(SimplePointModel);
36
-
37
29
  function SimplePointModel() {
38
30
  _classCallCheck(this, SimplePointModel);
39
-
40
31
  return _super.apply(this, arguments);
41
32
  }
42
-
43
33
  _createClass(SimplePointModel, [{
44
34
  key: "getDefaultStyle",
45
35
  value: function getDefaultStyle() {
@@ -51,18 +41,17 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
51
41
  key: "getUninforms",
52
42
  value: function getUninforms() {
53
43
  var _ref = this.layer.getLayerConfig(),
54
- _ref$opacity = _ref.opacity,
55
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
56
- _ref$offsets = _ref.offsets,
57
- offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
58
- blend = _ref.blend,
59
- _ref$strokeOpacity = _ref.strokeOpacity,
60
- strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
61
- _ref$strokeWidth = _ref.strokeWidth,
62
- strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
63
- _ref$stroke = _ref.stroke,
64
- stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke;
65
-
44
+ _ref$opacity = _ref.opacity,
45
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
46
+ _ref$offsets = _ref.offsets,
47
+ offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
48
+ blend = _ref.blend,
49
+ _ref$strokeOpacity = _ref.strokeOpacity,
50
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
51
+ _ref$strokeWidth = _ref.strokeWidth,
52
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
53
+ _ref$stroke = _ref.stroke,
54
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke;
66
55
  return {
67
56
  u_additive: blend === 'additive' ? 1.0 : 0.0,
68
57
  u_opacity: opacity,
@@ -77,23 +66,18 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
77
66
  value: function () {
78
67
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
79
68
  return _regeneratorRuntime.wrap(function _callee$(_context) {
80
- while (1) {
81
- switch (_context.prev = _context.next) {
82
- case 0:
83
- return _context.abrupt("return", this.buildModels());
84
-
85
- case 1:
86
- case "end":
87
- return _context.stop();
88
- }
69
+ while (1) switch (_context.prev = _context.next) {
70
+ case 0:
71
+ return _context.abrupt("return", this.buildModels());
72
+ case 1:
73
+ case "end":
74
+ return _context.stop();
89
75
  }
90
76
  }, _callee, this);
91
77
  }));
92
-
93
78
  function initModels() {
94
79
  return _initModels.apply(this, arguments);
95
80
  }
96
-
97
81
  return initModels;
98
82
  }()
99
83
  }, {
@@ -102,38 +86,32 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
102
86
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
103
87
  var model;
104
88
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
105
- while (1) {
106
- switch (_context2.prev = _context2.next) {
107
- case 0:
108
- this.layer.triangulation = PointTriangulation;
109
- _context2.next = 3;
110
- return this.layer.buildLayerModel({
111
- moduleName: 'pointSimple',
112
- vertexShader: simplePointVert,
113
- fragmentShader: simplePointFrag,
114
- triangulation: PointTriangulation,
115
- depth: {
116
- enable: false
117
- },
118
- primitive: gl.POINTS
119
- });
120
-
121
- case 3:
122
- model = _context2.sent;
123
- return _context2.abrupt("return", [model]);
124
-
125
- case 5:
126
- case "end":
127
- return _context2.stop();
128
- }
89
+ while (1) switch (_context2.prev = _context2.next) {
90
+ case 0:
91
+ this.layer.triangulation = PointTriangulation;
92
+ _context2.next = 3;
93
+ return this.layer.buildLayerModel({
94
+ moduleName: 'pointSimple',
95
+ vertexShader: simplePointVert,
96
+ fragmentShader: simplePointFrag,
97
+ triangulation: PointTriangulation,
98
+ depth: {
99
+ enable: false
100
+ },
101
+ primitive: gl.POINTS
102
+ });
103
+ case 3:
104
+ model = _context2.sent;
105
+ return _context2.abrupt("return", [model]);
106
+ case 5:
107
+ case "end":
108
+ return _context2.stop();
129
109
  }
130
110
  }, _callee2, this);
131
111
  }));
132
-
133
112
  function buildModels() {
134
113
  return _buildModels.apply(this, arguments);
135
114
  }
136
-
137
115
  return buildModels;
138
116
  }()
139
117
  }, {
@@ -152,15 +130,13 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
152
130
  size: 1,
153
131
  update: function update(feature) {
154
132
  var _feature$size = feature.size,
155
- size = _feature$size === void 0 ? 1 : _feature$size;
133
+ size = _feature$size === void 0 ? 1 : _feature$size;
156
134
  return Array.isArray(size) ? [size[0]] : [size];
157
135
  }
158
136
  }
159
137
  });
160
138
  }
161
139
  }]);
162
-
163
140
  return SimplePointModel;
164
141
  }(BaseModel);
165
-
166
142
  export { SimplePointModel as default };