@antv/l7-layers 2.16.1 → 2.16.2

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 (386) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.d.ts +3 -0
  10. package/es/core/BaseLayer.js +360 -528
  11. package/es/core/BaseModel.d.ts +9 -71
  12. package/es/core/BaseModel.js +118 -429
  13. package/es/core/CommonStyleAttribute.d.ts +2 -0
  14. package/es/core/CommonStyleAttribute.js +66 -0
  15. package/es/core/LayerPickService.js +21 -32
  16. package/es/core/TextureService.js +0 -13
  17. package/es/core/interface.d.ts +13 -3
  18. package/es/core/interface.js +17 -24
  19. package/es/core/shape/Path.js +13 -20
  20. package/es/core/shape/extrude.js +27 -36
  21. package/es/core/triangulation.d.ts +12 -0
  22. package/es/core/triangulation.js +124 -114
  23. package/es/earth/index.js +9 -33
  24. package/es/earth/models/atmosphere.js +30 -54
  25. package/es/earth/models/base.js +47 -85
  26. package/es/earth/models/bloomsphere.js +30 -54
  27. package/es/earth/utils.js +9 -13
  28. package/es/heatmap/index.js +10 -40
  29. package/es/heatmap/models/grid.js +29 -53
  30. package/es/heatmap/models/grid3d.js +29 -53
  31. package/es/heatmap/models/heatmap.d.ts +1 -0
  32. package/es/heatmap/models/heatmap.js +99 -150
  33. package/es/heatmap/models/hexagon.js +29 -53
  34. package/es/heatmap/shaders/grid_vert.glsl +2 -2
  35. package/es/heatmap/shaders/hexagon_3d_vert.glsl +2 -2
  36. package/es/heatmap/shaders/hexagon_vert.glsl +2 -2
  37. package/es/heatmap/triangulation.js +0 -4
  38. package/es/image/index.js +9 -28
  39. package/es/image/models/image.js +66 -100
  40. package/es/index.js +9 -17
  41. package/es/line/index.d.ts +1 -0
  42. package/es/line/index.js +12 -36
  43. package/es/line/models/arc.js +72 -160
  44. package/es/line/models/arc_3d.js +67 -148
  45. package/es/line/models/earthArc_3d.js +66 -148
  46. package/es/line/models/{half.d.ts → flow.d.ts} +1 -11
  47. package/es/line/models/flow.js +167 -0
  48. package/es/line/models/great_circle.js +57 -135
  49. package/es/line/models/index.d.ts +1 -1
  50. package/es/line/models/index.js +3 -3
  51. package/es/line/models/line.js +98 -186
  52. package/es/line/models/linearline.js +46 -115
  53. package/es/line/models/simpleLine.d.ts +0 -1
  54. package/es/line/models/simpleLine.js +42 -114
  55. package/es/line/models/wall.js +52 -92
  56. package/es/line/shaders/dash/arc_dash_frag.glsl +3 -6
  57. package/es/line/shaders/dash/arc_dash_vert.glsl +6 -46
  58. package/es/line/shaders/dash/line_dash_frag.glsl +4 -7
  59. package/es/line/shaders/dash/line_dash_vert.glsl +3 -33
  60. package/es/line/shaders/flow/flow_line_frag.glsl +13 -0
  61. package/es/line/shaders/flow/flow_line_vert.glsl +83 -0
  62. package/es/line/shaders/line_arc_3d_frag.glsl +6 -6
  63. package/es/line/shaders/line_arc_3d_vert.glsl +4 -34
  64. package/es/line/shaders/line_arc_frag.glsl +7 -11
  65. package/es/line/shaders/line_arc_great_circle_frag.glsl +5 -6
  66. package/es/line/shaders/line_arc_great_circle_vert.glsl +4 -32
  67. package/es/line/shaders/line_arc_vert.glsl +9 -45
  68. package/es/line/shaders/line_frag.glsl +15 -17
  69. package/es/line/shaders/line_vert.glsl +3 -34
  70. package/es/line/shaders/linear/arc3d_linear_frag.glsl +5 -19
  71. package/es/line/shaders/linear/arc3d_linear_vert.glsl +9 -48
  72. package/es/line/shaders/linear/arc_linear_frag.glsl +2 -30
  73. package/es/line/shaders/linear/arc_linear_vert.glsl +9 -45
  74. package/es/line/shaders/linear/line_linear_frag.glsl +5 -6
  75. package/es/line/shaders/linearLine/line_linear_frag.glsl +2 -14
  76. package/es/line/shaders/linearLine/line_linear_vert.glsl +14 -32
  77. package/es/line/shaders/simple/simpleline_frag.glsl +1 -5
  78. package/es/line/shaders/simple/simpleline_linear_frag.glsl +2 -6
  79. package/es/line/shaders/simple/simpleline_vert.glsl +7 -33
  80. package/es/mask/index.js +9 -28
  81. package/es/mask/models/fill.js +29 -54
  82. package/es/plugins/DataMappingPlugin.js +90 -141
  83. package/es/plugins/DataSourcePlugin.js +45 -68
  84. package/es/plugins/FeatureScalePlugin.js +67 -122
  85. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  86. package/es/plugins/LayerMaskPlugin.js +3 -11
  87. package/es/plugins/LayerModelPlugin.js +79 -104
  88. package/es/plugins/LayerStylePlugin.js +3 -9
  89. package/es/plugins/LightingPlugin.js +12 -18
  90. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  91. package/es/plugins/PixelPickingPlugin.js +12 -21
  92. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  93. package/es/plugins/ShaderUniformPlugin.js +15 -29
  94. package/es/plugins/UpdateModelPlugin.js +0 -5
  95. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  96. package/es/point/index.d.ts +1 -0
  97. package/es/point/index.js +27 -77
  98. package/es/point/models/earthExtrude.d.ts +0 -3
  99. package/es/point/models/earthExtrude.js +60 -139
  100. package/es/point/models/earthFill.d.ts +0 -1
  101. package/es/point/models/earthFill.js +59 -140
  102. package/es/point/models/extrude.d.ts +0 -3
  103. package/es/point/models/extrude.js +60 -140
  104. package/es/point/models/fill.d.ts +0 -1
  105. package/es/point/models/fill.js +67 -158
  106. package/es/point/models/fillmage.js +66 -147
  107. package/es/point/models/image.js +52 -126
  108. package/es/point/models/index.js +2 -2
  109. package/es/point/models/normal.js +32 -56
  110. package/es/point/models/radar.d.ts +0 -1
  111. package/es/point/models/radar.js +42 -75
  112. package/es/point/models/simplePoint.d.ts +0 -1
  113. package/es/point/models/simplePoint.js +46 -115
  114. package/es/point/models/text.js +211 -344
  115. package/es/point/shaders/animate/wave_frag.glsl +1 -11
  116. package/es/point/shaders/earth/extrude_frag.glsl +5 -17
  117. package/es/point/shaders/earth/extrude_vert.glsl +14 -29
  118. package/es/point/shaders/earth/fill_frag.glsl +5 -14
  119. package/es/point/shaders/earth/fill_vert.glsl +1 -75
  120. package/es/point/shaders/extrude/extrude_frag.glsl +3 -29
  121. package/es/point/shaders/extrude/extrude_vert.glsl +27 -35
  122. package/es/point/shaders/fill_frag.glsl +9 -20
  123. package/es/point/shaders/fill_vert.glsl +16 -101
  124. package/es/point/shaders/image/fillImage_frag.glsl +2 -5
  125. package/es/point/shaders/image/fillImage_vert.glsl +4 -47
  126. package/es/point/shaders/image_frag.glsl +1 -5
  127. package/es/point/shaders/image_vert.glsl +1 -44
  128. package/es/point/shaders/normal_frag.glsl +0 -2
  129. package/es/point/shaders/normal_vert.glsl +2 -1
  130. package/es/point/shaders/radar/radar_vert.glsl +2 -2
  131. package/es/point/shaders/simplePoint_frag.glsl +0 -7
  132. package/es/point/shaders/simplePoint_vert.glsl +3 -45
  133. package/es/point/shaders/text_frag.glsl +6 -19
  134. package/es/point/shaders/text_vert.glsl +5 -66
  135. package/es/point/shape/extrude.js +4 -13
  136. package/es/polygon/index.d.ts +1 -0
  137. package/es/polygon/index.js +12 -40
  138. package/es/polygon/models/extrude.d.ts +0 -3
  139. package/es/polygon/models/extrude.js +122 -162
  140. package/es/polygon/models/fill.d.ts +0 -4
  141. package/es/polygon/models/fill.js +57 -130
  142. package/es/polygon/models/index.js +3 -2
  143. package/es/polygon/models/ocean.js +42 -76
  144. package/es/polygon/models/water.js +37 -71
  145. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -23
  146. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +7 -5
  147. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +7 -32
  148. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +33 -38
  149. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +12 -9
  150. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +16 -44
  151. package/es/polygon/shaders/polygon_frag.glsl +0 -5
  152. package/es/polygon/shaders/polygon_linear_frag.glsl +0 -8
  153. package/es/polygon/shaders/polygon_linear_vert.glsl +0 -32
  154. package/es/polygon/shaders/polygon_vert.glsl +1 -27
  155. package/es/raster/buffers/triangulation.js +2 -4
  156. package/es/raster/index.js +9 -32
  157. package/es/raster/models/raster.js +80 -116
  158. package/es/raster/models/rasterRgb.js +84 -127
  159. package/es/raster/models/rasterTerrainRgb.js +56 -84
  160. package/es/tile/interaction/getRasterData.js +14 -20
  161. package/es/tile/interaction/utils.js +7 -9
  162. package/es/tile/manager/base.js +63 -96
  163. package/es/tile/service/TileLayerService.js +33 -55
  164. package/es/tile/service/TilePickService.js +26 -40
  165. package/es/tile/service/TileSourceService.js +3 -7
  166. package/es/tile/tileFactory/DebugTile.js +29 -46
  167. package/es/tile/tileFactory/ImageTile.js +20 -38
  168. package/es/tile/tileFactory/MaskTile.js +22 -43
  169. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  170. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  171. package/es/tile/tileFactory/RasterTile.js +30 -53
  172. package/es/tile/tileFactory/Tile.js +63 -97
  173. package/es/tile/tileFactory/VectorTile.js +41 -68
  174. package/es/tile/tileFactory/index.js +0 -11
  175. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  176. package/es/tile/tileFactory/util.js +0 -3
  177. package/es/tile/tileLayer/BaseLayer.js +105 -146
  178. package/es/tile/utils.js +1 -1
  179. package/es/utils/blend.js +0 -2
  180. package/es/utils/collision-index.js +9 -16
  181. package/es/utils/extrude_polyline.js +101 -149
  182. package/es/utils/grid-index.js +2 -27
  183. package/es/utils/identityScale.js +0 -8
  184. package/es/utils/layerData.js +32 -46
  185. package/es/utils/multiPassRender.js +11 -13
  186. package/es/utils/polylineNormal.js +31 -37
  187. package/es/utils/simpleLine.js +2 -16
  188. package/es/utils/stencil.js +2 -3
  189. package/es/utils/symbol-layout.js +27 -53
  190. package/es/wind/index.js +9 -29
  191. package/es/wind/models/utils.js +26 -51
  192. package/es/wind/models/wind.js +101 -147
  193. package/es/wind/models/windRender.js +53 -66
  194. package/lib/Geometry/index.js +9 -38
  195. package/lib/Geometry/models/billboard.js +51 -97
  196. package/lib/Geometry/models/index.js +0 -5
  197. package/lib/Geometry/models/plane.js +79 -151
  198. package/lib/Geometry/models/sprite.js +60 -127
  199. package/lib/canvas/index.js +10 -40
  200. package/lib/canvas/models/canvas.js +41 -101
  201. package/lib/canvas/models/index.js +0 -3
  202. package/lib/citybuliding/building.js +8 -35
  203. package/lib/citybuliding/models/build.js +57 -92
  204. package/lib/core/BaseLayer.js +358 -520
  205. package/lib/core/BaseModel.js +117 -441
  206. package/lib/core/CommonStyleAttribute.js +72 -0
  207. package/lib/core/LayerPickService.js +21 -37
  208. package/lib/core/TextureService.js +0 -16
  209. package/lib/core/interface.js +21 -31
  210. package/lib/core/schema.js +0 -1
  211. package/lib/core/shape/Path.js +14 -31
  212. package/lib/core/shape/extrude.js +27 -59
  213. package/lib/core/triangulation.js +125 -153
  214. package/lib/earth/index.js +9 -43
  215. package/lib/earth/models/atmosphere.js +30 -63
  216. package/lib/earth/models/base.js +47 -90
  217. package/lib/earth/models/bloomsphere.js +30 -63
  218. package/lib/earth/utils.js +7 -31
  219. package/lib/heatmap/index.js +10 -48
  220. package/lib/heatmap/models/grid.js +29 -61
  221. package/lib/heatmap/models/grid3d.js +29 -61
  222. package/lib/heatmap/models/heatmap.js +99 -166
  223. package/lib/heatmap/models/hexagon.js +29 -61
  224. package/lib/heatmap/models/index.js +0 -6
  225. package/lib/heatmap/shaders/grid_vert.glsl +2 -2
  226. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +2 -2
  227. package/lib/heatmap/shaders/hexagon_vert.glsl +2 -2
  228. package/lib/heatmap/triangulation.js +0 -5
  229. package/lib/image/index.js +9 -36
  230. package/lib/image/models/image.js +66 -109
  231. package/lib/image/models/index.js +0 -3
  232. package/lib/index.js +7 -61
  233. package/lib/line/index.js +12 -42
  234. package/lib/line/models/arc.js +70 -170
  235. package/lib/line/models/arc_3d.js +65 -159
  236. package/lib/line/models/earthArc_3d.js +64 -159
  237. package/lib/line/models/flow.js +174 -0
  238. package/lib/line/models/great_circle.js +57 -146
  239. package/lib/line/models/index.js +3 -14
  240. package/lib/line/models/line.js +96 -194
  241. package/lib/line/models/linearline.js +46 -127
  242. package/lib/line/models/simpleLine.js +42 -124
  243. package/lib/line/models/wall.js +52 -103
  244. package/lib/line/shaders/dash/arc_dash_frag.glsl +3 -6
  245. package/lib/line/shaders/dash/arc_dash_vert.glsl +6 -46
  246. package/lib/line/shaders/dash/line_dash_frag.glsl +4 -7
  247. package/lib/line/shaders/dash/line_dash_vert.glsl +3 -33
  248. package/lib/line/shaders/flow/flow_line_frag.glsl +13 -0
  249. package/lib/line/shaders/flow/flow_line_vert.glsl +83 -0
  250. package/lib/line/shaders/line_arc_3d_frag.glsl +6 -6
  251. package/lib/line/shaders/line_arc_3d_vert.glsl +4 -34
  252. package/lib/line/shaders/line_arc_frag.glsl +7 -11
  253. package/lib/line/shaders/line_arc_great_circle_frag.glsl +5 -6
  254. package/lib/line/shaders/line_arc_great_circle_vert.glsl +4 -32
  255. package/lib/line/shaders/line_arc_vert.glsl +9 -45
  256. package/lib/line/shaders/line_frag.glsl +15 -17
  257. package/lib/line/shaders/line_vert.glsl +3 -34
  258. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +5 -19
  259. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +9 -48
  260. package/lib/line/shaders/linear/arc_linear_frag.glsl +2 -30
  261. package/lib/line/shaders/linear/arc_linear_vert.glsl +9 -45
  262. package/lib/line/shaders/linear/line_linear_frag.glsl +5 -6
  263. package/lib/line/shaders/linearLine/line_linear_frag.glsl +2 -14
  264. package/lib/line/shaders/linearLine/line_linear_vert.glsl +14 -32
  265. package/lib/line/shaders/simple/simpleline_frag.glsl +1 -5
  266. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +2 -6
  267. package/lib/line/shaders/simple/simpleline_vert.glsl +7 -33
  268. package/lib/mask/index.js +9 -36
  269. package/lib/mask/models/fill.js +29 -63
  270. package/lib/mask/models/index.js +0 -3
  271. package/lib/plugins/DataMappingPlugin.js +90 -152
  272. package/lib/plugins/DataSourcePlugin.js +45 -76
  273. package/lib/plugins/FeatureScalePlugin.js +67 -138
  274. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  275. package/lib/plugins/LayerMaskPlugin.js +4 -17
  276. package/lib/plugins/LayerModelPlugin.js +80 -113
  277. package/lib/plugins/LayerStylePlugin.js +4 -14
  278. package/lib/plugins/LightingPlugin.js +12 -25
  279. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  280. package/lib/plugins/PixelPickingPlugin.js +12 -27
  281. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  282. package/lib/plugins/ShaderUniformPlugin.js +15 -36
  283. package/lib/plugins/UpdateModelPlugin.js +1 -10
  284. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  285. package/lib/point/index.js +27 -83
  286. package/lib/point/models/earthExtrude.js +60 -150
  287. package/lib/point/models/earthFill.js +59 -170
  288. package/lib/point/models/extrude.js +60 -150
  289. package/lib/point/models/fill.js +65 -167
  290. package/lib/point/models/fillmage.js +64 -155
  291. package/lib/point/models/image.js +52 -136
  292. package/lib/point/models/index.js +1 -12
  293. package/lib/point/models/normal.js +32 -66
  294. package/lib/point/models/radar.js +42 -85
  295. package/lib/point/models/simplePoint.js +46 -125
  296. package/lib/point/models/text.js +209 -350
  297. package/lib/point/shaders/animate/wave_frag.glsl +1 -11
  298. package/lib/point/shaders/earth/extrude_frag.glsl +5 -17
  299. package/lib/point/shaders/earth/extrude_vert.glsl +14 -29
  300. package/lib/point/shaders/earth/fill_frag.glsl +5 -14
  301. package/lib/point/shaders/earth/fill_vert.glsl +1 -75
  302. package/lib/point/shaders/extrude/extrude_frag.glsl +3 -29
  303. package/lib/point/shaders/extrude/extrude_vert.glsl +27 -35
  304. package/lib/point/shaders/fill_frag.glsl +9 -20
  305. package/lib/point/shaders/fill_vert.glsl +16 -101
  306. package/lib/point/shaders/image/fillImage_frag.glsl +2 -5
  307. package/lib/point/shaders/image/fillImage_vert.glsl +4 -47
  308. package/lib/point/shaders/image_frag.glsl +1 -5
  309. package/lib/point/shaders/image_vert.glsl +1 -44
  310. package/lib/point/shaders/normal_frag.glsl +0 -2
  311. package/lib/point/shaders/normal_vert.glsl +2 -1
  312. package/lib/point/shaders/radar/radar_vert.glsl +2 -2
  313. package/lib/point/shaders/simplePoint_frag.glsl +0 -7
  314. package/lib/point/shaders/simplePoint_vert.glsl +3 -45
  315. package/lib/point/shaders/text_frag.glsl +6 -19
  316. package/lib/point/shaders/text_vert.glsl +5 -66
  317. package/lib/point/shape/extrude.js +4 -20
  318. package/lib/polygon/index.js +12 -48
  319. package/lib/polygon/models/extrude.js +122 -173
  320. package/lib/polygon/models/fill.js +57 -140
  321. package/lib/polygon/models/index.js +2 -14
  322. package/lib/polygon/models/ocean.js +42 -88
  323. package/lib/polygon/models/water.js +37 -82
  324. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -23
  325. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +7 -5
  326. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +7 -32
  327. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +33 -38
  328. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +12 -9
  329. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +16 -44
  330. package/lib/polygon/shaders/polygon_frag.glsl +0 -5
  331. package/lib/polygon/shaders/polygon_linear_frag.glsl +0 -8
  332. package/lib/polygon/shaders/polygon_linear_vert.glsl +0 -32
  333. package/lib/polygon/shaders/polygon_vert.glsl +1 -27
  334. package/lib/raster/buffers/triangulation.js +3 -7
  335. package/lib/raster/index.js +9 -40
  336. package/lib/raster/models/index.js +0 -5
  337. package/lib/raster/models/raster.js +80 -125
  338. package/lib/raster/models/rasterRgb.js +84 -139
  339. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  340. package/lib/tile/interaction/getRasterData.js +14 -25
  341. package/lib/tile/interaction/utils.js +7 -19
  342. package/lib/tile/manager/base.js +63 -104
  343. package/lib/tile/service/TileLayerService.js +33 -60
  344. package/lib/tile/service/TilePickService.js +26 -48
  345. package/lib/tile/service/TileSourceService.js +2 -16
  346. package/lib/tile/style/utils.js +0 -3
  347. package/lib/tile/tileFactory/DebugTile.js +29 -54
  348. package/lib/tile/tileFactory/ImageTile.js +20 -46
  349. package/lib/tile/tileFactory/MaskTile.js +22 -51
  350. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  351. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  352. package/lib/tile/tileFactory/RasterTile.js +30 -63
  353. package/lib/tile/tileFactory/Tile.js +63 -102
  354. package/lib/tile/tileFactory/VectorTile.js +41 -76
  355. package/lib/tile/tileFactory/index.js +0 -25
  356. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  357. package/lib/tile/tileFactory/util.js +0 -9
  358. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  359. package/lib/tile/utils.js +1 -5
  360. package/lib/utils/blend.js +0 -5
  361. package/lib/utils/collision-index.js +9 -25
  362. package/lib/utils/extrude_polyline.js +101 -181
  363. package/lib/utils/grid-index.js +2 -28
  364. package/lib/utils/identityScale.js +0 -9
  365. package/lib/utils/layerData.js +32 -51
  366. package/lib/utils/multiPassRender.js +11 -16
  367. package/lib/utils/polylineNormal.js +31 -66
  368. package/lib/utils/simpleLine.js +2 -21
  369. package/lib/utils/stencil.js +0 -4
  370. package/lib/utils/symbol-layout.js +27 -55
  371. package/lib/wind/index.js +9 -37
  372. package/lib/wind/models/index.js +0 -3
  373. package/lib/wind/models/utils.js +26 -62
  374. package/lib/wind/models/wind.js +101 -157
  375. package/lib/wind/models/windRender.js +53 -71
  376. package/lib/wind/models/windShader.js +0 -1
  377. package/package.json +7 -7
  378. package/es/line/models/half.js +0 -298
  379. package/es/line/shaders/half/line_half_frag.glsl +0 -53
  380. package/es/line/shaders/half/line_half_vert.glsl +0 -169
  381. package/es/utils/dataMappingStyle.d.ts +0 -31
  382. package/es/utils/dataMappingStyle.js +0 -147
  383. package/lib/line/models/half.js +0 -315
  384. package/lib/line/shaders/half/line_half_frag.glsl +0 -53
  385. package/lib/line/shaders/half/line_half_vert.glsl +0 -169
  386. package/lib/utils/dataMappingStyle.js +0 -151
@@ -6,15 +6,10 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
6
6
  import _inherits from "@babel/runtime/helpers/esm/inherits";
7
7
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
9
-
10
9
  var _dec, _class;
11
-
12
10
  import _regeneratorRuntime from "@babel/runtime/regenerator";
13
-
14
11
  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); }; }
15
-
16
12
  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; } }
17
-
18
13
  import { AttributeType, gl } from '@antv/l7-core';
19
14
  import { generateColorRamp, getCullFace } from '@antv/l7-utils';
20
15
  import { mat4 } from 'gl-matrix';
@@ -22,44 +17,36 @@ import { injectable } from 'inversify';
22
17
  import 'reflect-metadata';
23
18
  import BaseModel from "../../core/BaseModel";
24
19
  import { HeatmapTriangulation } from "../../core/triangulation";
25
-
26
20
  /* babel-plugin-inline-import '../shaders/heatmap_3d_frag.glsl' */
27
21
  var heatmap3DFrag = "uniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_opacity;\nvarying vec2 v_texCoord;\nvarying float v_intensity;\n\nvoid main(){\n \n float intensity = texture2D(u_texture, v_texCoord).r;\n vec4 color = texture2D(u_colorTexture,vec2(intensity, 0));\n gl_FragColor = color;\n // gl_FragColor.a = color.a * smoothstep(0.1,0.2,intensity)* u_opacity;\n gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;\n}\n";
28
-
29
22
  /* babel-plugin-inline-import '../shaders/heatmap_3d_vert.glsl' */
30
23
  var heatmap3DVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_InverseViewProjectionMatrix;\nuniform mat4 u_ViewProjectionMatrixUncentered;\nvarying float v_intensity;\n\n\nvec2 toBezier(float t, vec2 P0, vec2 P1, vec2 P2, vec2 P3) {\n float t2 = t * t;\n float one_minus_t = 1.0 - t;\n float one_minus_t2 = one_minus_t * one_minus_t;\n return (P0 * one_minus_t2 * one_minus_t + P1 * 3.0 * t * one_minus_t2 + P2 * 3.0 * t2 * one_minus_t + P3 * t2 * t);\n}\nvec2 toBezier(float t, vec4 p){\n return toBezier(t, vec2(0.0, 0.0), vec2(p.x, p.y), vec2(p.z, p.w), vec2(1.0, 1.0));\n}\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n\n vec2 pos = a_Uv * vec2(2.0) - vec2(1.0); // \u5C06\u539F\u672C 0 -> 1 \u7684 uv \u8F6C\u6362\u4E3A -1 -> 1 \u7684\u6807\u51C6\u5750\u6807\u7A7A\u95F4\uFF08NDC\uFF09\n\n vec4 p1 = vec4(pos, 0.0, 1.0); // x/y \u5E73\u9762\u4E0A\u7684\u70B9\uFF08z == 0\uFF09\u53EF\u4EE5\u8BA4\u4E3A\u662F\u4E09\u7EF4\u4E0A\u7684\u70B9\u88AB\u6295\u5F71\u5230\u5E73\u9762\u540E\u7684\u70B9\n\tvec4 p2 = vec4(pos, 1.0, 1.0); // \u5E73\u884C\u4E8Ex/y\u5E73\u9762\u3001z==1 \u7684\u5E73\u9762\u4E0A\u7684\u70B9\n\n\tvec4 inverseP1 = u_InverseViewProjectionMatrix * p1; // \u6839\u636E\u89C6\u56FE\u6295\u5F71\u77E9\u9635\u7684\u9006\u77E9\u9635\u5E73\u9762\u4E0A\u7684\u53CD\u7B97\u51FA\u4E09\u7EF4\u7A7A\u95F4\u4E2D\u7684\u70B9\uFF08p1\u5E73\u9762\u4E0A\u7684\u70B9\uFF09\n\tvec4 inverseP2 = u_InverseViewProjectionMatrix * p2;\n\n inverseP1 = inverseP1 / inverseP1.w; // \u5F52\u4E00\u5316\u64CD\u4F5C\uFF08\u5F52\u4E00\u5316\u540E\u4E3A\u4E16\u754C\u5750\u6807\uFF09\n\tinverseP2 = inverseP2 / inverseP2.w;\n\n\tfloat zPos = (0.0 - inverseP1.z) / (inverseP2.z - inverseP1.z); // ??\n\tvec4 position = inverseP1 + zPos * (inverseP2 - inverseP1);\n\n vec4 b= vec4(0.5000, 0.0, 1.0, 0.5000);\n float fh;\n\n v_intensity = texture2D(u_texture, v_texCoord).r;\n fh = toBezier(v_intensity, b).y;\n gl_Position = u_ViewProjectionMatrixUncentered * vec4(position.xy, fh * project_pixel(50.), 1.0);\n \n}\n"; // 绘制平面热力的 shader
31
-
32
24
  /* babel-plugin-inline-import '../shaders/heatmap_frag.glsl' */
33
25
  var heatmapColorFrag = "uniform sampler2D u_texture; // \u70ED\u529B\u5F3A\u5EA6\u56FE\nuniform sampler2D u_colorTexture; // \u6839\u636E\u5F3A\u5EA6\u5206\u5E03\u7684\u8272\u5E26\nuniform float u_opacity;\nvarying vec2 v_texCoord;\n\nuniform vec2 u_ViewportSize;\n\nfloat getBlurIndusty() {\n float vW = 2.0/u_ViewportSize.x;\n float vH = 2.0/u_ViewportSize.y;\n vec2 vUv = v_texCoord;\n float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;\n float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n\n float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;\n float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;\n float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;\n\n float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;\n float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;\n float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;\n\n return(\n i11 + \n i12 + \n i13 + \n i21 + \n i21 + \n i22 + \n i23 + \n i31 + \n i32 + \n i33\n )/9.0;\n}\n\n\nvoid main(){\n // float intensity = texture2D(u_texture, v_texCoord).r;\n float intensity = getBlurIndusty();\n vec4 color = texture2D(u_colorTexture, vec2(intensity, 0.0));\n\n gl_FragColor =color;\n gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;\n\n}\n";
34
-
35
26
  /* babel-plugin-inline-import '../shaders/heatmap_vert.glsl' */
36
27
  var heatmapColorVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\nvoid main() {\n v_texCoord = a_Uv;\n\n gl_Position = vec4(a_Position.xy, 0, 1.);\n}\n";
37
-
38
28
  /* babel-plugin-inline-import '../shaders/heatmap_framebuffer_frag.glsl' */
39
29
  var heatmapFramebufferFrag = "precision highp float;\nuniform float u_intensity;\nvarying float v_weight;\nvarying vec2 v_extrude;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(){\n float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\n float val = v_weight * u_intensity * GAUSS_COEF * exp(d);\n gl_FragColor = vec4(val, 1., 1., 1.);\n}\n";
40
-
41
30
  /* babel-plugin-inline-import '../shaders/heatmap_framebuffer_vert.glsl' */
42
31
  var heatmapFramebufferVert = "precision highp float;\nattribute vec3 a_Position;\nattribute float a_Size;\nattribute vec2 a_Dir;\nuniform float u_intensity;\nuniform float u_radius;\nvarying vec2 v_extrude;\nvarying float v_weight;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\n#define GAUSS_COEF 0.3989422804014327\n\n#pragma include \"projection\"\n\nvoid main(){\n v_weight = a_Size;\n float ZERO = 1.0 / 255.0 / 16.0;\n float extrude_x = a_Dir.x * 2.0 -1.0;\n float extrude_y = a_Dir.y * 2.0 -1.0;\n vec2 extrude_dir = normalize(vec2(extrude_x,extrude_y));\n float S = sqrt(-2.0 * log(ZERO / a_Size / u_intensity / GAUSS_COEF)) / 2.5;\n v_extrude = extrude_dir * S;\n\n vec2 offset = project_pixel(v_extrude * u_radius);\n vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy + offset, 0.0, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n }\n}\n";
32
+ import { isEqual } from 'lodash';
43
33
  import { heatMap3DTriangulation } from "../triangulation";
44
34
  var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_BaseModel) {
45
35
  _inherits(HeatMapModel, _BaseModel);
46
-
47
36
  var _super = _createSuper(HeatMapModel);
48
-
49
37
  function HeatMapModel() {
50
38
  _classCallCheck(this, HeatMapModel);
51
-
52
39
  return _super.apply(this, arguments);
53
40
  }
54
-
55
41
  _createClass(HeatMapModel, [{
56
42
  key: "render",
57
43
  value: function render(options) {
58
44
  var _this = this;
59
-
60
45
  var _this$rendererService = this.rendererService,
61
- clear = _this$rendererService.clear,
62
- useFramebuffer = _this$rendererService.useFramebuffer;
46
+ clear = _this$rendererService.clear,
47
+ useFramebuffer = _this$rendererService.useFramebuffer;
48
+ var _ref = this.layer.getLayerConfig(),
49
+ rampColors = _ref.rampColors;
63
50
  useFramebuffer(this.heatmapFramerBuffer, function () {
64
51
  clear({
65
52
  color: [0, 0, 0, 0],
@@ -67,14 +54,11 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
67
54
  stencil: 0,
68
55
  framebuffer: _this.heatmapFramerBuffer
69
56
  });
70
-
71
57
  _this.drawIntensityMode();
72
58
  });
73
-
74
- if (this.layer.styleNeedUpdate) {
59
+ if (!isEqual(this.preRampColors, rampColors)) {
75
60
  this.updateColorTexture();
76
61
  }
77
-
78
62
  this.shapeType === 'heatmap' ? this.drawColorMode(options) : this.draw3DHeatMap(options);
79
63
  }
80
64
  }, {
@@ -87,55 +71,45 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
87
71
  value: function () {
88
72
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
89
73
  var _shapeAttr$scale;
90
-
91
74
  var _this$rendererService2, createFramebuffer, getViewportSize, createTexture2D, shapeAttr, shapeType, _getViewportSize, width, height;
92
-
93
75
  return _regeneratorRuntime.wrap(function _callee$(_context) {
94
- while (1) {
95
- switch (_context.prev = _context.next) {
96
- case 0:
97
- _this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D;
98
- shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
99
- shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
100
- this.shapeType = shapeType; // 生成热力图密度图
101
-
102
- _context.next = 6;
103
- return this.buildHeatMapIntensity();
104
-
105
- case 6:
106
- this.intensityModel = _context.sent;
107
- // 渲染到屏幕
108
- this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() // 2D
109
- : this.build3dHeatMap(); // 3D
110
-
111
- _getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height; // 初始化密度图纹理
112
-
113
- this.heatmapFramerBuffer = createFramebuffer({
114
- color: createTexture2D({
115
- width: Math.floor(width / 4),
116
- height: Math.floor(height / 4),
117
- wrapS: gl.CLAMP_TO_EDGE,
118
- wrapT: gl.CLAMP_TO_EDGE,
119
- min: gl.LINEAR,
120
- mag: gl.LINEAR
121
- }),
122
- depth: false
123
- });
124
- this.updateColorTexture();
125
- return _context.abrupt("return", [this.intensityModel, this.colorModel]);
126
-
127
- case 12:
128
- case "end":
129
- return _context.stop();
130
- }
76
+ while (1) switch (_context.prev = _context.next) {
77
+ case 0:
78
+ _this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D;
79
+ shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
80
+ shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
81
+ this.shapeType = shapeType;
82
+ // 生成热力图密度图
83
+ _context.next = 6;
84
+ return this.buildHeatMapIntensity();
85
+ case 6:
86
+ this.intensityModel = _context.sent;
87
+ // 渲染到屏幕
88
+ this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() // 2D
89
+ : this.build3dHeatMap(); // 3D
90
+ _getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height; // 初始化密度图纹理
91
+ this.heatmapFramerBuffer = createFramebuffer({
92
+ color: createTexture2D({
93
+ width: Math.floor(width / 4),
94
+ height: Math.floor(height / 4),
95
+ wrapS: gl.CLAMP_TO_EDGE,
96
+ wrapT: gl.CLAMP_TO_EDGE,
97
+ min: gl.LINEAR,
98
+ mag: gl.LINEAR
99
+ }),
100
+ depth: false
101
+ });
102
+ this.updateColorTexture();
103
+ return _context.abrupt("return", [this.intensityModel, this.colorModel]);
104
+ case 12:
105
+ case "end":
106
+ return _context.stop();
131
107
  }
132
108
  }, _callee, this);
133
109
  }));
134
-
135
110
  function initModels() {
136
111
  return _initModels.apply(this, arguments);
137
112
  }
138
-
139
113
  return initModels;
140
114
  }()
141
115
  }, {
@@ -143,23 +117,18 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
143
117
  value: function () {
144
118
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
145
119
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
146
- while (1) {
147
- switch (_context2.prev = _context2.next) {
148
- case 0:
149
- return _context2.abrupt("return", this.initModels());
150
-
151
- case 1:
152
- case "end":
153
- return _context2.stop();
154
- }
120
+ while (1) switch (_context2.prev = _context2.next) {
121
+ case 0:
122
+ return _context2.abrupt("return", this.initModels());
123
+ case 1:
124
+ case "end":
125
+ return _context2.stop();
155
126
  }
156
127
  }, _callee2, this);
157
128
  }));
158
-
159
129
  function buildModels() {
160
130
  return _buildModels.apply(this, arguments);
161
131
  }
162
-
163
132
  return buildModels;
164
133
  }()
165
134
  }, {
@@ -195,7 +164,7 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
195
164
  size: 1,
196
165
  update: function update(feature) {
197
166
  var _feature$size = feature.size,
198
- size = _feature$size === void 0 ? 1 : _feature$size;
167
+ size = _feature$size === void 0 ? 1 : _feature$size;
199
168
  return [size];
200
169
  }
201
170
  }
@@ -207,41 +176,35 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
207
176
  var _buildHeatMapIntensity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
208
177
  var model;
209
178
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
210
- while (1) {
211
- switch (_context3.prev = _context3.next) {
212
- case 0:
213
- this.layer.triangulation = HeatmapTriangulation;
214
- _context3.next = 3;
215
- return this.layer.buildLayerModel({
216
- moduleName: 'heatmapIntensity',
217
- vertexShader: heatmapFramebufferVert,
218
- fragmentShader: heatmapFramebufferFrag,
219
- triangulation: HeatmapTriangulation,
220
- depth: {
221
- enable: false
222
- },
223
- cull: {
224
- enable: true,
225
- face: getCullFace(this.mapService.version)
226
- }
227
- });
228
-
229
- case 3:
230
- model = _context3.sent;
231
- return _context3.abrupt("return", model);
232
-
233
- case 5:
234
- case "end":
235
- return _context3.stop();
236
- }
179
+ while (1) switch (_context3.prev = _context3.next) {
180
+ case 0:
181
+ this.layer.triangulation = HeatmapTriangulation;
182
+ _context3.next = 3;
183
+ return this.layer.buildLayerModel({
184
+ moduleName: 'heatmapIntensity',
185
+ vertexShader: heatmapFramebufferVert,
186
+ fragmentShader: heatmapFramebufferFrag,
187
+ triangulation: HeatmapTriangulation,
188
+ depth: {
189
+ enable: false
190
+ },
191
+ cull: {
192
+ enable: true,
193
+ face: getCullFace(this.mapService.version)
194
+ }
195
+ });
196
+ case 3:
197
+ model = _context3.sent;
198
+ return _context3.abrupt("return", model);
199
+ case 5:
200
+ case "end":
201
+ return _context3.stop();
237
202
  }
238
203
  }, _callee3, this);
239
204
  }));
240
-
241
205
  function buildHeatMapIntensity() {
242
206
  return _buildHeatMapIntensity.apply(this, arguments);
243
207
  }
244
-
245
208
  return buildHeatMapIntensity;
246
209
  }()
247
210
  }, {
@@ -251,17 +214,15 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
251
214
  vs: heatmapColorVert,
252
215
  fs: heatmapColorFrag
253
216
  });
254
-
255
217
  var _this$shaderModuleSer = this.shaderModuleService.getModule('heatmapColor'),
256
- vs = _this$shaderModuleSer.vs,
257
- fs = _this$shaderModuleSer.fs,
258
- uniforms = _this$shaderModuleSer.uniforms;
259
-
218
+ vs = _this$shaderModuleSer.vs,
219
+ fs = _this$shaderModuleSer.fs,
220
+ uniforms = _this$shaderModuleSer.uniforms;
260
221
  var _this$rendererService3 = this.rendererService,
261
- createAttribute = _this$rendererService3.createAttribute,
262
- createElements = _this$rendererService3.createElements,
263
- createBuffer = _this$rendererService3.createBuffer,
264
- createModel = _this$rendererService3.createModel;
222
+ createAttribute = _this$rendererService3.createAttribute,
223
+ createElements = _this$rendererService3.createElements,
224
+ createBuffer = _this$rendererService3.createBuffer,
225
+ createModel = _this$rendererService3.createModel;
265
226
  return createModel({
266
227
  vs: vs,
267
228
  fs: fs,
@@ -296,17 +257,15 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
296
257
  key: "drawIntensityMode",
297
258
  value: function drawIntensityMode() {
298
259
  var _this$intensityModel;
299
-
300
- var _ref = this.layer.getLayerConfig(),
301
- opacity = _ref.opacity,
302
- _ref$intensity = _ref.intensity,
303
- intensity = _ref$intensity === void 0 ? 10 : _ref$intensity,
304
- _ref$radius = _ref.radius,
305
- radius = _ref$radius === void 0 ? 5 : _ref$radius;
306
-
260
+ var _ref2 = this.layer.getLayerConfig(),
261
+ opacity = _ref2.opacity,
262
+ _ref2$intensity = _ref2.intensity,
263
+ intensity = _ref2$intensity === void 0 ? 10 : _ref2$intensity,
264
+ _ref2$radius = _ref2.radius,
265
+ radius = _ref2$radius === void 0 ? 5 : _ref2$radius;
307
266
  this.layerService.beforeRenderData(this.layer);
308
- this.layer.hooks.beforeRender.call(); // 绘制密度图
309
-
267
+ this.layer.hooks.beforeRender.call();
268
+ // 绘制密度图
310
269
  (_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
311
270
  uniforms: {
312
271
  u_opacity: opacity || 1.0,
@@ -339,10 +298,8 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
339
298
  key: "drawColorMode",
340
299
  value: function drawColorMode(options) {
341
300
  var _this$colorModel;
342
-
343
- var _ref2 = this.layer.getLayerConfig(),
344
- opacity = _ref2.opacity;
345
-
301
+ var _ref3 = this.layer.getLayerConfig(),
302
+ opacity = _ref3.opacity;
346
303
  (_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
347
304
  uniforms: {
348
305
  u_opacity: opacity || 1.0,
@@ -357,17 +314,16 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
357
314
  key: "draw3DHeatMap",
358
315
  value: function draw3DHeatMap(options) {
359
316
  var _this$colorModel2;
317
+ var _ref4 = this.layer.getLayerConfig(),
318
+ opacity = _ref4.opacity;
360
319
 
361
- var _ref3 = this.layer.getLayerConfig(),
362
- opacity = _ref3.opacity; // const invert = mat4.invert(
320
+ // const invert = mat4.invert(
363
321
  // mat4.create(),
364
322
  // mat4.fromValues(
365
323
  // // @ts-ignore
366
324
  // ...this.cameraService.getViewProjectionMatrixUncentered(),
367
325
  // ),
368
326
  // ) as mat4;
369
-
370
-
371
327
  var invert = mat4.create();
372
328
  mat4.invert(invert, this.cameraService.getViewProjectionMatrixUncentered());
373
329
  (_this$colorModel2 = this.colorModel) === null || _this$colorModel2 === void 0 ? void 0 : _this$colorModel2.draw({
@@ -394,27 +350,23 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
394
350
  key: "build3dHeatMap",
395
351
  value: function build3dHeatMap() {
396
352
  var getViewportSize = this.rendererService.getViewportSize;
397
-
398
353
  var _getViewportSize2 = getViewportSize(),
399
- width = _getViewportSize2.width,
400
- height = _getViewportSize2.height;
401
-
354
+ width = _getViewportSize2.width,
355
+ height = _getViewportSize2.height;
402
356
  var triangulation = heatMap3DTriangulation(width / 4.0, height / 4.0);
403
357
  this.shaderModuleService.registerModule('heatmap3dColor', {
404
358
  vs: heatmap3DVert,
405
359
  fs: heatmap3DFrag
406
360
  });
407
-
408
361
  var _this$shaderModuleSer2 = this.shaderModuleService.getModule('heatmap3dColor'),
409
- vs = _this$shaderModuleSer2.vs,
410
- fs = _this$shaderModuleSer2.fs,
411
- uniforms = _this$shaderModuleSer2.uniforms;
412
-
362
+ vs = _this$shaderModuleSer2.vs,
363
+ fs = _this$shaderModuleSer2.fs,
364
+ uniforms = _this$shaderModuleSer2.uniforms;
413
365
  var _this$rendererService4 = this.rendererService,
414
- createAttribute = _this$rendererService4.createAttribute,
415
- createElements = _this$rendererService4.createElements,
416
- createBuffer = _this$rendererService4.createBuffer,
417
- createModel = _this$rendererService4.createModel;
366
+ createAttribute = _this$rendererService4.createAttribute,
367
+ createElements = _this$rendererService4.createElements,
368
+ createBuffer = _this$rendererService4.createBuffer,
369
+ createModel = _this$rendererService4.createModel;
418
370
  return createModel({
419
371
  vs: vs,
420
372
  fs: fs,
@@ -464,14 +416,11 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
464
416
  key: "updateColorTexture",
465
417
  value: function updateColorTexture() {
466
418
  var createTexture2D = this.rendererService.createTexture2D;
467
-
468
419
  if (this.texture) {
469
420
  this.texture.destroy();
470
421
  }
471
-
472
- var _ref4 = this.layer.getLayerConfig(),
473
- rampColors = _ref4.rampColors;
474
-
422
+ var _ref5 = this.layer.getLayerConfig(),
423
+ rampColors = _ref5.rampColors;
475
424
  var imageData = generateColorRamp(rampColors);
476
425
  this.colorTexture = createTexture2D({
477
426
  data: new Uint8Array(imageData.data),
@@ -483,9 +432,9 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
483
432
  mag: gl.NEAREST,
484
433
  flipY: false
485
434
  });
435
+ this.preRampColors = rampColors;
486
436
  }
487
437
  }]);
488
-
489
438
  return HeatMapModel;
490
439
  }(BaseModel)) || _class);
491
440
  export { HeatMapModel as default };
@@ -5,40 +5,29 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
-
9
8
  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); }; }
10
-
11
9
  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; } }
12
-
13
10
  import { AttributeType, gl } from '@antv/l7-core';
14
11
  import BaseModel from "../../core/BaseModel";
15
12
  import { HeatmapGridTriangulation } from "../../core/triangulation";
16
-
17
13
  /* babel-plugin-inline-import '../shaders/hexagon_frag.glsl' */
18
14
  var heatmapGridFrag = "precision highp float;\nvarying vec4 v_color;\nuniform float u_opacity: 1;\n\n#pragma include \"picking\"\n\nvoid main() {\n gl_FragColor = v_color;\n gl_FragColor.a *= u_opacity;\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
19
-
20
15
  /* babel-plugin-inline-import '../shaders/hexagon_vert.glsl' */
21
- var heatmapGridVert = "precision highp float;\n// \u591A\u8FB9\u5F62\u9876\u70B9\u5750\u6807\nattribute vec3 a_Position;\n// \u591A\u8FB9\u5F62\u7ECF\u7EAC\u5EA6\u5750\u6807\nattribute vec3 a_Pos;\nattribute float a_Size;\nattribute vec4 a_Color;\nuniform vec2 u_radius;\nuniform float u_coverage: 0.9;\nuniform float u_angle: 0;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\n\nuniform vec2 u_SceneCenterMKT;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n#pragma include \"picking\"\n\nvoid main() {\n v_color = a_Color;\n \n mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));\n vec2 offset =(vec2(a_Position.xy * u_radius * rotationMatrix * u_coverage));\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\n \n // vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xy, 0., 1.0));\n // gl_Position = u_Mvp * (vec4(a_Pos.xy + offset, 0., 1.0));\n vec2 customLnglat = customProject(lnglat) - u_SceneCenterMKT;\n vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));\n gl_Position = u_Mvp * vec4(project_pos.xy, 0.0, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n }\n setPickingColor(a_PickingColor);\n}\n";
22
-
16
+ var heatmapGridVert = "precision highp float;\n// \u591A\u8FB9\u5F62\u9876\u70B9\u5750\u6807\nattribute vec3 a_Position;\n// \u591A\u8FB9\u5F62\u7ECF\u7EAC\u5EA6\u5750\u6807\nattribute vec3 a_Pos;\nattribute float a_Size;\nattribute vec4 a_Color;\nuniform vec2 u_radius;\nuniform float u_coverage: 0.9;\nuniform float u_angle: 0;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\n\nuniform vec2 u_sceneCenterMercator;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n#pragma include \"picking\"\n\nvoid main() {\n v_color = a_Color;\n \n mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));\n vec2 offset =(vec2(a_Position.xy * u_radius * rotationMatrix * u_coverage));\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\n \n // vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xy, 0., 1.0));\n // gl_Position = u_Mvp * (vec4(a_Pos.xy + offset, 0., 1.0));\n vec2 customLnglat = customProject(lnglat) - u_sceneCenterMercator;\n vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));\n gl_Position = u_Mvp * vec4(project_pos.xy, 0.0, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n }\n setPickingColor(a_PickingColor);\n}\n";
23
17
  var HexagonModel = /*#__PURE__*/function (_BaseModel) {
24
18
  _inherits(HexagonModel, _BaseModel);
25
-
26
19
  var _super = _createSuper(HexagonModel);
27
-
28
20
  function HexagonModel() {
29
21
  _classCallCheck(this, HexagonModel);
30
-
31
22
  return _super.apply(this, arguments);
32
23
  }
33
-
34
24
  _createClass(HexagonModel, [{
35
25
  key: "getUninforms",
36
26
  value: function getUninforms() {
37
27
  var _ref = this.layer.getLayerConfig(),
38
- opacity = _ref.opacity,
39
- coverage = _ref.coverage,
40
- angle = _ref.angle;
41
-
28
+ opacity = _ref.opacity,
29
+ coverage = _ref.coverage,
30
+ angle = _ref.angle;
42
31
  return {
43
32
  u_opacity: opacity || 1.0,
44
33
  u_coverage: coverage || 0.9,
@@ -51,23 +40,18 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
51
40
  value: function () {
52
41
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
53
42
  return _regeneratorRuntime.wrap(function _callee$(_context) {
54
- while (1) {
55
- switch (_context.prev = _context.next) {
56
- case 0:
57
- return _context.abrupt("return", this.buildModels());
58
-
59
- case 1:
60
- case "end":
61
- return _context.stop();
62
- }
43
+ while (1) switch (_context.prev = _context.next) {
44
+ case 0:
45
+ return _context.abrupt("return", this.buildModels());
46
+ case 1:
47
+ case "end":
48
+ return _context.stop();
63
49
  }
64
50
  }, _callee, this);
65
51
  }));
66
-
67
52
  function initModels() {
68
53
  return _initModels.apply(this, arguments);
69
54
  }
70
-
71
55
  return initModels;
72
56
  }()
73
57
  }, {
@@ -76,37 +60,31 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
76
60
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
77
61
  var model;
78
62
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
79
- while (1) {
80
- switch (_context2.prev = _context2.next) {
81
- case 0:
82
- _context2.next = 2;
83
- return this.layer.buildLayerModel({
84
- moduleName: 'heatmapHexagon',
85
- vertexShader: heatmapGridVert,
86
- fragmentShader: heatmapGridFrag,
87
- triangulation: HeatmapGridTriangulation,
88
- depth: {
89
- enable: false
90
- },
91
- primitive: gl.TRIANGLES
92
- });
93
-
94
- case 2:
95
- model = _context2.sent;
96
- return _context2.abrupt("return", [model]);
97
-
98
- case 4:
99
- case "end":
100
- return _context2.stop();
101
- }
63
+ while (1) switch (_context2.prev = _context2.next) {
64
+ case 0:
65
+ _context2.next = 2;
66
+ return this.layer.buildLayerModel({
67
+ moduleName: 'heatmapHexagon',
68
+ vertexShader: heatmapGridVert,
69
+ fragmentShader: heatmapGridFrag,
70
+ triangulation: HeatmapGridTriangulation,
71
+ depth: {
72
+ enable: false
73
+ },
74
+ primitive: gl.TRIANGLES
75
+ });
76
+ case 2:
77
+ model = _context2.sent;
78
+ return _context2.abrupt("return", [model]);
79
+ case 4:
80
+ case "end":
81
+ return _context2.stop();
102
82
  }
103
83
  }, _callee2, this);
104
84
  }));
105
-
106
85
  function buildModels() {
107
86
  return _buildModels.apply(this, arguments);
108
87
  }
109
-
110
88
  return buildModels;
111
89
  }()
112
90
  }, {
@@ -132,8 +110,6 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
132
110
  });
133
111
  }
134
112
  }]);
135
-
136
113
  return HexagonModel;
137
114
  }(BaseModel);
138
-
139
115
  export { HexagonModel as default };
@@ -12,7 +12,7 @@ uniform mat4 u_ModelMatrix;
12
12
  uniform mat4 u_Mvp;
13
13
  varying vec4 v_color;
14
14
 
15
- uniform vec2 u_SceneCenterMKT;
15
+ uniform vec2 u_sceneCenterMercator;
16
16
 
17
17
  #pragma include "projection"
18
18
  #pragma include "project"
@@ -29,7 +29,7 @@ void main() {
29
29
 
30
30
  if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
31
31
  vec2 lnglat = unProjectFlat(a_Pos.xy + offset);
32
- vec2 customLnglat = customProject(lnglat) - u_SceneCenterMKT; // 将经纬度转换为高德2.0需要的平面坐标
32
+ vec2 customLnglat = customProject(lnglat) - u_sceneCenterMercator; // 将经纬度转换为高德2.0需要的平面坐标
33
33
  vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));
34
34
  gl_Position = u_Mvp * (project_pos);
35
35
  } else {
@@ -14,7 +14,7 @@ uniform mat4 u_ModelMatrix;
14
14
  uniform mat4 u_Mvp;
15
15
  varying vec4 v_color;
16
16
 
17
- uniform vec2 u_SceneCenterMKT;
17
+ uniform vec2 u_sceneCenterMercator;
18
18
 
19
19
  #pragma include "projection"
20
20
  #pragma include "project"
@@ -30,7 +30,7 @@ void main() {
30
30
  if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
31
31
 
32
32
  vec2 lnglat = unProjectFlat(a_Pos.xy + offset); // 经纬度
33
- vec2 customLnglat = customProject(lnglat) - u_SceneCenterMKT; // 将经纬度转换为高德2.0需要的平面坐标
33
+ vec2 customLnglat = customProject(lnglat) - u_sceneCenterMercator; // 将经纬度转换为高德2.0需要的平面坐标
34
34
  vec4 project_pos = project_position(vec4(customLnglat, a_Position.z * a_Size, 1.0));
35
35
 
36
36
  float lightWeight = calc_lighting(project_pos);
@@ -12,7 +12,7 @@ uniform mat4 u_ModelMatrix;
12
12
  uniform mat4 u_Mvp;
13
13
  varying vec4 v_color;
14
14
 
15
- uniform vec2 u_SceneCenterMKT;
15
+ uniform vec2 u_sceneCenterMercator;
16
16
 
17
17
  #pragma include "projection"
18
18
  #pragma include "project"
@@ -30,7 +30,7 @@ void main() {
30
30
  if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
31
31
  // gl_Position = u_Mvp * (vec4(project_pos.xy, 0., 1.0));
32
32
  // gl_Position = u_Mvp * (vec4(a_Pos.xy + offset, 0., 1.0));
33
- vec2 customLnglat = customProject(lnglat) - u_SceneCenterMKT;
33
+ vec2 customLnglat = customProject(lnglat) - u_sceneCenterMercator;
34
34
  vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));
35
35
  gl_Position = u_Mvp * vec4(project_pos.xy, 0.0, 1.0);
36
36
  } else {