@antv/l7-layers 2.15.5 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) 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 +486 -321
  10. package/es/core/BaseModel.js +126 -97
  11. package/es/core/LayerPickService.js +32 -21
  12. package/es/core/TextureService.js +13 -0
  13. package/es/core/interface.js +24 -17
  14. package/es/core/shape/Path.js +20 -13
  15. package/es/core/shape/extrude.js +31 -10
  16. package/es/core/triangulation.js +114 -54
  17. package/es/earth/index.js +33 -9
  18. package/es/earth/models/atmosphere.js +54 -30
  19. package/es/earth/models/base.js +85 -47
  20. package/es/earth/models/bloomsphere.js +54 -30
  21. package/es/earth/utils.js +13 -9
  22. package/es/heatmap/index.js +40 -10
  23. package/es/heatmap/models/grid.js +52 -28
  24. package/es/heatmap/models/grid3d.js +52 -28
  25. package/es/heatmap/models/heatmap.js +146 -91
  26. package/es/heatmap/models/hexagon.js +52 -28
  27. package/es/heatmap/triangulation.js +4 -0
  28. package/es/image/index.js +28 -9
  29. package/es/image/models/image.js +100 -66
  30. package/es/index.js +17 -9
  31. package/es/line/index.js +34 -9
  32. package/es/line/models/arc.js +118 -66
  33. package/es/line/models/arc_3d.js +108 -60
  34. package/es/line/models/earthArc_3d.js +111 -63
  35. package/es/line/models/great_circle.js +100 -56
  36. package/es/line/models/half.js +77 -46
  37. package/es/line/models/line.js +148 -94
  38. package/es/line/models/linearline.js +80 -45
  39. package/es/line/models/simpleLine.js +74 -41
  40. package/es/line/models/wall.js +92 -52
  41. package/es/mask/index.js +28 -9
  42. package/es/mask/models/fill.js +54 -29
  43. package/es/plugins/DataMappingPlugin.js +117 -80
  44. package/es/plugins/DataSourcePlugin.js +68 -45
  45. package/es/plugins/FeatureScalePlugin.js +122 -67
  46. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  47. package/es/plugins/LayerMaskPlugin.js +11 -3
  48. package/es/plugins/LayerModelPlugin.js +104 -67
  49. package/es/plugins/LayerStylePlugin.js +9 -3
  50. package/es/plugins/LightingPlugin.js +18 -12
  51. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  52. package/es/plugins/PixelPickingPlugin.js +21 -12
  53. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  54. package/es/plugins/ShaderUniformPlugin.js +27 -13
  55. package/es/plugins/UpdateModelPlugin.js +5 -0
  56. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  57. package/es/point/index.js +77 -26
  58. package/es/point/models/earthExtrude.js +102 -61
  59. package/es/point/models/earthFill.js +87 -57
  60. package/es/point/models/extrude.js +101 -60
  61. package/es/point/models/fill.js +100 -70
  62. package/es/point/models/fillmage.js +107 -63
  63. package/es/point/models/image.js +88 -48
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +54 -30
  66. package/es/point/models/radar.js +64 -40
  67. package/es/point/models/simplePoint.js +69 -41
  68. package/es/point/models/text.d.ts +2 -1
  69. package/es/point/models/text.js +305 -201
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +40 -11
  72. package/es/polygon/models/extrude.js +92 -48
  73. package/es/polygon/models/fill.js +88 -54
  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/dataMappingStyle.js +18 -8
  104. package/es/utils/extrude_polyline.js +149 -101
  105. package/es/utils/grid-index.js +27 -2
  106. package/es/utils/identityScale.js +8 -0
  107. package/es/utils/layerData.js +44 -30
  108. package/es/utils/multiPassRender.js +13 -11
  109. package/es/utils/polylineNormal.js +37 -31
  110. package/es/utils/simpleLine.js +16 -2
  111. package/es/utils/stencil.js +3 -2
  112. package/es/utils/symbol-layout.js +53 -27
  113. package/es/wind/index.js +29 -9
  114. package/es/wind/models/utils.js +51 -26
  115. package/es/wind/models/wind.js +147 -101
  116. package/es/wind/models/windRender.js +66 -53
  117. package/lib/Geometry/index.js +38 -9
  118. package/lib/Geometry/models/billboard.js +97 -51
  119. package/lib/Geometry/models/index.js +5 -0
  120. package/lib/Geometry/models/plane.js +151 -79
  121. package/lib/Geometry/models/sprite.js +127 -60
  122. package/lib/canvas/index.js +40 -10
  123. package/lib/canvas/models/canvas.js +101 -41
  124. package/lib/canvas/models/index.js +3 -0
  125. package/lib/citybuliding/building.js +35 -8
  126. package/lib/citybuliding/models/build.js +92 -57
  127. package/lib/core/BaseLayer.js +480 -321
  128. package/lib/core/BaseModel.js +139 -97
  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 +54 -10
  135. package/lib/core/triangulation.js +153 -53
  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 +162 -91
  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 +128 -64
  154. package/lib/line/models/arc_3d.js +119 -58
  155. package/lib/line/models/earthArc_3d.js +122 -61
  156. package/lib/line/models/great_circle.js +111 -56
  157. package/lib/line/models/half.js +87 -46
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +156 -92
  160. package/lib/line/models/linearline.js +92 -45
  161. package/lib/line/models/simpleLine.js +84 -41
  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 +128 -80
  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 +113 -68
  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 +113 -61
  182. package/lib/point/models/earthFill.js +117 -57
  183. package/lib/point/models/extrude.js +111 -60
  184. package/lib/point/models/fill.js +109 -68
  185. package/lib/point/models/fillmage.js +115 -61
  186. package/lib/point/models/image.js +98 -48
  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 +74 -40
  190. package/lib/point/models/simplePoint.js +79 -41
  191. package/lib/point/models/text.js +314 -202
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +103 -48
  195. package/lib/polygon/models/fill.js +98 -54
  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/dataMappingStyle.js +19 -8
  228. package/lib/utils/extrude_polyline.js +181 -101
  229. package/lib/utils/grid-index.js +28 -2
  230. package/lib/utils/identityScale.js +9 -0
  231. package/lib/utils/layerData.js +49 -30
  232. package/lib/utils/multiPassRender.js +16 -11
  233. package/lib/utils/polylineNormal.js +66 -31
  234. package/lib/utils/simpleLine.js +21 -2
  235. package/lib/utils/stencil.js +4 -0
  236. package/lib/utils/symbol-layout.js +55 -27
  237. package/lib/wind/index.js +37 -9
  238. package/lib/wind/models/index.js +3 -0
  239. package/lib/wind/models/utils.js +62 -26
  240. package/lib/wind/models/wind.js +157 -101
  241. package/lib/wind/models/windRender.js +71 -53
  242. package/lib/wind/models/windShader.js +1 -0
  243. 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 sceneCenterMKT = [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
  sceneCenterMKT = _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_SceneCenterMKT", sceneCenterMKT), (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_SceneCenterMKT", sceneCenterMKT), (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), "defaultSourceConfig", {
@@ -44,30 +67,38 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
44
67
  });
45
68
  return _this;
46
69
  }
70
+
47
71
  (0, _createClass2.default)(PointLayer, [{
48
72
  key: "buildModels",
49
73
  value: function () {
50
74
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
51
75
  var modelType;
52
76
  return _regenerator.default.wrap(function _callee$(_context) {
53
- while (1) switch (_context.prev = _context.next) {
54
- case 0:
55
- modelType = this.getModelType();
56
- if (this.layerModel) {
57
- this.layerModel.clearModels();
58
- }
59
- this.layerModel = new _index.default[modelType](this);
60
- _context.next = 5;
61
- return this.initLayerModels();
62
- case 5:
63
- case "end":
64
- return _context.stop();
77
+ while (1) {
78
+ switch (_context.prev = _context.next) {
79
+ case 0:
80
+ modelType = this.getModelType();
81
+
82
+ if (this.layerModel) {
83
+ this.layerModel.clearModels();
84
+ }
85
+
86
+ this.layerModel = new _index.default[modelType](this);
87
+ _context.next = 5;
88
+ return this.initLayerModels();
89
+
90
+ case 5:
91
+ case "end":
92
+ return _context.stop();
93
+ }
65
94
  }
66
95
  }, _callee, this);
67
96
  }));
97
+
68
98
  function buildModels() {
69
99
  return _buildModels.apply(this, arguments);
70
100
  }
101
+
71
102
  return buildModels;
72
103
  }()
73
104
  }, {
@@ -75,47 +106,60 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
75
106
  value: function () {
76
107
  var _rebuildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
77
108
  return _regenerator.default.wrap(function _callee2$(_context2) {
78
- while (1) switch (_context2.prev = _context2.next) {
79
- case 0:
80
- _context2.next = 2;
81
- return this.buildModels();
82
- case 2:
83
- case "end":
84
- return _context2.stop();
109
+ while (1) {
110
+ switch (_context2.prev = _context2.next) {
111
+ case 0:
112
+ _context2.next = 2;
113
+ return this.buildModels();
114
+
115
+ case 2:
116
+ case "end":
117
+ return _context2.stop();
118
+ }
85
119
  }
86
120
  }, _callee2, this);
87
121
  }));
122
+
88
123
  function rebuildModels() {
89
124
  return _rebuildModels.apply(this, arguments);
90
125
  }
126
+
91
127
  return rebuildModels;
92
128
  }()
93
129
  /**
94
130
  * 在未传入数据的时候判断点图层的 shape 类型
95
131
  * @returns
96
132
  */
133
+
97
134
  }, {
98
135
  key: "getModelTypeWillEmptyData",
99
136
  value: function getModelTypeWillEmptyData() {
100
137
  if (this.shapeOption) {
101
138
  var _this$shapeOption = this.shapeOption,
102
- field = _this$shapeOption.field,
103
- values = _this$shapeOption.values;
139
+ field = _this$shapeOption.field,
140
+ values = _this$shapeOption.values;
141
+
104
142
  var _this$getLayerConfig = this.getLayerConfig(),
105
- shape2d = _this$getLayerConfig.shape2d;
143
+ shape2d = _this$getLayerConfig.shape2d;
144
+
106
145
  var iconMap = this.iconService.getIconMap();
146
+
107
147
  if (field && (shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(field)) !== -1) {
108
148
  return 'fill';
109
149
  }
150
+
110
151
  if (values === 'text') {
111
152
  return 'text';
112
153
  }
154
+
113
155
  if (values && values instanceof Array) {
114
156
  var _iterator = _createForOfIteratorHelper(values),
115
- _step;
157
+ _step;
158
+
116
159
  try {
117
160
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
118
161
  var v = _step.value;
162
+
119
163
  if (typeof v === 'string' && iconMap.hasOwnProperty(v)) {
120
164
  return 'image';
121
165
  }
@@ -127,6 +171,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
127
171
  }
128
172
  }
129
173
  }
174
+
130
175
  return 'normal';
131
176
  }
132
177
  }, {
@@ -160,29 +205,37 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
160
205
  value: function getModelType() {
161
206
  // 2D、 3d、 shape、image、text、normal、
162
207
  var layerData = this.getEncodedData();
208
+
163
209
  var _this$getLayerConfig2 = this.getLayerConfig(),
164
- shape2d = _this$getLayerConfig2.shape2d,
165
- shape3d = _this$getLayerConfig2.shape3d;
210
+ shape2d = _this$getLayerConfig2.shape2d,
211
+ shape3d = _this$getLayerConfig2.shape3d;
212
+
166
213
  var iconMap = this.iconService.getIconMap();
167
214
  var item = layerData.find(function (fe) {
168
215
  return fe.hasOwnProperty('shape');
169
216
  });
217
+
170
218
  if (!item) {
171
219
  return this.getModelTypeWillEmptyData();
172
220
  } else {
173
221
  var shape = item.shape;
222
+
174
223
  if (shape === 'dot') {
175
224
  return 'normal';
176
225
  }
226
+
177
227
  if (shape === 'simple') {
178
228
  return 'simplePoint';
179
229
  }
230
+
180
231
  if (shape === 'radar') {
181
232
  return 'radar';
182
233
  }
234
+
183
235
  if (this.layerType === 'fillImage') {
184
236
  return 'fillImage';
185
237
  }
238
+
186
239
  if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
187
240
  if (this.mapService.version === 'GLOBEL') {
188
241
  return 'earthFill';
@@ -190,6 +243,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
190
243
  return 'fill';
191
244
  }
192
245
  }
246
+
193
247
  if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
194
248
  if (this.mapService.version === 'GLOBEL') {
195
249
  return 'earthExtrude';
@@ -197,13 +251,16 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
197
251
  return 'extrude';
198
252
  }
199
253
  }
254
+
200
255
  if (iconMap.hasOwnProperty(shape)) {
201
256
  return 'image';
202
257
  }
258
+
203
259
  return 'text';
204
260
  }
205
261
  }
206
262
  }]);
207
263
  return PointLayer;
208
264
  }(_BaseLayer2.default);
265
+
209
266
  exports.default = PointLayer;