@antv/l7-layers 2.9.26-alpha.0 → 2.9.26

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 (588) hide show
  1. package/es/Geometry/index.d.ts +19 -0
  2. package/es/Geometry/index.js +106 -0
  3. package/es/Geometry/models/billboard.d.ts +26 -0
  4. package/es/Geometry/models/billboard.js +232 -0
  5. package/es/Geometry/models/index.d.ts +5 -0
  6. package/es/Geometry/models/index.js +9 -0
  7. package/es/Geometry/models/plane.d.ts +45 -0
  8. package/es/Geometry/models/plane.js +421 -0
  9. package/es/Geometry/models/sprite.d.ts +47 -0
  10. package/es/Geometry/models/sprite.js +304 -0
  11. package/es/Geometry/shaders/billboard_frag.glsl +13 -0
  12. package/es/Geometry/shaders/billboard_vert.glsl +50 -0
  13. package/es/Geometry/shaders/plane_frag.glsl +22 -0
  14. package/es/Geometry/shaders/plane_vert.glsl +53 -0
  15. package/es/Geometry/shaders/sprite_frag.glsl +21 -0
  16. package/es/Geometry/shaders/sprite_vert.glsl +28 -0
  17. package/es/canvas/index.d.ts +19 -0
  18. package/es/canvas/index.js +91 -0
  19. package/es/canvas/models/canvas.d.ts +18 -0
  20. package/es/canvas/models/canvas.js +212 -0
  21. package/es/canvas/models/index.d.ts +5 -0
  22. package/es/canvas/models/index.js +5 -0
  23. package/es/citybuliding/building.d.ts +17 -0
  24. package/es/citybuliding/building.js +88 -0
  25. package/es/citybuliding/models/build.d.ts +22 -0
  26. package/es/citybuliding/models/build.js +188 -0
  27. package/es/citybuliding/shaders/build_frag.glsl +117 -0
  28. package/es/citybuliding/shaders/build_vert.glsl +54 -0
  29. package/es/core/BaseLayer.d.ts +212 -0
  30. package/es/core/BaseLayer.js +1409 -0
  31. package/es/core/BaseModel.d.ts +140 -0
  32. package/es/core/BaseModel.js +486 -0
  33. package/es/core/interface.d.ts +201 -0
  34. package/es/core/interface.js +30 -0
  35. package/es/core/schema.d.ts +27 -0
  36. package/es/core/schema.js +25 -0
  37. package/es/core/shape/Path.d.ts +39 -0
  38. package/es/core/shape/Path.js +62 -0
  39. package/es/core/shape/extrude.d.ts +17 -0
  40. package/es/core/shape/extrude.js +148 -0
  41. package/es/core/triangulation.d.ts +122 -0
  42. package/es/core/triangulation.js +491 -0
  43. package/es/earth/index.d.ts +17 -0
  44. package/es/earth/index.js +91 -0
  45. package/es/earth/models/atmosphere.d.ts +9 -0
  46. package/es/earth/models/atmosphere.js +138 -0
  47. package/es/earth/models/base.d.ts +16 -0
  48. package/es/earth/models/base.js +212 -0
  49. package/es/earth/models/bloomsphere.d.ts +9 -0
  50. package/es/earth/models/bloomsphere.js +138 -0
  51. package/es/earth/shaders/atmosphere_frag.glsl +17 -0
  52. package/es/earth/shaders/atmosphere_vert.glsl +26 -0
  53. package/es/earth/shaders/base_frag.glsl +13 -0
  54. package/es/earth/shaders/base_vert.glsl +52 -0
  55. package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
  56. package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
  57. package/es/earth/utils.d.ts +26 -0
  58. package/es/earth/utils.js +104 -0
  59. package/es/heatmap/index.d.ts +21 -0
  60. package/es/heatmap/index.js +145 -0
  61. package/es/heatmap/models/grid.d.ts +8 -0
  62. package/es/heatmap/models/grid.js +108 -0
  63. package/es/heatmap/models/grid3d.d.ts +8 -0
  64. package/es/heatmap/models/grid3d.js +147 -0
  65. package/es/heatmap/models/heatmap.d.ts +24 -0
  66. package/es/heatmap/models/heatmap.js +464 -0
  67. package/es/heatmap/models/hexagon.d.ts +8 -0
  68. package/es/heatmap/models/hexagon.js +111 -0
  69. package/es/heatmap/models/index.d.ts +5 -0
  70. package/es/heatmap/models/index.js +12 -0
  71. package/es/heatmap/shaders/grid_vert.glsl +42 -0
  72. package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  73. package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  74. package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
  75. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  76. package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  77. package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
  78. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  79. package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  80. package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
  81. package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
  82. package/es/heatmap/triangulation.d.ts +5 -0
  83. package/es/heatmap/triangulation.js +38 -0
  84. package/es/image/index.d.ts +19 -0
  85. package/es/image/index.js +103 -0
  86. package/es/image/models/dataImage.d.ts +22 -0
  87. package/es/image/models/dataImage.js +225 -0
  88. package/es/image/models/image.d.ts +19 -0
  89. package/es/image/models/image.js +169 -0
  90. package/es/image/models/index.d.ts +5 -0
  91. package/es/image/models/index.js +7 -0
  92. package/es/image/shaders/dataImage_frag.glsl +38 -0
  93. package/es/image/shaders/image_frag.glsl +9 -0
  94. package/es/image/shaders/image_vert.glsl +17 -0
  95. package/es/index.d.ts +17 -0
  96. package/es/index.js +107 -0
  97. package/es/line/index.d.ts +42 -0
  98. package/es/line/index.js +140 -0
  99. package/es/line/models/arc.d.ts +17 -0
  100. package/es/line/models/arc.js +356 -0
  101. package/es/line/models/arc_3d.d.ts +17 -0
  102. package/es/line/models/arc_3d.js +335 -0
  103. package/es/line/models/earthArc_3d.d.ts +17 -0
  104. package/es/line/models/earthArc_3d.js +338 -0
  105. package/es/line/models/great_circle.d.ts +12 -0
  106. package/es/line/models/great_circle.js +294 -0
  107. package/es/line/models/half.d.ts +18 -0
  108. package/es/line/models/half.js +282 -0
  109. package/es/line/models/index.d.ts +5 -0
  110. package/es/line/models/index.js +25 -0
  111. package/es/line/models/line.d.ts +21 -0
  112. package/es/line/models/line.js +442 -0
  113. package/es/line/models/linearline.d.ts +11 -0
  114. package/es/line/models/linearline.js +276 -0
  115. package/es/line/models/simpleLine.d.ts +14 -0
  116. package/es/line/models/simpleLine.js +233 -0
  117. package/es/line/models/tile.d.ts +11 -0
  118. package/es/line/models/tile.js +351 -0
  119. package/es/line/models/wall.d.ts +12 -0
  120. package/es/line/models/wall.js +329 -0
  121. package/es/line/shaders/arc_chunks.vert.glsl +21 -0
  122. package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
  123. package/es/line/shaders/dash/arc_dash_vert.glsl +148 -0
  124. package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
  125. package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
  126. package/es/line/shaders/half/line_half_frag.glsl +53 -0
  127. package/es/line/shaders/half/line_half_vert.glsl +169 -0
  128. package/es/line/shaders/line_arc2d_vert.glsl +114 -0
  129. package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
  130. package/es/line/shaders/line_arc_3d_vert.glsl +207 -0
  131. package/es/line/shaders/line_arc_frag.glsl +89 -0
  132. package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  133. package/es/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  134. package/es/line/shaders/line_arc_vert.glsl +176 -0
  135. package/es/line/shaders/line_bezier_vert.glsl +85 -0
  136. package/es/line/shaders/line_frag.glsl +100 -0
  137. package/es/line/shaders/line_vert.glsl +192 -0
  138. package/es/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  139. package/es/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  140. package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
  141. package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
  142. package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
  143. package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  144. package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  145. package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
  146. package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  147. package/es/line/shaders/simple/simpleline_vert.glsl +79 -0
  148. package/es/line/shaders/tile/line_tile_frag.glsl +79 -0
  149. package/es/line/shaders/tile/line_tile_vert.glsl +210 -0
  150. package/es/line/shaders/wall_frag.glsl +93 -0
  151. package/es/line/shaders/wall_vert.glsl +111 -0
  152. package/es/mask/index.d.ts +26 -0
  153. package/es/mask/index.js +82 -0
  154. package/es/mask/models/fill.d.ts +11 -0
  155. package/es/mask/models/fill.js +121 -0
  156. package/es/mask/models/index.d.ts +5 -0
  157. package/es/mask/models/index.js +5 -0
  158. package/es/mask/shaders/mask_frag.glsl +7 -0
  159. package/es/mask/shaders/mask_vert.glsl +22 -0
  160. package/es/plugins/DataMappingPlugin.d.ts +18 -0
  161. package/es/plugins/DataMappingPlugin.js +345 -0
  162. package/es/plugins/DataSourcePlugin.d.ts +7 -0
  163. package/es/plugins/DataSourcePlugin.js +83 -0
  164. package/es/plugins/FeatureScalePlugin.d.ts +26 -0
  165. package/es/plugins/FeatureScalePlugin.js +380 -0
  166. package/es/plugins/LayerAnimateStylePlugin.d.ts +7 -0
  167. package/es/plugins/LayerAnimateStylePlugin.js +49 -0
  168. package/es/plugins/LayerModelPlugin.d.ts +10 -0
  169. package/es/plugins/LayerModelPlugin.js +71 -0
  170. package/es/plugins/LayerStylePlugin.d.ts +8 -0
  171. package/es/plugins/LayerStylePlugin.js +39 -0
  172. package/es/plugins/LightingPlugin.d.ts +36 -0
  173. package/es/plugins/LightingPlugin.js +110 -0
  174. package/es/plugins/MultiPassRendererPlugin.d.ts +24 -0
  175. package/es/plugins/MultiPassRendererPlugin.js +77 -0
  176. package/es/plugins/PixelPickingPlugin.d.ts +8 -0
  177. package/es/plugins/PixelPickingPlugin.js +146 -0
  178. package/es/plugins/RegisterStyleAttributePlugin.d.ts +11 -0
  179. package/es/plugins/RegisterStyleAttributePlugin.js +105 -0
  180. package/es/plugins/ShaderUniformPlugin.d.ts +17 -0
  181. package/es/plugins/ShaderUniformPlugin.js +107 -0
  182. package/es/plugins/UpdateModelPlugin.d.ts +8 -0
  183. package/es/plugins/UpdateModelPlugin.js +31 -0
  184. package/es/plugins/UpdateStyleAttributePlugin.d.ts +12 -0
  185. package/es/plugins/UpdateStyleAttributePlugin.js +87 -0
  186. package/es/point/index.d.ts +40 -0
  187. package/es/point/index.js +234 -0
  188. package/es/point/models/earthExtrude.d.ts +24 -0
  189. package/es/point/models/earthExtrude.js +279 -0
  190. package/es/point/models/earthFill.d.ts +11 -0
  191. package/es/point/models/earthFill.js +258 -0
  192. package/es/point/models/extrude.d.ts +24 -0
  193. package/es/point/models/extrude.js +298 -0
  194. package/es/point/models/fill.d.ts +40 -0
  195. package/es/point/models/fill.js +404 -0
  196. package/es/point/models/fillmage.d.ts +25 -0
  197. package/es/point/models/fillmage.js +367 -0
  198. package/es/point/models/image.d.ts +11 -0
  199. package/es/point/models/image.js +239 -0
  200. package/es/point/models/index.d.ts +5 -0
  201. package/es/point/models/index.js +30 -0
  202. package/es/point/models/normal.d.ts +17 -0
  203. package/es/point/models/normal.js +177 -0
  204. package/es/point/models/radar.d.ts +24 -0
  205. package/es/point/models/radar.js +297 -0
  206. package/es/point/models/simplePoint.d.ts +17 -0
  207. package/es/point/models/simplePoint.js +188 -0
  208. package/es/point/models/text.d.ts +57 -0
  209. package/es/point/models/text.js +622 -0
  210. package/es/point/models/tile.d.ts +22 -0
  211. package/es/point/models/tile.js +309 -0
  212. package/es/point/models/tileText.d.ts +56 -0
  213. package/es/point/models/tileText.js +598 -0
  214. package/es/point/shaders/animate/wave_frag.glsl +65 -0
  215. package/es/point/shaders/earth/extrude_frag.glsl +44 -0
  216. package/es/point/shaders/earth/extrude_vert.glsl +140 -0
  217. package/es/point/shaders/earth/fill_frag.glsl +86 -0
  218. package/es/point/shaders/earth/fill_vert.glsl +126 -0
  219. package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
  220. package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
  221. package/es/point/shaders/fill_frag.glsl +84 -0
  222. package/es/point/shaders/fill_vert.glsl +189 -0
  223. package/es/point/shaders/image/fillImage_frag.glsl +20 -0
  224. package/es/point/shaders/image/fillImage_vert.glsl +116 -0
  225. package/es/point/shaders/image_frag.glsl +39 -0
  226. package/es/point/shaders/image_vert.glsl +90 -0
  227. package/es/point/shaders/normal_frag.glsl +15 -0
  228. package/es/point/shaders/normal_vert.glsl +79 -0
  229. package/es/point/shaders/radar/radar_frag.glsl +64 -0
  230. package/es/point/shaders/radar/radar_vert.glsl +120 -0
  231. package/es/point/shaders/simplePoint_frag.glsl +53 -0
  232. package/es/point/shaders/simplePoint_vert.glsl +79 -0
  233. package/es/point/shaders/text_frag.glsl +48 -0
  234. package/es/point/shaders/text_vert.glsl +131 -0
  235. package/es/point/shaders/tile/fill_tile_frag.glsl +83 -0
  236. package/es/point/shaders/tile/fill_tile_vert.glsl +181 -0
  237. package/es/point/shape/extrude.d.ts +15 -0
  238. package/es/point/shape/extrude.js +63 -0
  239. package/es/polygon/index.d.ts +27 -0
  240. package/es/polygon/index.js +148 -0
  241. package/es/polygon/models/extrude.d.ts +28 -0
  242. package/es/polygon/models/extrude.js +306 -0
  243. package/es/polygon/models/fill.d.ts +17 -0
  244. package/es/polygon/models/fill.js +211 -0
  245. package/es/polygon/models/index.d.ts +5 -0
  246. package/es/polygon/models/index.js +28 -0
  247. package/es/polygon/models/ocean.d.ts +23 -0
  248. package/es/polygon/models/ocean.js +236 -0
  249. package/es/polygon/models/tile.d.ts +15 -0
  250. package/es/polygon/models/tile.js +133 -0
  251. package/es/polygon/models/water.d.ts +18 -0
  252. package/es/polygon/models/water.js +213 -0
  253. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  254. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  255. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  256. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  257. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  258. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  259. package/es/polygon/shaders/polygon_frag.glsl +12 -0
  260. package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
  261. package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
  262. package/es/polygon/shaders/polygon_vert.glsl +66 -0
  263. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  264. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  265. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  266. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  267. package/es/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  268. package/es/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  269. package/es/raster/buffers/triangulation.d.ts +6 -0
  270. package/es/raster/buffers/triangulation.js +28 -0
  271. package/es/raster/index.d.ts +19 -0
  272. package/es/raster/index.js +106 -0
  273. package/es/raster/models/index.d.ts +5 -0
  274. package/es/raster/models/index.js +8 -0
  275. package/es/raster/models/raster.d.ts +21 -0
  276. package/es/raster/models/raster.js +167 -0
  277. package/es/raster/raster.d.ts +30 -0
  278. package/es/raster/raster.js +174 -0
  279. package/es/raster/shaders/raster_2d_frag.glsl +28 -0
  280. package/es/raster/shaders/raster_2d_vert.glsl +18 -0
  281. package/es/raster/shaders/raster_frag.glsl +9 -0
  282. package/es/raster/shaders/raster_vert.glsl +44 -0
  283. package/es/tile/interface.d.ts +28 -0
  284. package/es/tile/interface.js +1 -0
  285. package/es/tile/manager/tileConfigManager.d.ts +17 -0
  286. package/es/tile/manager/tileConfigManager.js +121 -0
  287. package/es/tile/manager/tileLayerManager.d.ts +37 -0
  288. package/es/tile/manager/tileLayerManager.js +323 -0
  289. package/es/tile/manager/tilePickerManager.d.ts +21 -0
  290. package/es/tile/manager/tilePickerManager.js +190 -0
  291. package/es/tile/models/tileModel.d.ts +8 -0
  292. package/es/tile/models/tileModel.js +62 -0
  293. package/es/tile/tileFactory/base.d.ts +44 -0
  294. package/es/tile/tileFactory/base.js +444 -0
  295. package/es/tile/tileFactory/index.d.ts +5 -0
  296. package/es/tile/tileFactory/index.js +33 -0
  297. package/es/tile/tileFactory/line.d.ts +12 -0
  298. package/es/tile/tileFactory/line.js +59 -0
  299. package/es/tile/tileFactory/point.d.ts +12 -0
  300. package/es/tile/tileFactory/point.js +59 -0
  301. package/es/tile/tileFactory/polygon.d.ts +12 -0
  302. package/es/tile/tileFactory/polygon.js +59 -0
  303. package/es/tile/tileFactory/raster.d.ts +12 -0
  304. package/es/tile/tileFactory/raster.js +55 -0
  305. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  306. package/es/tile/tileFactory/rasterData.js +80 -0
  307. package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
  308. package/es/tile/tileFactory/rasterDataLayer.js +87 -0
  309. package/es/tile/tileFactory/test.d.ts +12 -0
  310. package/es/tile/tileFactory/test.js +82 -0
  311. package/es/tile/tileFactory/vectorLayer.d.ts +29 -0
  312. package/es/tile/tileFactory/vectorLayer.js +161 -0
  313. package/es/tile/tileLayer/baseTileLayer.d.ts +47 -0
  314. package/es/tile/tileLayer/baseTileLayer.js +438 -0
  315. package/es/tile/tileTest.d.ts +14 -0
  316. package/es/tile/tileTest.js +63 -0
  317. package/es/tile/tmsTileLayer.d.ts +7 -0
  318. package/es/tile/tmsTileLayer.js +101 -0
  319. package/es/tile/utils.d.ts +13 -0
  320. package/es/tile/utils.js +131 -0
  321. package/es/utils/blend.d.ts +2 -0
  322. package/es/utils/blend.js +54 -0
  323. package/es/utils/collision-index.d.ts +47 -0
  324. package/es/utils/collision-index.js +102 -0
  325. package/es/utils/dataMappingStyle.d.ts +31 -0
  326. package/es/utils/dataMappingStyle.js +147 -0
  327. package/es/utils/extrude_polyline.d.ts +67 -0
  328. package/es/utils/extrude_polyline.js +611 -0
  329. package/es/utils/grid-index.d.ts +28 -0
  330. package/es/utils/grid-index.js +179 -0
  331. package/es/utils/layerData.d.ts +2 -0
  332. package/es/utils/layerData.js +176 -0
  333. package/es/utils/multiPassRender.d.ts +16 -0
  334. package/es/utils/multiPassRender.js +50 -0
  335. package/es/utils/polylineNormal.d.ts +9 -0
  336. package/es/utils/polylineNormal.js +191 -0
  337. package/es/utils/simpleLine.d.ts +23 -0
  338. package/es/utils/simpleLine.js +103 -0
  339. package/es/utils/symbol-layout.d.ts +43 -0
  340. package/es/utils/symbol-layout.js +299 -0
  341. package/es/utils/updateShape.d.ts +2 -0
  342. package/es/utils/updateShape.js +20 -0
  343. package/es/wind/index.d.ts +20 -0
  344. package/es/wind/index.js +100 -0
  345. package/es/wind/models/index.d.ts +5 -0
  346. package/es/wind/models/index.js +5 -0
  347. package/es/wind/models/utils.d.ts +19 -0
  348. package/es/wind/models/utils.js +226 -0
  349. package/es/wind/models/wind.d.ts +33 -0
  350. package/es/wind/models/wind.js +331 -0
  351. package/es/wind/models/windRender.d.ts +104 -0
  352. package/es/wind/models/windRender.js +357 -0
  353. package/es/wind/models/windShader.d.ts +12 -0
  354. package/es/wind/models/windShader.js +12 -0
  355. package/es/wind/shaders/wind_frag.glsl +9 -0
  356. package/es/wind/shaders/wind_vert.glsl +17 -0
  357. package/lib/Geometry/index.js +119 -0
  358. package/lib/Geometry/models/billboard.js +246 -0
  359. package/lib/Geometry/models/index.js +22 -0
  360. package/lib/Geometry/models/plane.js +436 -0
  361. package/lib/Geometry/models/sprite.js +318 -0
  362. package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
  363. package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
  364. package/lib/Geometry/shaders/plane_frag.glsl +22 -0
  365. package/lib/Geometry/shaders/plane_vert.glsl +53 -0
  366. package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
  367. package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
  368. package/lib/canvas/index.js +104 -0
  369. package/lib/canvas/models/canvas.js +221 -0
  370. package/lib/canvas/models/index.js +16 -0
  371. package/lib/citybuliding/building.js +101 -0
  372. package/lib/citybuliding/models/build.js +203 -0
  373. package/lib/citybuliding/shaders/build_frag.glsl +117 -0
  374. package/lib/citybuliding/shaders/build_vert.glsl +54 -0
  375. package/lib/core/BaseLayer.js +1408 -0
  376. package/lib/core/BaseModel.js +503 -0
  377. package/lib/core/interface.js +41 -0
  378. package/lib/core/schema.js +33 -0
  379. package/lib/core/shape/Path.js +88 -0
  380. package/lib/core/shape/extrude.js +180 -0
  381. package/lib/core/triangulation.js +555 -0
  382. package/lib/earth/index.js +107 -0
  383. package/lib/earth/models/atmosphere.js +152 -0
  384. package/lib/earth/models/base.js +222 -0
  385. package/lib/earth/models/bloomsphere.js +152 -0
  386. package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
  387. package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
  388. package/lib/earth/shaders/base_frag.glsl +13 -0
  389. package/lib/earth/shaders/base_vert.glsl +52 -0
  390. package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
  391. package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
  392. package/lib/earth/utils.js +136 -0
  393. package/lib/heatmap/index.js +158 -0
  394. package/lib/heatmap/models/grid.js +122 -0
  395. package/lib/heatmap/models/grid3d.js +161 -0
  396. package/lib/heatmap/models/heatmap.js +487 -0
  397. package/lib/heatmap/models/hexagon.js +125 -0
  398. package/lib/heatmap/models/index.js +26 -0
  399. package/lib/heatmap/shaders/grid_vert.glsl +42 -0
  400. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  401. package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  402. package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
  403. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  404. package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  405. package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
  406. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  407. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  408. package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
  409. package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
  410. package/lib/heatmap/triangulation.js +45 -0
  411. package/lib/image/index.js +116 -0
  412. package/lib/image/models/dataImage.js +240 -0
  413. package/lib/image/models/image.js +183 -0
  414. package/lib/image/models/index.js +19 -0
  415. package/lib/image/shaders/dataImage_frag.glsl +38 -0
  416. package/lib/image/shaders/image_frag.glsl +9 -0
  417. package/lib/image/shaders/image_vert.glsl +17 -0
  418. package/lib/index.js +275 -0
  419. package/lib/line/index.js +153 -0
  420. package/lib/line/models/arc.js +373 -0
  421. package/lib/line/models/arc_3d.js +353 -0
  422. package/lib/line/models/earthArc_3d.js +356 -0
  423. package/lib/line/models/great_circle.js +310 -0
  424. package/lib/line/models/half.js +299 -0
  425. package/lib/line/models/index.js +46 -0
  426. package/lib/line/models/line.js +459 -0
  427. package/lib/line/models/linearline.js +293 -0
  428. package/lib/line/models/simpleLine.js +248 -0
  429. package/lib/line/models/tile.js +368 -0
  430. package/lib/line/models/wall.js +345 -0
  431. package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
  432. package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
  433. package/lib/line/shaders/dash/arc_dash_vert.glsl +148 -0
  434. package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
  435. package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
  436. package/lib/line/shaders/half/line_half_frag.glsl +53 -0
  437. package/lib/line/shaders/half/line_half_vert.glsl +169 -0
  438. package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
  439. package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
  440. package/lib/line/shaders/line_arc_3d_vert.glsl +207 -0
  441. package/lib/line/shaders/line_arc_frag.glsl +89 -0
  442. package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  443. package/lib/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  444. package/lib/line/shaders/line_arc_vert.glsl +176 -0
  445. package/lib/line/shaders/line_bezier_vert.glsl +85 -0
  446. package/lib/line/shaders/line_frag.glsl +100 -0
  447. package/lib/line/shaders/line_vert.glsl +192 -0
  448. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  449. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  450. package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
  451. package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
  452. package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
  453. package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  454. package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  455. package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
  456. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  457. package/lib/line/shaders/simple/simpleline_vert.glsl +79 -0
  458. package/lib/line/shaders/tile/line_tile_frag.glsl +79 -0
  459. package/lib/line/shaders/tile/line_tile_vert.glsl +210 -0
  460. package/lib/line/shaders/wall_frag.glsl +93 -0
  461. package/lib/line/shaders/wall_vert.glsl +111 -0
  462. package/lib/mask/index.js +95 -0
  463. package/lib/mask/models/fill.js +137 -0
  464. package/lib/mask/models/index.js +16 -0
  465. package/lib/mask/shaders/mask_frag.glsl +7 -0
  466. package/lib/mask/shaders/mask_vert.glsl +22 -0
  467. package/lib/plugins/DataMappingPlugin.js +360 -0
  468. package/lib/plugins/DataSourcePlugin.js +96 -0
  469. package/lib/plugins/FeatureScalePlugin.js +404 -0
  470. package/lib/plugins/LayerAnimateStylePlugin.js +64 -0
  471. package/lib/plugins/LayerModelPlugin.js +82 -0
  472. package/lib/plugins/LayerStylePlugin.js +50 -0
  473. package/lib/plugins/LightingPlugin.js +125 -0
  474. package/lib/plugins/MultiPassRendererPlugin.js +93 -0
  475. package/lib/plugins/PixelPickingPlugin.js +159 -0
  476. package/lib/plugins/RegisterStyleAttributePlugin.js +117 -0
  477. package/lib/plugins/ShaderUniformPlugin.js +120 -0
  478. package/lib/plugins/UpdateModelPlugin.js +42 -0
  479. package/lib/plugins/UpdateStyleAttributePlugin.js +98 -0
  480. package/lib/point/index.js +247 -0
  481. package/lib/point/models/earthExtrude.js +295 -0
  482. package/lib/point/models/earthFill.js +293 -0
  483. package/lib/point/models/extrude.js +315 -0
  484. package/lib/point/models/fill.js +420 -0
  485. package/lib/point/models/fillmage.js +383 -0
  486. package/lib/point/models/image.js +255 -0
  487. package/lib/point/models/index.js +53 -0
  488. package/lib/point/models/normal.js +194 -0
  489. package/lib/point/models/radar.js +314 -0
  490. package/lib/point/models/simplePoint.js +205 -0
  491. package/lib/point/models/text.js +637 -0
  492. package/lib/point/models/tile.js +325 -0
  493. package/lib/point/models/tileText.js +613 -0
  494. package/lib/point/shaders/animate/wave_frag.glsl +65 -0
  495. package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
  496. package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
  497. package/lib/point/shaders/earth/fill_frag.glsl +86 -0
  498. package/lib/point/shaders/earth/fill_vert.glsl +126 -0
  499. package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
  500. package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
  501. package/lib/point/shaders/fill_frag.glsl +84 -0
  502. package/lib/point/shaders/fill_vert.glsl +189 -0
  503. package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
  504. package/lib/point/shaders/image/fillImage_vert.glsl +116 -0
  505. package/lib/point/shaders/image_frag.glsl +39 -0
  506. package/lib/point/shaders/image_vert.glsl +90 -0
  507. package/lib/point/shaders/normal_frag.glsl +15 -0
  508. package/lib/point/shaders/normal_vert.glsl +79 -0
  509. package/lib/point/shaders/radar/radar_frag.glsl +64 -0
  510. package/lib/point/shaders/radar/radar_vert.glsl +120 -0
  511. package/lib/point/shaders/simplePoint_frag.glsl +53 -0
  512. package/lib/point/shaders/simplePoint_vert.glsl +79 -0
  513. package/lib/point/shaders/text_frag.glsl +48 -0
  514. package/lib/point/shaders/text_vert.glsl +131 -0
  515. package/lib/point/shaders/tile/fill_tile_frag.glsl +83 -0
  516. package/lib/point/shaders/tile/fill_tile_vert.glsl +181 -0
  517. package/lib/point/shape/extrude.js +78 -0
  518. package/lib/polygon/index.js +162 -0
  519. package/lib/polygon/models/extrude.js +322 -0
  520. package/lib/polygon/models/fill.js +226 -0
  521. package/lib/polygon/models/index.js +50 -0
  522. package/lib/polygon/models/ocean.js +252 -0
  523. package/lib/polygon/models/tile.js +147 -0
  524. package/lib/polygon/models/water.js +229 -0
  525. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  526. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  527. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  528. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  529. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  530. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  531. package/lib/polygon/shaders/polygon_frag.glsl +12 -0
  532. package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
  533. package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
  534. package/lib/polygon/shaders/polygon_vert.glsl +66 -0
  535. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  536. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  537. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  538. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  539. package/lib/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  540. package/lib/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  541. package/lib/raster/buffers/triangulation.js +38 -0
  542. package/lib/raster/index.js +119 -0
  543. package/lib/raster/models/index.js +20 -0
  544. package/lib/raster/models/raster.js +182 -0
  545. package/lib/raster/raster.js +191 -0
  546. package/lib/raster/shaders/raster_2d_frag.glsl +28 -0
  547. package/lib/raster/shaders/raster_2d_vert.glsl +18 -0
  548. package/lib/raster/shaders/raster_frag.glsl +9 -0
  549. package/lib/raster/shaders/raster_vert.glsl +44 -0
  550. package/lib/tile/interface.js +5 -0
  551. package/lib/tile/manager/tileConfigManager.js +133 -0
  552. package/lib/tile/manager/tileLayerManager.js +341 -0
  553. package/lib/tile/manager/tilePickerManager.js +201 -0
  554. package/lib/tile/models/tileModel.js +74 -0
  555. package/lib/tile/tileFactory/base.js +466 -0
  556. package/lib/tile/tileFactory/index.js +64 -0
  557. package/lib/tile/tileFactory/line.js +70 -0
  558. package/lib/tile/tileFactory/point.js +70 -0
  559. package/lib/tile/tileFactory/polygon.js +70 -0
  560. package/lib/tile/tileFactory/raster.js +68 -0
  561. package/lib/tile/tileFactory/rasterData.js +93 -0
  562. package/lib/tile/tileFactory/rasterDataLayer.js +100 -0
  563. package/lib/tile/tileFactory/test.js +95 -0
  564. package/lib/tile/tileFactory/vectorLayer.js +176 -0
  565. package/lib/tile/tileLayer/baseTileLayer.js +447 -0
  566. package/lib/tile/tileTest.js +75 -0
  567. package/lib/tile/tmsTileLayer.js +117 -0
  568. package/lib/tile/utils.js +158 -0
  569. package/lib/utils/blend.js +65 -0
  570. package/lib/utils/collision-index.js +118 -0
  571. package/lib/utils/dataMappingStyle.js +151 -0
  572. package/lib/utils/extrude_polyline.js +653 -0
  573. package/lib/utils/grid-index.js +188 -0
  574. package/lib/utils/layerData.js +187 -0
  575. package/lib/utils/multiPassRender.js +61 -0
  576. package/lib/utils/polylineNormal.js +230 -0
  577. package/lib/utils/simpleLine.js +116 -0
  578. package/lib/utils/symbol-layout.js +308 -0
  579. package/lib/utils/updateShape.js +27 -0
  580. package/lib/wind/index.js +113 -0
  581. package/lib/wind/models/index.js +16 -0
  582. package/lib/wind/models/utils.js +253 -0
  583. package/lib/wind/models/wind.js +346 -0
  584. package/lib/wind/models/windRender.js +373 -0
  585. package/lib/wind/models/windShader.js +25 -0
  586. package/lib/wind/shaders/wind_frag.glsl +9 -0
  587. package/lib/wind/shaders/wind_vert.glsl +17 -0
  588. package/package.json +6 -7
@@ -0,0 +1,373 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.Wind = void 0;
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var glUtils = _interopRequireWildcard(require("./utils"));
19
+
20
+ var _windShader = require("./windShader");
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ function getColorRamp(colors) {
27
+ var canvas = document.createElement('canvas');
28
+ var ctx = canvas.getContext('2d');
29
+ canvas.width = 256;
30
+ canvas.height = 1;
31
+ var gradient = ctx.createLinearGradient(0, 0, 256, 0);
32
+
33
+ for (var _i = 0, _Object$keys = Object.keys(colors); _i < _Object$keys.length; _i++) {
34
+ var stop = _Object$keys[_i];
35
+ gradient.addColorStop(+stop, colors[+stop]);
36
+ }
37
+
38
+ ctx.fillStyle = gradient;
39
+ ctx.fillRect(0, 0, 256, 1); // @ts-ignore dispose canvas element
40
+
41
+ canvas = null;
42
+ return new Uint8Array(ctx.getImageData(0, 0, 256, 1).data);
43
+ }
44
+
45
+ function bindAttribute(gl, buffer, attribute, numComponents) {
46
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
47
+ gl.enableVertexAttribArray(attribute);
48
+ gl.vertexAttribPointer(attribute, numComponents, gl.FLOAT, false, 0, 0);
49
+ }
50
+
51
+ function bindFramebuffer(gl, framebuffer, texture) {
52
+ gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
53
+
54
+ if (texture) {
55
+ gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
56
+ }
57
+ }
58
+
59
+ var Wind = /*#__PURE__*/function () {
60
+ function Wind(options) {
61
+ (0, _classCallCheck2.default)(this, Wind);
62
+ (0, _defineProperty2.default)(this, "width", 512);
63
+ (0, _defineProperty2.default)(this, "height", 512);
64
+ (0, _defineProperty2.default)(this, "numParticles", 65536);
65
+ this.gl = options.glContext;
66
+ this.width = options.imageWidth;
67
+ this.height = options.imageHeight;
68
+ this.fadeOpacity = options.fadeOpacity;
69
+ this.speedFactor = options.speedFactor;
70
+ this.dropRate = options.dropRate;
71
+ this.dropRateBump = options.dropRateBump;
72
+ this.rampColors = options.rampColors;
73
+ this.init();
74
+ }
75
+
76
+ (0, _createClass2.default)(Wind, [{
77
+ key: "init",
78
+ value: function init() {
79
+ var gl = this.gl;
80
+ this.fadeOpacity = 0.996; // how fast the particle trails fade on each frame
81
+
82
+ this.speedFactor = 0.25; // how fast the particles move
83
+
84
+ this.dropRate = 0.003; // how often the particles move to a random place
85
+
86
+ this.dropRateBump = 0.01; // drop rate increase relative to individual particle speed
87
+
88
+ this.drawProgram = glUtils.createProgram(gl, _windShader.drawVert, _windShader.drawFrag);
89
+ this.fullScreenProgram = glUtils.createProgram(gl, _windShader.fullScreenVert, _windShader.fullScreenFrag);
90
+ this.updateProgram = glUtils.createProgram(gl, _windShader.updateVert, _windShader.updateFrag);
91
+ this.quadBuffer = glUtils.createBuffer(gl, new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1]));
92
+ this.framebuffer = gl.createFramebuffer();
93
+ this.colorRampTexture = glUtils.createTexture(this.gl, this.gl.LINEAR, getColorRamp(this.rampColors), 16, 16);
94
+ var emptyPixels = new Uint8Array(this.width * this.height * 4); // screen textures to hold the drawn screen for the previous and the current frame
95
+
96
+ this.backgroundTexture = glUtils.createTexture(gl, gl.NEAREST, emptyPixels, this.width, this.height);
97
+ this.screenTexture = glUtils.createTexture(gl, gl.NEAREST, emptyPixels, this.width, this.height); // we create a square texture where each pixel will hold a particle position encoded as RGBA
98
+
99
+ var particleRes = this.particleStateResolution = Math.ceil(Math.sqrt(this.numParticles)); // particleRes size
100
+
101
+ this.numParticlesSize = particleRes * particleRes;
102
+ var particleState = new Uint8Array(this.numParticlesSize * 4);
103
+
104
+ for (var i = 0; i < particleState.length; i++) {
105
+ particleState[i] = Math.floor(Math.random() * 256); // randomize the initial particle positions
106
+ } // textures to hold the particle state for the current and the next frame
107
+
108
+
109
+ this.particleStateTexture0 = glUtils.createTexture(gl, gl.NEAREST, particleState, particleRes, particleRes);
110
+ this.particleStateTexture1 = glUtils.createTexture(gl, gl.NEAREST, particleState, particleRes, particleRes);
111
+ var particleIndices = new Float32Array(this.numParticlesSize);
112
+
113
+ for (var i$1 = 0; i$1 < this.numParticlesSize; i$1++) {
114
+ particleIndices[i$1] = i$1;
115
+ }
116
+
117
+ this.particleIndexBuffer = glUtils.createBuffer(gl, particleIndices);
118
+ }
119
+ }, {
120
+ key: "setWind",
121
+ value: function setWind(windData) {
122
+ this.windData = windData;
123
+ this.windTexture = glUtils.createDataTexture(this.gl, this.gl.LINEAR, windData.image);
124
+ }
125
+ /**
126
+ * 更新风场粒子数量
127
+ * @param num
128
+ */
129
+
130
+ }, {
131
+ key: "updateParticelNum",
132
+ value: function updateParticelNum(num) {
133
+ var gl = this.gl;
134
+
135
+ if (num !== this.numParticles) {
136
+ this.numParticles = num; // params number
137
+ // we create a square texture where each pixel will hold a particle position encoded as RGBA
138
+
139
+ var particleRes = this.particleStateResolution = Math.ceil(Math.sqrt(this.numParticles));
140
+ this.numParticlesSize = particleRes * particleRes;
141
+ var particleState = new Uint8Array(this.numParticlesSize * 4);
142
+
143
+ for (var i = 0; i < particleState.length; i++) {
144
+ particleState[i] = Math.floor(Math.random() * 256); // randomize the initial particle positions
145
+ } // textures to hold the particle state for the current and the next frame
146
+
147
+
148
+ this.particleStateTexture0 = glUtils.createTexture(gl, gl.NEAREST, particleState, particleRes, particleRes);
149
+ this.particleStateTexture1 = glUtils.createTexture(gl, gl.NEAREST, particleState, particleRes, particleRes);
150
+ var particleIndices = new Float32Array(this.numParticlesSize);
151
+
152
+ for (var i$1 = 0; i$1 < this.numParticlesSize; i$1++) {
153
+ particleIndices[i$1] = i$1;
154
+ }
155
+
156
+ this.particleIndexBuffer = glUtils.createBuffer(gl, particleIndices);
157
+ }
158
+ }
159
+ /**
160
+ * 更新风场风向风速
161
+ * @param uMin
162
+ * @param uMax
163
+ * @param vMin
164
+ * @param vMax
165
+ */
166
+
167
+ }, {
168
+ key: "updateWindDir",
169
+ value: function updateWindDir(uMin, uMax, vMin, vMax) {
170
+ this.windData.uMin = uMin;
171
+ this.windData.uMax = uMax;
172
+ this.windData.vMin = vMin;
173
+ this.windData.vMax = vMax;
174
+ }
175
+ /**
176
+ * update rampColors
177
+ * @param rampColors
178
+ */
179
+
180
+ }, {
181
+ key: "updateColorRampTexture",
182
+ value: function updateColorRampTexture(rampColors) {
183
+ if (this.isColorChanged(rampColors)) {
184
+ this.rampColors = rampColors;
185
+ var gl = this.gl;
186
+ gl.deleteTexture(this.colorRampTexture);
187
+ this.colorRampTexture = glUtils.createTexture(gl, gl.LINEAR, getColorRamp(rampColors), 16, 16);
188
+ }
189
+ }
190
+ }, {
191
+ key: "isColorChanged",
192
+ value: function isColorChanged(rampColors) {
193
+ var keys = Object.keys(rampColors);
194
+
195
+ for (var _i2 = 0, _keys = keys; _i2 < _keys.length; _i2++) {
196
+ var item = _keys[_i2];
197
+
198
+ var _key = Number(item); // exist new key -> color need update
199
+
200
+
201
+ if (!this.rampColors[_key]) {
202
+ return true;
203
+ } // value changed -> color need update
204
+
205
+
206
+ if (this.rampColors[_key] && this.rampColors[_key] !== rampColors[_key]) {
207
+ return true;
208
+ }
209
+ }
210
+
211
+ return false;
212
+ }
213
+ }, {
214
+ key: "reSize",
215
+ value: function reSize(width, height) {
216
+ if (width !== this.width || height !== this.height) {
217
+ var gl = this.gl;
218
+ gl.deleteTexture(this.backgroundTexture);
219
+ gl.deleteTexture(this.screenTexture);
220
+ this.width = width;
221
+ this.height = height;
222
+ var emptyPixels = new Uint8Array(width * height * 4); // screen textures to hold the drawn screen for the previous and the current frame
223
+
224
+ this.backgroundTexture = glUtils.createTexture(gl, gl.NEAREST, emptyPixels, width, height);
225
+ this.screenTexture = glUtils.createTexture(gl, gl.NEAREST, emptyPixels, width, height);
226
+ }
227
+ }
228
+ }, {
229
+ key: "draw",
230
+ value: function draw() {
231
+ var _this$windData;
232
+
233
+ if ((_this$windData = this.windData) !== null && _this$windData !== void 0 && _this$windData.image) {
234
+ var gl = this.gl;
235
+ glUtils.bindTexture(gl, this.windTexture, 0);
236
+ glUtils.bindTexture(gl, this.particleStateTexture0, 1);
237
+ this.drawScreen(); // draw Particles into framebuffer
238
+
239
+ this.updateParticles();
240
+ return {
241
+ d: this.pixels,
242
+ w: this.width,
243
+ h: this.height
244
+ };
245
+ } else {
246
+ return {
247
+ d: new Uint8Array([0, 0, 0, 0]),
248
+ w: 1,
249
+ h: 1
250
+ };
251
+ }
252
+ }
253
+ }, {
254
+ key: "drawScreen",
255
+ value: function drawScreen() {
256
+ var gl = this.gl; // draw the screen into a temporary framebuffer to retain it as the background on the next frame
257
+
258
+ bindFramebuffer(gl, this.framebuffer, this.screenTexture);
259
+ gl.viewport(0, 0, this.width, this.height);
260
+ gl.disable(gl.BLEND);
261
+ this.drawFullTexture(this.backgroundTexture, this.fadeOpacity);
262
+ this.drawParticles();
263
+ this.pixels = new Uint8Array(4 * this.width * this.height);
264
+ gl.readPixels(0, 0, this.width, this.height, gl.RGBA, gl.UNSIGNED_BYTE, this.pixels);
265
+ bindFramebuffer(gl, null, null);
266
+ gl.viewport(0, 0, this.gl.canvas.width, this.gl.canvas.height); // save the current screen as the background for the next frame
267
+
268
+ var temp = this.backgroundTexture;
269
+ this.backgroundTexture = this.screenTexture;
270
+ this.screenTexture = temp;
271
+ }
272
+ }, {
273
+ key: "drawFullTexture",
274
+ value: function drawFullTexture(texture, opacity) {
275
+ var gl = this.gl;
276
+ var program = this.fullScreenProgram;
277
+ gl.useProgram(program); // bindAttribute(gl, this.quadBuffer, program.a_pos, 2);
278
+
279
+ gl.bindBuffer(gl.ARRAY_BUFFER, this.quadBuffer);
280
+ gl.vertexAttribPointer(program.a_pos, 2, gl.FLOAT, false, 0, 0);
281
+ gl.enableVertexAttribArray(program.a_pos);
282
+ gl.bindBuffer(gl.ARRAY_BUFFER, null);
283
+ glUtils.bindTexture(gl, texture, 2);
284
+ gl.uniform1i(program.u_screen, 2);
285
+ gl.uniform1f(program.u_opacity, opacity);
286
+ gl.drawArrays(gl.TRIANGLES, 0, 6); // gl.drawArrays(gl.POINTS, 0, 6);
287
+ }
288
+ }, {
289
+ key: "drawParticles",
290
+ value: function drawParticles() {
291
+ var gl = this.gl;
292
+ var program = this.drawProgram;
293
+ gl.useProgram(program);
294
+ bindAttribute(gl, this.particleIndexBuffer, program.a_index, 1);
295
+ glUtils.bindTexture(gl, this.colorRampTexture, 2);
296
+ gl.uniform1i(program.u_wind, 0);
297
+ gl.uniform1i(program.u_particles, 1);
298
+ gl.uniform1i(program.u_color_ramp, 2);
299
+ gl.uniform1f(program.u_particles_res, this.particleStateResolution);
300
+ gl.uniform2f(program.u_wind_min, this.windData.uMin, this.windData.vMin);
301
+ gl.uniform2f(program.u_wind_max, this.windData.uMax, this.windData.vMax);
302
+ gl.drawArrays(gl.POINTS, 0, this.numParticlesSize);
303
+ }
304
+ }, {
305
+ key: "updateParticles",
306
+ value: function updateParticles() {
307
+ var gl = this.gl;
308
+ bindFramebuffer(gl, this.framebuffer, this.particleStateTexture1);
309
+ gl.viewport(0, 0, this.particleStateResolution, this.particleStateResolution);
310
+ var program = this.updateProgram;
311
+ gl.useProgram(program);
312
+ bindAttribute(gl, this.quadBuffer, program.a_pos, 2);
313
+ gl.uniform1i(program.u_wind, 0);
314
+ gl.uniform1i(program.u_particles, 1);
315
+ gl.uniform1f(program.u_rand_seed, Math.random());
316
+ gl.uniform2f(program.u_wind_res, this.windData.image.width * 2, this.windData.image.height * 2);
317
+ gl.uniform2f(program.u_wind_min, this.windData.uMin, this.windData.vMin);
318
+ gl.uniform2f(program.u_wind_max, this.windData.uMax, this.windData.vMax);
319
+ gl.uniform1f(program.u_speed_factor, this.speedFactor);
320
+ gl.uniform1f(program.u_drop_rate, this.dropRate);
321
+ gl.uniform1f(program.u_drop_rate_bump, this.dropRateBump);
322
+ gl.drawArrays(gl.TRIANGLES, 0, 6); // swap the particle state textures so the new one becomes the current one
323
+
324
+ var temp = this.particleStateTexture0;
325
+ this.particleStateTexture0 = this.particleStateTexture1;
326
+ this.particleStateTexture1 = temp;
327
+ bindFramebuffer(gl, null, null); // gl.viewport(0, 0, this.gl.canvas.width, this.gl.canvas.height);
328
+ }
329
+ }, {
330
+ key: "destroy",
331
+ value: function destroy() {
332
+ // private drawProgram: WebGLProgram;
333
+ // private fullScreenProgram: WebGLProgram;
334
+ // private updateProgram: WebGLProgram;
335
+ // private quadBuffer: WebGLBuffer | null;
336
+ // private particleIndexBuffer: WebGLBuffer | null;
337
+ // private framebuffer: WebGLFramebuffer | null;
338
+ // private colorRampTexture: WebGLTexture | null;
339
+ // private backgroundTexture: WebGLTexture | null;
340
+ // private screenTexture: WebGLTexture | null;
341
+ // private particleStateTexture0: WebGLTexture | null;
342
+ // private particleStateTexture1: WebGLTexture | null;
343
+ // private windTexture: WebGLTexture | null;
344
+ this.gl.deleteBuffer(this.quadBuffer);
345
+ this.gl.deleteBuffer(this.particleIndexBuffer);
346
+ this.gl.deleteFramebuffer(this.framebuffer); // @ts-ignore
347
+
348
+ this.gl.deleteShader(this.drawProgram.vertexShader); // @ts-ignore
349
+
350
+ this.gl.deleteShader(this.drawProgram.fragmentShader);
351
+ this.gl.deleteProgram(this.drawProgram); // @ts-ignore
352
+
353
+ this.gl.deleteShader(this.fullScreenProgram.vertexShader); // @ts-ignore
354
+
355
+ this.gl.deleteShader(this.fullScreenProgram.fragmentShader);
356
+ this.gl.deleteProgram(this.fullScreenProgram); // @ts-ignore
357
+
358
+ this.gl.deleteShader(this.updateProgram.vertexShader); // @ts-ignore
359
+
360
+ this.gl.deleteShader(this.updateProgram.fragmentShader);
361
+ this.gl.deleteProgram(this.updateProgram);
362
+ this.gl.deleteTexture(this.colorRampTexture);
363
+ this.gl.deleteTexture(this.backgroundTexture);
364
+ this.gl.deleteTexture(this.screenTexture);
365
+ this.gl.deleteTexture(this.particleStateTexture0);
366
+ this.gl.deleteTexture(this.particleStateTexture1);
367
+ this.gl.deleteTexture(this.windTexture);
368
+ }
369
+ }]);
370
+ return Wind;
371
+ }();
372
+
373
+ exports.Wind = Wind;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.updateVert = exports.updateFrag = exports.fullScreenVert = exports.fullScreenFrag = exports.drawVert = exports.drawFrag = void 0;
7
+
8
+ /**
9
+ * drawProgram drawVert drawFrag
10
+ * screenProgram screenVert screenFrag
11
+ * updateProgram updateVert updateFrag
12
+ * fullScreenProgram fullScreenVert fullScreenFrag
13
+ */
14
+ var drawVert = "\n precision mediump float;\n\n attribute float a_index;\n\n uniform sampler2D u_particles;\n uniform float u_particles_res;\n\n varying vec2 v_particle_pos;\n\n void main() {\n vec4 color = texture2D(u_particles, vec2(\n fract(a_index / u_particles_res),\n floor(a_index / u_particles_res) / u_particles_res)\n );\n\n // decode current particle position from the pixel's RGBA value\n v_particle_pos = vec2( color.r / 255.0 + color.b, color.g / 255.0 + color.a);\n\n gl_PointSize = 1.0;\n gl_Position = vec4(2.0 * v_particle_pos.x - 1.0, 1.0 - 2.0 * v_particle_pos.y, 0, 1);\n }";
15
+ exports.drawVert = drawVert;
16
+ var drawFrag = "\n precision mediump float;\n\n uniform sampler2D u_wind;\n uniform vec2 u_wind_min;\n uniform vec2 u_wind_max;\n uniform sampler2D u_color_ramp;\n\n varying vec2 v_particle_pos;\n\n void main() {\n vec2 velocity = mix(u_wind_min, u_wind_max, texture2D(u_wind, v_particle_pos).rg);\n float speed_t = length(velocity) / length(u_wind_max);\n\n // color ramp is encoded in a 16x16 texture\n vec2 ramp_pos = vec2( fract(16.0 * speed_t), floor(16.0 * speed_t) / 16.0);\n\n gl_FragColor = texture2D(u_color_ramp, ramp_pos);\n }";
17
+ exports.drawFrag = drawFrag;
18
+ var updateVert = "\n precision mediump float;\n\n attribute vec2 a_pos;\n\n varying vec2 v_tex_pos;\n\n void main() {\n v_tex_pos = a_pos;\n gl_Position = vec4(1.0 - 2.0 * a_pos, 0, 1);\n // framebuffer \u59CB\u7EC8\u7528\u94FA\u6EE1\u5C4F\u5E55\u7684 texture\n }";
19
+ exports.updateVert = updateVert;
20
+ var updateFrag = "\n precision highp float;\n\n uniform sampler2D u_particles;\n uniform sampler2D u_wind;\n uniform vec2 u_wind_res;\n uniform vec2 u_wind_min;\n uniform vec2 u_wind_max;\n uniform float u_rand_seed;\n uniform float u_speed_factor;\n uniform float u_drop_rate;\n uniform float u_drop_rate_bump;\n\n varying vec2 v_tex_pos;\n\n // pseudo-random generator\n const vec3 rand_constants = vec3(12.9898, 78.233, 4375.85453);\n float rand(const vec2 co) {\n float t = dot(rand_constants.xy, co);\n return fract(sin(t) * (rand_constants.z + t));\n }\n\n // wind speed lookup; use manual bilinear filtering based on 4 adjacent pixels for smooth interpolation\n vec2 lookup_wind(const vec2 uv) {\n // return texture2D(u_wind, uv).rg; // lower-res hardware filtering\n vec2 px = 1.0 / u_wind_res;\n vec2 vc = (floor(uv * u_wind_res)) * px;\n vec2 f = fract(uv * u_wind_res);\n vec2 tl = texture2D(u_wind, vc).rg;\n vec2 tr = texture2D(u_wind, vc + vec2(px.x, 0)).rg;\n vec2 bl = texture2D(u_wind, vc + vec2(0, px.y)).rg;\n vec2 br = texture2D(u_wind, vc + px).rg;\n return mix(mix(tl, tr, f.x), mix(bl, br, f.x), f.y);\n }\n\n void main() {\n vec4 color = texture2D(u_particles, v_tex_pos);\n vec2 pos = vec2(\n color.r / 255.0 + color.b,\n color.g / 255.0 + color.a); // decode particle position from pixel RGBA\n vec2 velocity = mix(u_wind_min, u_wind_max, lookup_wind(pos));\n float speed_t = length(velocity) / length(u_wind_max);\n\n // take EPSG:4236 distortion into account for calculating where the particle moved\n float distortion = cos(radians(pos.y * 180.0 - 90.0));\n vec2 offset = vec2(velocity.x / distortion, -velocity.y) * 0.0001 * u_speed_factor;\n\n // update particle position, wrapping around the date line\n pos = fract(1.0 + pos + offset);\n\n // a random seed to use for the particle drop\n vec2 seed = (pos + v_tex_pos) * u_rand_seed;\n\n // drop rate is a chance a particle will restart at random position, to avoid degeneration\n float drop_rate = u_drop_rate + speed_t * u_drop_rate_bump;\n float drop = step(1.0 - drop_rate, rand(seed));\n\n vec2 random_pos = vec2(\n rand(seed + 1.3),\n rand(seed + 2.1));\n pos = mix(pos, random_pos, drop);\n\n // encode the new particle position back into RGBA\n gl_FragColor = vec4(\n fract(pos * 255.0),\n floor(pos * 255.0) / 255.0);\n }";
21
+ exports.updateFrag = updateFrag;
22
+ var fullScreenVert = "\n precision mediump float;\n\n attribute vec2 a_pos;\n\n varying vec2 v_tex_pos;\n\n void main() {\n v_tex_pos = a_pos;\n gl_Position = vec4(1.0 - 2.0 * a_pos, 0.0, 1.0);\n gl_PointSize = 100.0;\n }";
23
+ exports.fullScreenVert = fullScreenVert;
24
+ var fullScreenFrag = "\n precision mediump float;\n\n uniform sampler2D u_screen;\n uniform float u_opacity;\n varying vec2 v_tex_pos;\n\n void main() {\n vec4 color = texture2D(u_screen, 1.0 - v_tex_pos);\n\n // a hack to guarantee opacity fade out even with a value close to 1.0\n gl_FragColor = vec4(floor(255.0 * color * u_opacity) / 255.0);\n }";
25
+ exports.fullScreenFrag = fullScreenFrag;
@@ -0,0 +1,9 @@
1
+ precision mediump float;
2
+ uniform float u_opacity: 1.0;
3
+ uniform sampler2D u_texture;
4
+ varying vec2 v_texCoord;
5
+ void main() {
6
+ vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));
7
+ gl_FragColor = color;
8
+ gl_FragColor.a *= u_opacity;
9
+ }
@@ -0,0 +1,17 @@
1
+ precision highp float;
2
+ uniform mat4 u_ModelMatrix;
3
+ uniform mat4 u_Mvp;
4
+ attribute vec3 a_Position;
5
+ attribute vec2 a_Uv;
6
+ varying vec2 v_texCoord;
7
+ #pragma include "projection"
8
+ void main() {
9
+ v_texCoord = a_Uv;
10
+ vec4 project_pos = project_position(vec4(a_Position, 1.0));
11
+ // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
12
+ if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
13
+ gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));
14
+ } else {
15
+ gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
16
+ }
17
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-layers",
3
- "version": "2.9.26-alpha.0",
3
+ "version": "2.9.26",
4
4
  "description": "L7's collection of built-in layers",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -27,10 +27,10 @@
27
27
  "license": "ISC",
28
28
  "dependencies": {
29
29
  "@antv/async-hook": "^2.1.0",
30
- "@antv/l7-core": "2.9.26-alpha.0",
31
- "@antv/l7-maps": "2.9.26-alpha.0",
32
- "@antv/l7-source": "2.9.26-alpha.0",
33
- "@antv/l7-utils": "2.9.26-alpha.0",
30
+ "@antv/l7-core": "2.9.26",
31
+ "@antv/l7-maps": "2.9.26",
32
+ "@antv/l7-source": "2.9.26",
33
+ "@antv/l7-utils": "2.9.26",
34
34
  "@babel/runtime": "^7.7.7",
35
35
  "@mapbox/martini": "^0.2.0",
36
36
  "@turf/helpers": "^6.1.4",
@@ -48,7 +48,6 @@
48
48
  "gl-vec2": "^1.3.0",
49
49
  "inversify": "^5.0.1",
50
50
  "lodash": "^4.17.15",
51
- "merge-json-schemas": "1.0.0",
52
51
  "polyline-miter-util": "^1.0.1",
53
52
  "reflect-metadata": "^0.1.13"
54
53
  },
@@ -61,7 +60,7 @@
61
60
  "@types/gl-matrix": "^2.4.5",
62
61
  "@types/lodash": "^4.14.138"
63
62
  },
64
- "gitHead": "177d0c84b6f1043ec91da9617dc4e32e769c0025",
63
+ "gitHead": "4e6f44c4ae44f7e9b9bbe627fd35406b3e7a63e1",
65
64
  "publishConfig": {
66
65
  "access": "public"
67
66
  }