@antv/l7-layers 2.5.33 → 2.5.37-mini

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 (236) hide show
  1. package/lib/core/BaseModel.js +1 -1
  2. package/lib/core/BaseModel.js.map +1 -1
  3. package/lib/earth/models/atmosphere.js +1 -0
  4. package/lib/earth/models/atmosphere.js.map +1 -1
  5. package/lib/earth/models/base.js +1 -0
  6. package/lib/earth/models/base.js.map +1 -1
  7. package/lib/heatmap/models/heatmap.js +12 -17
  8. package/lib/heatmap/models/heatmap.js.map +1 -1
  9. package/lib/plugins/LayerStylePlugin.js.map +1 -1
  10. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  11. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  12. package/lib/point/models/image.js.map +1 -1
  13. package/package.json +5 -5
  14. package/CHANGELOG.md +0 -492
  15. package/LICENSE.md +0 -21
  16. package/es/citybuliding/building.d.ts +0 -17
  17. package/es/citybuliding/building.js +0 -79
  18. package/es/citybuliding/building.js.map +0 -1
  19. package/es/citybuliding/models/build.d.ts +0 -13
  20. package/es/citybuliding/models/build.js +0 -124
  21. package/es/citybuliding/models/build.js.map +0 -1
  22. package/es/core/BaseLayer.d.ts +0 -174
  23. package/es/core/BaseLayer.js +0 -974
  24. package/es/core/BaseLayer.js.map +0 -1
  25. package/es/core/BaseModel.d.ts +0 -135
  26. package/es/core/BaseModel.js +0 -412
  27. package/es/core/BaseModel.js.map +0 -1
  28. package/es/core/interface.d.ts +0 -19
  29. package/es/core/interface.js +0 -7
  30. package/es/core/interface.js.map +0 -1
  31. package/es/core/schema.d.ts +0 -27
  32. package/es/core/schema.js +0 -23
  33. package/es/core/schema.js.map +0 -1
  34. package/es/core/shape/Path.d.ts +0 -39
  35. package/es/core/shape/Path.js +0 -57
  36. package/es/core/shape/Path.js.map +0 -1
  37. package/es/core/shape/extrude.d.ts +0 -17
  38. package/es/core/shape/extrude.js +0 -143
  39. package/es/core/shape/extrude.js.map +0 -1
  40. package/es/core/triangulation.d.ts +0 -109
  41. package/es/core/triangulation.js +0 -328
  42. package/es/core/triangulation.js.map +0 -1
  43. package/es/earth/index.d.ts +0 -17
  44. package/es/earth/index.js +0 -81
  45. package/es/earth/index.js.map +0 -1
  46. package/es/earth/models/atmosphere.d.ts +0 -9
  47. package/es/earth/models/atmosphere.js +0 -124
  48. package/es/earth/models/atmosphere.js.map +0 -1
  49. package/es/earth/models/base.d.ts +0 -16
  50. package/es/earth/models/base.js +0 -192
  51. package/es/earth/models/base.js.map +0 -1
  52. package/es/earth/models/bloomsphere.d.ts +0 -9
  53. package/es/earth/models/bloomsphere.js +0 -125
  54. package/es/earth/models/bloomsphere.js.map +0 -1
  55. package/es/earth/utils.d.ts +0 -26
  56. package/es/earth/utils.js +0 -81
  57. package/es/earth/utils.js.map +0 -1
  58. package/es/glsl.d.js +0 -2
  59. package/es/glsl.d.js.map +0 -1
  60. package/es/heatmap/index.d.ts +0 -22
  61. package/es/heatmap/index.js +0 -123
  62. package/es/heatmap/index.js.map +0 -1
  63. package/es/heatmap/models/grid.d.ts +0 -8
  64. package/es/heatmap/models/grid.js +0 -90
  65. package/es/heatmap/models/grid.js.map +0 -1
  66. package/es/heatmap/models/grid3d.d.ts +0 -8
  67. package/es/heatmap/models/grid3d.js +0 -122
  68. package/es/heatmap/models/grid3d.js.map +0 -1
  69. package/es/heatmap/models/heatmap.d.ts +0 -24
  70. package/es/heatmap/models/heatmap.js +0 -399
  71. package/es/heatmap/models/heatmap.js.map +0 -1
  72. package/es/heatmap/models/hexagon.d.ts +0 -8
  73. package/es/heatmap/models/hexagon.js +0 -90
  74. package/es/heatmap/models/hexagon.js.map +0 -1
  75. package/es/heatmap/models/index.d.ts +0 -5
  76. package/es/heatmap/models/index.js +0 -13
  77. package/es/heatmap/models/index.js.map +0 -1
  78. package/es/heatmap/triangulation.d.ts +0 -5
  79. package/es/heatmap/triangulation.js +0 -38
  80. package/es/heatmap/triangulation.js.map +0 -1
  81. package/es/image/index.d.ts +0 -22
  82. package/es/image/index.js +0 -82
  83. package/es/image/index.js.map +0 -1
  84. package/es/image/models/image.d.ts +0 -18
  85. package/es/image/models/image.js +0 -127
  86. package/es/image/models/image.js.map +0 -1
  87. package/es/image/models/index.d.ts +0 -5
  88. package/es/image/models/index.js +0 -6
  89. package/es/image/models/index.js.map +0 -1
  90. package/es/index.d.ts +0 -11
  91. package/es/index.js +0 -39
  92. package/es/index.js.map +0 -1
  93. package/es/line/index.d.ts +0 -25
  94. package/es/line/index.js +0 -95
  95. package/es/line/index.js.map +0 -1
  96. package/es/line/models/arc.d.ts +0 -12
  97. package/es/line/models/arc.js +0 -281
  98. package/es/line/models/arc.js.map +0 -1
  99. package/es/line/models/arc_3d.d.ts +0 -12
  100. package/es/line/models/arc_3d.js +0 -277
  101. package/es/line/models/arc_3d.js.map +0 -1
  102. package/es/line/models/great_circle.d.ts +0 -12
  103. package/es/line/models/great_circle.js +0 -269
  104. package/es/line/models/great_circle.js.map +0 -1
  105. package/es/line/models/index.d.ts +0 -5
  106. package/es/line/models/index.js +0 -12
  107. package/es/line/models/index.js.map +0 -1
  108. package/es/line/models/line.d.ts +0 -13
  109. package/es/line/models/line.js +0 -342
  110. package/es/line/models/line.js.map +0 -1
  111. package/es/plugins/DataMappingPlugin.d.ts +0 -13
  112. package/es/plugins/DataMappingPlugin.js +0 -199
  113. package/es/plugins/DataMappingPlugin.js.map +0 -1
  114. package/es/plugins/DataSourcePlugin.d.ts +0 -7
  115. package/es/plugins/DataSourcePlugin.js +0 -73
  116. package/es/plugins/DataSourcePlugin.js.map +0 -1
  117. package/es/plugins/FeatureScalePlugin.d.ts +0 -26
  118. package/es/plugins/FeatureScalePlugin.js +0 -270
  119. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  120. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -7
  121. package/es/plugins/LayerAnimateStylePlugin.js +0 -50
  122. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  123. package/es/plugins/LayerModelPlugin.d.ts +0 -8
  124. package/es/plugins/LayerModelPlugin.js +0 -34
  125. package/es/plugins/LayerModelPlugin.js.map +0 -1
  126. package/es/plugins/LayerStylePlugin.d.ts +0 -8
  127. package/es/plugins/LayerStylePlugin.js +0 -35
  128. package/es/plugins/LayerStylePlugin.js.map +0 -1
  129. package/es/plugins/LightingPlugin.d.ts +0 -36
  130. package/es/plugins/LightingPlugin.js +0 -100
  131. package/es/plugins/LightingPlugin.js.map +0 -1
  132. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -37
  133. package/es/plugins/MultiPassRendererPlugin.js +0 -79
  134. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  135. package/es/plugins/PixelPickingPlugin.d.ts +0 -8
  136. package/es/plugins/PixelPickingPlugin.js +0 -112
  137. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  138. package/es/plugins/RegisterStyleAttributePlugin.d.ts +0 -11
  139. package/es/plugins/RegisterStyleAttributePlugin.js +0 -98
  140. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  141. package/es/plugins/ShaderUniformPlugin.d.ts +0 -16
  142. package/es/plugins/ShaderUniformPlugin.js +0 -78
  143. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  144. package/es/plugins/UpdateModelPlugin.d.ts +0 -8
  145. package/es/plugins/UpdateModelPlugin.js +0 -27
  146. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  147. package/es/plugins/UpdateStyleAttributePlugin.d.ts +0 -12
  148. package/es/plugins/UpdateStyleAttributePlugin.js +0 -74
  149. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  150. package/es/point/index.d.ts +0 -30
  151. package/es/point/index.js +0 -130
  152. package/es/point/index.js.map +0 -1
  153. package/es/point/models/extrude.d.ts +0 -14
  154. package/es/point/models/extrude.js +0 -180
  155. package/es/point/models/extrude.js.map +0 -1
  156. package/es/point/models/fill.d.ts +0 -17
  157. package/es/point/models/fill.js +0 -247
  158. package/es/point/models/fill.js.map +0 -1
  159. package/es/point/models/icon-font.d.ts +0 -11
  160. package/es/point/models/icon-font.js +0 -181
  161. package/es/point/models/icon-font.js.map +0 -1
  162. package/es/point/models/image.d.ts +0 -11
  163. package/es/point/models/image.js +0 -207
  164. package/es/point/models/image.js.map +0 -1
  165. package/es/point/models/index.d.ts +0 -5
  166. package/es/point/models/index.js +0 -16
  167. package/es/point/models/index.js.map +0 -1
  168. package/es/point/models/normal.d.ts +0 -21
  169. package/es/point/models/normal.js +0 -155
  170. package/es/point/models/normal.js.map +0 -1
  171. package/es/point/models/text.d.ts +0 -56
  172. package/es/point/models/text.js +0 -522
  173. package/es/point/models/text.js.map +0 -1
  174. package/es/point/shape/Path.d.ts +0 -40
  175. package/es/point/shape/Path.js +0 -57
  176. package/es/point/shape/Path.js.map +0 -1
  177. package/es/point/shape/extrude.d.ts +0 -15
  178. package/es/point/shape/extrude.js +0 -58
  179. package/es/point/shape/extrude.js.map +0 -1
  180. package/es/polygon/index.d.ts +0 -22
  181. package/es/polygon/index.js +0 -124
  182. package/es/polygon/index.js.map +0 -1
  183. package/es/polygon/models/extrude.d.ts +0 -13
  184. package/es/polygon/models/extrude.js +0 -139
  185. package/es/polygon/models/extrude.js.map +0 -1
  186. package/es/polygon/models/fill.d.ts +0 -13
  187. package/es/polygon/models/fill.js +0 -108
  188. package/es/polygon/models/fill.js.map +0 -1
  189. package/es/polygon/models/index.d.ts +0 -5
  190. package/es/polygon/models/index.js +0 -20
  191. package/es/polygon/models/index.js.map +0 -1
  192. package/es/raster/buffers/triangulation.d.ts +0 -6
  193. package/es/raster/buffers/triangulation.js +0 -28
  194. package/es/raster/buffers/triangulation.js.map +0 -1
  195. package/es/raster/image.d.ts +0 -0
  196. package/es/raster/image.js +0 -2
  197. package/es/raster/image.js.map +0 -1
  198. package/es/raster/index.d.ts +0 -28
  199. package/es/raster/index.js +0 -83
  200. package/es/raster/index.js.map +0 -1
  201. package/es/raster/models/index.d.ts +0 -5
  202. package/es/raster/models/index.js +0 -7
  203. package/es/raster/models/index.js.map +0 -1
  204. package/es/raster/models/raster.d.ts +0 -19
  205. package/es/raster/models/raster.js +0 -152
  206. package/es/raster/models/raster.js.map +0 -1
  207. package/es/raster/raster.d.ts +0 -30
  208. package/es/raster/raster.js +0 -178
  209. package/es/raster/raster.js.map +0 -1
  210. package/es/raster/raster2d.d.ts +0 -27
  211. package/es/raster/raster2d.js +0 -158
  212. package/es/raster/raster2d.js.map +0 -1
  213. package/es/utils/blend.d.ts +0 -2
  214. package/es/utils/blend.js +0 -55
  215. package/es/utils/blend.js.map +0 -1
  216. package/es/utils/collision-index.d.ts +0 -47
  217. package/es/utils/collision-index.js +0 -87
  218. package/es/utils/collision-index.js.map +0 -1
  219. package/es/utils/dataMappingStyle.d.ts +0 -30
  220. package/es/utils/dataMappingStyle.js +0 -88
  221. package/es/utils/dataMappingStyle.js.map +0 -1
  222. package/es/utils/extrude_polyline.d.ts +0 -48
  223. package/es/utils/extrude_polyline.js +0 -405
  224. package/es/utils/extrude_polyline.js.map +0 -1
  225. package/es/utils/geo.d.ts +0 -3
  226. package/es/utils/geo.js +0 -24
  227. package/es/utils/geo.js.map +0 -1
  228. package/es/utils/grid-index.d.ts +0 -28
  229. package/es/utils/grid-index.js +0 -193
  230. package/es/utils/grid-index.js.map +0 -1
  231. package/es/utils/polylineNormal.d.ts +0 -9
  232. package/es/utils/polylineNormal.js +0 -171
  233. package/es/utils/polylineNormal.js.map +0 -1
  234. package/es/utils/symbol-layout.d.ts +0 -43
  235. package/es/utils/symbol-layout.js +0 -260
  236. package/es/utils/symbol-layout.js.map +0 -1
@@ -1,73 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
-
5
- var _dec, _class;
6
-
7
- import { TYPES } from '@antv/l7-core';
8
- import Source, { DEFAULT_DATA, DEFAULT_PARSER } from '@antv/l7-source';
9
- import { injectable } from 'inversify';
10
- import 'reflect-metadata';
11
- var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
12
- function DataSourcePlugin() {
13
- _classCallCheck(this, DataSourcePlugin);
14
-
15
- _defineProperty(this, "mapService", void 0);
16
- }
17
-
18
- _createClass(DataSourcePlugin, [{
19
- key: "apply",
20
- value: function apply(layer) {
21
- var _this = this;
22
-
23
- this.mapService = layer.getContainer().get(TYPES.IMapService);
24
- layer.hooks.init.tap('DataSourcePlugin', function () {
25
- var source = layer.getSource();
26
-
27
- if (!source) {
28
- var _ref = layer.sourceOption || {
29
- data: DEFAULT_DATA,
30
- options: DEFAULT_PARSER
31
- },
32
- data = _ref.data,
33
- options = _ref.options;
34
-
35
- layer.setSource(new Source(data, options));
36
- }
37
-
38
- _this.updateClusterData(layer);
39
- });
40
- layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
41
- var neeUpdateCluster = _this.updateClusterData(layer);
42
-
43
- var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
44
- layer.dataState.dataSourceNeedUpdate = false;
45
- return neeUpdateCluster || dataSourceNeedUpdate;
46
- });
47
- }
48
- }, {
49
- key: "updateClusterData",
50
- value: function updateClusterData(layer) {
51
- var source = layer.getSource();
52
- var cluster = source.cluster;
53
- var _source$clusterOption = source.clusterOptions,
54
- _source$clusterOption2 = _source$clusterOption.zoom,
55
- zoom = _source$clusterOption2 === void 0 ? 0 : _source$clusterOption2,
56
- _source$clusterOption3 = _source$clusterOption.maxZoom,
57
- maxZoom = _source$clusterOption3 === void 0 ? 16 : _source$clusterOption3;
58
- var newZoom = this.mapService.getZoom() - 1;
59
- var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
60
-
61
- if (cluster && (dataSourceNeedUpdate || Math.abs(zoom - newZoom) > 1) && maxZoom > zoom) {
62
- source.updateClusterData(Math.floor(newZoom));
63
- return true;
64
- }
65
-
66
- return false;
67
- }
68
- }]);
69
-
70
- return DataSourcePlugin;
71
- }()) || _class);
72
- export { DataSourcePlugin as default };
73
- //# sourceMappingURL=DataSourcePlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugins/DataSourcePlugin.ts"],"names":["TYPES","Source","DEFAULT_DATA","DEFAULT_PARSER","injectable","DataSourcePlugin","layer","mapService","getContainer","get","IMapService","hooks","init","tap","source","getSource","sourceOption","data","options","setSource","updateClusterData","beforeRenderData","neeUpdateCluster","dataSourceNeedUpdate","dataState","cluster","clusterOptions","zoom","maxZoom","newZoom","getZoom","Math","abs","floor"],"mappings":";;;;;;AAAA,SAKEA,KALF,QAMO,eANP;AAOA,OAAOC,MAAP,IAAiBC,YAAjB,EAA+BC,cAA/B,QAAqD,iBAArD;AACA,SAASC,UAAT,QAA2B,WAA3B;AACA,OAAO,kBAAP;IAGqBC,gB,WADpBD,UAAU,E;;;;;;;;;WAGT,eAAaE,KAAb,EAA4B;AAAA;;AAC1B,WAAKC,UAAL,GAAkBD,KAAK,CAACE,YAAN,GAAqBC,GAArB,CAAsCT,KAAK,CAACU,WAA5C,CAAlB;AACAJ,MAAAA,KAAK,CAACK,KAAN,CAAYC,IAAZ,CAAiBC,GAAjB,CAAqB,kBAArB,EAAyC,YAAM;AAC7C,YAAMC,MAAM,GAAGR,KAAK,CAACS,SAAN,EAAf;;AACA,YAAI,CAACD,MAAL,EAAa;AAEX,qBAA0BR,KAAK,CAACU,YAAN,IAAsB;AAC9CC,YAAAA,IAAI,EAAEf,YADwC;AAE9CgB,YAAAA,OAAO,EAAEf;AAFqC,WAAhD;AAAA,cAAQc,IAAR,QAAQA,IAAR;AAAA,cAAcC,OAAd,QAAcA,OAAd;;AAIAZ,UAAAA,KAAK,CAACa,SAAN,CAAgB,IAAIlB,MAAJ,CAAWgB,IAAX,EAAiBC,OAAjB,CAAhB;AACD;;AAED,QAAA,KAAI,CAACE,iBAAL,CAAuBd,KAAvB;AACD,OAZD;AAeAA,MAAAA,KAAK,CAACK,KAAN,CAAYU,gBAAZ,CAA6BR,GAA7B,CAAiC,kBAAjC,EAAqD,YAAM;AACzD,YAAMS,gBAAgB,GAAG,KAAI,CAACF,iBAAL,CAAuBd,KAAvB,CAAzB;;AACA,YAAMiB,oBAAoB,GAAGjB,KAAK,CAACkB,SAAN,CAAgBD,oBAA7C;AACAjB,QAAAA,KAAK,CAACkB,SAAN,CAAgBD,oBAAhB,GAAuC,KAAvC;AACA,eAAOD,gBAAgB,IAAIC,oBAA3B;AACD,OALD;AAMD;;;WAED,2BAA0BjB,KAA1B,EAAkD;AAChD,UAAMQ,MAAM,GAAGR,KAAK,CAACS,SAAN,EAAf;AACA,UAAMU,OAAO,GAAGX,MAAM,CAACW,OAAvB;AACA,kCAAmCX,MAAM,CAACY,cAA1C;AAAA,yDAAQC,IAAR;AAAA,UAAQA,IAAR,uCAAe,CAAf;AAAA,yDAAkBC,OAAlB;AAAA,UAAkBA,OAAlB,uCAA4B,EAA5B;AACA,UAAMC,OAAO,GAAG,KAAKtB,UAAL,CAAgBuB,OAAhB,KAA4B,CAA5C;AACA,UAAMP,oBAAoB,GAAGjB,KAAK,CAACkB,SAAN,CAAgBD,oBAA7C;;AAEA,UACEE,OAAO,KACNF,oBAAoB,IAAIQ,IAAI,CAACC,GAAL,CAASL,IAAI,GAAGE,OAAhB,IAA2B,CAD7C,CAAP,IAEAD,OAAO,GAAGD,IAHZ,EAIE;AACAb,QAAAA,MAAM,CAACM,iBAAP,CAAyBW,IAAI,CAACE,KAAL,CAAWJ,OAAX,CAAzB;AACA,eAAO,IAAP;AACD;;AACD,aAAO,KAAP;AACD;;;;;SA3CkBxB,gB","sourcesContent":["import {\n ILayer,\n ILayerPlugin,\n ILngLat,\n IMapService,\n TYPES,\n} from '@antv/l7-core';\nimport Source, { DEFAULT_DATA, DEFAULT_PARSER } from '@antv/l7-source';\nimport { injectable } from 'inversify';\nimport 'reflect-metadata';\n\n@injectable()\nexport default class DataSourcePlugin implements ILayerPlugin {\n protected mapService: IMapService;\n public apply(layer: ILayer) {\n this.mapService = layer.getContainer().get<IMapService>(TYPES.IMapService);\n layer.hooks.init.tap('DataSourcePlugin', () => {\n const source = layer.getSource();\n if (!source) {\n // TODO: 允许用户不使用 layer 的 source 方法,在这里传入一个默认的替换的默认数据\n const { data, options } = layer.sourceOption || {\n data: DEFAULT_DATA,\n options: DEFAULT_PARSER,\n };\n layer.setSource(new Source(data, options));\n }\n\n this.updateClusterData(layer);\n });\n\n // 检测数据是否需要更新\n layer.hooks.beforeRenderData.tap('DataSourcePlugin', () => {\n const neeUpdateCluster = this.updateClusterData(layer);\n const dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;\n layer.dataState.dataSourceNeedUpdate = false;\n return neeUpdateCluster || dataSourceNeedUpdate;\n });\n }\n\n private updateClusterData(layer: ILayer): boolean {\n const source = layer.getSource();\n const cluster = source.cluster;\n const { zoom = 0, maxZoom = 16 } = source.clusterOptions;\n const newZoom = this.mapService.getZoom() - 1;\n const dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;\n // 如果 dataSource 有更新,跳过 zoom 的判断,直接更新一次\n if (\n cluster &&\n (dataSourceNeedUpdate || Math.abs(zoom - newZoom) > 1) &&\n maxZoom > zoom\n ) {\n source.updateClusterData(Math.floor(newZoom));\n return true;\n }\n return false;\n }\n}\n"],"file":"DataSourcePlugin.js"}
@@ -1,26 +0,0 @@
1
- import { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
2
- import 'reflect-metadata';
3
- /**
4
- * 根据 Source 原始数据为指定字段创建 Scale,保存在 StyleAttribute 上,供下游插件使用
5
- */
6
- export default class FeatureScalePlugin implements ILayerPlugin {
7
- private readonly configService;
8
- private scaleCache;
9
- private scaleOptions;
10
- apply(layer: ILayer, { styleAttributeService, }: {
11
- styleAttributeService: IStyleAttributeService;
12
- }): void;
13
- private isNumber;
14
- private caculateScalesForAttributes;
15
- private getOrCreateScale;
16
- /**
17
- * @example
18
- * 'w*h' => ['w', 'h']
19
- * 'w' => ['w']
20
- */
21
- private parseFields;
22
- private createScale;
23
- private getDefaultType;
24
- private createDefaultScaleConfig;
25
- private createDefaultScale;
26
- }
@@ -1,270 +0,0 @@
1
- import _initializerDefineProperty from "@babel/runtime/helpers/initializerDefineProperty";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _applyDecoratedDescriptor from "@babel/runtime/helpers/applyDecoratedDescriptor";
5
- import _initializerWarningHelper from "@babel/runtime/helpers/initializerWarningHelper";
6
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- import _uniq from "lodash/uniq";
8
- import _isString from "lodash/isString";
9
- import _isNil from "lodash/isNil";
10
-
11
- var _scaleMap, _dec, _dec2, _class, _class2, _descriptor;
12
-
13
- import { ScaleTypes, StyleScaleType, TYPES } from '@antv/l7-core';
14
- import { extent } from 'd3-array';
15
- import * as d3 from 'd3-scale';
16
- import { inject, injectable } from 'inversify';
17
- import 'reflect-metadata';
18
- var dateRegex = /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2\2(?:29))(\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;
19
- var scaleMap = (_scaleMap = {}, _defineProperty(_scaleMap, ScaleTypes.LINEAR, d3.scaleLinear), _defineProperty(_scaleMap, ScaleTypes.POWER, d3.scalePow), _defineProperty(_scaleMap, ScaleTypes.LOG, d3.scaleLog), _defineProperty(_scaleMap, ScaleTypes.IDENTITY, d3.scaleIdentity), _defineProperty(_scaleMap, ScaleTypes.TIME, d3.scaleTime), _defineProperty(_scaleMap, ScaleTypes.QUANTILE, d3.scaleQuantile), _defineProperty(_scaleMap, ScaleTypes.QUANTIZE, d3.scaleQuantize), _defineProperty(_scaleMap, ScaleTypes.THRESHOLD, d3.scaleThreshold), _defineProperty(_scaleMap, ScaleTypes.CAT, d3.scaleOrdinal), _scaleMap);
20
- var FeatureScalePlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfigService), _dec(_class = (_class2 = function () {
21
- function FeatureScalePlugin() {
22
- _classCallCheck(this, FeatureScalePlugin);
23
-
24
- _initializerDefineProperty(this, "configService", _descriptor, this);
25
-
26
- _defineProperty(this, "scaleCache", {});
27
-
28
- _defineProperty(this, "scaleOptions", {});
29
- }
30
-
31
- _createClass(FeatureScalePlugin, [{
32
- key: "apply",
33
- value: function apply(layer, _ref) {
34
- var _this = this;
35
-
36
- var styleAttributeService = _ref.styleAttributeService;
37
- layer.hooks.init.tap('FeatureScalePlugin', function () {
38
- _this.scaleOptions = layer.getScaleOptions();
39
- var attributes = styleAttributeService.getLayerStyleAttributes();
40
- var dataArray = layer.getSource().data.dataArray;
41
-
42
- if (dataArray.length === 0) {
43
- return;
44
- }
45
-
46
- _this.caculateScalesForAttributes(attributes || [], dataArray);
47
- });
48
- layer.hooks.beforeRenderData.tap('FeatureScalePlugin', function () {
49
- _this.scaleOptions = layer.getScaleOptions();
50
- var attributes = styleAttributeService.getLayerStyleAttributes();
51
- var dataArray = layer.getSource().data.dataArray;
52
-
53
- _this.caculateScalesForAttributes(attributes || [], dataArray);
54
-
55
- layer.layerModelNeedUpdate = true;
56
- return true;
57
- });
58
- layer.hooks.beforeRender.tap('FeatureScalePlugin', function () {
59
- if (layer.layerModelNeedUpdate) {
60
- return;
61
- }
62
-
63
- _this.scaleOptions = layer.getScaleOptions();
64
- var attributes = styleAttributeService.getLayerStyleAttributes();
65
-
66
- if (attributes) {
67
- var dataArray = layer.getSource().data.dataArray;
68
-
69
- if (dataArray.length === 0) {
70
- return;
71
- }
72
-
73
- var attributesToRescale = attributes.filter(function (attribute) {
74
- return attribute.needRescale;
75
- });
76
-
77
- if (attributesToRescale.length) {
78
- _this.caculateScalesForAttributes(attributesToRescale, dataArray);
79
- }
80
- }
81
- });
82
- }
83
- }, {
84
- key: "isNumber",
85
- value: function isNumber(n) {
86
- return !isNaN(parseFloat(n)) && isFinite(n);
87
- }
88
- }, {
89
- key: "caculateScalesForAttributes",
90
- value: function caculateScalesForAttributes(attributes, dataArray) {
91
- var _this2 = this;
92
-
93
- this.scaleCache = {};
94
- attributes.forEach(function (attribute) {
95
- if (attribute.scale) {
96
- var attributeScale = attribute.scale;
97
- var type = attribute.name;
98
- attributeScale.names = _this2.parseFields(attribute.scale.field || []);
99
- var scales = [];
100
- attributeScale.names.forEach(function (field) {
101
- scales.push(_this2.getOrCreateScale(field, attribute, dataArray));
102
- });
103
-
104
- if (scales.some(function (scale) {
105
- return scale.type === StyleScaleType.VARIABLE;
106
- })) {
107
- attributeScale.type = StyleScaleType.VARIABLE;
108
- scales.forEach(function (scale) {
109
- if (!attributeScale.callback) {
110
- var _scale$option2;
111
-
112
- if (attributeScale.values && attributeScale.values !== 'text') {
113
- var _scale$option;
114
-
115
- if (((_scale$option = scale.option) === null || _scale$option === void 0 ? void 0 : _scale$option.type) === 'linear' && attributeScale.values.length > 2) {
116
- var tick = scale.scale.ticks(attributeScale.values.length);
117
-
118
- if (type === 'color') {
119
- scale.scale.domain(tick);
120
- }
121
- }
122
-
123
- scale.scale.range(attributeScale.values);
124
- } else if (((_scale$option2 = scale.option) === null || _scale$option2 === void 0 ? void 0 : _scale$option2.type) === 'cat') {
125
- scale.scale.range(scale.option.domain);
126
- }
127
- }
128
- });
129
- } else {
130
- attributeScale.type = StyleScaleType.CONSTANT;
131
- attributeScale.defaultValues = scales.map(function (scale, index) {
132
- return scale.scale(attributeScale.names[index]);
133
- });
134
- }
135
-
136
- attributeScale.scalers = scales.map(function (scale) {
137
- return {
138
- field: scale.field,
139
- func: scale.scale,
140
- option: scale.option
141
- };
142
- });
143
- attribute.needRescale = false;
144
- }
145
- });
146
- }
147
- }, {
148
- key: "getOrCreateScale",
149
- value: function getOrCreateScale(field, attribute, dataArray) {
150
- var _attribute$scale;
151
-
152
- var scalekey = [field, attribute.name].join('_');
153
- var values = (_attribute$scale = attribute.scale) === null || _attribute$scale === void 0 ? void 0 : _attribute$scale.values;
154
- var styleScale = this.createScale(field, attribute.name, values, dataArray);
155
- return styleScale;
156
- }
157
- }, {
158
- key: "parseFields",
159
- value: function parseFields(field) {
160
- if (Array.isArray(field)) {
161
- return field;
162
- }
163
-
164
- if (_isString(field)) {
165
- return field.split('*');
166
- }
167
-
168
- return [field];
169
- }
170
- }, {
171
- key: "createScale",
172
- value: function createScale(field, name, values, data) {
173
- var _this$scaleOptions$na, _find;
174
-
175
- var scaleOption = this.scaleOptions[name] && ((_this$scaleOptions$na = this.scaleOptions[name]) === null || _this$scaleOptions$na === void 0 ? void 0 : _this$scaleOptions$na.field) === field ? this.scaleOptions[name] : this.scaleOptions[field];
176
- var styleScale = {
177
- field: field,
178
- scale: undefined,
179
- type: StyleScaleType.VARIABLE,
180
- option: scaleOption
181
- };
182
-
183
- if (!data || !data.length) {
184
- if (scaleOption && scaleOption.type) {
185
- styleScale.scale = this.createDefaultScale(scaleOption);
186
- } else {
187
- styleScale.scale = d3.scaleOrdinal([field]);
188
- styleScale.type = StyleScaleType.CONSTANT;
189
- }
190
-
191
- return styleScale;
192
- }
193
-
194
- var firstValue = (_find = data.find(function (d) {
195
- return !_isNil(d[field]);
196
- })) === null || _find === void 0 ? void 0 : _find[field];
197
-
198
- if (this.isNumber(field) || _isNil(firstValue) && !scaleOption) {
199
- styleScale.scale = d3.scaleOrdinal([field]);
200
- styleScale.type = StyleScaleType.CONSTANT;
201
- } else {
202
- var type = scaleOption && scaleOption.type || this.getDefaultType(firstValue);
203
-
204
- if (values === 'text') {
205
- type = ScaleTypes.CAT;
206
- }
207
-
208
- var cfg = this.createDefaultScaleConfig(type, field, data);
209
- Object.assign(cfg, scaleOption);
210
- styleScale.scale = this.createDefaultScale(cfg);
211
- styleScale.option = cfg;
212
- }
213
-
214
- return styleScale;
215
- }
216
- }, {
217
- key: "getDefaultType",
218
- value: function getDefaultType(firstValue) {
219
- var type = ScaleTypes.LINEAR;
220
-
221
- if (typeof firstValue === 'string') {
222
- type = dateRegex.test(firstValue) ? ScaleTypes.TIME : ScaleTypes.CAT;
223
- }
224
-
225
- return type;
226
- }
227
- }, {
228
- key: "createDefaultScaleConfig",
229
- value: function createDefaultScaleConfig(type, field, data) {
230
- var cfg = {
231
- type: type
232
- };
233
- var values = (data === null || data === void 0 ? void 0 : data.map(function (item) {
234
- return item[field];
235
- })) || [];
236
-
237
- if (type !== ScaleTypes.CAT && type !== ScaleTypes.QUANTILE) {
238
- cfg.domain = extent(values);
239
- } else if (type === ScaleTypes.CAT) {
240
- cfg.domain = _uniq(values);
241
- } else if (type === ScaleTypes.QUANTILE) {
242
- cfg.domain = values;
243
- }
244
-
245
- return cfg;
246
- }
247
- }, {
248
- key: "createDefaultScale",
249
- value: function createDefaultScale(_ref2) {
250
- var type = _ref2.type,
251
- domain = _ref2.domain;
252
- var scale = scaleMap[type]();
253
-
254
- if (domain) {
255
- scale.domain(domain);
256
- }
257
-
258
- return scale;
259
- }
260
- }]);
261
-
262
- return FeatureScalePlugin;
263
- }(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "configService", [_dec2], {
264
- configurable: true,
265
- enumerable: true,
266
- writable: true,
267
- initializer: null
268
- })), _class2)) || _class);
269
- export { FeatureScalePlugin as default };
270
- //# sourceMappingURL=FeatureScalePlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugins/FeatureScalePlugin.ts"],"names":["ScaleTypes","StyleScaleType","TYPES","extent","d3","inject","injectable","dateRegex","scaleMap","LINEAR","scaleLinear","POWER","scalePow","LOG","scaleLog","IDENTITY","scaleIdentity","TIME","scaleTime","QUANTILE","scaleQuantile","QUANTIZE","scaleQuantize","THRESHOLD","scaleThreshold","CAT","scaleOrdinal","FeatureScalePlugin","IGlobalConfigService","layer","styleAttributeService","hooks","init","tap","scaleOptions","getScaleOptions","attributes","getLayerStyleAttributes","dataArray","getSource","data","length","caculateScalesForAttributes","beforeRenderData","layerModelNeedUpdate","beforeRender","attributesToRescale","filter","attribute","needRescale","n","isNaN","parseFloat","isFinite","scaleCache","forEach","scale","attributeScale","type","name","names","parseFields","field","scales","push","getOrCreateScale","some","VARIABLE","callback","values","option","tick","ticks","domain","range","CONSTANT","defaultValues","map","index","scalers","func","scalekey","join","styleScale","createScale","Array","isArray","split","scaleOption","undefined","createDefaultScale","firstValue","find","d","isNumber","getDefaultType","cfg","createDefaultScaleConfig","Object","assign","test","item"],"mappings":"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","sourcesContent":["import {\n IGlobalConfigService,\n ILayer,\n ILayerPlugin,\n IScale,\n IScaleOptions,\n IStyleAttribute,\n IStyleAttributeService,\n IStyleScale,\n ScaleTypeName,\n ScaleTypes,\n StyleScaleType,\n TYPES,\n} from '@antv/l7-core';\nimport { IParseDataItem } from '@antv/l7-source';\nimport { extent, ticks } from 'd3-array';\nimport * as d3 from 'd3-scale';\nimport { inject, injectable } from 'inversify';\nimport { isNil, isString, uniq } from 'lodash';\nimport 'reflect-metadata';\n\nconst dateRegex = /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\\1(?:29|30)|(?:0?[13578]|1[02])\\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2\\2(?:29))(\\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;\n\nconst scaleMap = {\n [ScaleTypes.LINEAR]: d3.scaleLinear,\n [ScaleTypes.POWER]: d3.scalePow,\n [ScaleTypes.LOG]: d3.scaleLog,\n [ScaleTypes.IDENTITY]: d3.scaleIdentity,\n [ScaleTypes.TIME]: d3.scaleTime,\n [ScaleTypes.QUANTILE]: d3.scaleQuantile,\n [ScaleTypes.QUANTIZE]: d3.scaleQuantize,\n [ScaleTypes.THRESHOLD]: d3.scaleThreshold,\n [ScaleTypes.CAT]: d3.scaleOrdinal,\n};\n\n/**\n * 根据 Source 原始数据为指定字段创建 Scale,保存在 StyleAttribute 上,供下游插件使用\n */\n@injectable()\nexport default class FeatureScalePlugin implements ILayerPlugin {\n @inject(TYPES.IGlobalConfigService)\n private readonly configService: IGlobalConfigService;\n // key = field_attribute name\n private scaleCache: {\n [field: string]: IStyleScale;\n } = {};\n\n private scaleOptions: IScaleOptions = {};\n\n public apply(\n layer: ILayer,\n {\n styleAttributeService,\n }: { styleAttributeService: IStyleAttributeService },\n ) {\n layer.hooks.init.tap('FeatureScalePlugin', () => {\n this.scaleOptions = layer.getScaleOptions();\n const attributes = styleAttributeService.getLayerStyleAttributes();\n const { dataArray } = layer.getSource().data;\n if (dataArray.length === 0) {\n return;\n }\n this.caculateScalesForAttributes(attributes || [], dataArray);\n });\n\n // 检测数据是否需要更新\n layer.hooks.beforeRenderData.tap('FeatureScalePlugin', () => {\n this.scaleOptions = layer.getScaleOptions();\n const attributes = styleAttributeService.getLayerStyleAttributes();\n const { dataArray } = layer.getSource().data;\n // if (dataArray.length === 0) {\n // return;\n // }\n this.caculateScalesForAttributes(attributes || [], dataArray);\n layer.layerModelNeedUpdate = true;\n return true;\n });\n\n layer.hooks.beforeRender.tap('FeatureScalePlugin', () => {\n if (layer.layerModelNeedUpdate) {\n return;\n }\n this.scaleOptions = layer.getScaleOptions();\n const attributes = styleAttributeService.getLayerStyleAttributes();\n if (attributes) {\n const { dataArray } = layer.getSource().data;\n if (dataArray.length === 0) {\n return;\n }\n const attributesToRescale = attributes.filter(\n (attribute) => attribute.needRescale,\n );\n if (attributesToRescale.length) {\n this.caculateScalesForAttributes(attributesToRescale, dataArray);\n }\n }\n });\n }\n private isNumber(n: any) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n private caculateScalesForAttributes(\n attributes: IStyleAttribute[],\n dataArray: IParseDataItem[],\n ) {\n this.scaleCache = {};\n attributes.forEach((attribute) => {\n if (attribute.scale) {\n // 创建Scale\n const attributeScale = attribute.scale;\n const type = attribute.name;\n attributeScale.names = this.parseFields(attribute!.scale!.field || []);\n const scales: IStyleScale[] = [];\n attributeScale.names.forEach((field: string | number) => {\n scales.push(this.getOrCreateScale(field, attribute, dataArray));\n });\n\n // 为scales 设置值区间\n if (scales.some((scale) => scale.type === StyleScaleType.VARIABLE)) {\n attributeScale.type = StyleScaleType.VARIABLE;\n scales.forEach((scale) => {\n // 如果设置了回调, 这不需要设置让range\n if (!attributeScale.callback) {\n if (attributeScale.values && attributeScale.values !== 'text') {\n if (\n scale.option?.type === 'linear' &&\n attributeScale.values.length > 2\n ) {\n const tick = scale.scale.ticks(attributeScale.values.length);\n if (type === 'color') {\n scale.scale.domain(tick);\n }\n }\n scale.scale.range(attributeScale.values); // 判断常量, 默认值\n } else if (scale.option?.type === 'cat') {\n // 如果没有设置初值且 类型为cat,range ==domain;\n\n scale.scale.range(scale.option.domain);\n }\n }\n });\n } else {\n // 设置attribute 常量值 常量直接在value取值\n attributeScale.type = StyleScaleType.CONSTANT;\n attributeScale.defaultValues = scales.map((scale, index) => {\n return scale.scale(attributeScale.names[index]);\n });\n }\n attributeScale.scalers = scales.map((scale: IStyleScale) => {\n return {\n field: scale.field,\n func: scale.scale,\n option: scale.option,\n };\n });\n\n attribute.needRescale = false;\n }\n });\n }\n private getOrCreateScale(\n field: string | number,\n attribute: IStyleAttribute,\n dataArray: IParseDataItem[],\n ) {\n const scalekey = [field, attribute.name].join('_');\n const values = attribute.scale?.values;\n // if (this.scaleCache[scalekey]) {\n // return this.scaleCache[scalekey];\n // }\n const styleScale = this.createScale(\n field,\n attribute.name,\n values,\n dataArray,\n );\n // this.scaleCache[scalekey] = styleScale;\n return styleScale;\n }\n\n /**\n * @example\n * 'w*h' => ['w', 'h']\n * 'w' => ['w']\n */\n private parseFields(\n field: string[] | string | number[],\n ): string[] | number[] {\n if (Array.isArray(field)) {\n return field;\n }\n if (isString(field)) {\n return field.split('*');\n }\n return [field];\n }\n\n private createScale(\n field: string | number,\n name: string,\n values: unknown[] | string | undefined,\n data?: IParseDataItem[],\n ): IStyleScale {\n // scale 支持根据视觉通道和字段\n const scaleOption: IScale | undefined =\n this.scaleOptions[name] && this.scaleOptions[name]?.field === field\n ? this.scaleOptions[name]\n : this.scaleOptions[field];\n const styleScale: IStyleScale = {\n field,\n scale: undefined,\n type: StyleScaleType.VARIABLE,\n option: scaleOption,\n };\n\n if (!data || !data.length) {\n if (scaleOption && scaleOption.type) {\n styleScale.scale = this.createDefaultScale(scaleOption);\n } else {\n styleScale.scale = d3.scaleOrdinal([field]);\n styleScale.type = StyleScaleType.CONSTANT;\n }\n return styleScale;\n }\n const firstValue = data!.find((d) => !isNil(d[field]))?.[field];\n // 常量 Scale\n if (this.isNumber(field) || (isNil(firstValue) && !scaleOption)) {\n styleScale.scale = d3.scaleOrdinal([field]);\n styleScale.type = StyleScaleType.CONSTANT;\n } else {\n // 根据数据类型判断 默认等分位,时间,和枚举类型\n let type =\n (scaleOption && scaleOption.type) || this.getDefaultType(firstValue);\n if (values === 'text') {\n // text 为内置变 如果是文本则为cat\n type = ScaleTypes.CAT;\n }\n const cfg = this.createDefaultScaleConfig(type, field, data);\n Object.assign(cfg, scaleOption);\n styleScale.scale = this.createDefaultScale(cfg);\n styleScale.option = cfg;\n }\n return styleScale;\n }\n\n private getDefaultType(firstValue: unknown) {\n let type = ScaleTypes.LINEAR;\n if (typeof firstValue === 'string') {\n type = dateRegex.test(firstValue) ? ScaleTypes.TIME : ScaleTypes.CAT;\n }\n return type;\n }\n\n private createDefaultScaleConfig(\n type: ScaleTypeName,\n field: string | number,\n data?: IParseDataItem[],\n ) {\n const cfg: IScale = {\n type,\n };\n const values = data?.map((item) => item[field]) || [];\n // 默认类型为 Quantile Scales https://github.com/d3/d3-scale#quantile-scales\n if (type !== ScaleTypes.CAT && type !== ScaleTypes.QUANTILE) {\n cfg.domain = extent(values);\n } else if (type === ScaleTypes.CAT) {\n cfg.domain = uniq(values);\n } else if (type === ScaleTypes.QUANTILE) {\n cfg.domain = values;\n }\n return cfg;\n }\n\n private createDefaultScale({ type, domain }: IScale) {\n // @ts-ignore\n const scale = scaleMap[type]();\n if (domain) {\n scale.domain(domain);\n }\n // TODO 其他属性支持\n return scale;\n }\n}\n"],"file":"FeatureScalePlugin.js"}
@@ -1,7 +0,0 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
2
- import 'reflect-metadata';
3
- export default class LayerAnimateStylePlugin implements ILayerPlugin {
4
- private readonly cameraService;
5
- private readonly rendererService;
6
- apply(layer: ILayer): void;
7
- }
@@ -1,50 +0,0 @@
1
- import _initializerDefineProperty from "@babel/runtime/helpers/initializerDefineProperty";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
- import _applyDecoratedDescriptor from "@babel/runtime/helpers/applyDecoratedDescriptor";
6
- import _initializerWarningHelper from "@babel/runtime/helpers/initializerWarningHelper";
7
-
8
- var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
9
-
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
11
-
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
-
14
- import { TYPES } from '@antv/l7-core';
15
- import { inject, injectable } from 'inversify';
16
- import 'reflect-metadata';
17
- var LayerAnimateStylePlugin = (_dec = injectable(), _dec2 = inject(TYPES.ICameraService), _dec3 = inject(TYPES.IRendererService), _dec(_class = (_class2 = function () {
18
- function LayerAnimateStylePlugin() {
19
- _classCallCheck(this, LayerAnimateStylePlugin);
20
-
21
- _initializerDefineProperty(this, "cameraService", _descriptor, this);
22
-
23
- _initializerDefineProperty(this, "rendererService", _descriptor2, this);
24
- }
25
-
26
- _createClass(LayerAnimateStylePlugin, [{
27
- key: "apply",
28
- value: function apply(layer) {
29
- layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', function () {
30
- layer.models.forEach(function (model) {
31
- model.addUniforms(_objectSpread({}, layer.layerModel.getAnimateUniforms()));
32
- });
33
- });
34
- }
35
- }]);
36
-
37
- return LayerAnimateStylePlugin;
38
- }(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "cameraService", [_dec2], {
39
- configurable: true,
40
- enumerable: true,
41
- writable: true,
42
- initializer: null
43
- }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "rendererService", [_dec3], {
44
- configurable: true,
45
- enumerable: true,
46
- writable: true,
47
- initializer: null
48
- })), _class2)) || _class);
49
- export { LayerAnimateStylePlugin as default };
50
- //# sourceMappingURL=LayerAnimateStylePlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugins/LayerAnimateStylePlugin.ts"],"names":["TYPES","inject","injectable","LayerAnimateStylePlugin","ICameraService","IRendererService","layer","hooks","beforeRender","tap","models","forEach","model","addUniforms","layerModel","getAnimateUniforms"],"mappings":";;;;;;;;;;;;;AAAA,SASEA,KATF,QAUO,eAVP;AAWA,SAASC,MAAT,EAAiBC,UAAjB,QAAmC,WAAnC;AACA,OAAO,kBAAP;IAGqBC,uB,WADpBD,UAAU,E,UAERD,MAAM,CAACD,KAAK,CAACI,cAAP,C,UAGNH,MAAM,CAACD,KAAK,CAACK,gBAAP,C;;;;;;;;;;;WAGP,eAAaC,KAAb,EAA4B;AAI1BA,MAAAA,KAAK,CAACC,KAAN,CAAYC,YAAZ,CAAyBC,GAAzB,CAA6B,yBAA7B,EAAwD,YAAM;AAE5DH,QAAAA,KAAK,CAACI,MAAN,CAAaC,OAAb,CAAqB,UAACC,KAAD,EAAmB;AACtCA,UAAAA,KAAK,CAACC,WAAN,mBACKP,KAAK,CAACQ,UAAN,CAAiBC,kBAAjB,EADL;AAGD,SAJD;AAKD,OAPD;AAQD;;;;;;;;;;;;;;;SAnBkBZ,uB","sourcesContent":["import {\n CameraUniform,\n CoordinateUniform,\n ICameraService,\n ICoordinateSystemService,\n ILayer,\n ILayerPlugin,\n IModel,\n IRendererService,\n TYPES,\n} from '@antv/l7-core';\nimport { inject, injectable } from 'inversify';\nimport 'reflect-metadata';\n\n@injectable()\nexport default class LayerAnimateStylePlugin implements ILayerPlugin {\n @inject(TYPES.ICameraService)\n private readonly cameraService: ICameraService;\n\n @inject(TYPES.IRendererService)\n private readonly rendererService: IRendererService;\n\n public apply(layer: ILayer) {\n // layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', () => {\n\n // })\n layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', () => {\n // 重新计算坐标系参数\n layer.models.forEach((model: IModel) => {\n model.addUniforms({\n ...layer.layerModel.getAnimateUniforms(),\n });\n });\n });\n }\n}\n"],"file":"LayerAnimateStylePlugin.js"}
@@ -1,8 +0,0 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
2
- import 'reflect-metadata';
3
- /**
4
- * Layer Model 初始化,更新,销毁
5
- */
6
- export default class LayerModelPlugin implements ILayerPlugin {
7
- apply(layer: ILayer): void;
8
- }
@@ -1,34 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
-
4
- var _dec, _class;
5
-
6
- import { injectable } from 'inversify';
7
- import 'reflect-metadata';
8
- var LayerModelPlugin = (_dec = injectable(), _dec(_class = function () {
9
- function LayerModelPlugin() {
10
- _classCallCheck(this, LayerModelPlugin);
11
- }
12
-
13
- _createClass(LayerModelPlugin, [{
14
- key: "apply",
15
- value: function apply(layer) {
16
- layer.hooks.init.tap('LayerModelPlugin', function () {
17
- layer.prepareBuildModel();
18
- layer.buildModels();
19
- layer.styleNeedUpdate = false;
20
- });
21
- layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
22
- layer.prepareBuildModel();
23
- layer.clearModels();
24
- layer.buildModels();
25
- layer.layerModelNeedUpdate = false;
26
- return false;
27
- });
28
- }
29
- }]);
30
-
31
- return LayerModelPlugin;
32
- }()) || _class);
33
- export { LayerModelPlugin as default };
34
- //# sourceMappingURL=LayerModelPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugins/LayerModelPlugin.ts"],"names":["injectable","LayerModelPlugin","layer","hooks","init","tap","prepareBuildModel","buildModels","styleNeedUpdate","beforeRenderData","clearModels","layerModelNeedUpdate"],"mappings":";;;;;AACA,SAASA,UAAT,QAA2B,WAA3B;AACA,OAAO,kBAAP;IAKqBC,gB,WADpBD,UAAU,E;;;;;;;WAET,eAAaE,KAAb,EAA4B;AAC1BA,MAAAA,KAAK,CAACC,KAAN,CAAYC,IAAZ,CAAiBC,GAAjB,CAAqB,kBAArB,EAAyC,YAAM;AAE7CH,QAAAA,KAAK,CAACI,iBAAN;AAEAJ,QAAAA,KAAK,CAACK,WAAN;AACAL,QAAAA,KAAK,CAACM,eAAN,GAAwB,KAAxB;AACD,OAND;AAQAN,MAAAA,KAAK,CAACC,KAAN,CAAYM,gBAAZ,CAA6BJ,GAA7B,CAAiC,kBAAjC,EAAqD,YAAM;AAEzDH,QAAAA,KAAK,CAACI,iBAAN;AAEAJ,QAAAA,KAAK,CAACQ,WAAN;AAEAR,QAAAA,KAAK,CAACK,WAAN;AACAL,QAAAA,KAAK,CAACS,oBAAN,GAA6B,KAA7B;AACA,eAAO,KAAP;AACD,OATD;AAUD;;;;;SApBkBV,gB","sourcesContent":["import { ILayer, ILayerPlugin, IMapService, TYPES } from '@antv/l7-core';\nimport { injectable } from 'inversify';\nimport 'reflect-metadata';\n/**\n * Layer Model 初始化,更新,销毁\n */\n@injectable()\nexport default class LayerModelPlugin implements ILayerPlugin {\n public apply(layer: ILayer) {\n layer.hooks.init.tap('LayerModelPlugin', () => {\n // 更新Model 配置项\n layer.prepareBuildModel();\n // 初始化 Model\n layer.buildModels();\n layer.styleNeedUpdate = false;\n });\n\n layer.hooks.beforeRenderData.tap('DataSourcePlugin', () => {\n // 更新Model 配置项\n layer.prepareBuildModel();\n\n layer.clearModels();\n // 初始化 Model\n layer.buildModels();\n layer.layerModelNeedUpdate = false;\n return false;\n });\n }\n}\n"],"file":"LayerModelPlugin.js"}
@@ -1,8 +0,0 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
2
- import 'reflect-metadata';
3
- /**
4
- * 更新图层样式,初始图层相关配置
5
- */
6
- export default class LayerStylePlugin implements ILayerPlugin {
7
- apply(layer: ILayer): void;
8
- }
@@ -1,35 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
-
4
- var _dec, _class;
5
-
6
- import { injectable } from 'inversify';
7
- import 'reflect-metadata';
8
- var LayerStylePlugin = (_dec = injectable(), _dec(_class = function () {
9
- function LayerStylePlugin() {
10
- _classCallCheck(this, LayerStylePlugin);
11
- }
12
-
13
- _createClass(LayerStylePlugin, [{
14
- key: "apply",
15
- value: function apply(layer) {
16
- layer.hooks.afterInit.tap('LayerStylePlugin', function () {
17
- layer.updateLayerConfig({});
18
-
19
- var _layer$getLayerConfig = layer.getLayerConfig(),
20
- autoFit = _layer$getLayerConfig.autoFit,
21
- fitBoundsOptions = _layer$getLayerConfig.fitBoundsOptions;
22
-
23
- if (autoFit) {
24
- setTimeout(function () {
25
- layer.fitBounds(fitBoundsOptions);
26
- }, 100);
27
- }
28
- });
29
- }
30
- }]);
31
-
32
- return LayerStylePlugin;
33
- }()) || _class);
34
- export { LayerStylePlugin as default };
35
- //# sourceMappingURL=LayerStylePlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugins/LayerStylePlugin.ts"],"names":["injectable","LayerStylePlugin","layer","hooks","afterInit","tap","updateLayerConfig","getLayerConfig","autoFit","fitBoundsOptions","setTimeout","fitBounds"],"mappings":";;;;;AAGA,SAASA,UAAT,QAA2B,WAA3B;AACA,OAAO,kBAAP;IAKqBC,gB,WADpBD,UAAU,E;;;;;;;WAET,eAAaE,KAAb,EAA4B;AAC1BA,MAAAA,KAAK,CAACC,KAAN,CAAYC,SAAZ,CAAsBC,GAAtB,CAA0B,kBAA1B,EAA8C,YAAM;AAElDH,QAAAA,KAAK,CAACI,iBAAN,CAAwB,EAAxB;;AACA,oCAAsCJ,KAAK,CAACK,cAAN,EAAtC;AAAA,YAAQC,OAAR,yBAAQA,OAAR;AAAA,YAAiBC,gBAAjB,yBAAiBA,gBAAjB;;AACA,YAAID,OAAJ,EAAa;AACXE,UAAAA,UAAU,CAAC,YAAM;AACfR,YAAAA,KAAK,CAACS,SAAN,CAAgBF,gBAAhB;AACD,WAFS,EAEP,GAFO,CAAV;AAGD;AACF,OATD;AAUD;;;;;SAZkBR,gB","sourcesContent":["import { ILayer, ILayerPlugin, IMapService, TYPES } from '@antv/l7-core';\nimport Source from '@antv/l7-source';\nimport { encodePickingColor, rgb2arr } from '@antv/l7-utils';\nimport { injectable } from 'inversify';\nimport 'reflect-metadata';\n/**\n * 更新图层样式,初始图层相关配置\n */\n@injectable()\nexport default class LayerStylePlugin implements ILayerPlugin {\n public apply(layer: ILayer) {\n layer.hooks.afterInit.tap('LayerStylePlugin', () => {\n // 更新图层默认状态\n layer.updateLayerConfig({});\n const { autoFit, fitBoundsOptions } = layer.getLayerConfig();\n if (autoFit) {\n setTimeout(() => {\n layer.fitBounds(fitBoundsOptions);\n }, 100);\n }\n });\n }\n}\n"],"file":"LayerStylePlugin.js"}
@@ -1,36 +0,0 @@
1
- import { ILayer, ILayerPlugin } from '@antv/l7-core';
2
- import 'reflect-metadata';
3
- interface IDirectionalLight {
4
- type: 'directional';
5
- direction: [number, number, number];
6
- ambient: [number, number, number];
7
- diffuse: [number, number, number];
8
- specular: [number, number, number];
9
- }
10
- interface ISpotLight {
11
- type: 'spot';
12
- position: [number, number, number];
13
- direction: [number, number, number];
14
- ambient: [number, number, number];
15
- diffuse: [number, number, number];
16
- specular: [number, number, number];
17
- constant: number;
18
- linear: number;
19
- quadratic: number;
20
- angle: number;
21
- exponent: number;
22
- blur: number;
23
- }
24
- export declare function generateLightingUniforms(lights?: Array<Partial<IDirectionalLight | ISpotLight>>): {
25
- u_DirectionalLights: Array<Omit<IDirectionalLight, 'type'>>;
26
- u_NumOfDirectionalLights: number;
27
- u_SpotLights: Array<Omit<ISpotLight, 'type'>>;
28
- u_NumOfSpotLights: number;
29
- };
30
- /**
31
- * 光照 & Shadow
32
- */
33
- export default class LightingPlugin implements ILayerPlugin {
34
- apply(layer: ILayer): void;
35
- }
36
- export {};