@antv/l7-layers 2.9.27-alpha.1 → 2.9.27-alpha.3

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 (302) hide show
  1. package/es/Geometry/index.d.ts +13 -0
  2. package/es/Geometry/index.js +20 -2
  3. package/es/Geometry/models/billboard.js +1 -2
  4. package/es/Geometry/models/plane.js +2 -4
  5. package/es/Geometry/models/sprite.js +2 -4
  6. package/es/canvas/index.d.ts +4 -0
  7. package/es/canvas/index.js +38 -2
  8. package/es/citybuliding/building.js +6 -2
  9. package/es/citybuliding/models/build.js +2 -3
  10. package/es/core/BaseLayer.d.ts +17 -6
  11. package/es/core/BaseLayer.js +89 -94
  12. package/es/core/BaseModel.d.ts +1 -1
  13. package/es/core/BaseModel.js +7 -3
  14. package/es/core/interface.d.ts +18 -0
  15. package/es/core/triangulation.d.ts +6 -0
  16. package/es/core/triangulation.js +64 -2
  17. package/es/earth/index.d.ts +5 -0
  18. package/es/earth/index.js +12 -1
  19. package/es/earth/models/base.js +2 -4
  20. package/es/earth/shaders/atmosphere_frag.glsl +1 -1
  21. package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
  22. package/es/heatmap/index.js +6 -2
  23. package/es/heatmap/models/heatmap.js +5 -3
  24. package/es/image/index.js +6 -2
  25. package/es/image/models/dataImage.js +4 -7
  26. package/es/image/models/image.js +4 -7
  27. package/es/line/index.d.ts +1 -0
  28. package/es/line/index.js +8 -2
  29. package/es/line/models/arc.js +6 -5
  30. package/es/line/models/half.js +3 -4
  31. package/es/line/models/line.js +9 -8
  32. package/es/line/models/simpleLine.js +2 -1
  33. package/es/line/models/simpleTileLine.d.ts +9 -0
  34. package/es/line/models/simpleTileLine.js +100 -0
  35. package/es/line/models/tile.d.ts +1 -4
  36. package/es/line/models/tile.js +49 -222
  37. package/es/line/models/wall.js +10 -46
  38. package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
  39. package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
  40. package/es/line/shaders/line_arc2d_vert.glsl +1 -1
  41. package/es/line/shaders/line_arc_3d_frag.glsl +1 -1
  42. package/es/line/shaders/line_arc_3d_vert.glsl +3 -3
  43. package/es/line/shaders/line_arc_frag.glsl +1 -1
  44. package/es/line/shaders/line_arc_great_circle_frag.glsl +1 -1
  45. package/es/line/shaders/line_arc_great_circle_vert.glsl +1 -1
  46. package/es/line/shaders/line_arc_vert.glsl +5 -3
  47. package/es/line/shaders/line_bezier_vert.glsl +1 -1
  48. package/es/line/shaders/line_frag.glsl +1 -2
  49. package/es/line/shaders/line_vert.glsl +1 -1
  50. package/es/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
  51. package/es/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
  52. package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
  53. package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  54. package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
  55. package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  56. package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
  57. package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
  58. package/es/line/shaders/wall/wall_vert.glsl +77 -0
  59. package/es/mask/index.d.ts +1 -0
  60. package/es/mask/index.js +80 -5
  61. package/es/mask/models/fill.d.ts +2 -1
  62. package/es/mask/models/fill.js +13 -10
  63. package/es/mask/shaders/mask_vert.glsl +0 -6
  64. package/es/plugins/DataMappingPlugin.d.ts +4 -3
  65. package/es/plugins/DataMappingPlugin.js +129 -58
  66. package/es/plugins/DataSourcePlugin.js +3 -2
  67. package/es/plugins/FeatureScalePlugin.d.ts +0 -2
  68. package/es/plugins/FeatureScalePlugin.js +8 -51
  69. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
  70. package/es/plugins/LayerAnimateStylePlugin.js +7 -27
  71. package/es/plugins/LayerModelPlugin.js +2 -6
  72. package/es/plugins/LightingPlugin.js +1 -7
  73. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
  74. package/es/plugins/MultiPassRendererPlugin.js +4 -16
  75. package/es/plugins/PixelPickingPlugin.d.ts +1 -1
  76. package/es/plugins/PixelPickingPlugin.js +8 -28
  77. package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
  78. package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
  79. package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
  80. package/es/point/index.js +6 -2
  81. package/es/point/models/fill.js +2 -2
  82. package/es/point/models/fillmage.js +1 -1
  83. package/es/point/models/image.js +1 -1
  84. package/es/point/models/normal.d.ts +0 -1
  85. package/es/point/models/normal.js +9 -60
  86. package/es/point/models/radar.js +4 -69
  87. package/es/point/models/simplePoint.d.ts +0 -1
  88. package/es/point/models/simplePoint.js +2 -11
  89. package/es/point/models/text.js +6 -7
  90. package/es/point/models/tile.d.ts +0 -7
  91. package/es/point/models/tile.js +22 -155
  92. package/es/point/models/tileText.d.ts +0 -4
  93. package/es/point/models/tileText.js +98 -185
  94. package/es/point/shaders/animate/wave_frag.glsl +3 -3
  95. package/es/point/shaders/earth/fill_vert.glsl +0 -1
  96. package/es/point/shaders/fill_vert.glsl +0 -1
  97. package/es/point/shaders/normal_frag.glsl +1 -10
  98. package/es/point/shaders/normal_vert.glsl +5 -60
  99. package/es/point/shaders/radar/radar_frag.glsl +4 -15
  100. package/es/point/shaders/radar/radar_vert.glsl +4 -54
  101. package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
  102. package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
  103. package/es/point/shaders/tile/text_frag.glsl +33 -0
  104. package/es/point/shaders/tile/text_map_frag.glsl +31 -0
  105. package/es/point/shaders/tile/text_map_vert.glsl +38 -0
  106. package/es/point/shaders/tile/text_vert.glsl +48 -0
  107. package/es/polygon/index.js +6 -2
  108. package/es/polygon/models/extrude.js +1 -3
  109. package/es/polygon/models/fill.js +3 -4
  110. package/es/polygon/models/ocean.d.ts +0 -2
  111. package/es/polygon/models/ocean.js +13 -47
  112. package/es/polygon/models/tile.d.ts +1 -4
  113. package/es/polygon/models/tile.js +25 -57
  114. package/es/polygon/models/water.d.ts +0 -2
  115. package/es/polygon/models/water.js +13 -47
  116. package/es/polygon/shaders/polygon_frag.glsl +2 -2
  117. package/es/polygon/shaders/polygon_vert.glsl +2 -2
  118. package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  119. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  120. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  121. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  122. package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  123. package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  124. package/es/raster/buffers/triangulation.js +1 -4
  125. package/es/raster/index.js +6 -2
  126. package/es/raster/models/raster.js +3 -2
  127. package/es/shader/minify_frag.glsl +7 -0
  128. package/es/shader/minify_picking_frag.glsl +10 -0
  129. package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
  130. package/es/tile/manager/baseMapTileLayerManager.js +207 -0
  131. package/es/tile/manager/tileLayerManager.d.ts +2 -2
  132. package/es/tile/manager/tileLayerManager.js +2 -2
  133. package/es/tile/manager/tilePickerManager.d.ts +2 -3
  134. package/es/tile/manager/tilePickerManager.js +1 -2
  135. package/es/tile/models/tileModel.d.ts +1 -0
  136. package/es/tile/models/tileModel.js +18 -2
  137. package/es/tile/tileFactory/base.d.ts +1 -1
  138. package/es/tile/tileFactory/base.js +58 -33
  139. package/es/tile/tileFactory/line.js +3 -0
  140. package/es/tile/tileFactory/point.js +3 -0
  141. package/es/tile/tileFactory/polygon.js +3 -0
  142. package/es/tile/tileFactory/raster.js +3 -0
  143. package/es/tile/tileFactory/rasterData.js +3 -0
  144. package/es/tile/tileFactory/rasterDataLayer.js +6 -2
  145. package/es/tile/tileFactory/test.js +26 -5
  146. package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
  147. package/es/tile/tileFactory/vectorLayer.js +110 -7
  148. package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
  149. package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
  150. package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
  151. package/es/tile/tileLayer/baseTileLayer.js +46 -75
  152. package/es/tile/tileTest.d.ts +1 -0
  153. package/es/tile/tileTest.js +3 -2
  154. package/es/tile/tmsMapTileLayer.d.ts +9 -0
  155. package/es/tile/tmsMapTileLayer.js +119 -0
  156. package/es/tile/tmsTileLayer.d.ts +2 -0
  157. package/es/tile/tmsTileLayer.js +24 -2
  158. package/es/tile/utils.d.ts +4 -0
  159. package/es/tile/utils.js +30 -0
  160. package/es/utils/dataMappingStyle.js +3 -0
  161. package/es/utils/layerData.js +2 -2
  162. package/es/utils/updateShape.js +2 -2
  163. package/es/wind/index.js +6 -2
  164. package/es/wind/models/wind.js +8 -8
  165. package/es/wind/shaders/wind_vert.glsl +1 -1
  166. package/lib/Geometry/index.js +19 -2
  167. package/lib/Geometry/models/billboard.js +1 -2
  168. package/lib/Geometry/models/plane.js +2 -4
  169. package/lib/Geometry/models/sprite.js +2 -4
  170. package/lib/canvas/index.js +37 -2
  171. package/lib/citybuliding/building.js +6 -2
  172. package/lib/citybuliding/models/build.js +2 -3
  173. package/lib/core/BaseLayer.js +86 -94
  174. package/lib/core/BaseModel.js +7 -3
  175. package/lib/core/triangulation.js +66 -2
  176. package/lib/earth/index.js +11 -1
  177. package/lib/earth/models/base.js +2 -4
  178. package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
  179. package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
  180. package/lib/heatmap/index.js +6 -2
  181. package/lib/heatmap/models/heatmap.js +5 -3
  182. package/lib/image/index.js +6 -2
  183. package/lib/image/models/dataImage.js +4 -7
  184. package/lib/image/models/image.js +4 -7
  185. package/lib/line/index.js +7 -2
  186. package/lib/line/models/arc.js +6 -5
  187. package/lib/line/models/half.js +3 -4
  188. package/lib/line/models/line.js +9 -8
  189. package/lib/line/models/simpleLine.js +2 -1
  190. package/lib/line/models/simpleTileLine.js +115 -0
  191. package/lib/line/models/tile.js +49 -223
  192. package/lib/line/models/wall.js +10 -46
  193. package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
  194. package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
  195. package/lib/line/shaders/line_arc2d_vert.glsl +1 -1
  196. package/lib/line/shaders/line_arc_3d_frag.glsl +1 -1
  197. package/lib/line/shaders/line_arc_3d_vert.glsl +3 -3
  198. package/lib/line/shaders/line_arc_frag.glsl +1 -1
  199. package/lib/line/shaders/line_arc_great_circle_frag.glsl +1 -1
  200. package/lib/line/shaders/line_arc_great_circle_vert.glsl +1 -1
  201. package/lib/line/shaders/line_arc_vert.glsl +5 -3
  202. package/lib/line/shaders/line_bezier_vert.glsl +1 -1
  203. package/lib/line/shaders/line_frag.glsl +1 -2
  204. package/lib/line/shaders/line_vert.glsl +1 -1
  205. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
  206. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
  207. package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
  208. package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  209. package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
  210. package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  211. package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
  212. package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
  213. package/lib/line/shaders/wall/wall_vert.glsl +77 -0
  214. package/lib/mask/index.js +82 -5
  215. package/lib/mask/models/fill.js +14 -10
  216. package/lib/mask/shaders/mask_vert.glsl +0 -6
  217. package/lib/plugins/DataMappingPlugin.js +127 -57
  218. package/lib/plugins/DataSourcePlugin.js +3 -2
  219. package/lib/plugins/FeatureScalePlugin.js +6 -50
  220. package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
  221. package/lib/plugins/LayerModelPlugin.js +2 -6
  222. package/lib/plugins/LightingPlugin.js +1 -7
  223. package/lib/plugins/MultiPassRendererPlugin.js +3 -19
  224. package/lib/plugins/PixelPickingPlugin.js +8 -28
  225. package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
  226. package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
  227. package/lib/point/index.js +6 -2
  228. package/lib/point/models/fill.js +2 -2
  229. package/lib/point/models/fillmage.js +1 -1
  230. package/lib/point/models/image.js +1 -1
  231. package/lib/point/models/normal.js +8 -59
  232. package/lib/point/models/radar.js +4 -69
  233. package/lib/point/models/simplePoint.js +1 -10
  234. package/lib/point/models/text.js +6 -7
  235. package/lib/point/models/tile.js +21 -156
  236. package/lib/point/models/tileText.js +97 -184
  237. package/lib/point/shaders/animate/wave_frag.glsl +3 -3
  238. package/lib/point/shaders/earth/fill_vert.glsl +0 -1
  239. package/lib/point/shaders/fill_vert.glsl +0 -1
  240. package/lib/point/shaders/normal_frag.glsl +1 -10
  241. package/lib/point/shaders/normal_vert.glsl +5 -60
  242. package/lib/point/shaders/radar/radar_frag.glsl +4 -15
  243. package/lib/point/shaders/radar/radar_vert.glsl +4 -54
  244. package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
  245. package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
  246. package/lib/point/shaders/tile/text_frag.glsl +33 -0
  247. package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
  248. package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
  249. package/lib/point/shaders/tile/text_vert.glsl +48 -0
  250. package/lib/polygon/index.js +6 -2
  251. package/lib/polygon/models/extrude.js +1 -3
  252. package/lib/polygon/models/fill.js +3 -4
  253. package/lib/polygon/models/ocean.js +14 -47
  254. package/lib/polygon/models/tile.js +24 -57
  255. package/lib/polygon/models/water.js +14 -47
  256. package/lib/polygon/shaders/polygon_frag.glsl +2 -2
  257. package/lib/polygon/shaders/polygon_vert.glsl +2 -2
  258. package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  259. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  260. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  261. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  262. package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  263. package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  264. package/lib/raster/buffers/triangulation.js +1 -4
  265. package/lib/raster/index.js +6 -2
  266. package/lib/raster/models/raster.js +3 -2
  267. package/lib/shader/minify_frag.glsl +7 -0
  268. package/lib/shader/minify_picking_frag.glsl +10 -0
  269. package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
  270. package/lib/tile/manager/tileLayerManager.js +2 -2
  271. package/lib/tile/manager/tilePickerManager.js +1 -2
  272. package/lib/tile/models/tileModel.js +19 -2
  273. package/lib/tile/tileFactory/base.js +60 -33
  274. package/lib/tile/tileFactory/line.js +3 -0
  275. package/lib/tile/tileFactory/point.js +3 -0
  276. package/lib/tile/tileFactory/polygon.js +3 -0
  277. package/lib/tile/tileFactory/raster.js +3 -0
  278. package/lib/tile/tileFactory/rasterData.js +3 -0
  279. package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
  280. package/lib/tile/tileFactory/test.js +26 -5
  281. package/lib/tile/tileFactory/vectorLayer.js +112 -8
  282. package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
  283. package/lib/tile/tileLayer/baseTileLayer.js +46 -75
  284. package/lib/tile/tileTest.js +3 -2
  285. package/lib/tile/tmsMapTileLayer.js +136 -0
  286. package/lib/tile/tmsTileLayer.js +25 -2
  287. package/lib/tile/utils.js +38 -0
  288. package/lib/utils/dataMappingStyle.js +3 -0
  289. package/lib/utils/layerData.js +2 -2
  290. package/lib/utils/updateShape.js +2 -2
  291. package/lib/wind/index.js +6 -2
  292. package/lib/wind/models/wind.js +7 -7
  293. package/lib/wind/shaders/wind_vert.glsl +1 -1
  294. package/package.json +8 -7
  295. package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
  296. package/es/line/shaders/wall_vert.glsl +0 -111
  297. package/es/mask/shaders/mask_frag.glsl +0 -7
  298. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
  299. package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
  300. package/lib/line/shaders/wall_vert.glsl +0 -111
  301. package/lib/mask/shaders/mask_frag.glsl +0 -7
  302. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
@@ -3,6 +3,19 @@ import { IGeometryLayerStyleOptions } from '../core/interface';
3
3
  import { GeometryModelType } from './models';
4
4
  export default class GeometryLayer extends BaseLayer<IGeometryLayerStyleOptions> {
5
5
  type: string;
6
+ defaultSourceConfig: {
7
+ data: {
8
+ x: number;
9
+ y: number;
10
+ }[];
11
+ options: {
12
+ parser: {
13
+ type: string;
14
+ x: string;
15
+ y: string;
16
+ };
17
+ };
18
+ };
6
19
  buildModels(): void;
7
20
  rebuildModels(): void;
8
21
  protected getConfigSchema(): {
@@ -31,6 +31,20 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
31
31
 
32
32
  _defineProperty(_assertThisInitialized(_this), "type", 'GeometryLayer');
33
33
 
34
+ _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
35
+ data: [{
36
+ x: 0,
37
+ y: 0
38
+ }],
39
+ options: {
40
+ parser: {
41
+ type: 'json',
42
+ x: 'x',
43
+ y: 'y'
44
+ }
45
+ }
46
+ });
47
+
34
48
  return _this;
35
49
  }
36
50
 
@@ -44,7 +58,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
44
58
  this.layerModel.initModels(function (models) {
45
59
  _this2.models = models;
46
60
 
47
- _this2.renderLayers();
61
+ _this2.emit('modelLoaded', null);
62
+
63
+ _this2.layerService.throttleRenderLayers();
48
64
  });
49
65
  }
50
66
  }, {
@@ -53,7 +69,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
53
69
  var _this3 = this;
54
70
 
55
71
  this.layerModel.buildModels(function (models) {
56
- return _this3.models = models;
72
+ _this3.models = models;
73
+
74
+ _this3.emit('modelLoaded', null);
57
75
  });
58
76
  }
59
77
  }, {
@@ -166,8 +166,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
166
166
  wrapS: gl.CLAMP_TO_EDGE,
167
167
  wrapT: gl.CLAMP_TO_EDGE
168
168
  });
169
- this.layerService.updateLayerRenderList();
170
- this.layerService.renderLayers();
169
+ this.layerService.reRender();
171
170
  }
172
171
  }
173
172
  }, {
@@ -265,9 +265,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
265
265
  wrapT: gl.CLAMP_TO_EDGE
266
266
  });
267
267
 
268
- _this3.layerService.updateLayerRenderList();
269
-
270
- _this3.layerService.renderLayers();
268
+ _this3.layerService.reRender();
271
269
  };
272
270
 
273
271
  img.src = mapTexture;
@@ -328,7 +326,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
328
326
  };
329
327
  });
330
328
  this.layer.updateModelData(modelData);
331
- this.layerService.renderLayers();
329
+ this.layerService.throttleRenderLayers();
332
330
  }
333
331
  /**
334
332
  * load terrain texture & offset attribute z
@@ -87,7 +87,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
87
87
  m.updateAttributes(attributes);
88
88
  });
89
89
 
90
- _this.layer.renderLayers();
90
+ _this.layerService.throttleRenderLayers();
91
91
 
92
92
  _this.timer = requestAnimationFrame(_this.updateModel);
93
93
  });
@@ -265,9 +265,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
265
265
  wrapT: gl.CLAMP_TO_EDGE
266
266
  });
267
267
 
268
- _this4.layerService.updateLayerRenderList();
269
-
270
- _this4.layerService.renderLayers();
268
+ _this4.layerService.reRender();
271
269
  };
272
270
 
273
271
  img.src = mapTexture;
@@ -1,10 +1,14 @@
1
1
  import BaseLayer from '../core/BaseLayer';
2
+ import { ILayer } from '@antv/l7-core';
2
3
  import { ICanvasLayerStyleOptions } from '../core/interface';
3
4
  import { CanvasModelType } from './models/index';
4
5
  export default class CanvasLayer extends BaseLayer<ICanvasLayerStyleOptions> {
5
6
  type: string;
7
+ forceRender: boolean;
6
8
  buildModels(): void;
7
9
  rebuildModels(): void;
10
+ hide(): ILayer;
11
+ renderModels(): this;
8
12
  protected getConfigSchema(): {
9
13
  properties: {
10
14
  opacity: {
@@ -31,6 +31,8 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
31
31
 
32
32
  _defineProperty(_assertThisInitialized(_this), "type", 'CanvasLayer');
33
33
 
34
+ _defineProperty(_assertThisInitialized(_this), "forceRender", true);
35
+
34
36
  return _this;
35
37
  }
36
38
 
@@ -44,7 +46,9 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
44
46
  this.layerModel.initModels(function (models) {
45
47
  _this2.models = models;
46
48
 
47
- _this2.renderLayers();
49
+ _this2.emit('modelLoaded', null);
50
+
51
+ _this2.layerService.throttleRenderLayers();
48
52
  });
49
53
  }
50
54
  }, {
@@ -53,8 +57,40 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
53
57
  var _this3 = this;
54
58
 
55
59
  this.layerModel.buildModels(function (models) {
56
- return _this3.models = models;
60
+ _this3.models = models;
61
+
62
+ _this3.emit('modelLoaded', null);
63
+ });
64
+ }
65
+ }, {
66
+ key: "hide",
67
+ value: function hide() {
68
+ var _this$layerModel;
69
+
70
+ // 清除画布
71
+ this.layerModel.clearCanvas && ((_this$layerModel = this.layerModel) === null || _this$layerModel === void 0 ? void 0 : _this$layerModel.clearCanvas());
72
+ this.updateLayerConfig({
73
+ visible: false
74
+ });
75
+ this.reRender();
76
+ return this;
77
+ }
78
+ }, {
79
+ key: "renderModels",
80
+ value: function renderModels() {
81
+ var _this$layerModel2,
82
+ _this4 = this;
83
+
84
+ if (this !== null && this !== void 0 && (_this$layerModel2 = this.layerModel) !== null && _this$layerModel2 !== void 0 && _this$layerModel2.renderUpdate) {
85
+ this.layerModel.renderUpdate();
86
+ }
87
+
88
+ this.models.forEach(function (model) {
89
+ model.draw({
90
+ uniforms: _this4.layerModel.getUninforms()
91
+ }, false);
57
92
  });
93
+ return this;
58
94
  }
59
95
  }, {
60
96
  key: "getConfigSchema",
@@ -43,7 +43,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
43
43
  this.layerModel.initModels(function (models) {
44
44
  _this2.models = models;
45
45
 
46
- _this2.renderLayers();
46
+ _this2.emit('modelLoaded', null);
47
+
48
+ _this2.layerService.throttleRenderLayers();
47
49
  });
48
50
  }
49
51
  }, {
@@ -52,7 +54,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
52
54
  var _this3 = this;
53
55
 
54
56
  this.layerModel.buildModels(function (models) {
55
- return _this3.models = models;
57
+ _this3.models = models;
58
+
59
+ _this3.emit('modelLoaded', null);
56
60
  });
57
61
  }
58
62
  }, {
@@ -154,7 +154,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
154
154
  type: gl.FLOAT
155
155
  },
156
156
  size: 1,
157
- update: function update(feature, featureIdx, vertex, attributeIdx) {
157
+ update: function update(feature) {
158
158
  var _feature$size = feature.size,
159
159
  size = _feature$size === void 0 ? 10 : _feature$size;
160
160
  return Array.isArray(size) ? [size[0]] : [size];
@@ -173,8 +173,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
173
173
  type: gl.FLOAT
174
174
  },
175
175
  size: 2,
176
- update: function update(feature, featureIdx, vertex, attributeIdx) {
177
- var size = feature.size;
176
+ update: function update(feature, featureIdx, vertex) {
178
177
  return [vertex[3], vertex[4]];
179
178
  }
180
179
  }
@@ -17,6 +17,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
17
17
  selectedFeatureID: number | null;
18
18
  styleNeedUpdate: boolean;
19
19
  rendering: boolean;
20
+ forceRender: boolean;
20
21
  clusterZoom: number;
21
22
  layerType?: string | undefined;
22
23
  triangulation?: Triangulation | undefined;
@@ -76,16 +77,22 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
76
77
  /**
77
78
  * 图层容器
78
79
  */
79
- private container;
80
+ protected container: Container;
80
81
  private encodedData;
81
82
  private configSchema;
82
83
  private currentPickId;
83
- private rawConfig;
84
+ protected rawConfig: Partial<ILayerConfig & ChildLayerStyleOptions>;
84
85
  private needUpdateConfig;
85
86
  /**
86
87
  * 待更新样式属性,在初始化阶段完成注册
87
88
  */
88
- private pendingStyleAttributes;
89
+ protected pendingStyleAttributes: Array<{
90
+ attributeName: string;
91
+ attributeField: StyleAttributeField;
92
+ attributeValues?: StyleAttributeOption;
93
+ defaultName?: string;
94
+ updateOptions?: Partial<IStyleAttributeUpdateOptions>;
95
+ }>;
89
96
  private scaleOptions;
90
97
  private animateStartTime;
91
98
  private aniamateStatus;
@@ -176,6 +183,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
176
183
  setSource(source: Source): void;
177
184
  getSource(): Source;
178
185
  getScaleOptions(): IScaleOptions;
186
+ encodeDataLength: number;
179
187
  setEncodedData(encodedData: IEncodeFeature[]): void;
180
188
  getEncodedData(): IEncodeFeature[];
181
189
  getScale(name: string): any;
@@ -206,7 +214,10 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
206
214
  protected getConfigSchema(): void;
207
215
  protected getModelType(): unknown;
208
216
  protected getDefaultConfig(): {};
209
- private sourceEvent;
210
- private reRender;
211
- private splitValuesAndCallbackInAttribute;
217
+ protected sourceEvent: () => void;
218
+ protected reRender(): void;
219
+ protected splitValuesAndCallbackInAttribute(valuesOrCallback?: unknown[], defaultValues?: unknown[]): {
220
+ values: unknown[] | undefined;
221
+ callback: (unknown[] & ((...args: any[]) => any)) | undefined;
222
+ };
212
223
  }
@@ -52,13 +52,13 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
52
52
 
53
53
  // 生命周期钩子
54
54
  // 待渲染 model 列表
55
- // TODO: 用于保存子图层对象
55
+ // 用于保存子图层对象
56
56
  // Tip: 用于标识矢量图层
57
57
 
58
58
  /**
59
59
  * 待更新样式属性,在初始化阶段完成注册
60
60
  */
61
- // TODO: layer 保底颜色
61
+ // Tip: layer 保底颜色
62
62
  // private pickingPassRender: IPass<'pixelPicking'>;
63
63
  function BaseLayer() {
64
64
  var _this;
@@ -87,8 +87,19 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
87
87
 
88
88
  _defineProperty(_assertThisInitialized(_this), "styleNeedUpdate", false);
89
89
 
90
+ _defineProperty(_assertThisInitialized(_this), "forceRender", false);
91
+
90
92
  _defineProperty(_assertThisInitialized(_this), "clusterZoom", 0);
91
93
 
94
+ _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
95
+ data: [],
96
+ options: {
97
+ parser: {
98
+ type: 'json'
99
+ }
100
+ }
101
+ });
102
+
92
103
  _defineProperty(_assertThisInitialized(_this), "dataState", {
93
104
  dataSourceNeedUpdate: false,
94
105
  dataMappingNeedUpdate: false,
@@ -139,6 +150,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
139
150
 
140
151
  _defineProperty(_assertThisInitialized(_this), "isDestroied", false);
141
152
 
153
+ _defineProperty(_assertThisInitialized(_this), "encodeDataLength", 0);
154
+
142
155
  _defineProperty(_assertThisInitialized(_this), "sourceEvent", function () {
143
156
  _this.dataState.dataSourceNeedUpdate = true;
144
157
 
@@ -146,9 +159,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
146
159
 
147
160
  if (layerConfig && layerConfig.autoFit) {
148
161
  _this.fitBounds(layerConfig.fitBoundsOptions);
149
- } // 对外暴露事件 迁移到 DataMappingPlugin generateMapping,保证在重新重新映射后触发
150
- // this.emit('dataUpdate');
151
-
162
+ }
152
163
 
153
164
  _this.reRender();
154
165
  });
@@ -413,15 +424,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
413
424
  }, {
414
425
  key: "color",
415
426
  value: function color(field, values, updateOptions) {
416
- // 设置 color、size、shape、style 时由于场景服务尚未完成(并没有调用 scene.addLayer),因此暂时加入待更新属性列表
417
- this.updateStyleAttribute('color', field, values, updateOptions); // this.pendingStyleAttributes.push({
418
- // attributeName: 'color',
419
- // attributeField: field,
420
- // attributeValues: values,
421
- // defaultName: 'colors',
422
- // updateOptions,
423
- // });
424
-
427
+ this.updateStyleAttribute('color', field, values, updateOptions);
425
428
  return this;
426
429
  } // 为对应的图层传入纹理的编号名称(point/image 在 shape 方法中传入纹理名称的方法并不通用)
427
430
 
@@ -461,7 +464,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
461
464
  field: field,
462
465
  values: values
463
466
  };
464
- this.updateStyleAttribute('shape', field, values, updateOptions); // TODO: 根据 shape 判断是否需要更新 model
467
+ this.updateStyleAttribute('shape', field, values, updateOptions); // Tip: 根据 shape 判断是否需要更新 model
465
468
 
466
469
  if (!this.tileLayer) {
467
470
  updateShape(this, lastShape, currentShape);
@@ -602,17 +605,15 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
602
605
  }, {
603
606
  key: "render",
604
607
  value: function render() {
605
- if (this.tileLayer !== undefined) {
608
+ if (this.tileLayer) {
606
609
  // 瓦片图层执行单独的 render 渲染队列
607
610
  this.tileLayer.render();
608
611
  return this;
609
- } // TODO: this.getEncodedData().length !== 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
610
-
611
-
612
- if (this.getEncodedData() && this.getEncodedData().length !== 0) {
613
- this.renderModels();
614
612
  }
615
613
 
614
+ if (this.encodeDataLength <= 0 && !this.forceRender) return this; // Tip: this.getEncodedData().length !== 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
615
+
616
+ this.renderModels();
616
617
  return this;
617
618
  }
618
619
  /**
@@ -627,24 +628,27 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
627
628
  while (1) {
628
629
  switch (_context.prev = _context.next) {
629
630
  case 0:
630
- if (!(this.getEncodedData() && this.getEncodedData().length !== 0)) {
631
- _context.next = 7;
631
+ if (!(this.encodeDataLength <= 0 && !this.forceRender)) {
632
+ _context.next = 2;
632
633
  break;
633
634
  }
634
635
 
636
+ return _context.abrupt("return");
637
+
638
+ case 2:
635
639
  if (!(this.multiPassRenderer && this.multiPassRenderer.getRenderFlag())) {
636
- _context.next = 6;
640
+ _context.next = 7;
637
641
  break;
638
642
  }
639
643
 
640
- _context.next = 4;
644
+ _context.next = 5;
641
645
  return this.multiPassRenderer.render();
642
646
 
643
- case 4:
644
- _context.next = 7;
647
+ case 5:
648
+ _context.next = 8;
645
649
  break;
646
650
 
647
- case 6:
651
+ case 7:
648
652
  if (this.multiPassRenderer) {
649
653
  // renderPass 触发的渲染
650
654
  this.renderModels();
@@ -652,7 +656,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
652
656
  this.renderModels();
653
657
  }
654
658
 
655
- case 7:
659
+ case 8:
656
660
  case "end":
657
661
  return _context.stop();
658
662
  }
@@ -798,11 +802,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
798
802
  }, {
799
803
  key: "hide",
800
804
  value: function hide() {
801
- if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
802
- // 对 canvasLayer 的 hide 操作做特殊处理
803
- this.layerModel.clearCanvas();
804
- }
805
-
806
805
  this.updateLayerConfig({
807
806
  visible: false
808
807
  });
@@ -958,7 +957,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
958
957
  }, {
959
958
  key: "destroy",
960
959
  value: function destroy() {
961
- var _this$layerModel2;
960
+ var _this$multiPassRender, _this$layerModel2;
962
961
 
963
962
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
964
963
 
@@ -968,25 +967,24 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
968
967
 
969
968
 
970
969
  this.layerChildren.map(function (child) {
971
- return child.destroy();
970
+ return child.destroy(false);
972
971
  });
973
972
  this.layerChildren = []; // remove mask list
974
973
 
975
974
  this.masks.map(function (mask) {
976
- return mask.destroy();
975
+ return mask.destroy(false);
977
976
  });
978
977
  this.masks = [];
979
978
  this.hooks.beforeDestroy.call(); // 清除sources事件
980
979
 
981
980
  this.layerSource.off('sourceUpdate', this.sourceEvent);
982
- this.multiPassRenderer.destroy(); // console.log(this.styleAttributeService.getAttributes())
983
- // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
981
+ (_this$multiPassRender = this.multiPassRenderer) === null || _this$multiPassRender === void 0 ? void 0 : _this$multiPassRender.destroy(); // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
984
982
 
985
983
  this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
986
984
 
987
- this.hooks.afterDestroy.call(); // TODO: 清除各个图层自定义的 models 资源
985
+ this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
988
986
 
989
- (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels();
987
+ (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
990
988
  this.models = [];
991
989
  this.layerService.cleanRemove(this, refresh);
992
990
  this.emit('remove', {
@@ -1067,6 +1065,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1067
1065
  key: "setEncodedData",
1068
1066
  value: function setEncodedData(encodedData) {
1069
1067
  this.encodedData = encodedData;
1068
+ this.encodeDataLength = encodedData.length;
1070
1069
  }
1071
1070
  }, {
1072
1071
  key: "getEncodedData",
@@ -1161,45 +1160,47 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1161
1160
 
1162
1161
  var createModel = this.rendererService.createModel;
1163
1162
  return new Promise(function (resolve, reject) {
1164
- // filter supported worker & worker enabled layer
1165
- if (workerOptions && workerOptions.modelType in WorkerSourceMap && workerEnabled) {
1166
- _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1167
- var attributes = _ref7.attributes,
1168
- elements = _ref7.elements;
1169
- var m = createModel(_objectSpread({
1163
+ setTimeout(function () {
1164
+ // filter supported worker & worker enabled layer
1165
+ if (workerOptions && workerOptions.modelType in WorkerSourceMap && workerEnabled) {
1166
+ _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1167
+ var attributes = _ref7.attributes,
1168
+ elements = _ref7.elements;
1169
+ var m = createModel(_objectSpread({
1170
+ attributes: attributes,
1171
+ uniforms: uniforms,
1172
+ fs: fs,
1173
+ vs: vs,
1174
+ elements: elements,
1175
+ blend: BlendTypes[BlendType.normal]
1176
+ }, rest));
1177
+ resolve(m);
1178
+ }).catch(function (err) {
1179
+ return reject(err);
1180
+ });
1181
+ } else {
1182
+ var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
1183
+ attributes = _this9$styleAttribute.attributes,
1184
+ elements = _this9$styleAttribute.elements,
1185
+ count = _this9$styleAttribute.count;
1186
+
1187
+ var modeloptions = _objectSpread({
1170
1188
  attributes: attributes,
1171
1189
  uniforms: uniforms,
1172
1190
  fs: fs,
1173
1191
  vs: vs,
1174
1192
  elements: elements,
1175
1193
  blend: BlendTypes[BlendType.normal]
1176
- }, rest));
1194
+ }, rest);
1195
+
1196
+ if (count) {
1197
+ modeloptions.count = count;
1198
+ }
1199
+
1200
+ var m = createModel(modeloptions);
1177
1201
  resolve(m);
1178
- }).catch(function (err) {
1179
- return reject(err);
1180
- });
1181
- } else {
1182
- var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
1183
- attributes = _this9$styleAttribute.attributes,
1184
- elements = _this9$styleAttribute.elements,
1185
- count = _this9$styleAttribute.count;
1186
-
1187
- var modeloptions = _objectSpread({
1188
- attributes: attributes,
1189
- uniforms: uniforms,
1190
- fs: fs,
1191
- vs: vs,
1192
- elements: elements,
1193
- blend: BlendTypes[BlendType.normal]
1194
- }, rest);
1195
-
1196
- if (count) {
1197
- modeloptions.count = count;
1198
1202
  }
1199
-
1200
- var m = createModel(modeloptions);
1201
- resolve(m);
1202
- }
1203
+ });
1203
1204
  });
1204
1205
  }
1205
1206
  }, {
@@ -1243,6 +1244,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1243
1244
  }, {
1244
1245
  key: "needPick",
1245
1246
  value: function needPick(type) {
1247
+ // 地图图层的判断
1248
+ if (this.rawConfig.usage === 'basemap') return false;
1249
+
1246
1250
  var _this$getLayerConfig10 = this.getLayerConfig(),
1247
1251
  _this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
1248
1252
  enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
@@ -1303,30 +1307,23 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1303
1307
  var _this10 = this;
1304
1308
 
1305
1309
  // TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
1306
- if (this.getEncodedData() && this.getEncodedData().length > 0) {
1307
- var _this$layerModel4;
1310
+ if (this.encodeDataLength <= 0 && !this.forceRender) return this;
1308
1311
 
1309
- if (this.layerModelNeedUpdate && this.layerModel) {
1310
- this.layerModel.buildModels(function (models) {
1311
- _this10.models = models;
1312
-
1313
- _this10.hooks.beforeRender.call();
1314
-
1315
- _this10.layerModelNeedUpdate = false;
1316
- });
1317
- }
1312
+ if (this.layerModelNeedUpdate && this.layerModel) {
1313
+ this.layerModel.buildModels(function (models) {
1314
+ _this10.models = models;
1318
1315
 
1319
- if (this !== null && this !== void 0 && (_this$layerModel4 = this.layerModel) !== null && _this$layerModel4 !== void 0 && _this$layerModel4.renderUpdate) {
1320
- this.layerModel.renderUpdate();
1321
- }
1316
+ _this10.hooks.beforeRender.call();
1322
1317
 
1323
- this.models.forEach(function (model) {
1324
- model.draw({
1325
- uniforms: _this10.layerModel.getUninforms()
1326
- }, isPicking);
1318
+ _this10.layerModelNeedUpdate = false;
1327
1319
  });
1328
1320
  }
1329
1321
 
1322
+ this.models.forEach(function (model) {
1323
+ model.draw({
1324
+ uniforms: _this10.layerModel.getUninforms()
1325
+ }, isPicking);
1326
+ });
1330
1327
  return this;
1331
1328
  }
1332
1329
  }, {
@@ -1360,6 +1357,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1360
1357
  * 继承空方法
1361
1358
  * @param time
1362
1359
  */
1360
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1363
1361
 
1364
1362
  }, {
1365
1363
  key: "setEarthTime",
@@ -1384,10 +1382,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
1384
1382
  }, {
1385
1383
  key: "reRender",
1386
1384
  value: function reRender() {
1387
- if (this.inited) {
1388
- this.layerService.updateLayerRenderList();
1389
- this.layerService.renderLayers();
1390
- }
1385
+ this.inited && this.layerService.reRender();
1391
1386
  }
1392
1387
  }, {
1393
1388
  key: "splitValuesAndCallbackInAttribute",
@@ -126,7 +126,7 @@ export default class BaseModel<ChildLayerStyleOptions = {}> implements ILayerMod
126
126
  needUpdate(): boolean;
127
127
  buildModels(callbackModel: (models: IModel[]) => void): void;
128
128
  initModels(callbackModel: (models: IModel[]) => void): void;
129
- clearModels(): void;
129
+ clearModels(refresh?: boolean): void;
130
130
  getAttribute(): {
131
131
  attributes: {
132
132
  [attributeName: string]: IAttribute;