@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,21 +1,35 @@
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 _initializerDefineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerDefineProperty"));
11
+
9
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
10
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
11
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
12
18
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
19
+
13
20
  var _initializerWarningHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerWarningHelper"));
21
+
14
22
  var _l7Core = require("@antv/l7-core");
23
+
15
24
  var _l7Utils = require("@antv/l7-utils");
25
+
16
26
  var _inversify = require("inversify");
27
+
17
28
  require("reflect-metadata");
29
+
18
30
  var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;
31
+
32
+ var ShaderUniformPlugin = (
19
33
  /**
20
34
  * 在渲染之前需要获取当前 Shader 所需 Uniform,例如:
21
35
  * 1. 从相机服务中获取 View & ProjectionMatrix,当前缩放等级等等
@@ -23,7 +37,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2
23
37
  * @see https://yuque.antfin-inc.com/yuqi.pyq/fgetpa/doml91
24
38
  * 3. 当前 Layer 本身的样式属性
25
39
  */
26
- var ShaderUniformPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inversify.inject)(_l7Core.TYPES.ICameraService), _dec3 = (0, _inversify.inject)(_l7Core.TYPES.ICoordinateSystemService), _dec4 = (0, _inversify.inject)(_l7Core.TYPES.IRendererService), _dec5 = (0, _inversify.inject)(_l7Core.TYPES.IMapService), _dec(_class = (_class2 = /*#__PURE__*/function () {
40
+ _dec = (0, _inversify.injectable)(), _dec2 = (0, _inversify.inject)(_l7Core.TYPES.ICameraService), _dec3 = (0, _inversify.inject)(_l7Core.TYPES.ICoordinateSystemService), _dec4 = (0, _inversify.inject)(_l7Core.TYPES.IRendererService), _dec5 = (0, _inversify.inject)(_l7Core.TYPES.IMapService), _dec(_class = (_class2 = /*#__PURE__*/function () {
27
41
  function ShaderUniformPlugin() {
28
42
  (0, _classCallCheck2.default)(this, ShaderUniformPlugin);
29
43
  (0, _initializerDefineProperty2.default)(this, "cameraService", _descriptor, this);
@@ -31,48 +45,55 @@ var ShaderUniformPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inv
31
45
  (0, _initializerDefineProperty2.default)(this, "rendererService", _descriptor3, this);
32
46
  (0, _initializerDefineProperty2.default)(this, "mapService", _descriptor4, this);
33
47
  }
48
+
34
49
  (0, _createClass2.default)(ShaderUniformPlugin, [{
35
50
  key: "apply",
36
51
  value: function apply(layer) {
37
52
  var _this = this;
53
+
38
54
  var version = this.mapService.version;
39
55
  var mvp = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; // default matrix (for gaode2.x)
56
+
40
57
  var sceneCenterMercator = [0, 0];
41
58
  layer.hooks.beforeRender.tap('ShaderUniformPlugin', function () {
42
59
  // @ts-ignore
43
- var offset = layer.getLayerConfig().tileOrigin;
44
- // 重新计算坐标系参数
60
+ var offset = layer.getLayerConfig().tileOrigin; // 重新计算坐标系参数
61
+
45
62
  _this.coordinateSystemService.refresh(offset);
63
+
46
64
  if (version === 'GAODE2.x') {
47
- _this.setLayerCenter(layer);
48
- // @ts-ignore
49
- mvp = _this.mapService.map.customCoords.getMVPMatrix();
50
- // mvp = amapCustomCoords.getMVPMatrix()
65
+ _this.setLayerCenter(layer); // @ts-ignore
66
+
67
+
68
+ mvp = _this.mapService.map.customCoords.getMVPMatrix(); // mvp = amapCustomCoords.getMVPMatrix()
51
69
  // @ts-ignore
70
+
52
71
  sceneCenterMercator = _this.mapService.getCustomCoordCenter();
53
72
  }
73
+
54
74
  var _this$rendererService = _this.rendererService.getViewportSize(),
55
- width = _this$rendererService.width,
56
- height = _this$rendererService.height;
75
+ width = _this$rendererService.width,
76
+ height = _this$rendererService.height;
77
+
57
78
  layer.models.forEach(function (model) {
58
79
  var _model$addUniforms;
59
- model.addUniforms((_model$addUniforms = {}, (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ProjectionMatrix, _this.cameraService.getProjectionMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ViewMatrix, _this.cameraService.getViewMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ViewProjectionMatrix, _this.cameraService.getViewProjectionMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.Zoom, _this.cameraService.getZoom()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ZoomScale, _this.cameraService.getZoomScale()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.FocalDistance, _this.cameraService.getFocalDistance()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.CameraPosition, _this.cameraService.getCameraPosition()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.CoordinateSystem, _this.coordinateSystemService.getCoordinateSystem()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.ViewportCenter, _this.coordinateSystemService.getViewportCenter()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.ViewportCenterProjection, _this.coordinateSystemService.getViewportCenterProjection()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerDegree, _this.coordinateSystemService.getPixelsPerDegree()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerDegree2, _this.coordinateSystemService.getPixelsPerDegree2()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerMeter, _this.coordinateSystemService.getPixelsPerMeter()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.Mvp, mvp), (0, _defineProperty2.default)(_model$addUniforms, "u_sceneCenterMercator", sceneCenterMercator), (0, _defineProperty2.default)(_model$addUniforms, "u_ViewportSize", [width, height]), (0, _defineProperty2.default)(_model$addUniforms, "u_ModelMatrix", _this.cameraService.getModelMatrix()), (0, _defineProperty2.default)(_model$addUniforms, "u_DevicePixelRatio", _l7Utils.$window.devicePixelRatio), (0, _defineProperty2.default)(_model$addUniforms, "u_PickingBuffer", layer.getLayerConfig().pickingBuffer || 0), (0, _defineProperty2.default)(_model$addUniforms, "u_shaderPick", Number(layer.getShaderPickStat())), _model$addUniforms));
60
- });
61
80
 
62
- // TODO:脏检查,决定是否需要渲染
81
+ model.addUniforms((_model$addUniforms = {}, (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ProjectionMatrix, _this.cameraService.getProjectionMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ViewMatrix, _this.cameraService.getViewMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ViewProjectionMatrix, _this.cameraService.getViewProjectionMatrix()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.Zoom, _this.cameraService.getZoom()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.ZoomScale, _this.cameraService.getZoomScale()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.FocalDistance, _this.cameraService.getFocalDistance()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CameraUniform.CameraPosition, _this.cameraService.getCameraPosition()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.CoordinateSystem, _this.coordinateSystemService.getCoordinateSystem()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.ViewportCenter, _this.coordinateSystemService.getViewportCenter()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.ViewportCenterProjection, _this.coordinateSystemService.getViewportCenterProjection()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerDegree, _this.coordinateSystemService.getPixelsPerDegree()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerDegree2, _this.coordinateSystemService.getPixelsPerDegree2()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.PixelsPerMeter, _this.coordinateSystemService.getPixelsPerMeter()), (0, _defineProperty2.default)(_model$addUniforms, _l7Core.CoordinateUniform.Mvp, mvp), (0, _defineProperty2.default)(_model$addUniforms, "u_sceneCenterMercator", sceneCenterMercator), (0, _defineProperty2.default)(_model$addUniforms, "u_ViewportSize", [width, height]), (0, _defineProperty2.default)(_model$addUniforms, "u_ModelMatrix", _this.cameraService.getModelMatrix()), (0, _defineProperty2.default)(_model$addUniforms, "u_DevicePixelRatio", _l7Utils.$window.devicePixelRatio), (0, _defineProperty2.default)(_model$addUniforms, "u_PickingBuffer", layer.getLayerConfig().pickingBuffer || 0), (0, _defineProperty2.default)(_model$addUniforms, "u_shaderPick", Number(layer.getShaderPickStat())), _model$addUniforms));
82
+ }); // TODO:脏检查,决定是否需要渲染
63
83
  });
64
84
  }
65
-
66
85
  /**
67
86
  * 对于每个 layer 都有不同的几何中心点,因此在绘制每个 layer 的时候都需要重新设置
68
87
  * @param layer
69
88
  */
89
+
70
90
  }, {
71
91
  key: "setLayerCenter",
72
92
  value: function setLayerCenter(layer) {
73
93
  if (layer.coordCenter === undefined) {
74
94
  layer.coordCenter = layer.getSource().center;
75
95
  }
96
+
76
97
  if (this.mapService.setCoordCenter) {
77
98
  this.mapService.setCoordCenter(layer.coordCenter);
78
99
  }
@@ -1,22 +1,31 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
9
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _inversify = require("inversify");
15
+
11
16
  require("reflect-metadata");
17
+
12
18
  var _dec, _class;
19
+
20
+ var UpdateModelPlugin = (
13
21
  /**
14
22
  * Model 更新
15
23
  */
16
- var UpdateModelPlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
24
+ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
17
25
  function UpdateModelPlugin() {
18
26
  (0, _classCallCheck2.default)(this, UpdateModelPlugin);
19
27
  }
28
+
20
29
  (0, _createClass2.default)(UpdateModelPlugin, [{
21
30
  key: "apply",
22
31
  value: function apply(layer) {
@@ -1,26 +1,36 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
9
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _inversify = require("inversify");
15
+
11
16
  require("reflect-metadata");
17
+
12
18
  var _dec, _class;
19
+
20
+ var UpdateStyleAttributePlugin = (
13
21
  /**
14
22
  * 在初始化阶段完成属性的注册,以及首次根据 Layer 指定的三角化方法完成 indices 和 attribute 的创建
15
23
  */
16
- var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
24
+ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
17
25
  function UpdateStyleAttributePlugin() {
18
26
  (0, _classCallCheck2.default)(this, UpdateStyleAttributePlugin);
19
27
  }
28
+
20
29
  (0, _createClass2.default)(UpdateStyleAttributePlugin, [{
21
30
  key: "apply",
22
31
  value: function apply(layer, _ref) {
23
32
  var _this = this;
33
+
24
34
  var styleAttributeService = _ref.styleAttributeService;
25
35
  layer.hooks.init.tapPromise('UpdateStyleAttributePlugin', function () {
26
36
  _this.initStyleAttribute(layer, {
@@ -31,6 +41,7 @@ var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_cla
31
41
  if (layer.layerModelNeedUpdate) {
32
42
  return;
33
43
  }
44
+
34
45
  if (layer.inited) {
35
46
  _this.updateStyleAttribute(layer, {
36
47
  styleAttributeService: styleAttributeService
@@ -44,6 +55,7 @@ var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_cla
44
55
  var styleAttributeService = _ref2.styleAttributeService;
45
56
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
46
57
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
58
+
47
59
  if (filter && filter.needRegenerateVertices) {
48
60
  layer.layerModelNeedUpdate = true;
49
61
  attributes.forEach(function (attr) {
@@ -51,12 +63,12 @@ var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_cla
51
63
  });
52
64
  return;
53
65
  }
66
+
54
67
  attributes.filter(function (attribute) {
55
68
  return attribute.needRegenerateVertices;
56
69
  }).forEach(function (attribute) {
57
70
  // 精确更新某个/某些 feature(s),需要传入 featureIdx d
58
- styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(),
59
- // 获取经过 mapping 最新的数据
71
+ styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
60
72
  attribute.featureRange.startIndex, attribute.featureRange.endIndex, layer);
61
73
  attribute.needRegenerateVertices = false;
62
74
  });
@@ -70,8 +82,7 @@ var UpdateStyleAttributePlugin = (_dec = (0, _inversify.injectable)(), _dec(_cla
70
82
  return attribute.needRegenerateVertices;
71
83
  }).forEach(function (attribute) {
72
84
  // 精确更新某个/某些 feature(s),需要传入 featureIdx d
73
- styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(),
74
- // 获取经过 mapping 最新的数据
85
+ styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
75
86
  attribute.featureRange.startIndex, attribute.featureRange.endIndex);
76
87
  attribute.needRegenerateVertices = false;
77
88
  });
@@ -1,35 +1,58 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
13
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
14
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
15
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
16
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
17
28
  var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
29
+
18
30
  var _index = _interopRequireDefault(require("./models/index"));
31
+
19
32
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
33
+
20
34
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
35
+
36
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
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
  var PointLayer = /*#__PURE__*/function (_BaseLayer) {
25
43
  (0, _inherits2.default)(PointLayer, _BaseLayer);
44
+
26
45
  var _super = _createSuper(PointLayer);
46
+
27
47
  function PointLayer() {
28
48
  var _this;
49
+
29
50
  (0, _classCallCheck2.default)(this, PointLayer);
51
+
30
52
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
31
53
  args[_key] = arguments[_key];
32
54
  }
55
+
33
56
  _this = _super.call.apply(_super, [this].concat(args));
34
57
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'PointLayer');
35
58
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "enableEncodeStyles", ['opacity', 'offsets', 'stroke']);
@@ -45,30 +68,38 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
45
68
  });
46
69
  return _this;
47
70
  }
71
+
48
72
  (0, _createClass2.default)(PointLayer, [{
49
73
  key: "buildModels",
50
74
  value: function () {
51
75
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
52
76
  var modelType;
53
77
  return _regenerator.default.wrap(function _callee$(_context) {
54
- while (1) switch (_context.prev = _context.next) {
55
- case 0:
56
- modelType = this.getModelType();
57
- if (this.layerModel) {
58
- this.layerModel.clearModels();
59
- }
60
- this.layerModel = new _index.default[modelType](this);
61
- _context.next = 5;
62
- return this.initLayerModels();
63
- case 5:
64
- case "end":
65
- return _context.stop();
78
+ while (1) {
79
+ switch (_context.prev = _context.next) {
80
+ case 0:
81
+ modelType = this.getModelType();
82
+
83
+ if (this.layerModel) {
84
+ this.layerModel.clearModels();
85
+ }
86
+
87
+ this.layerModel = new _index.default[modelType](this);
88
+ _context.next = 5;
89
+ return this.initLayerModels();
90
+
91
+ case 5:
92
+ case "end":
93
+ return _context.stop();
94
+ }
66
95
  }
67
96
  }, _callee, this);
68
97
  }));
98
+
69
99
  function buildModels() {
70
100
  return _buildModels.apply(this, arguments);
71
101
  }
102
+
72
103
  return buildModels;
73
104
  }()
74
105
  }, {
@@ -76,47 +107,60 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
76
107
  value: function () {
77
108
  var _rebuildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
78
109
  return _regenerator.default.wrap(function _callee2$(_context2) {
79
- while (1) switch (_context2.prev = _context2.next) {
80
- case 0:
81
- _context2.next = 2;
82
- return this.buildModels();
83
- case 2:
84
- case "end":
85
- return _context2.stop();
110
+ while (1) {
111
+ switch (_context2.prev = _context2.next) {
112
+ case 0:
113
+ _context2.next = 2;
114
+ return this.buildModels();
115
+
116
+ case 2:
117
+ case "end":
118
+ return _context2.stop();
119
+ }
86
120
  }
87
121
  }, _callee2, this);
88
122
  }));
123
+
89
124
  function rebuildModels() {
90
125
  return _rebuildModels.apply(this, arguments);
91
126
  }
127
+
92
128
  return rebuildModels;
93
129
  }()
94
130
  /**
95
131
  * 在未传入数据的时候判断点图层的 shape 类型
96
132
  * @returns
97
133
  */
134
+
98
135
  }, {
99
136
  key: "getModelTypeWillEmptyData",
100
137
  value: function getModelTypeWillEmptyData() {
101
138
  if (this.shapeOption) {
102
139
  var _this$shapeOption = this.shapeOption,
103
- field = _this$shapeOption.field,
104
- values = _this$shapeOption.values;
140
+ field = _this$shapeOption.field,
141
+ values = _this$shapeOption.values;
142
+
105
143
  var _this$getLayerConfig = this.getLayerConfig(),
106
- shape2d = _this$getLayerConfig.shape2d;
144
+ shape2d = _this$getLayerConfig.shape2d;
145
+
107
146
  var iconMap = this.iconService.getIconMap();
147
+
108
148
  if (field && (shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(field)) !== -1) {
109
149
  return 'fill';
110
150
  }
151
+
111
152
  if (values === 'text') {
112
153
  return 'text';
113
154
  }
155
+
114
156
  if (values && values instanceof Array) {
115
157
  var _iterator = _createForOfIteratorHelper(values),
116
- _step;
158
+ _step;
159
+
117
160
  try {
118
161
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
119
162
  var v = _step.value;
163
+
120
164
  if (typeof v === 'string' && iconMap.hasOwnProperty(v)) {
121
165
  return 'image';
122
166
  }
@@ -128,6 +172,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
128
172
  }
129
173
  }
130
174
  }
175
+
131
176
  return 'normal';
132
177
  }
133
178
  }, {
@@ -161,29 +206,37 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
161
206
  value: function getModelType() {
162
207
  // 2D、 3d、 shape、image、text、normal、
163
208
  var layerData = this.getEncodedData();
209
+
164
210
  var _this$getLayerConfig2 = this.getLayerConfig(),
165
- shape2d = _this$getLayerConfig2.shape2d,
166
- shape3d = _this$getLayerConfig2.shape3d;
211
+ shape2d = _this$getLayerConfig2.shape2d,
212
+ shape3d = _this$getLayerConfig2.shape3d;
213
+
167
214
  var iconMap = this.iconService.getIconMap();
168
215
  var item = layerData.find(function (fe) {
169
216
  return fe.hasOwnProperty('shape');
170
217
  });
218
+
171
219
  if (!item) {
172
220
  return this.getModelTypeWillEmptyData();
173
221
  } else {
174
222
  var shape = item.shape;
223
+
175
224
  if (shape === 'dot') {
176
225
  return 'normal';
177
226
  }
227
+
178
228
  if (shape === 'simple') {
179
229
  return 'simplePoint';
180
230
  }
231
+
181
232
  if (shape === 'radar') {
182
233
  return 'radar';
183
234
  }
235
+
184
236
  if (this.layerType === 'fillImage') {
185
237
  return 'fillImage';
186
238
  }
239
+
187
240
  if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
188
241
  if (this.mapService.version === 'GLOBEL') {
189
242
  return 'earthFill';
@@ -191,6 +244,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
191
244
  return 'fill';
192
245
  }
193
246
  }
247
+
194
248
  if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
195
249
  if (this.mapService.version === 'GLOBEL') {
196
250
  return 'earthExtrude';
@@ -198,13 +252,16 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
198
252
  return 'extrude';
199
253
  }
200
254
  }
255
+
201
256
  if (iconMap.hasOwnProperty(shape)) {
202
257
  return 'image';
203
258
  }
259
+
204
260
  return 'text';
205
261
  }
206
262
  }
207
263
  }]);
208
264
  return PointLayer;
209
265
  }(_BaseLayer2.default);
266
+
210
267
  exports.default = PointLayer;