@antv/l7-layers 2.17.3 → 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 +112 -63
  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 +136 -85
  39. package/es/line/models/linearline.js +74 -42
  40. package/es/line/models/simpleLine.js +67 -38
  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 +122 -61
  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 +144 -83
  160. package/lib/line/models/linearline.js +86 -42
  161. package/lib/line/models/simpleLine.js +77 -38
  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,57 +1,86 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
13
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
14
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
15
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
16
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
17
28
  var _l7Core = require("@antv/l7-core");
29
+
18
30
  var _l7Utils = require("@antv/l7-utils");
31
+
19
32
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
33
+
20
34
  var _interface = require("../../core/interface");
35
+
21
36
  var _triangulation = require("../../core/triangulation");
37
+
22
38
  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); }; }
39
+
23
40
  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; } }
41
+
24
42
  /* babel-plugin-inline-import '../shaders/image/fillImage_frag.glsl' */
25
43
  // static pointLayer shader - not support animate
26
44
  var pointFillFrag = "uniform sampler2D u_texture;\nuniform vec2 u_textSize;\nuniform float u_opacity : 1;\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\nvarying vec2 v_uv; // \u672C\u8EAB\u7684 uv \u5750\u6807\nvarying vec2 v_Iconuv;\n\nvoid main() {\n\n vec2 pos = v_Iconuv / u_textSize + v_uv / u_textSize * 64.;\n gl_FragColor = texture2D(u_texture, pos);\n gl_FragColor.a *= u_opacity;\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
45
+
27
46
  /* babel-plugin-inline-import '../shaders/image/fillImage_vert.glsl' */
28
47
  var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute vec2 a_Uv;\nattribute float a_Rotate;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform mat2 u_RotateMatrix;\nuniform int u_size_unit;\n\nvarying vec2 v_uv; // \u672C\u8EAB\u7684 uv \u5750\u6807\nvarying vec2 v_Iconuv; // icon \u8D34\u56FE\u7684 uv \u5750\u6807\n\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\nuniform float u_opacity : 1;\nuniform vec2 u_offsets;\n\n\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n v_uv = (a_Extrude.xy + 1.0)/2.0;\n v_uv.y = 1.0 - v_uv.y;\n v_Iconuv = a_Uv;\n\n\n highp float angle_sin = sin(a_Rotate);\n highp float angle_cos = cos(a_Rotate);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n float newSize = a_Size;\n if(u_size_unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n\n // vec2 offset = (u_RotateMatrix * extrude.xy * (a_Size) + textrueOffsets);\n vec2 offset = (rotation_matrix * u_RotateMatrix * extrude.xy * (newSize) + u_offsets);\n vec3 aPosition = a_Position;\n\n offset = project_pixel(offset);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n float raisingHeight = u_raisingHeight;\n if(u_heightfixed < 1.0) { // height fixed\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp *vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
48
+
29
49
  var FillImageModel = /*#__PURE__*/function (_BaseModel) {
30
50
  (0, _inherits2.default)(FillImageModel, _BaseModel);
51
+
31
52
  var _super = _createSuper(FillImageModel);
53
+
32
54
  function FillImageModel() {
33
55
  var _this;
56
+
34
57
  (0, _classCallCheck2.default)(this, FillImageModel);
58
+
35
59
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
60
  args[_key] = arguments[_key];
37
61
  }
62
+
38
63
  _this = _super.call.apply(_super, [this].concat(args));
39
64
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meter2coord", 1);
40
65
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isMeter", false);
41
66
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "radian", 0);
42
67
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateTexture", function () {
43
68
  var createTexture2D = _this.rendererService.createTexture2D;
69
+
44
70
  if (_this.texture) {
45
71
  _this.texture.update({
46
72
  data: _this.iconService.getCanvas(),
47
73
  mag: 'linear',
48
74
  min: 'linear mipmap nearest',
49
75
  mipmap: true
50
- });
51
- // 更新完纹理后在更新的图层的时候需要更新所有的图层
76
+ }); // 更新完纹理后在更新的图层的时候需要更新所有的图层
77
+
78
+
52
79
  _this.layerService.throttleRenderLayers();
80
+
53
81
  return;
54
82
  }
83
+
55
84
  _this.texture = createTexture2D({
56
85
  data: _this.iconService.getCanvas(),
57
86
  mag: _l7Core.gl.LINEAR,
@@ -64,23 +93,24 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
64
93
  });
65
94
  return _this;
66
95
  }
96
+
67
97
  (0, _createClass2.default)(FillImageModel, [{
68
98
  key: "getUninforms",
69
- value:
70
- // 旋转的弧度
99
+ value: // 旋转的弧度
71
100
  function getUninforms() {
72
101
  var _ref = this.layer.getLayerConfig(),
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
- rotation = _ref.rotation,
78
- _ref$raisingHeight = _ref.raisingHeight,
79
- raisingHeight = _ref$raisingHeight === void 0 ? 0.0 : _ref$raisingHeight,
80
- _ref$heightfixed = _ref.heightfixed,
81
- heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
82
- _ref$unit = _ref.unit,
83
- unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
102
+ _ref$opacity = _ref.opacity,
103
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
104
+ _ref$offsets = _ref.offsets,
105
+ offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
106
+ rotation = _ref.rotation,
107
+ _ref$raisingHeight = _ref.raisingHeight,
108
+ raisingHeight = _ref$raisingHeight === void 0 ? 0.0 : _ref$raisingHeight,
109
+ _ref$heightfixed = _ref.heightfixed,
110
+ heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
111
+ _ref$unit = _ref.unit,
112
+ unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
113
+
84
114
  if (this.rendererService.getDirty()) {
85
115
  this.texture.bind();
86
116
  }
@@ -91,11 +121,15 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
91
121
  * GAODE2.x -1
92
122
  * GAODE1.x -1
93
123
  */
124
+
125
+
94
126
  var rotateFlag = 1;
127
+
95
128
  if (this.mapService.version === 'GAODE2.x' || this.mapService.version === 'GAODE1.x') {
96
129
  rotateFlag = -1;
97
- }
98
- // 控制图标的旋转角度(绕 Z 轴旋转)
130
+ } // 控制图标的旋转角度(绕 Z 轴旋转)
131
+
132
+
99
133
  this.radian = rotation !== undefined ? rotateFlag * Math.PI * rotation / 180 : rotateFlag * Math.PI * (this.mapService.getRotation() % 360) / 180;
100
134
  return {
101
135
  u_raisingHeight: Number(raisingHeight),
@@ -118,20 +152,25 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
118
152
  value: function () {
119
153
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
120
154
  return _regenerator.default.wrap(function _callee$(_context) {
121
- while (1) switch (_context.prev = _context.next) {
122
- case 0:
123
- this.iconService.on('imageUpdate', this.updateTexture);
124
- this.updateTexture();
125
- return _context.abrupt("return", this.buildModels());
126
- case 3:
127
- case "end":
128
- return _context.stop();
155
+ while (1) {
156
+ switch (_context.prev = _context.next) {
157
+ case 0:
158
+ this.iconService.on('imageUpdate', this.updateTexture);
159
+ this.updateTexture();
160
+ return _context.abrupt("return", this.buildModels());
161
+
162
+ case 3:
163
+ case "end":
164
+ return _context.stop();
165
+ }
129
166
  }
130
167
  }, _callee, this);
131
168
  }));
169
+
132
170
  function initModels() {
133
171
  return _initModels.apply(this, arguments);
134
172
  }
173
+
135
174
  return initModels;
136
175
  }()
137
176
  }, {
@@ -140,49 +179,56 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
140
179
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
141
180
  var model;
142
181
  return _regenerator.default.wrap(function _callee2$(_context2) {
143
- while (1) switch (_context2.prev = _context2.next) {
144
- case 0:
145
- _context2.next = 2;
146
- return this.layer.buildLayerModel({
147
- moduleName: 'pointFillImage',
148
- vertexShader: pointFillVert,
149
- fragmentShader: pointFillFrag,
150
- triangulation: _triangulation.PointFillTriangulation,
151
- depth: {
152
- enable: false
153
- },
154
- cull: {
155
- enable: true,
156
- face: (0, _l7Utils.getCullFace)(this.mapService.version)
157
- }
158
- });
159
- case 2:
160
- model = _context2.sent;
161
- return _context2.abrupt("return", [model]);
162
- case 4:
163
- case "end":
164
- return _context2.stop();
182
+ while (1) {
183
+ switch (_context2.prev = _context2.next) {
184
+ case 0:
185
+ _context2.next = 2;
186
+ return this.layer.buildLayerModel({
187
+ moduleName: 'pointFillImage',
188
+ vertexShader: pointFillVert,
189
+ fragmentShader: pointFillFrag,
190
+ triangulation: _triangulation.PointFillTriangulation,
191
+ depth: {
192
+ enable: false
193
+ },
194
+ cull: {
195
+ enable: true,
196
+ face: (0, _l7Utils.getCullFace)(this.mapService.version)
197
+ }
198
+ });
199
+
200
+ case 2:
201
+ model = _context2.sent;
202
+ return _context2.abrupt("return", [model]);
203
+
204
+ case 4:
205
+ case "end":
206
+ return _context2.stop();
207
+ }
165
208
  }
166
209
  }, _callee2, this);
167
210
  }));
211
+
168
212
  function buildModels() {
169
213
  return _buildModels.apply(this, arguments);
170
214
  }
215
+
171
216
  return buildModels;
172
217
  }()
173
218
  }, {
174
219
  key: "clearModels",
175
220
  value: function clearModels() {
176
221
  var _this$texture;
222
+
177
223
  this.iconService.off('imageUpdate', this.updateTexture);
178
224
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
179
- }
225
+ } // overwrite baseModel func
180
226
 
181
- // overwrite baseModel func
182
227
  }, {
183
228
  key: "registerBuiltinAttributes",
184
229
  value: function registerBuiltinAttributes() {
185
230
  var _this2 = this;
231
+
186
232
  this.styleAttributeService.registerStyleAttribute({
187
233
  name: 'rotate',
188
234
  type: _l7Core.AttributeType.Attribute,
@@ -196,7 +242,7 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
196
242
  size: 1,
197
243
  update: function update(feature) {
198
244
  var _feature$rotate = feature.rotate,
199
- rotate = _feature$rotate === void 0 ? 0 : _feature$rotate;
245
+ rotate = _feature$rotate === void 0 ? 0 : _feature$rotate;
200
246
  return Array.isArray(rotate) ? [rotate[0]] : [rotate];
201
247
  }
202
248
  }
@@ -215,13 +261,16 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
215
261
  size: 2,
216
262
  update: function update(feature) {
217
263
  var iconMap = _this2.iconService.getIconMap();
264
+
218
265
  var shape = feature.shape;
266
+
219
267
  var _ref2 = iconMap[shape] || {
220
- x: -64,
221
- y: -64
222
- },
223
- x = _ref2.x,
224
- y = _ref2.y;
268
+ x: -64,
269
+ y: -64
270
+ },
271
+ x = _ref2.x,
272
+ y = _ref2.y;
273
+
225
274
  return [x, y];
226
275
  }
227
276
  }
@@ -244,9 +293,8 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
244
293
  return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
245
294
  }
246
295
  }
247
- });
296
+ }); // point layer size;
248
297
 
249
- // point layer size;
250
298
  this.styleAttributeService.registerStyleAttribute({
251
299
  name: 'size',
252
300
  type: _l7Core.AttributeType.Attribute,
@@ -261,7 +309,7 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
261
309
  size: 1,
262
310
  update: function update(feature) {
263
311
  var _feature$size = feature.size,
264
- size = _feature$size === void 0 ? 5 : _feature$size;
312
+ size = _feature$size === void 0 ? 5 : _feature$size;
265
313
  return Array.isArray(size) ? [size[0]] : [size];
266
314
  }
267
315
  }
@@ -270,4 +318,5 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
270
318
  }]);
271
319
  return FillImageModel;
272
320
  }(_BaseModel2.default);
321
+
273
322
  exports.default = FillImageModel;
@@ -1,55 +1,81 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
13
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
14
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
15
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
16
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
17
28
  var _l7Core = require("@antv/l7-core");
29
+
18
30
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
31
+
19
32
  var _triangulation = require("../../core/triangulation");
33
+
20
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
35
+
21
36
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
+
22
38
  /* babel-plugin-inline-import '../shaders/image_frag.glsl' */
23
39
  var pointImageFrag = "\nuniform sampler2D u_texture;\nvarying vec4 v_color;\nvarying vec2 v_uv;\nuniform vec2 u_textSize;\nuniform float u_opacity : 1;\n\n#pragma include \"picking\"\n\nvoid main(){\n vec2 pos = v_uv / u_textSize + gl_PointCoord / u_textSize * 64.;\n vec4 textureColor;\n\n // Y = 0.299R + 0.587G + 0.114B // \u4EAE\u5EA6\u63D0\u53D6\n \n textureColor = texture2D(u_texture, pos);\n\n // Tip: \u53BB\u9664\u8FB9\u7F18\u90E8\u5206 mipmap \u5BFC\u81F4\u7684\u6DF7\u5408\u53D8\u6697\n float fragmengTocenter = distance(vec2(0.5), gl_PointCoord);\n if(fragmengTocenter >= 0.5) {\n float luma = 0.299 * textureColor.r + 0.587 * textureColor.g + 0.114 * textureColor.b;\n textureColor.a *= luma;\n }\n \n \n\n if(all(lessThan(v_color, vec4(1.0+0.00001))) && all(greaterThan(v_color, vec4(1.0-0.00001))) || v_color==vec4(1.0)){\n gl_FragColor= textureColor;\n }else {\n gl_FragColor= step(0.01, textureColor.z) * v_color;\n }\n\n gl_FragColor.a = gl_FragColor.a * u_opacity;\n \n if (gl_FragColor.a < 0.01) {\n discard;\n }\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
40
+
24
41
  /* babel-plugin-inline-import '../shaders/image_vert.glsl' */
25
42
  var pointImageVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec4 a_Color;\nattribute vec2 a_Uv;\nattribute float a_Size;\nvarying vec4 v_color;\nvarying vec2 v_uv;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform vec2 u_offsets;\n\nuniform float u_opacity : 1;\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\n\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n v_color = a_Color;\n v_uv = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n \n vec2 offset = project_pixel(u_offsets);\n\n float raisingHeight = u_raisingHeight;\n if(u_heightfixed < 1.0) { // false\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n\n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n setPickingColor(a_PickingColor);\n}\n";
43
+
26
44
  var ImageModel = /*#__PURE__*/function (_BaseModel) {
27
45
  (0, _inherits2.default)(ImageModel, _BaseModel);
46
+
28
47
  var _super = _createSuper(ImageModel);
48
+
29
49
  function ImageModel() {
30
50
  var _this;
51
+
31
52
  (0, _classCallCheck2.default)(this, ImageModel);
53
+
32
54
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33
55
  args[_key] = arguments[_key];
34
56
  }
57
+
35
58
  _this = _super.call.apply(_super, [this].concat(args));
36
59
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateTexture", function () {
37
60
  var createTexture2D = _this.rendererService.createTexture2D;
61
+
38
62
  if (_this.texture) {
39
63
  _this.texture.update({
40
64
  data: _this.iconService.getCanvas(),
41
65
  mag: 'linear',
42
66
  min: 'linear mipmap nearest',
43
67
  mipmap: true
44
- });
45
- // 更新完纹理后在更新的图层的时候需要更新所有的图层
68
+ }); // 更新完纹理后在更新的图层的时候需要更新所有的图层
46
69
  // this.layer.layerModelNeedUpdate = true;
70
+
71
+
47
72
  setTimeout(function () {
48
73
  // 延迟渲染
49
74
  _this.layerService.throttleRenderLayers();
50
75
  });
51
76
  return;
52
77
  }
78
+
53
79
  _this.texture = createTexture2D({
54
80
  data: _this.iconService.getCanvas(),
55
81
  mag: _l7Core.gl.LINEAR,
@@ -62,23 +88,25 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
62
88
  });
63
89
  return _this;
64
90
  }
91
+
65
92
  (0, _createClass2.default)(ImageModel, [{
66
93
  key: "getUninforms",
67
94
  value: function getUninforms() {
68
95
  var _ref = this.layer.getLayerConfig(),
69
- _ref$opacity = _ref.opacity,
70
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
71
- _ref$offsets = _ref.offsets,
72
- offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
73
- _ref$raisingHeight = _ref.raisingHeight,
74
- raisingHeight = _ref$raisingHeight === void 0 ? 0 : _ref$raisingHeight,
75
- _ref$heightfixed = _ref.heightfixed,
76
- heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed;
77
-
78
- // ThreeJS 图层兼容
96
+ _ref$opacity = _ref.opacity,
97
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
98
+ _ref$offsets = _ref.offsets,
99
+ offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
100
+ _ref$raisingHeight = _ref.raisingHeight,
101
+ raisingHeight = _ref$raisingHeight === void 0 ? 0 : _ref$raisingHeight,
102
+ _ref$heightfixed = _ref.heightfixed,
103
+ heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed; // ThreeJS 图层兼容
104
+
105
+
79
106
  if (this.rendererService.getDirty()) {
80
107
  this.texture.bind();
81
108
  }
109
+
82
110
  return {
83
111
  u_raisingHeight: Number(raisingHeight),
84
112
  u_heightfixed: Number(heightfixed),
@@ -93,26 +121,32 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
93
121
  value: function () {
94
122
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
95
123
  return _regenerator.default.wrap(function _callee$(_context) {
96
- while (1) switch (_context.prev = _context.next) {
97
- case 0:
98
- this.iconService.on('imageUpdate', this.updateTexture);
99
- this.updateTexture();
100
- return _context.abrupt("return", this.buildModels());
101
- case 3:
102
- case "end":
103
- return _context.stop();
124
+ while (1) {
125
+ switch (_context.prev = _context.next) {
126
+ case 0:
127
+ this.iconService.on('imageUpdate', this.updateTexture);
128
+ this.updateTexture();
129
+ return _context.abrupt("return", this.buildModels());
130
+
131
+ case 3:
132
+ case "end":
133
+ return _context.stop();
134
+ }
104
135
  }
105
136
  }, _callee, this);
106
137
  }));
138
+
107
139
  function initModels() {
108
140
  return _initModels.apply(this, arguments);
109
141
  }
142
+
110
143
  return initModels;
111
144
  }()
112
145
  }, {
113
146
  key: "clearModels",
114
147
  value: function clearModels() {
115
148
  var _this$texture;
149
+
116
150
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
117
151
  this.iconService.off('imageUpdate', this.updateTexture);
118
152
  }
@@ -122,37 +156,44 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
122
156
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
123
157
  var model;
124
158
  return _regenerator.default.wrap(function _callee2$(_context2) {
125
- while (1) switch (_context2.prev = _context2.next) {
126
- case 0:
127
- _context2.next = 2;
128
- return this.layer.buildLayerModel({
129
- moduleName: 'pointImage',
130
- vertexShader: pointImageVert,
131
- fragmentShader: pointImageFrag,
132
- triangulation: _triangulation.PointImageTriangulation,
133
- depth: {
134
- enable: false
135
- },
136
- primitive: _l7Core.gl.POINTS
137
- });
138
- case 2:
139
- model = _context2.sent;
140
- return _context2.abrupt("return", [model]);
141
- case 4:
142
- case "end":
143
- return _context2.stop();
159
+ while (1) {
160
+ switch (_context2.prev = _context2.next) {
161
+ case 0:
162
+ _context2.next = 2;
163
+ return this.layer.buildLayerModel({
164
+ moduleName: 'pointImage',
165
+ vertexShader: pointImageVert,
166
+ fragmentShader: pointImageFrag,
167
+ triangulation: _triangulation.PointImageTriangulation,
168
+ depth: {
169
+ enable: false
170
+ },
171
+ primitive: _l7Core.gl.POINTS
172
+ });
173
+
174
+ case 2:
175
+ model = _context2.sent;
176
+ return _context2.abrupt("return", [model]);
177
+
178
+ case 4:
179
+ case "end":
180
+ return _context2.stop();
181
+ }
144
182
  }
145
183
  }, _callee2, this);
146
184
  }));
185
+
147
186
  function buildModels() {
148
187
  return _buildModels.apply(this, arguments);
149
188
  }
189
+
150
190
  return buildModels;
151
191
  }()
152
192
  }, {
153
193
  key: "registerBuiltinAttributes",
154
194
  value: function registerBuiltinAttributes() {
155
195
  var _this2 = this;
196
+
156
197
  // point layer size;
157
198
  this.styleAttributeService.registerStyleAttribute({
158
199
  name: 'size',
@@ -168,13 +209,12 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
168
209
  size: 1,
169
210
  update: function update(feature) {
170
211
  var _feature$size = feature.size,
171
- size = _feature$size === void 0 ? 5 : _feature$size;
212
+ size = _feature$size === void 0 ? 5 : _feature$size;
172
213
  return Array.isArray(size) ? [size[0]] : [size];
173
214
  }
174
215
  }
175
- });
216
+ }); // point layer size;
176
217
 
177
- // point layer size;
178
218
  this.styleAttributeService.registerStyleAttribute({
179
219
  name: 'uv',
180
220
  type: _l7Core.AttributeType.Attribute,
@@ -189,13 +229,17 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
189
229
  size: 2,
190
230
  update: function update(feature) {
191
231
  var iconMap = _this2.iconService.getIconMap();
232
+
192
233
  var shape = feature.shape;
234
+
193
235
  var _ref2 = iconMap[shape] || {
194
- x: -64,
195
- y: -64
196
- },
197
- x = _ref2.x,
198
- y = _ref2.y; // 非画布区域,默认的图标改为透明
236
+ x: -64,
237
+ y: -64
238
+ },
239
+ x = _ref2.x,
240
+ y = _ref2.y; // 非画布区域,默认的图标改为透明
241
+
242
+
199
243
  return [x, y];
200
244
  }
201
245
  }
@@ -204,4 +248,5 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
204
248
  }]);
205
249
  return ImageModel;
206
250
  }(_BaseModel2.default);
251
+
207
252
  exports.default = ImageModel;
@@ -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,