@antv/l7-layers 2.9.20 → 2.9.22

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 (708) hide show
  1. package/es/Geometry/index.js +4 -5
  2. package/es/Geometry/models/billboard.js +23 -9
  3. package/es/Geometry/models/index.js +4 -5
  4. package/es/Geometry/models/plane.js +25 -13
  5. package/es/Geometry/models/sprite.js +11 -21
  6. package/es/Geometry/shaders/billboard_frag.glsl +13 -0
  7. package/es/Geometry/shaders/billboard_vert.glsl +50 -0
  8. package/es/Geometry/shaders/plane_frag.glsl +22 -0
  9. package/es/Geometry/shaders/plane_vert.glsl +53 -0
  10. package/es/Geometry/shaders/sprite_frag.glsl +21 -0
  11. package/es/Geometry/shaders/sprite_vert.glsl +28 -0
  12. package/es/canvas/index.js +4 -5
  13. package/es/canvas/models/canvas.js +6 -12
  14. package/es/canvas/models/index.js +2 -3
  15. package/es/citybuliding/building.js +4 -5
  16. package/es/citybuliding/models/build.js +19 -22
  17. package/es/citybuliding/shaders/build_frag.glsl +117 -0
  18. package/es/citybuliding/shaders/build_vert.glsl +54 -0
  19. package/es/core/BaseLayer.js +205 -157
  20. package/es/core/BaseModel.js +135 -76
  21. package/es/core/interface.d.ts +11 -1
  22. package/es/core/interface.js +15 -2
  23. package/es/core/schema.js +4 -2
  24. package/es/core/shape/Path.js +8 -3
  25. package/es/core/shape/extrude.js +9 -4
  26. package/es/core/triangulation.js +89 -17
  27. package/es/earth/index.js +11 -7
  28. package/es/earth/models/atmosphere.js +15 -7
  29. package/es/earth/models/base.js +19 -7
  30. package/es/earth/models/bloomsphere.js +15 -7
  31. package/es/earth/shaders/atmosphere_frag.glsl +17 -0
  32. package/es/earth/shaders/atmosphere_vert.glsl +26 -0
  33. package/es/earth/shaders/base_frag.glsl +13 -0
  34. package/es/earth/shaders/base_vert.glsl +52 -0
  35. package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
  36. package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
  37. package/es/earth/utils.js +28 -5
  38. package/es/heatmap/index.js +8 -7
  39. package/es/heatmap/models/grid.js +11 -5
  40. package/es/heatmap/models/grid3d.js +18 -7
  41. package/es/heatmap/models/heatmap.js +45 -44
  42. package/es/heatmap/models/hexagon.js +14 -6
  43. package/es/heatmap/models/index.js +5 -6
  44. package/es/heatmap/shaders/grid_vert.glsl +42 -0
  45. package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  46. package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  47. package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
  48. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  49. package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  50. package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
  51. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  52. package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  53. package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
  54. package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
  55. package/es/heatmap/triangulation.js +2 -2
  56. package/es/image/index.js +4 -5
  57. package/es/image/models/dataImage.js +21 -31
  58. package/es/image/models/image.js +19 -25
  59. package/es/image/models/index.js +3 -4
  60. package/es/image/shaders/dataImage_frag.glsl +38 -0
  61. package/es/image/shaders/image_frag.glsl +9 -0
  62. package/es/image/shaders/image_vert.glsl +17 -0
  63. package/es/index.d.ts +2 -2
  64. package/es/index.js +92 -30
  65. package/es/line/index.js +4 -5
  66. package/es/line/models/arc.js +38 -15
  67. package/es/line/models/arc_3d.js +33 -14
  68. package/es/line/models/earthArc_3d.js +33 -14
  69. package/es/line/models/great_circle.js +25 -13
  70. package/es/line/models/half.js +33 -12
  71. package/es/line/models/index.js +12 -13
  72. package/es/line/models/line.js +57 -17
  73. package/es/line/models/linearline.js +32 -14
  74. package/es/line/models/simpleLine.js +26 -11
  75. package/es/line/models/tile.js +28 -10
  76. package/es/line/models/wall.js +30 -13
  77. package/es/line/shaders/arc_chunks.vert.glsl +21 -0
  78. package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
  79. package/es/line/shaders/dash/arc_dash_vert.glsl +148 -0
  80. package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
  81. package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
  82. package/es/line/shaders/half/line_half_frag.glsl +53 -0
  83. package/es/line/shaders/half/line_half_vert.glsl +169 -0
  84. package/es/line/shaders/line_arc2d_vert.glsl +114 -0
  85. package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
  86. package/es/line/shaders/line_arc_3d_vert.glsl +207 -0
  87. package/es/line/shaders/line_arc_frag.glsl +89 -0
  88. package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  89. package/es/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  90. package/es/line/shaders/line_arc_vert.glsl +174 -0
  91. package/es/line/shaders/line_bezier_vert.glsl +85 -0
  92. package/es/line/shaders/line_frag.glsl +100 -0
  93. package/es/line/shaders/line_vert.glsl +192 -0
  94. package/es/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  95. package/es/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  96. package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
  97. package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
  98. package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
  99. package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  100. package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  101. package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
  102. package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  103. package/es/line/shaders/simple/simpleline_vert.glsl +78 -0
  104. package/es/line/shaders/tile/line_tile_frag.glsl +79 -0
  105. package/es/line/shaders/tile/line_tile_vert.glsl +210 -0
  106. package/es/line/shaders/wall_frag.glsl +93 -0
  107. package/es/line/shaders/wall_vert.glsl +111 -0
  108. package/es/mask/index.js +4 -5
  109. package/es/mask/models/fill.js +11 -8
  110. package/es/mask/models/index.js +2 -3
  111. package/es/mask/shaders/mask_frag.glsl +7 -0
  112. package/es/mask/shaders/mask_vert.glsl +22 -0
  113. package/es/plugins/DataMappingPlugin.js +71 -34
  114. package/es/plugins/DataSourcePlugin.js +12 -10
  115. package/es/plugins/FeatureScalePlugin.js +44 -24
  116. package/es/plugins/LayerAnimateStylePlugin.js +6 -7
  117. package/es/plugins/LayerModelPlugin.js +16 -7
  118. package/es/plugins/LayerStylePlugin.js +7 -3
  119. package/es/plugins/LightingPlugin.js +21 -13
  120. package/es/plugins/MultiPassRendererPlugin.js +21 -8
  121. package/es/plugins/PixelPickingPlugin.js +33 -11
  122. package/es/plugins/RegisterStyleAttributePlugin.js +10 -3
  123. package/es/plugins/ShaderUniformPlugin.js +24 -10
  124. package/es/plugins/UpdateModelPlugin.js +7 -3
  125. package/es/plugins/UpdateStyleAttributePlugin.js +20 -7
  126. package/es/point/index.js +12 -6
  127. package/es/point/models/earthExtrude.js +30 -12
  128. package/es/point/models/earthFill.js +25 -13
  129. package/es/point/models/extrude.js +30 -12
  130. package/es/point/models/fill.js +50 -15
  131. package/es/point/models/fillmage.js +46 -17
  132. package/es/point/models/image.js +20 -12
  133. package/es/point/models/index.js +14 -14
  134. package/es/point/models/normal.js +15 -7
  135. package/es/point/models/radar.js +33 -13
  136. package/es/point/models/simplePoint.js +17 -9
  137. package/es/point/models/text.js +77 -30
  138. package/es/point/models/tile.js +33 -12
  139. package/es/point/shaders/animate/wave_frag.glsl +65 -0
  140. package/es/point/shaders/earth/extrude_frag.glsl +44 -0
  141. package/es/point/shaders/earth/extrude_vert.glsl +140 -0
  142. package/es/point/shaders/earth/fill_frag.glsl +86 -0
  143. package/es/point/shaders/earth/fill_vert.glsl +126 -0
  144. package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
  145. package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
  146. package/es/point/shaders/fill_frag.glsl +84 -0
  147. package/es/point/shaders/fill_vert.glsl +182 -0
  148. package/es/point/shaders/image/fillImage_frag.glsl +20 -0
  149. package/es/point/shaders/image/fillImage_vert.glsl +108 -0
  150. package/es/point/shaders/image_frag.glsl +39 -0
  151. package/es/point/shaders/image_vert.glsl +81 -0
  152. package/es/point/shaders/normal_frag.glsl +15 -0
  153. package/es/point/shaders/normal_vert.glsl +79 -0
  154. package/es/point/shaders/radar/radar_frag.glsl +64 -0
  155. package/es/point/shaders/radar/radar_vert.glsl +120 -0
  156. package/es/point/shaders/simplePoint_frag.glsl +53 -0
  157. package/es/point/shaders/simplePoint_vert.glsl +79 -0
  158. package/es/point/shaders/text_frag.glsl +48 -0
  159. package/es/point/shaders/text_vert.glsl +131 -0
  160. package/es/point/shaders/tile/fill_tile_frag.glsl +83 -0
  161. package/es/point/shaders/tile/fill_tile_vert.glsl +181 -0
  162. package/es/point/shape/extrude.js +8 -3
  163. package/es/polygon/index.js +6 -5
  164. package/es/polygon/models/extrude.js +40 -31
  165. package/es/polygon/models/fill.js +19 -8
  166. package/es/polygon/models/index.js +14 -14
  167. package/es/polygon/models/ocean.js +25 -33
  168. package/es/polygon/models/tile.js +13 -7
  169. package/es/polygon/models/water.js +21 -25
  170. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  171. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  172. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  173. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  174. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  175. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  176. package/es/polygon/shaders/polygon_frag.glsl +12 -0
  177. package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
  178. package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
  179. package/es/polygon/shaders/polygon_vert.glsl +66 -0
  180. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  181. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  182. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  183. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  184. package/es/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  185. package/es/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  186. package/es/raster/buffers/triangulation.js +2 -2
  187. package/es/raster/index.js +7 -6
  188. package/es/raster/models/index.js +3 -4
  189. package/es/raster/models/raster.js +15 -25
  190. package/es/raster/raster.js +9 -13
  191. package/es/raster/shaders/raster_2d_frag.glsl +28 -0
  192. package/es/raster/shaders/raster_2d_vert.glsl +18 -0
  193. package/es/raster/shaders/raster_frag.glsl +9 -0
  194. package/es/raster/shaders/raster_vert.glsl +44 -0
  195. package/es/tile/interface.js +1 -2
  196. package/es/tile/manager/tileConfigManager.js +6 -8
  197. package/es/tile/manager/tileLayerManager.js +19 -30
  198. package/es/tile/manager/tilePickerManager.js +14 -14
  199. package/es/tile/models/tileModel.js +6 -6
  200. package/es/tile/tileFactory/base.js +26 -32
  201. package/es/tile/tileFactory/index.js +6 -7
  202. package/es/tile/tileFactory/line.js +3 -9
  203. package/es/tile/tileFactory/point.js +3 -9
  204. package/es/tile/tileFactory/polygon.js +3 -9
  205. package/es/tile/tileFactory/raster.js +4 -10
  206. package/es/tile/tileFactory/rasterData.js +5 -11
  207. package/es/tile/tileFactory/rasterDataLayer.js +4 -5
  208. package/es/tile/tileFactory/vectorLayer.js +8 -9
  209. package/es/tile/tileLayer/baseTileLayer.js +67 -39
  210. package/es/tile/tmsTileLayer.js +5 -4
  211. package/es/tile/utils.js +5 -3
  212. package/es/utils/blend.js +1 -2
  213. package/es/utils/collision-index.js +36 -21
  214. package/es/utils/dataMappingStyle.js +71 -15
  215. package/es/utils/extrude_polyline.js +90 -48
  216. package/es/utils/grid-index.js +7 -21
  217. package/es/utils/layerData.js +41 -17
  218. package/es/utils/multiPassRender.js +21 -5
  219. package/es/utils/polylineNormal.js +40 -20
  220. package/es/utils/simpleLine.js +4 -6
  221. package/es/utils/symbol-layout.js +49 -10
  222. package/es/utils/updateShape.js +6 -3
  223. package/es/wind/index.js +5 -6
  224. package/es/wind/models/index.js +2 -3
  225. package/es/wind/models/utils.js +50 -26
  226. package/es/wind/models/wind.js +15 -18
  227. package/es/wind/models/windRender.js +89 -78
  228. package/es/wind/models/windShader.d.ts +6 -6
  229. package/es/wind/models/windShader.js +12 -7
  230. package/es/wind/shaders/wind_frag.glsl +9 -0
  231. package/es/wind/shaders/wind_vert.glsl +17 -0
  232. package/lib/Geometry/index.js +77 -115
  233. package/lib/Geometry/models/billboard.js +181 -218
  234. package/lib/Geometry/models/index.js +34 -19
  235. package/lib/Geometry/models/plane.js +278 -394
  236. package/lib/Geometry/models/sprite.js +189 -294
  237. package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
  238. package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
  239. package/lib/Geometry/shaders/plane_frag.glsl +22 -0
  240. package/lib/Geometry/shaders/plane_vert.glsl +53 -0
  241. package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
  242. package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
  243. package/lib/canvas/index.js +66 -102
  244. package/lib/canvas/models/canvas.js +140 -210
  245. package/lib/canvas/models/index.js +30 -13
  246. package/lib/citybuliding/building.js +63 -99
  247. package/lib/citybuliding/models/build.js +146 -196
  248. package/lib/citybuliding/shaders/build_frag.glsl +117 -0
  249. package/lib/citybuliding/shaders/build_vert.glsl +54 -0
  250. package/lib/core/BaseLayer.js +807 -1245
  251. package/lib/core/BaseModel.js +275 -375
  252. package/lib/core/interface.js +52 -20
  253. package/lib/core/schema.js +39 -18
  254. package/lib/core/shape/Path.js +78 -60
  255. package/lib/core/shape/extrude.js +90 -127
  256. package/lib/core/triangulation.js +191 -304
  257. package/lib/earth/index.js +62 -96
  258. package/lib/earth/models/atmosphere.js +112 -139
  259. package/lib/earth/models/base.js +150 -198
  260. package/lib/earth/models/bloomsphere.js +112 -139
  261. package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
  262. package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
  263. package/lib/earth/shaders/base_frag.glsl +13 -0
  264. package/lib/earth/shaders/base_vert.glsl +52 -0
  265. package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
  266. package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
  267. package/lib/earth/utils.js +89 -85
  268. package/lib/heatmap/index.js +92 -148
  269. package/lib/heatmap/models/grid.js +91 -113
  270. package/lib/heatmap/models/grid3d.js +123 -145
  271. package/lib/heatmap/models/heatmap.js +338 -470
  272. package/lib/heatmap/models/hexagon.js +92 -114
  273. package/lib/heatmap/models/index.js +37 -23
  274. package/lib/heatmap/shaders/grid_vert.glsl +42 -0
  275. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  276. package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  277. package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
  278. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  279. package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  280. package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
  281. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  282. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  283. package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
  284. package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
  285. package/lib/heatmap/triangulation.js +46 -30
  286. package/lib/image/index.js +74 -112
  287. package/lib/image/models/dataImage.js +173 -241
  288. package/lib/image/models/image.js +123 -177
  289. package/lib/image/models/index.js +32 -16
  290. package/lib/image/shaders/dataImage_frag.glsl +38 -0
  291. package/lib/image/shaders/image_frag.glsl +9 -0
  292. package/lib/image/shaders/image_vert.glsl +17 -0
  293. package/lib/index.js +96 -193
  294. package/lib/line/index.js +83 -128
  295. package/lib/line/models/arc.js +237 -328
  296. package/lib/line/models/arc_3d.js +228 -314
  297. package/lib/line/models/earthArc_3d.js +228 -316
  298. package/lib/line/models/great_circle.js +200 -279
  299. package/lib/line/models/half.js +201 -266
  300. package/lib/line/models/index.js +50 -43
  301. package/lib/line/models/line.js +299 -386
  302. package/lib/line/models/linearline.js +203 -258
  303. package/lib/line/models/simpleLine.js +175 -225
  304. package/lib/line/models/tile.js +237 -330
  305. package/lib/line/models/wall.js +235 -310
  306. package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
  307. package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
  308. package/lib/line/shaders/dash/arc_dash_vert.glsl +148 -0
  309. package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
  310. package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
  311. package/lib/line/shaders/half/line_half_frag.glsl +53 -0
  312. package/lib/line/shaders/half/line_half_vert.glsl +169 -0
  313. package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
  314. package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
  315. package/lib/line/shaders/line_arc_3d_vert.glsl +207 -0
  316. package/lib/line/shaders/line_arc_frag.glsl +89 -0
  317. package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  318. package/lib/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  319. package/lib/line/shaders/line_arc_vert.glsl +174 -0
  320. package/lib/line/shaders/line_bezier_vert.glsl +85 -0
  321. package/lib/line/shaders/line_frag.glsl +100 -0
  322. package/lib/line/shaders/line_vert.glsl +192 -0
  323. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  324. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  325. package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
  326. package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
  327. package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
  328. package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  329. package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  330. package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
  331. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  332. package/lib/line/shaders/simple/simpleline_vert.glsl +78 -0
  333. package/lib/line/shaders/tile/line_tile_frag.glsl +79 -0
  334. package/lib/line/shaders/tile/line_tile_vert.glsl +210 -0
  335. package/lib/line/shaders/wall_frag.glsl +93 -0
  336. package/lib/line/shaders/wall_vert.glsl +111 -0
  337. package/lib/mask/index.js +59 -93
  338. package/lib/mask/models/fill.js +82 -132
  339. package/lib/mask/models/index.js +30 -13
  340. package/lib/mask/shaders/mask_frag.glsl +7 -0
  341. package/lib/mask/shaders/mask_vert.glsl +22 -0
  342. package/lib/plugins/DataMappingPlugin.js +222 -304
  343. package/lib/plugins/DataSourcePlugin.js +87 -100
  344. package/lib/plugins/FeatureScalePlugin.js +239 -310
  345. package/lib/plugins/LayerAnimateStylePlugin.js +55 -61
  346. package/lib/plugins/LayerModelPlugin.js +72 -70
  347. package/lib/plugins/LayerStylePlugin.js +51 -44
  348. package/lib/plugins/LightingPlugin.js +68 -72
  349. package/lib/plugins/MultiPassRendererPlugin.js +65 -77
  350. package/lib/plugins/PixelPickingPlugin.js +109 -128
  351. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -103
  352. package/lib/plugins/ShaderUniformPlugin.js +98 -103
  353. package/lib/plugins/UpdateModelPlugin.js +47 -36
  354. package/lib/plugins/UpdateStyleAttributePlugin.js +75 -80
  355. package/lib/point/index.js +147 -216
  356. package/lib/point/models/earthExtrude.js +201 -262
  357. package/lib/point/models/earthFill.js +202 -276
  358. package/lib/point/models/extrude.js +203 -282
  359. package/lib/point/models/fill.js +273 -369
  360. package/lib/point/models/fillmage.js +250 -327
  361. package/lib/point/models/image.js +163 -226
  362. package/lib/point/models/index.js +52 -46
  363. package/lib/point/models/normal.js +134 -176
  364. package/lib/point/models/radar.js +212 -286
  365. package/lib/point/models/simplePoint.js +142 -187
  366. package/lib/point/models/text.js +385 -559
  367. package/lib/point/models/tile.js +223 -294
  368. package/lib/point/shaders/animate/wave_frag.glsl +65 -0
  369. package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
  370. package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
  371. package/lib/point/shaders/earth/fill_frag.glsl +86 -0
  372. package/lib/point/shaders/earth/fill_vert.glsl +126 -0
  373. package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
  374. package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
  375. package/lib/point/shaders/fill_frag.glsl +84 -0
  376. package/lib/point/shaders/fill_vert.glsl +182 -0
  377. package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
  378. package/lib/point/shaders/image/fillImage_vert.glsl +108 -0
  379. package/lib/point/shaders/image_frag.glsl +39 -0
  380. package/lib/point/shaders/image_vert.glsl +81 -0
  381. package/lib/point/shaders/normal_frag.glsl +15 -0
  382. package/lib/point/shaders/normal_vert.glsl +79 -0
  383. package/lib/point/shaders/radar/radar_frag.glsl +64 -0
  384. package/lib/point/shaders/radar/radar_vert.glsl +120 -0
  385. package/lib/point/shaders/simplePoint_frag.glsl +53 -0
  386. package/lib/point/shaders/simplePoint_vert.glsl +79 -0
  387. package/lib/point/shaders/text_frag.glsl +48 -0
  388. package/lib/point/shaders/text_vert.glsl +131 -0
  389. package/lib/point/shaders/tile/fill_tile_frag.glsl +83 -0
  390. package/lib/point/shaders/tile/fill_tile_vert.glsl +181 -0
  391. package/lib/point/shape/extrude.js +51 -51
  392. package/lib/polygon/index.js +100 -149
  393. package/lib/polygon/models/extrude.js +222 -303
  394. package/lib/polygon/models/fill.js +153 -205
  395. package/lib/polygon/models/index.js +52 -46
  396. package/lib/polygon/models/ocean.js +172 -251
  397. package/lib/polygon/models/tile.js +100 -139
  398. package/lib/polygon/models/water.js +152 -227
  399. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  400. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  401. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  402. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  403. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  404. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  405. package/lib/polygon/shaders/polygon_frag.glsl +12 -0
  406. package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
  407. package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
  408. package/lib/polygon/shaders/polygon_vert.glsl +66 -0
  409. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  410. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  411. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  412. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  413. package/lib/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  414. package/lib/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  415. package/lib/raster/buffers/triangulation.js +39 -26
  416. package/lib/raster/index.js +73 -111
  417. package/lib/raster/models/index.js +33 -17
  418. package/lib/raster/models/raster.js +134 -187
  419. package/lib/raster/raster.js +132 -189
  420. package/lib/raster/shaders/raster_2d_frag.glsl +28 -0
  421. package/lib/raster/shaders/raster_2d_vert.glsl +18 -0
  422. package/lib/raster/shaders/raster_frag.glsl +9 -0
  423. package/lib/raster/shaders/raster_vert.glsl +44 -0
  424. package/lib/tile/interface.js +17 -2
  425. package/lib/tile/manager/tileConfigManager.js +86 -126
  426. package/lib/tile/manager/tileLayerManager.js +227 -312
  427. package/lib/tile/manager/tilePickerManager.js +123 -187
  428. package/lib/tile/models/tileModel.js +51 -70
  429. package/lib/tile/tileFactory/base.js +292 -403
  430. package/lib/tile/tileFactory/index.js +48 -51
  431. package/lib/tile/tileFactory/line.js +50 -71
  432. package/lib/tile/tileFactory/point.js +50 -71
  433. package/lib/tile/tileFactory/polygon.js +50 -71
  434. package/lib/tile/tileFactory/raster.js +54 -72
  435. package/lib/tile/tileFactory/rasterData.js +76 -94
  436. package/lib/tile/tileFactory/rasterDataLayer.js +62 -98
  437. package/lib/tile/tileFactory/vectorLayer.js +95 -148
  438. package/lib/tile/tileLayer/baseTileLayer.js +220 -380
  439. package/lib/tile/tmsTileLayer.js +67 -109
  440. package/lib/tile/utils.js +86 -101
  441. package/lib/utils/blend.js +79 -60
  442. package/lib/utils/collision-index.js +63 -83
  443. package/lib/utils/dataMappingStyle.js +59 -56
  444. package/lib/utils/extrude_polyline.js +397 -554
  445. package/lib/utils/grid-index.js +111 -168
  446. package/lib/utils/layerData.js +88 -95
  447. package/lib/utils/multiPassRender.js +38 -31
  448. package/lib/utils/polylineNormal.js +86 -118
  449. package/lib/utils/simpleLine.js +85 -101
  450. package/lib/utils/symbol-layout.js +109 -173
  451. package/lib/utils/updateShape.js +40 -11
  452. package/lib/wind/index.js +71 -110
  453. package/lib/wind/models/index.js +30 -13
  454. package/lib/wind/models/utils.js +89 -104
  455. package/lib/wind/models/wind.js +224 -332
  456. package/lib/wind/models/windRender.js +215 -293
  457. package/lib/wind/models/windShader.js +181 -17
  458. package/lib/wind/shaders/wind_frag.glsl +9 -0
  459. package/lib/wind/shaders/wind_vert.glsl +17 -0
  460. package/package.json +11 -9
  461. package/es/Geometry/index.js.map +0 -1
  462. package/es/Geometry/models/billboard.js.map +0 -1
  463. package/es/Geometry/models/index.js.map +0 -1
  464. package/es/Geometry/models/plane.js.map +0 -1
  465. package/es/Geometry/models/sprite.js.map +0 -1
  466. package/es/canvas/index.js.map +0 -1
  467. package/es/canvas/models/canvas.js.map +0 -1
  468. package/es/canvas/models/index.js.map +0 -1
  469. package/es/citybuliding/building.js.map +0 -1
  470. package/es/citybuliding/models/build.js.map +0 -1
  471. package/es/core/BaseLayer.js.map +0 -1
  472. package/es/core/BaseModel.js.map +0 -1
  473. package/es/core/interface.js.map +0 -1
  474. package/es/core/schema.js.map +0 -1
  475. package/es/core/shape/Path.js.map +0 -1
  476. package/es/core/shape/extrude.js.map +0 -1
  477. package/es/core/triangulation.js.map +0 -1
  478. package/es/earth/index.js.map +0 -1
  479. package/es/earth/models/atmosphere.js.map +0 -1
  480. package/es/earth/models/base.js.map +0 -1
  481. package/es/earth/models/bloomsphere.js.map +0 -1
  482. package/es/earth/utils.js.map +0 -1
  483. package/es/glsl.d.js +0 -2
  484. package/es/glsl.d.js.map +0 -1
  485. package/es/heatmap/index.js.map +0 -1
  486. package/es/heatmap/models/grid.js.map +0 -1
  487. package/es/heatmap/models/grid3d.js.map +0 -1
  488. package/es/heatmap/models/heatmap.js.map +0 -1
  489. package/es/heatmap/models/hexagon.js.map +0 -1
  490. package/es/heatmap/models/index.js.map +0 -1
  491. package/es/heatmap/triangulation.js.map +0 -1
  492. package/es/image/index.js.map +0 -1
  493. package/es/image/models/dataImage.js.map +0 -1
  494. package/es/image/models/image.js.map +0 -1
  495. package/es/image/models/index.js.map +0 -1
  496. package/es/index.js.map +0 -1
  497. package/es/line/index.js.map +0 -1
  498. package/es/line/models/arc.js.map +0 -1
  499. package/es/line/models/arc_3d.js.map +0 -1
  500. package/es/line/models/earthArc_3d.js.map +0 -1
  501. package/es/line/models/great_circle.js.map +0 -1
  502. package/es/line/models/half.js.map +0 -1
  503. package/es/line/models/index.js.map +0 -1
  504. package/es/line/models/line.js.map +0 -1
  505. package/es/line/models/linearline.js.map +0 -1
  506. package/es/line/models/simpleLine.js.map +0 -1
  507. package/es/line/models/tile.js.map +0 -1
  508. package/es/line/models/wall.js.map +0 -1
  509. package/es/mask/index.js.map +0 -1
  510. package/es/mask/models/fill.js.map +0 -1
  511. package/es/mask/models/index.js.map +0 -1
  512. package/es/plugins/DataMappingPlugin.js.map +0 -1
  513. package/es/plugins/DataSourcePlugin.js.map +0 -1
  514. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  515. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  516. package/es/plugins/LayerModelPlugin.js.map +0 -1
  517. package/es/plugins/LayerStylePlugin.js.map +0 -1
  518. package/es/plugins/LightingPlugin.js.map +0 -1
  519. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  520. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  521. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  522. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  523. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  524. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  525. package/es/point/index.js.map +0 -1
  526. package/es/point/models/earthExtrude.js.map +0 -1
  527. package/es/point/models/earthFill.js.map +0 -1
  528. package/es/point/models/extrude.js.map +0 -1
  529. package/es/point/models/fill.js.map +0 -1
  530. package/es/point/models/fillmage.js.map +0 -1
  531. package/es/point/models/image.js.map +0 -1
  532. package/es/point/models/index.js.map +0 -1
  533. package/es/point/models/normal.js.map +0 -1
  534. package/es/point/models/radar.js.map +0 -1
  535. package/es/point/models/simplePoint.js.map +0 -1
  536. package/es/point/models/text.js.map +0 -1
  537. package/es/point/models/tile.js.map +0 -1
  538. package/es/point/shape/extrude.js.map +0 -1
  539. package/es/polygon/index.js.map +0 -1
  540. package/es/polygon/models/extrude.js.map +0 -1
  541. package/es/polygon/models/fill.js.map +0 -1
  542. package/es/polygon/models/index.js.map +0 -1
  543. package/es/polygon/models/ocean.js.map +0 -1
  544. package/es/polygon/models/tile.js.map +0 -1
  545. package/es/polygon/models/water.js.map +0 -1
  546. package/es/raster/buffers/triangulation.js.map +0 -1
  547. package/es/raster/index.js.map +0 -1
  548. package/es/raster/models/index.js.map +0 -1
  549. package/es/raster/models/raster.js.map +0 -1
  550. package/es/raster/raster.js.map +0 -1
  551. package/es/tile/interface.js.map +0 -1
  552. package/es/tile/manager/tileConfigManager.js.map +0 -1
  553. package/es/tile/manager/tileLayerManager.js.map +0 -1
  554. package/es/tile/manager/tilePickerManager.js.map +0 -1
  555. package/es/tile/models/tileModel.js.map +0 -1
  556. package/es/tile/tileFactory/base.js.map +0 -1
  557. package/es/tile/tileFactory/index.js.map +0 -1
  558. package/es/tile/tileFactory/line.js.map +0 -1
  559. package/es/tile/tileFactory/point.js.map +0 -1
  560. package/es/tile/tileFactory/polygon.js.map +0 -1
  561. package/es/tile/tileFactory/raster.js.map +0 -1
  562. package/es/tile/tileFactory/rasterData.js.map +0 -1
  563. package/es/tile/tileFactory/rasterDataLayer.js.map +0 -1
  564. package/es/tile/tileFactory/vectorLayer.js.map +0 -1
  565. package/es/tile/tileLayer/baseTileLayer.js.map +0 -1
  566. package/es/tile/tmsTileLayer.js.map +0 -1
  567. package/es/tile/utils.js.map +0 -1
  568. package/es/utils/blend.js.map +0 -1
  569. package/es/utils/collision-index.js.map +0 -1
  570. package/es/utils/dataMappingStyle.js.map +0 -1
  571. package/es/utils/extrude_polyline.js.map +0 -1
  572. package/es/utils/grid-index.js.map +0 -1
  573. package/es/utils/layerData.js.map +0 -1
  574. package/es/utils/multiPassRender.js.map +0 -1
  575. package/es/utils/polylineNormal.js.map +0 -1
  576. package/es/utils/simpleLine.js.map +0 -1
  577. package/es/utils/symbol-layout.js.map +0 -1
  578. package/es/utils/updateShape.js.map +0 -1
  579. package/es/wind/index.js.map +0 -1
  580. package/es/wind/models/index.js.map +0 -1
  581. package/es/wind/models/utils.js.map +0 -1
  582. package/es/wind/models/wind.js.map +0 -1
  583. package/es/wind/models/windRender.js.map +0 -1
  584. package/es/wind/models/windShader.js.map +0 -1
  585. package/lib/Geometry/index.js.map +0 -1
  586. package/lib/Geometry/models/billboard.js.map +0 -1
  587. package/lib/Geometry/models/index.js.map +0 -1
  588. package/lib/Geometry/models/plane.js.map +0 -1
  589. package/lib/Geometry/models/sprite.js.map +0 -1
  590. package/lib/canvas/index.js.map +0 -1
  591. package/lib/canvas/models/canvas.js.map +0 -1
  592. package/lib/canvas/models/index.js.map +0 -1
  593. package/lib/citybuliding/building.js.map +0 -1
  594. package/lib/citybuliding/models/build.js.map +0 -1
  595. package/lib/core/BaseLayer.js.map +0 -1
  596. package/lib/core/BaseModel.js.map +0 -1
  597. package/lib/core/interface.js.map +0 -1
  598. package/lib/core/schema.js.map +0 -1
  599. package/lib/core/shape/Path.js.map +0 -1
  600. package/lib/core/shape/extrude.js.map +0 -1
  601. package/lib/core/triangulation.js.map +0 -1
  602. package/lib/earth/index.js.map +0 -1
  603. package/lib/earth/models/atmosphere.js.map +0 -1
  604. package/lib/earth/models/base.js.map +0 -1
  605. package/lib/earth/models/bloomsphere.js.map +0 -1
  606. package/lib/earth/utils.js.map +0 -1
  607. package/lib/glsl.d.js +0 -2
  608. package/lib/glsl.d.js.map +0 -1
  609. package/lib/heatmap/index.js.map +0 -1
  610. package/lib/heatmap/models/grid.js.map +0 -1
  611. package/lib/heatmap/models/grid3d.js.map +0 -1
  612. package/lib/heatmap/models/heatmap.js.map +0 -1
  613. package/lib/heatmap/models/hexagon.js.map +0 -1
  614. package/lib/heatmap/models/index.js.map +0 -1
  615. package/lib/heatmap/triangulation.js.map +0 -1
  616. package/lib/image/index.js.map +0 -1
  617. package/lib/image/models/dataImage.js.map +0 -1
  618. package/lib/image/models/image.js.map +0 -1
  619. package/lib/image/models/index.js.map +0 -1
  620. package/lib/index.js.map +0 -1
  621. package/lib/line/index.js.map +0 -1
  622. package/lib/line/models/arc.js.map +0 -1
  623. package/lib/line/models/arc_3d.js.map +0 -1
  624. package/lib/line/models/earthArc_3d.js.map +0 -1
  625. package/lib/line/models/great_circle.js.map +0 -1
  626. package/lib/line/models/half.js.map +0 -1
  627. package/lib/line/models/index.js.map +0 -1
  628. package/lib/line/models/line.js.map +0 -1
  629. package/lib/line/models/linearline.js.map +0 -1
  630. package/lib/line/models/simpleLine.js.map +0 -1
  631. package/lib/line/models/tile.js.map +0 -1
  632. package/lib/line/models/wall.js.map +0 -1
  633. package/lib/mask/index.js.map +0 -1
  634. package/lib/mask/models/fill.js.map +0 -1
  635. package/lib/mask/models/index.js.map +0 -1
  636. package/lib/plugins/DataMappingPlugin.js.map +0 -1
  637. package/lib/plugins/DataSourcePlugin.js.map +0 -1
  638. package/lib/plugins/FeatureScalePlugin.js.map +0 -1
  639. package/lib/plugins/LayerAnimateStylePlugin.js.map +0 -1
  640. package/lib/plugins/LayerModelPlugin.js.map +0 -1
  641. package/lib/plugins/LayerStylePlugin.js.map +0 -1
  642. package/lib/plugins/LightingPlugin.js.map +0 -1
  643. package/lib/plugins/MultiPassRendererPlugin.js.map +0 -1
  644. package/lib/plugins/PixelPickingPlugin.js.map +0 -1
  645. package/lib/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  646. package/lib/plugins/ShaderUniformPlugin.js.map +0 -1
  647. package/lib/plugins/UpdateModelPlugin.js.map +0 -1
  648. package/lib/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  649. package/lib/point/index.js.map +0 -1
  650. package/lib/point/models/earthExtrude.js.map +0 -1
  651. package/lib/point/models/earthFill.js.map +0 -1
  652. package/lib/point/models/extrude.js.map +0 -1
  653. package/lib/point/models/fill.js.map +0 -1
  654. package/lib/point/models/fillmage.js.map +0 -1
  655. package/lib/point/models/image.js.map +0 -1
  656. package/lib/point/models/index.js.map +0 -1
  657. package/lib/point/models/normal.js.map +0 -1
  658. package/lib/point/models/radar.js.map +0 -1
  659. package/lib/point/models/simplePoint.js.map +0 -1
  660. package/lib/point/models/text.js.map +0 -1
  661. package/lib/point/models/tile.js.map +0 -1
  662. package/lib/point/shape/extrude.js.map +0 -1
  663. package/lib/polygon/index.js.map +0 -1
  664. package/lib/polygon/models/extrude.js.map +0 -1
  665. package/lib/polygon/models/fill.js.map +0 -1
  666. package/lib/polygon/models/index.js.map +0 -1
  667. package/lib/polygon/models/ocean.js.map +0 -1
  668. package/lib/polygon/models/tile.js.map +0 -1
  669. package/lib/polygon/models/water.js.map +0 -1
  670. package/lib/raster/buffers/triangulation.js.map +0 -1
  671. package/lib/raster/index.js.map +0 -1
  672. package/lib/raster/models/index.js.map +0 -1
  673. package/lib/raster/models/raster.js.map +0 -1
  674. package/lib/raster/raster.js.map +0 -1
  675. package/lib/tile/interface.js.map +0 -1
  676. package/lib/tile/manager/tileConfigManager.js.map +0 -1
  677. package/lib/tile/manager/tileLayerManager.js.map +0 -1
  678. package/lib/tile/manager/tilePickerManager.js.map +0 -1
  679. package/lib/tile/models/tileModel.js.map +0 -1
  680. package/lib/tile/tileFactory/base.js.map +0 -1
  681. package/lib/tile/tileFactory/index.js.map +0 -1
  682. package/lib/tile/tileFactory/line.js.map +0 -1
  683. package/lib/tile/tileFactory/point.js.map +0 -1
  684. package/lib/tile/tileFactory/polygon.js.map +0 -1
  685. package/lib/tile/tileFactory/raster.js.map +0 -1
  686. package/lib/tile/tileFactory/rasterData.js.map +0 -1
  687. package/lib/tile/tileFactory/rasterDataLayer.js.map +0 -1
  688. package/lib/tile/tileFactory/vectorLayer.js.map +0 -1
  689. package/lib/tile/tileLayer/baseTileLayer.js.map +0 -1
  690. package/lib/tile/tmsTileLayer.js.map +0 -1
  691. package/lib/tile/utils.js.map +0 -1
  692. package/lib/utils/blend.js.map +0 -1
  693. package/lib/utils/collision-index.js.map +0 -1
  694. package/lib/utils/dataMappingStyle.js.map +0 -1
  695. package/lib/utils/extrude_polyline.js.map +0 -1
  696. package/lib/utils/grid-index.js.map +0 -1
  697. package/lib/utils/layerData.js.map +0 -1
  698. package/lib/utils/multiPassRender.js.map +0 -1
  699. package/lib/utils/polylineNormal.js.map +0 -1
  700. package/lib/utils/simpleLine.js.map +0 -1
  701. package/lib/utils/symbol-layout.js.map +0 -1
  702. package/lib/utils/updateShape.js.map +0 -1
  703. package/lib/wind/index.js.map +0 -1
  704. package/lib/wind/models/index.js.map +0 -1
  705. package/lib/wind/models/utils.js.map +0 -1
  706. package/lib/wind/models/wind.js.map +0 -1
  707. package/lib/wind/models/windRender.js.map +0 -1
  708. package/lib/wind/models/windShader.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
4
  import _initializerDefineProperty from "@babel/runtime/helpers/initializerDefineProperty";
4
5
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
6
  import _createClass from "@babel/runtime/helpers/createClass";
@@ -10,9 +11,6 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
10
11
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
11
12
  import _applyDecoratedDescriptor from "@babel/runtime/helpers/applyDecoratedDescriptor";
12
13
  import _initializerWarningHelper from "@babel/runtime/helpers/initializerWarningHelper";
13
- import _isUndefined from "lodash/isUndefined";
14
- import _isObject from "lodash/isObject";
15
- import _isFunction from "lodash/isFunction";
16
14
  var _excluded = ["passes"],
17
15
  _excluded2 = ["moduleName", "vertexShader", "fragmentShader", "triangulation", "segmentNumber", "workerEnabled", "workerOptions"];
18
16
 
@@ -26,30 +24,42 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
26
24
 
27
25
  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; }
28
26
 
29
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
-
31
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
-
33
27
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
34
28
 
35
29
  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; } }
36
30
 
31
+ // @ts-ignore
37
32
  import { SyncBailHook, SyncHook, SyncWaterfallHook } from '@antv/async-hook';
38
33
  import { BlendType, lazyInject, TYPES } from '@antv/l7-core';
39
34
  import Source from '@antv/l7-source';
40
35
  import { encodePickingColor, WorkerSourceMap } from '@antv/l7-utils';
41
36
  import { EventEmitter } from 'eventemitter3';
42
- import { BlendTypes } from '../utils/blend';
43
- import { handleStyleDataMapping } from '../utils/dataMappingStyle';
44
- import { calculateData } from '../utils/layerData';
45
- import { createMultiPassRenderer, normalizePasses } from '../utils/multiPassRender';
46
- import { updateShape } from '../utils/updateShape';
37
+ import { isFunction, isObject, isUndefined } from 'lodash';
38
+ import { BlendTypes } from "../utils/blend";
39
+ import { handleStyleDataMapping } from "../utils/dataMappingStyle";
40
+ import { calculateData } from "../utils/layerData";
41
+ import { createMultiPassRenderer, normalizePasses } from "../utils/multiPassRender";
42
+ import { updateShape } from "../utils/updateShape";
43
+ /**
44
+ * 分配 layer id
45
+ */
46
+
47
47
  var layerIdCounter = 0;
48
- var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = function (_EventEmitter) {
49
- _inherits(BaseLayer, _EventEmitter);
48
+ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__PURE__*/function (_ref) {
49
+ _inherits(BaseLayer, _ref);
50
50
 
51
51
  var _super = _createSuper(BaseLayer);
52
52
 
53
+ // 生命周期钩子
54
+ // 待渲染 model 列表
55
+ // TODO: 用于保存子图层对象
56
+ // Tip: 用于标识矢量图层
57
+
58
+ /**
59
+ * 待更新样式属性,在初始化阶段完成注册
60
+ */
61
+ // TODO: layer 保底颜色
62
+ // private pickingPassRender: IPass<'pixelPicking'>;
53
63
  function BaseLayer() {
54
64
  var _this;
55
65
 
@@ -63,16 +73,10 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
63
73
 
64
74
  _defineProperty(_assertThisInitialized(_this), "name", "".concat(layerIdCounter));
65
75
 
66
- _defineProperty(_assertThisInitialized(_this), "type", void 0);
67
-
68
76
  _defineProperty(_assertThisInitialized(_this), "visible", true);
69
77
 
70
78
  _defineProperty(_assertThisInitialized(_this), "zIndex", 0);
71
79
 
72
- _defineProperty(_assertThisInitialized(_this), "minZoom", void 0);
73
-
74
- _defineProperty(_assertThisInitialized(_this), "maxZoom", void 0);
75
-
76
80
  _defineProperty(_assertThisInitialized(_this), "inited", false);
77
81
 
78
82
  _defineProperty(_assertThisInitialized(_this), "layerModelNeedUpdate", false);
@@ -83,14 +87,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
83
87
 
84
88
  _defineProperty(_assertThisInitialized(_this), "styleNeedUpdate", false);
85
89
 
86
- _defineProperty(_assertThisInitialized(_this), "rendering", void 0);
87
-
88
90
  _defineProperty(_assertThisInitialized(_this), "clusterZoom", 0);
89
91
 
90
- _defineProperty(_assertThisInitialized(_this), "layerType", void 0);
91
-
92
- _defineProperty(_assertThisInitialized(_this), "triangulation", void 0);
93
-
94
92
  _defineProperty(_assertThisInitialized(_this), "dataState", {
95
93
  dataSourceNeedUpdate: false,
96
94
  dataMappingNeedUpdate: false,
@@ -117,20 +115,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
117
115
 
118
116
  _defineProperty(_assertThisInitialized(_this), "models", []);
119
117
 
120
- _defineProperty(_assertThisInitialized(_this), "multiPassRenderer", void 0);
121
-
122
- _defineProperty(_assertThisInitialized(_this), "plugins", void 0);
123
-
124
- _defineProperty(_assertThisInitialized(_this), "sourceOption", void 0);
125
-
126
- _defineProperty(_assertThisInitialized(_this), "layerModel", void 0);
127
-
128
- _defineProperty(_assertThisInitialized(_this), "shapeOption", void 0);
129
-
130
- _defineProperty(_assertThisInitialized(_this), "sceneContainer", void 0);
131
-
132
- _defineProperty(_assertThisInitialized(_this), "tileLayer", void 0);
133
-
134
118
  _defineProperty(_assertThisInitialized(_this), "layerChildren", []);
135
119
 
136
120
  _defineProperty(_assertThisInitialized(_this), "masks", []);
@@ -139,56 +123,16 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
139
123
 
140
124
  _initializerDefineProperty(_assertThisInitialized(_this), "configService", _descriptor, _assertThisInitialized(_this));
141
125
 
142
- _defineProperty(_assertThisInitialized(_this), "shaderModuleService", void 0);
143
-
144
- _defineProperty(_assertThisInitialized(_this), "cameraService", void 0);
145
-
146
- _defineProperty(_assertThisInitialized(_this), "coordinateService", void 0);
147
-
148
- _defineProperty(_assertThisInitialized(_this), "iconService", void 0);
149
-
150
- _defineProperty(_assertThisInitialized(_this), "fontService", void 0);
151
-
152
- _defineProperty(_assertThisInitialized(_this), "pickingService", void 0);
153
-
154
- _defineProperty(_assertThisInitialized(_this), "rendererService", void 0);
155
-
156
- _defineProperty(_assertThisInitialized(_this), "layerService", void 0);
157
-
158
- _defineProperty(_assertThisInitialized(_this), "interactionService", void 0);
159
-
160
- _defineProperty(_assertThisInitialized(_this), "mapService", void 0);
161
-
162
- _defineProperty(_assertThisInitialized(_this), "styleAttributeService", void 0);
163
-
164
- _defineProperty(_assertThisInitialized(_this), "layerSource", void 0);
165
-
166
- _defineProperty(_assertThisInitialized(_this), "postProcessingPassFactory", void 0);
167
-
168
- _defineProperty(_assertThisInitialized(_this), "normalPassFactory", void 0);
169
-
170
126
  _defineProperty(_assertThisInitialized(_this), "animateOptions", {
171
127
  enable: false
172
128
  });
173
129
 
174
- _defineProperty(_assertThisInitialized(_this), "container", void 0);
175
-
176
- _defineProperty(_assertThisInitialized(_this), "encodedData", void 0);
177
-
178
- _defineProperty(_assertThisInitialized(_this), "configSchema", void 0);
179
-
180
130
  _defineProperty(_assertThisInitialized(_this), "currentPickId", null);
181
131
 
182
- _defineProperty(_assertThisInitialized(_this), "rawConfig", void 0);
183
-
184
- _defineProperty(_assertThisInitialized(_this), "needUpdateConfig", void 0);
185
-
186
132
  _defineProperty(_assertThisInitialized(_this), "pendingStyleAttributes", []);
187
133
 
188
134
  _defineProperty(_assertThisInitialized(_this), "scaleOptions", {});
189
135
 
190
- _defineProperty(_assertThisInitialized(_this), "animateStartTime", void 0);
191
-
192
136
  _defineProperty(_assertThisInitialized(_this), "aniamateStatus", false);
193
137
 
194
138
  _defineProperty(_assertThisInitialized(_this), "bottomColor", 'rgba(0, 0, 0, 0)');
@@ -202,7 +146,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
202
146
 
203
147
  if (layerConfig && layerConfig.autoFit) {
204
148
  _this.fitBounds(layerConfig.fitBoundsOptions);
205
- }
149
+ } // 对外暴露事件 迁移到 DataMappingPlugin generateMapping,保证在重新重新映射后触发
150
+ // this.emit('dataUpdate');
151
+
206
152
 
207
153
  _this.reRender();
208
154
  });
@@ -244,8 +190,10 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
244
190
  value: function updateLayerConfig(configToUpdate) {
245
191
  var _this2 = this;
246
192
 
193
+ // 同步 rawConfig
247
194
  Object.keys(configToUpdate).map(function (key) {
248
195
  if (key in _this2.rawConfig) {
196
+ // @ts-ignore
249
197
  _this2.rawConfig[key] = configToUpdate[key];
250
198
  }
251
199
  });
@@ -253,12 +201,21 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
253
201
  if (!this.inited) {
254
202
  this.needUpdateConfig = _objectSpread(_objectSpread({}, this.needUpdateConfig), configToUpdate);
255
203
  } else {
256
- var sceneId = this.container.get(TYPES.SceneID);
257
- handleStyleDataMapping(configToUpdate, this);
204
+ var sceneId = this.container.get(TYPES.SceneID); // @ts-ignore
205
+
206
+ handleStyleDataMapping(configToUpdate, this); // 处理 style 中进行数据映射的属性字段
207
+
258
208
  this.configService.setLayerConfig(sceneId, this.id, _objectSpread(_objectSpread(_objectSpread({}, this.configService.getLayerConfig(this.id)), this.needUpdateConfig), configToUpdate));
259
209
  this.needUpdateConfig = {};
260
210
  }
261
211
  }
212
+ /**
213
+ * 注入图层容器,父容器为场景容器
214
+ * RootContainer 1
215
+ * -> SceneContainer 1.*
216
+ * -> LayerContainer 1.*
217
+ */
218
+
262
219
  }, {
263
220
  key: "setContainer",
264
221
  value: function setContainer(container, sceneContainer) {
@@ -283,6 +240,11 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
283
240
  }, {
284
241
  key: "addPlugin",
285
242
  value: function addPlugin(plugin) {
243
+ // TODO: 控制插件注册顺序
244
+ // @example:
245
+ // pointLayer.addPlugin(new MyCustomPlugin(), {
246
+ // before: 'L7BuiltinPlugin'
247
+ // });
286
248
  this.plugins.push(plugin);
287
249
  return this;
288
250
  }
@@ -291,9 +253,17 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
291
253
  value: function init() {
292
254
  var _this3 = this;
293
255
 
294
- var sceneId = this.container.get(TYPES.SceneID);
256
+ // 设置配置项
257
+ var sceneId = this.container.get(TYPES.SceneID); // 初始化图层配置项
258
+ // const { enableMultiPassRenderer = false } = this.rawConfig;
259
+ // this.configService.setLayerConfig(sceneId, this.id, {
260
+ // enableMultiPassRenderer,
261
+ // });
262
+
295
263
  this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
296
- this.layerType = this.rawConfig.layerType;
264
+ this.layerType = this.rawConfig.layerType; // 全局容器服务
265
+ // 场景容器服务
266
+
297
267
  this.iconService = this.container.get(TYPES.IIconService);
298
268
  this.fontService = this.container.get(TYPES.IFontService);
299
269
  this.rendererService = this.container.get(TYPES.IRendererService);
@@ -307,6 +277,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
307
277
  passes = _this$getLayerConfig.passes;
308
278
 
309
279
  if (enableMultiPassRenderer && passes !== null && passes !== void 0 && passes.length && passes.length > 0) {
280
+ // Tip: 兼容 multiPassRender 在 amap1 时存在的图层不同步问题 zoom
310
281
  this.mapService.on('mapAfterFrameChange', function () {
311
282
  _this3.renderLayers();
312
283
  });
@@ -316,24 +287,31 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
316
287
  this.coordinateService = this.container.get(TYPES.ICoordinateSystemService);
317
288
  this.shaderModuleService = this.container.get(TYPES.IShaderModuleService);
318
289
  this.postProcessingPassFactory = this.container.get(TYPES.IFactoryPostProcessingPass);
319
- this.normalPassFactory = this.container.get(TYPES.IFactoryNormalPass);
290
+ this.normalPassFactory = this.container.get(TYPES.IFactoryNormalPass); // 图层容器服务
291
+
320
292
  this.styleAttributeService = this.container.get(TYPES.IStyleAttributeService);
321
293
  this.multiPassRenderer = this.container.get(TYPES.IMultiPassRenderer);
322
- this.multiPassRenderer.setLayer(this);
323
- this.pendingStyleAttributes.forEach(function (_ref) {
324
- var attributeName = _ref.attributeName,
325
- attributeField = _ref.attributeField,
326
- attributeValues = _ref.attributeValues,
327
- updateOptions = _ref.updateOptions;
294
+ this.multiPassRenderer.setLayer(this); // 完成样式服务注册完成前添加的属性
295
+
296
+ this.pendingStyleAttributes.forEach(function (_ref2) {
297
+ var attributeName = _ref2.attributeName,
298
+ attributeField = _ref2.attributeField,
299
+ attributeValues = _ref2.attributeValues,
300
+ updateOptions = _ref2.updateOptions;
328
301
 
329
302
  _this3.styleAttributeService.updateStyleAttribute(attributeName, {
303
+ // @ts-ignore
330
304
  scale: _objectSpread({
331
305
  field: attributeField
332
- }, _this3.splitValuesAndCallbackInAttribute(attributeValues, _this3.getLayerConfig()[attributeName]))
333
- }, updateOptions);
306
+ }, _this3.splitValuesAndCallbackInAttribute( // @ts-ignore
307
+ attributeValues, // @ts-ignore
308
+ _this3.getLayerConfig()[attributeName]))
309
+ }, // @ts-ignore
310
+ updateOptions);
334
311
  });
335
- this.pendingStyleAttributes = [];
336
- this.plugins = this.container.getAll(TYPES.ILayerPlugin);
312
+ this.pendingStyleAttributes = []; // 获取插件集
313
+
314
+ this.plugins = this.container.getAll(TYPES.ILayerPlugin); // 完成插件注册,传入场景和图层容器内的服务
337
315
 
338
316
  var _iterator = _createForOfIteratorHelper(this.plugins),
339
317
  _step;
@@ -348,15 +326,19 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
348
326
  normalPassFactory: this.normalPassFactory,
349
327
  postProcessingPassFactory: this.postProcessingPassFactory
350
328
  });
351
- }
329
+ } // 触发 init 生命周期插件
330
+
352
331
  } catch (err) {
353
332
  _iterator.e(err);
354
333
  } finally {
355
334
  _iterator.f();
356
335
  }
357
336
 
358
- this.hooks.init.call();
359
- this.hooks.afterInit.call();
337
+ this.hooks.init.call(); // this.pickingPassRender = this.normalPassFactory('pixelPicking');
338
+ // this.pickingPassRender.init(this);
339
+
340
+ this.hooks.afterInit.call(); // 触发初始化完成事件;
341
+
360
342
  this.emit('inited', {
361
343
  target: this,
362
344
  type: 'inited'
@@ -384,6 +366,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
384
366
  var _this$layerModel;
385
367
 
386
368
  if ((_this$layerModel = this.layerModel) !== null && _this$layerModel !== void 0 && _this$layerModel.createModelData) {
369
+ // 在某些特殊图层中单独构建 attribute & elements
387
370
  return this.layerModel.createModelData(option);
388
371
  }
389
372
 
@@ -409,11 +392,15 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
409
392
  return null;
410
393
  }
411
394
  }
395
+ /**
396
+ * Model初始化前需要更新Model样式
397
+ */
398
+
412
399
  }, {
413
400
  key: "prepareBuildModel",
414
401
  value: function prepareBuildModel() {
415
402
  this.inited = true;
416
- this.updateLayerConfig(_objectSpread(_objectSpread({}, this.getDefaultConfig()), this.rawConfig));
403
+ this.updateLayerConfig(_objectSpread(_objectSpread({}, this.getDefaultConfig()), this.rawConfig)); // 启动动画
417
404
 
418
405
  var _this$getLayerConfig2 = this.getLayerConfig(),
419
406
  animateOption = _this$getLayerConfig2.animateOption;
@@ -426,9 +413,18 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
426
413
  }, {
427
414
  key: "color",
428
415
  value: function color(field, values, updateOptions) {
429
- this.updateStyleAttribute('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
+
430
425
  return this;
431
- }
426
+ } // 为对应的图层传入纹理的编号名称(point/image 在 shape 方法中传入纹理名称的方法并不通用)
427
+
432
428
  }, {
433
429
  key: "texture",
434
430
  value: function texture(field, values, updateOptions) {
@@ -446,7 +442,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
446
442
  value: function size(field, values, updateOptions) {
447
443
  this.updateStyleAttribute('size', field, values, updateOptions);
448
444
  return this;
449
- }
445
+ } // 对mapping后的数据过滤,scale保持不变
446
+
450
447
  }, {
451
448
  key: "filter",
452
449
  value: function filter(field, values, updateOptions) {
@@ -464,7 +461,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
464
461
  field: field,
465
462
  values: values
466
463
  };
467
- this.updateStyleAttribute('shape', field, values, updateOptions);
464
+ this.updateStyleAttribute('shape', field, values, updateOptions); // TODO: 根据 shape 判断是否需要更新 model
468
465
 
469
466
  if (!this.tileLayer) {
470
467
  updateShape(this, lastShape, currentShape);
@@ -488,7 +485,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
488
485
  value: function animate(options) {
489
486
  var rawAnimate = {};
490
487
 
491
- if (_isObject(options)) {
488
+ if (isObject(options)) {
492
489
  rawAnimate.enable = true;
493
490
  rawAnimate = _objectSpread(_objectSpread({}, rawAnimate), options);
494
491
  } else {
@@ -497,13 +494,15 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
497
494
 
498
495
  this.updateLayerConfig({
499
496
  animateOption: rawAnimate
500
- });
497
+ }); // this.animateOptions = options;
498
+
501
499
  return this;
502
500
  }
503
501
  }, {
504
502
  key: "source",
505
503
  value: function source(data, options) {
506
504
  if (data !== null && data !== void 0 && data.data) {
505
+ // 判断是否为source
507
506
  this.setSource(data);
508
507
  return this;
509
508
  }
@@ -527,12 +526,14 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
527
526
  var currentSource = _this4.getSource();
528
527
 
529
528
  if (!currentSource) {
529
+ // 执行 setData 的时候 source 还不存在(还未执行 addLayer)
530
530
  _this4.source(new Source(data, options));
531
531
 
532
532
  _this4.sourceEvent();
533
533
  } else {
534
534
  _this4.layerSource.setData(data, options);
535
- }
535
+ } // this.layerSource.setData(data, options);
536
+
536
537
  });
537
538
  }
538
539
 
@@ -546,7 +547,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
546
547
  var lastConfig = this.getLayerConfig();
547
548
 
548
549
  var passes = options.passes,
549
- rest = _objectWithoutProperties(options, _excluded);
550
+ rest = _objectWithoutProperties(options, _excluded); // passes 特殊处理
551
+
550
552
 
551
553
  if (passes) {
552
554
  normalizePasses(passes).forEach(function (pass) {
@@ -563,7 +565,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
563
565
  if (this.container) {
564
566
  this.updateLayerConfig(this.rawConfig);
565
567
  this.styleNeedUpdate = true;
566
- }
568
+ } // @ts-ignore
569
+
567
570
 
568
571
  if (lastConfig && lastConfig.mask === true && options.mask === false) {
569
572
  this.clearModels();
@@ -577,7 +580,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
577
580
  }, {
578
581
  key: "scale",
579
582
  value: function scale(field, cfg) {
580
- if (_isObject(field)) {
583
+ if (isObject(field)) {
581
584
  this.scaleOptions = _objectSpread(_objectSpread({}, this.scaleOptions), field);
582
585
  } else {
583
586
  this.scaleOptions[field] = cfg;
@@ -585,6 +588,10 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
585
588
 
586
589
  return this;
587
590
  }
591
+ /**
592
+ * 渲染所有的图层
593
+ */
594
+
588
595
  }, {
589
596
  key: "renderLayers",
590
597
  value: function renderLayers() {
@@ -596,9 +603,11 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
596
603
  key: "render",
597
604
  value: function render() {
598
605
  if (this.tileLayer !== undefined) {
606
+ // 瓦片图层执行单独的 render 渲染队列
599
607
  this.tileLayer.render();
600
608
  return this;
601
- }
609
+ } // TODO: this.getEncodedData().length !== 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
610
+
602
611
 
603
612
  if (this.getEncodedData() && this.getEncodedData().length !== 0) {
604
613
  this.renderModels();
@@ -606,10 +615,14 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
606
615
 
607
616
  return this;
608
617
  }
618
+ /**
619
+ * renderMultiPass 专门用于渲染支持 multipass 的 layer
620
+ */
621
+
609
622
  }, {
610
623
  key: "renderMultiPass",
611
624
  value: function () {
612
- var _renderMultiPass = _asyncToGenerator(_regeneratorRuntime.mark(function _callee() {
625
+ var _renderMultiPass = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
613
626
  return _regeneratorRuntime.wrap(function _callee$(_context) {
614
627
  while (1) {
615
628
  switch (_context.prev = _context.next) {
@@ -633,6 +646,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
633
646
 
634
647
  case 6:
635
648
  if (this.multiPassRenderer) {
649
+ // renderPass 触发的渲染
636
650
  this.renderModels();
637
651
  } else {
638
652
  this.renderModels();
@@ -656,9 +670,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
656
670
  key: "active",
657
671
  value: function active(options) {
658
672
  var activeOption = {};
659
- activeOption.enableHighlight = _isObject(options) ? true : options;
673
+ activeOption.enableHighlight = isObject(options) ? true : options;
660
674
 
661
- if (_isObject(options)) {
675
+ if (isObject(options)) {
662
676
  activeOption.enableHighlight = true;
663
677
 
664
678
  if (options.color) {
@@ -680,14 +694,14 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
680
694
  value: function setActive(id, options) {
681
695
  var _this6 = this;
682
696
 
683
- if (_isObject(id)) {
697
+ if (isObject(id)) {
684
698
  var _id$x = id.x,
685
699
  x = _id$x === void 0 ? 0 : _id$x,
686
700
  _id$y = id.y,
687
701
  y = _id$y === void 0 ? 0 : _id$y;
688
702
  this.updateLayerConfig({
689
- highlightColor: _isObject(options) ? options.color : this.getLayerConfig().highlightColor,
690
- activeMix: _isObject(options) ? options.mix : this.getLayerConfig().activeMix
703
+ highlightColor: isObject(options) ? options.color : this.getLayerConfig().highlightColor,
704
+ activeMix: isObject(options) ? options.mix : this.getLayerConfig().activeMix
691
705
  });
692
706
  this.pick({
693
707
  x: x,
@@ -696,10 +710,11 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
696
710
  } else {
697
711
  this.updateLayerConfig({
698
712
  pickedFeatureID: id,
699
- highlightColor: _isObject(options) ? options.color : this.getLayerConfig().highlightColor,
700
- activeMix: _isObject(options) ? options.mix : this.getLayerConfig().activeMix
713
+ highlightColor: isObject(options) ? options.color : this.getLayerConfig().highlightColor,
714
+ activeMix: isObject(options) ? options.mix : this.getLayerConfig().activeMix
701
715
  });
702
- this.hooks.beforeSelect.call(encodePickingColor(id)).then(function () {
716
+ this.hooks.beforeSelect.call(encodePickingColor(id)) // @ts-ignore
717
+ .then(function () {
703
718
  setTimeout(function () {
704
719
  _this6.reRender();
705
720
  }, 1);
@@ -710,9 +725,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
710
725
  key: "select",
711
726
  value: function select(option) {
712
727
  var activeOption = {};
713
- activeOption.enableSelect = _isObject(option) ? true : option;
728
+ activeOption.enableSelect = isObject(option) ? true : option;
714
729
 
715
- if (_isObject(option)) {
730
+ if (isObject(option)) {
716
731
  activeOption.enableSelect = true;
717
732
 
718
733
  if (option.color) {
@@ -734,14 +749,14 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
734
749
  value: function setSelect(id, options) {
735
750
  var _this7 = this;
736
751
 
737
- if (_isObject(id)) {
752
+ if (isObject(id)) {
738
753
  var _id$x2 = id.x,
739
754
  x = _id$x2 === void 0 ? 0 : _id$x2,
740
755
  _id$y2 = id.y,
741
756
  y = _id$y2 === void 0 ? 0 : _id$y2;
742
757
  this.updateLayerConfig({
743
- selectColor: _isObject(options) ? options.color : this.getLayerConfig().selectColor,
744
- selectMix: _isObject(options) ? options.mix : this.getLayerConfig().selectMix
758
+ selectColor: isObject(options) ? options.color : this.getLayerConfig().selectColor,
759
+ selectMix: isObject(options) ? options.mix : this.getLayerConfig().selectMix
745
760
  });
746
761
  this.pick({
747
762
  x: x,
@@ -750,10 +765,11 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
750
765
  } else {
751
766
  this.updateLayerConfig({
752
767
  pickedFeatureID: id,
753
- selectColor: _isObject(options) ? options.color : this.getLayerConfig().selectColor,
754
- selectMix: _isObject(options) ? options.mix : this.getLayerConfig().selectMix
768
+ selectColor: isObject(options) ? options.color : this.getLayerConfig().selectColor,
769
+ selectMix: isObject(options) ? options.mix : this.getLayerConfig().selectMix
755
770
  });
756
- this.hooks.beforeSelect.call(encodePickingColor(id)).then(function () {
771
+ this.hooks.beforeSelect.call(encodePickingColor(id)) // @ts-ignore
772
+ .then(function () {
757
773
  setTimeout(function () {
758
774
  _this7.reRender();
759
775
  }, 1);
@@ -783,6 +799,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
783
799
  key: "hide",
784
800
  value: function hide() {
785
801
  if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
802
+ // 对 canvasLayer 的 hide 操作做特殊处理
786
803
  this.layerModel.clearCanvas();
787
804
  }
788
805
 
@@ -891,7 +908,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
891
908
  }, {
892
909
  key: "get",
893
910
  value: function get(name) {
894
- var cfg = this.getLayerConfig();
911
+ var cfg = this.getLayerConfig(); // @ts-ignore
912
+
895
913
  return cfg[name];
896
914
  }
897
915
  }, {
@@ -910,6 +928,10 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
910
928
  });
911
929
  return this;
912
930
  }
931
+ /**
932
+ * zoom to layer Bounds
933
+ */
934
+
913
935
  }, {
914
936
  key: "fitBounds",
915
937
  value: function fitBounds(fitBoundsOptions) {
@@ -942,21 +964,28 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
942
964
 
943
965
  if (this.isDestroied) {
944
966
  return;
945
- }
967
+ } // remove child layer
968
+
946
969
 
947
970
  this.layerChildren.map(function (child) {
948
971
  return child.destroy();
949
972
  });
950
- this.layerChildren = [];
973
+ this.layerChildren = []; // remove mask list
974
+
951
975
  this.masks.map(function (mask) {
952
976
  return mask.destroy();
953
977
  });
954
978
  this.masks = [];
955
- this.hooks.beforeDestroy.call();
979
+ this.hooks.beforeDestroy.call(); // 清除sources事件
980
+
956
981
  this.layerSource.off('sourceUpdate', this.sourceEvent);
957
- this.multiPassRenderer.destroy();
958
- this.styleAttributeService.clearAllAttributes();
959
- this.hooks.afterDestroy.call();
982
+ this.multiPassRenderer.destroy(); // console.log(this.styleAttributeService.getAttributes())
983
+ // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
984
+
985
+ this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
986
+
987
+ this.hooks.afterDestroy.call(); // TODO: 清除各个图层自定义的 models 资源
988
+
960
989
  (_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels();
961
990
  this.models = [];
962
991
  this.layerService.cleanRemove(this, refresh);
@@ -968,13 +997,15 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
968
997
  target: this,
969
998
  type: 'destroy'
970
999
  });
971
- this.removeAllListeners();
1000
+ this.removeAllListeners(); // 解绑图层容器中的服务
1001
+ // this.container.unbind(TYPES.IStyleAttributeService);
1002
+
972
1003
  this.isDestroied = true;
973
1004
  }
974
1005
  }, {
975
1006
  key: "clear",
976
1007
  value: function clear() {
977
- this.styleAttributeService.clearAllAttributes();
1008
+ this.styleAttributeService.clearAllAttributes(); // 销毁所有 model
978
1009
  }
979
1010
  }, {
980
1011
  key: "clearModels",
@@ -999,21 +1030,24 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
999
1030
  value: function setSource(source) {
1000
1031
  var _this8 = this;
1001
1032
 
1033
+ // 清除旧 sources 事件
1002
1034
  if (this.layerSource) {
1003
1035
  this.layerSource.off('sourceUpdate', this.sourceEvent);
1004
1036
  }
1005
1037
 
1006
1038
  this.layerSource = source;
1007
- this.clusterZoom = 0;
1039
+ this.clusterZoom = 0; // 已 inited 且启用聚合进行更新聚合数据
1008
1040
 
1009
1041
  if (this.inited && this.layerSource.cluster) {
1010
1042
  var zoom = this.mapService.getZoom();
1011
1043
  this.layerSource.updateClusterData(zoom);
1012
- }
1044
+ } // source 可能会复用,会在其它layer被修改
1045
+
1013
1046
 
1014
1047
  if (this.layerSource.inited) {
1015
1048
  this.sourceEvent();
1016
- }
1049
+ } // this.layerSource.inited 为 true 后,sourceUpdate 事件不会再触发
1050
+
1017
1051
 
1018
1052
  this.layerSource.on('sourceUpdate', function () {
1019
1053
  _this8.sourceEvent();
@@ -1047,13 +1081,14 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1047
1081
  }, {
1048
1082
  key: "getLegendItems",
1049
1083
  value: function getLegendItems(name) {
1050
- var scale = this.styleAttributeService.getLayerAttributeScale(name);
1084
+ var scale = this.styleAttributeService.getLayerAttributeScale(name); // 函数自定义映射,没有 scale 返回为空数组
1051
1085
 
1052
1086
  if (!scale) {
1053
1087
  return [];
1054
1088
  }
1055
1089
 
1056
1090
  if (scale.invertExtent) {
1091
+ // 分段类型 Quantize、Quantile、Threshold
1057
1092
  var items = scale.range().map(function (item) {
1058
1093
  return _defineProperty({
1059
1094
  value: scale.invertExtent(item)
@@ -1061,6 +1096,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1061
1096
  });
1062
1097
  return items;
1063
1098
  } else if (scale.ticks) {
1099
+ // 连续类型 Continuous (Linear, Power, Log, Identity, Time)
1064
1100
  var _items = scale.ticks().map(function (item) {
1065
1101
  return _defineProperty({
1066
1102
  value: item
@@ -1069,8 +1105,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1069
1105
 
1070
1106
  return _items;
1071
1107
  } else if (scale !== null && scale !== void 0 && scale.domain) {
1108
+ // 枚举类型 Cat
1072
1109
  var _items2 = scale.domain().filter(function (item) {
1073
- return !_isUndefined(item);
1110
+ return !isUndefined(item);
1074
1111
  }).map(function (item) {
1075
1112
  return _defineProperty({
1076
1113
  value: item
@@ -1084,9 +1121,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1084
1121
  }
1085
1122
  }, {
1086
1123
  key: "pick",
1087
- value: function pick(_ref5) {
1088
- var x = _ref5.x,
1089
- y = _ref5.y;
1124
+ value: function pick(_ref6) {
1125
+ var x = _ref6.x,
1126
+ y = _ref6.y;
1090
1127
  this.interactionService.triggerHover({
1091
1128
  x: x,
1092
1129
  y: y
@@ -1124,10 +1161,11 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1124
1161
 
1125
1162
  var createModel = this.rendererService.createModel;
1126
1163
  return new Promise(function (resolve, reject) {
1164
+ // filter supported worker & worker enabled layer
1127
1165
  if (workerOptions && workerOptions.modelType in WorkerSourceMap && workerEnabled) {
1128
- _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref6) {
1129
- var attributes = _ref6.attributes,
1130
- elements = _ref6.elements;
1166
+ _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1167
+ var attributes = _ref7.attributes,
1168
+ elements = _ref7.elements;
1131
1169
  var m = createModel(_objectSpread({
1132
1170
  attributes: attributes,
1133
1171
  uniforms: uniforms,
@@ -1160,7 +1198,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1160
1198
  }, {
1161
1199
  key: "createAttrubutes",
1162
1200
  value: function createAttrubutes(options) {
1163
- var triangulation = options.triangulation;
1201
+ var triangulation = options.triangulation; // @ts-ignore
1164
1202
 
1165
1203
  var _this$styleAttributeS4 = this.styleAttributeService.createAttributes(this.encodedData, triangulation),
1166
1204
  attributes = _this$styleAttributeS4.attributes;
@@ -1202,7 +1240,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1202
1240
  _this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
1203
1241
  enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
1204
1242
  _this$getLayerConfig12 = _this$getLayerConfig10.enableSelect,
1205
- enableSelect = _this$getLayerConfig12 === void 0 ? true : _this$getLayerConfig12;
1243
+ enableSelect = _this$getLayerConfig12 === void 0 ? true : _this$getLayerConfig12; // 判断layer是否监听事件;
1244
+
1206
1245
 
1207
1246
  var isPick = this.eventNames().indexOf(type) !== -1 || this.eventNames().indexOf('un' + type) !== -1;
1208
1247
 
@@ -1229,7 +1268,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1229
1268
  }, {
1230
1269
  key: "renderMulPass",
1231
1270
  value: function () {
1232
- var _renderMulPass = _asyncToGenerator(_regeneratorRuntime.mark(function _callee2(multiPassRenderer) {
1271
+ var _renderMulPass = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(multiPassRenderer) {
1233
1272
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1234
1273
  while (1) {
1235
1274
  switch (_context2.prev = _context2.next) {
@@ -1256,6 +1295,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1256
1295
  value: function renderModels(isPicking) {
1257
1296
  var _this10 = this;
1258
1297
 
1298
+ // TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
1259
1299
  if (this.getEncodedData() && this.getEncodedData().length > 0) {
1260
1300
  var _this$layerModel4;
1261
1301
 
@@ -1294,10 +1334,14 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1294
1334
  });
1295
1335
  } else {
1296
1336
  this.styleAttributeService.updateStyleAttribute(type, {
1337
+ // @ts-ignore
1297
1338
  scale: _objectSpread({
1298
1339
  field: field
1299
- }, this.splitValuesAndCallbackInAttribute(values, this.getLayerConfig()[field]))
1300
- }, updateOptions);
1340
+ }, this.splitValuesAndCallbackInAttribute( // @ts-ignore
1341
+ values, // @ts-ignore
1342
+ this.getLayerConfig()[field]))
1343
+ }, // @ts-ignore
1344
+ updateOptions);
1301
1345
  }
1302
1346
  }
1303
1347
  }, {
@@ -1305,6 +1349,11 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1305
1349
  value: function getShaderPickStat() {
1306
1350
  return this.layerService.getShaderPickStat();
1307
1351
  }
1352
+ /**
1353
+ * 继承空方法
1354
+ * @param time
1355
+ */
1356
+
1308
1357
  }, {
1309
1358
  key: "setEarthTime",
1310
1359
  value: function setEarthTime(time) {
@@ -1337,8 +1386,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1337
1386
  key: "splitValuesAndCallbackInAttribute",
1338
1387
  value: function splitValuesAndCallbackInAttribute(valuesOrCallback, defaultValues) {
1339
1388
  return {
1340
- values: _isFunction(valuesOrCallback) ? undefined : valuesOrCallback || defaultValues,
1341
- callback: _isFunction(valuesOrCallback) ? valuesOrCallback : undefined
1389
+ values: isFunction(valuesOrCallback) ? undefined : valuesOrCallback || defaultValues,
1390
+ callback: isFunction(valuesOrCallback) ? valuesOrCallback : undefined
1342
1391
  };
1343
1392
  }
1344
1393
  }]);
@@ -1350,5 +1399,4 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = functi
1350
1399
  writable: true,
1351
1400
  initializer: null
1352
1401
  })), _class));
1353
- export { BaseLayer as default };
1354
- //# sourceMappingURL=BaseLayer.js.map
1402
+ export { BaseLayer as default };