@antv/l7-layers 2.9.19 → 2.9.22-alpha.0

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 (710) hide show
  1. package/es/Geometry/index.js +4 -5
  2. package/es/Geometry/models/billboard.js +23 -9
  3. package/es/Geometry/models/index.js +4 -5
  4. package/es/Geometry/models/plane.js +25 -13
  5. package/es/Geometry/models/sprite.js +11 -21
  6. package/es/Geometry/shaders/billboard_frag.glsl +13 -0
  7. package/es/Geometry/shaders/billboard_vert.glsl +50 -0
  8. package/es/Geometry/shaders/plane_frag.glsl +22 -0
  9. package/es/Geometry/shaders/plane_vert.glsl +53 -0
  10. package/es/Geometry/shaders/sprite_frag.glsl +21 -0
  11. package/es/Geometry/shaders/sprite_vert.glsl +28 -0
  12. package/es/canvas/index.js +4 -5
  13. package/es/canvas/models/canvas.js +6 -12
  14. package/es/canvas/models/index.js +2 -3
  15. package/es/citybuliding/building.js +4 -5
  16. package/es/citybuliding/models/build.js +19 -22
  17. package/es/citybuliding/shaders/build_frag.glsl +117 -0
  18. package/es/citybuliding/shaders/build_vert.glsl +54 -0
  19. package/es/core/BaseLayer.js +205 -157
  20. package/es/core/BaseModel.js +135 -76
  21. package/es/core/interface.d.ts +11 -1
  22. package/es/core/interface.js +15 -2
  23. package/es/core/schema.js +4 -2
  24. package/es/core/shape/Path.js +8 -3
  25. package/es/core/shape/extrude.js +9 -4
  26. package/es/core/triangulation.d.ts +1 -0
  27. package/es/core/triangulation.js +123 -24
  28. package/es/earth/index.js +11 -7
  29. package/es/earth/models/atmosphere.js +15 -7
  30. package/es/earth/models/base.js +19 -7
  31. package/es/earth/models/bloomsphere.js +15 -7
  32. package/es/earth/shaders/atmosphere_frag.glsl +17 -0
  33. package/es/earth/shaders/atmosphere_vert.glsl +26 -0
  34. package/es/earth/shaders/base_frag.glsl +13 -0
  35. package/es/earth/shaders/base_vert.glsl +52 -0
  36. package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
  37. package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
  38. package/es/earth/utils.js +28 -5
  39. package/es/heatmap/index.js +8 -7
  40. package/es/heatmap/models/grid.js +11 -5
  41. package/es/heatmap/models/grid3d.js +18 -7
  42. package/es/heatmap/models/heatmap.js +45 -44
  43. package/es/heatmap/models/hexagon.js +14 -6
  44. package/es/heatmap/models/index.js +5 -6
  45. package/es/heatmap/shaders/grid_vert.glsl +42 -0
  46. package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  47. package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  48. package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
  49. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  50. package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  51. package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
  52. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  53. package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  54. package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
  55. package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
  56. package/es/heatmap/triangulation.js +2 -2
  57. package/es/image/index.js +4 -5
  58. package/es/image/models/dataImage.js +21 -31
  59. package/es/image/models/image.js +19 -25
  60. package/es/image/models/index.js +3 -4
  61. package/es/image/shaders/dataImage_frag.glsl +38 -0
  62. package/es/image/shaders/image_frag.glsl +9 -0
  63. package/es/image/shaders/image_vert.glsl +17 -0
  64. package/es/index.d.ts +2 -2
  65. package/es/index.js +92 -30
  66. package/es/line/index.js +4 -5
  67. package/es/line/models/arc.js +38 -15
  68. package/es/line/models/arc_3d.js +33 -14
  69. package/es/line/models/earthArc_3d.js +33 -14
  70. package/es/line/models/great_circle.js +25 -13
  71. package/es/line/models/half.js +33 -12
  72. package/es/line/models/index.js +12 -13
  73. package/es/line/models/line.js +57 -17
  74. package/es/line/models/linearline.js +32 -14
  75. package/es/line/models/simpleLine.js +26 -11
  76. package/es/line/models/tile.js +28 -10
  77. package/es/line/models/wall.js +30 -13
  78. package/es/line/shaders/arc_chunks.vert.glsl +21 -0
  79. package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
  80. package/es/line/shaders/dash/arc_dash_vert.glsl +148 -0
  81. package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
  82. package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
  83. package/es/line/shaders/half/line_half_frag.glsl +53 -0
  84. package/es/line/shaders/half/line_half_vert.glsl +169 -0
  85. package/es/line/shaders/line_arc2d_vert.glsl +114 -0
  86. package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
  87. package/es/line/shaders/line_arc_3d_vert.glsl +207 -0
  88. package/es/line/shaders/line_arc_frag.glsl +89 -0
  89. package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  90. package/es/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  91. package/es/line/shaders/line_arc_vert.glsl +174 -0
  92. package/es/line/shaders/line_bezier_vert.glsl +85 -0
  93. package/es/line/shaders/line_frag.glsl +100 -0
  94. package/es/line/shaders/line_vert.glsl +192 -0
  95. package/es/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  96. package/es/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  97. package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
  98. package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
  99. package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
  100. package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  101. package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  102. package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
  103. package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  104. package/es/line/shaders/simple/simpleline_vert.glsl +78 -0
  105. package/es/line/shaders/tile/line_tile_frag.glsl +79 -0
  106. package/es/line/shaders/tile/line_tile_vert.glsl +210 -0
  107. package/es/line/shaders/wall_frag.glsl +93 -0
  108. package/es/line/shaders/wall_vert.glsl +111 -0
  109. package/es/mask/index.js +4 -5
  110. package/es/mask/models/fill.js +11 -8
  111. package/es/mask/models/index.js +2 -3
  112. package/es/mask/shaders/mask_frag.glsl +7 -0
  113. package/es/mask/shaders/mask_vert.glsl +22 -0
  114. package/es/plugins/DataMappingPlugin.js +71 -34
  115. package/es/plugins/DataSourcePlugin.js +12 -10
  116. package/es/plugins/FeatureScalePlugin.js +44 -24
  117. package/es/plugins/LayerAnimateStylePlugin.js +6 -7
  118. package/es/plugins/LayerModelPlugin.js +16 -7
  119. package/es/plugins/LayerStylePlugin.js +7 -3
  120. package/es/plugins/LightingPlugin.js +21 -13
  121. package/es/plugins/MultiPassRendererPlugin.js +21 -8
  122. package/es/plugins/PixelPickingPlugin.js +33 -11
  123. package/es/plugins/RegisterStyleAttributePlugin.js +10 -3
  124. package/es/plugins/ShaderUniformPlugin.js +24 -10
  125. package/es/plugins/UpdateModelPlugin.js +7 -3
  126. package/es/plugins/UpdateStyleAttributePlugin.js +20 -7
  127. package/es/point/index.js +12 -6
  128. package/es/point/models/earthExtrude.js +30 -12
  129. package/es/point/models/earthFill.js +25 -13
  130. package/es/point/models/extrude.js +30 -12
  131. package/es/point/models/fill.js +50 -15
  132. package/es/point/models/fillmage.js +46 -17
  133. package/es/point/models/image.js +20 -12
  134. package/es/point/models/index.js +14 -14
  135. package/es/point/models/normal.js +15 -7
  136. package/es/point/models/radar.js +33 -13
  137. package/es/point/models/simplePoint.js +17 -9
  138. package/es/point/models/text.js +77 -30
  139. package/es/point/models/tile.js +33 -12
  140. package/es/point/shaders/animate/wave_frag.glsl +65 -0
  141. package/es/point/shaders/earth/extrude_frag.glsl +44 -0
  142. package/es/point/shaders/earth/extrude_vert.glsl +140 -0
  143. package/es/point/shaders/earth/fill_frag.glsl +86 -0
  144. package/es/point/shaders/earth/fill_vert.glsl +126 -0
  145. package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
  146. package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
  147. package/es/point/shaders/fill_frag.glsl +84 -0
  148. package/es/point/shaders/fill_vert.glsl +182 -0
  149. package/es/point/shaders/image/fillImage_frag.glsl +20 -0
  150. package/es/point/shaders/image/fillImage_vert.glsl +108 -0
  151. package/es/point/shaders/image_frag.glsl +39 -0
  152. package/es/point/shaders/image_vert.glsl +81 -0
  153. package/es/point/shaders/normal_frag.glsl +15 -0
  154. package/es/point/shaders/normal_vert.glsl +79 -0
  155. package/es/point/shaders/radar/radar_frag.glsl +64 -0
  156. package/es/point/shaders/radar/radar_vert.glsl +120 -0
  157. package/es/point/shaders/simplePoint_frag.glsl +53 -0
  158. package/es/point/shaders/simplePoint_vert.glsl +79 -0
  159. package/es/point/shaders/text_frag.glsl +48 -0
  160. package/es/point/shaders/text_vert.glsl +131 -0
  161. package/es/point/shaders/tile/fill_tile_frag.glsl +83 -0
  162. package/es/point/shaders/tile/fill_tile_vert.glsl +181 -0
  163. package/es/point/shape/extrude.js +8 -3
  164. package/es/polygon/index.js +6 -5
  165. package/es/polygon/models/extrude.js +40 -31
  166. package/es/polygon/models/fill.js +19 -8
  167. package/es/polygon/models/index.js +14 -14
  168. package/es/polygon/models/ocean.js +25 -33
  169. package/es/polygon/models/tile.js +13 -7
  170. package/es/polygon/models/water.js +21 -25
  171. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  172. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  173. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  174. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  175. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  176. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  177. package/es/polygon/shaders/polygon_frag.glsl +12 -0
  178. package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
  179. package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
  180. package/es/polygon/shaders/polygon_vert.glsl +66 -0
  181. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  182. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  183. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  184. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  185. package/es/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  186. package/es/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  187. package/es/raster/buffers/triangulation.js +2 -2
  188. package/es/raster/index.js +7 -6
  189. package/es/raster/models/index.js +3 -4
  190. package/es/raster/models/raster.js +15 -25
  191. package/es/raster/raster.js +9 -13
  192. package/es/raster/shaders/raster_2d_frag.glsl +28 -0
  193. package/es/raster/shaders/raster_2d_vert.glsl +18 -0
  194. package/es/raster/shaders/raster_frag.glsl +9 -0
  195. package/es/raster/shaders/raster_vert.glsl +44 -0
  196. package/es/tile/interface.js +1 -2
  197. package/es/tile/manager/tileConfigManager.js +6 -8
  198. package/es/tile/manager/tileLayerManager.js +19 -30
  199. package/es/tile/manager/tilePickerManager.js +14 -14
  200. package/es/tile/models/tileModel.js +6 -6
  201. package/es/tile/tileFactory/base.js +26 -32
  202. package/es/tile/tileFactory/index.js +6 -7
  203. package/es/tile/tileFactory/line.js +3 -9
  204. package/es/tile/tileFactory/point.js +3 -9
  205. package/es/tile/tileFactory/polygon.js +3 -9
  206. package/es/tile/tileFactory/raster.js +4 -10
  207. package/es/tile/tileFactory/rasterData.js +5 -11
  208. package/es/tile/tileFactory/rasterDataLayer.js +4 -5
  209. package/es/tile/tileFactory/vectorLayer.js +8 -9
  210. package/es/tile/tileLayer/baseTileLayer.js +67 -39
  211. package/es/tile/tmsTileLayer.js +5 -4
  212. package/es/tile/utils.js +5 -3
  213. package/es/utils/blend.js +1 -2
  214. package/es/utils/collision-index.js +36 -21
  215. package/es/utils/dataMappingStyle.js +71 -15
  216. package/es/utils/extrude_polyline.d.ts +15 -0
  217. package/es/utils/extrude_polyline.js +225 -51
  218. package/es/utils/grid-index.js +7 -21
  219. package/es/utils/layerData.js +41 -17
  220. package/es/utils/multiPassRender.js +21 -5
  221. package/es/utils/polylineNormal.js +40 -20
  222. package/es/utils/simpleLine.js +4 -6
  223. package/es/utils/symbol-layout.js +49 -10
  224. package/es/utils/updateShape.js +6 -3
  225. package/es/wind/index.js +5 -6
  226. package/es/wind/models/index.js +2 -3
  227. package/es/wind/models/utils.js +50 -26
  228. package/es/wind/models/wind.js +15 -18
  229. package/es/wind/models/windRender.js +89 -78
  230. package/es/wind/models/windShader.d.ts +6 -6
  231. package/es/wind/models/windShader.js +12 -7
  232. package/es/wind/shaders/wind_frag.glsl +9 -0
  233. package/es/wind/shaders/wind_vert.glsl +17 -0
  234. package/lib/Geometry/index.js +77 -115
  235. package/lib/Geometry/models/billboard.js +181 -218
  236. package/lib/Geometry/models/index.js +34 -19
  237. package/lib/Geometry/models/plane.js +278 -394
  238. package/lib/Geometry/models/sprite.js +189 -294
  239. package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
  240. package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
  241. package/lib/Geometry/shaders/plane_frag.glsl +22 -0
  242. package/lib/Geometry/shaders/plane_vert.glsl +53 -0
  243. package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
  244. package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
  245. package/lib/canvas/index.js +66 -102
  246. package/lib/canvas/models/canvas.js +140 -210
  247. package/lib/canvas/models/index.js +30 -13
  248. package/lib/citybuliding/building.js +63 -99
  249. package/lib/citybuliding/models/build.js +146 -196
  250. package/lib/citybuliding/shaders/build_frag.glsl +117 -0
  251. package/lib/citybuliding/shaders/build_vert.glsl +54 -0
  252. package/lib/core/BaseLayer.js +807 -1245
  253. package/lib/core/BaseModel.js +275 -375
  254. package/lib/core/interface.js +52 -20
  255. package/lib/core/schema.js +39 -18
  256. package/lib/core/shape/Path.js +78 -60
  257. package/lib/core/shape/extrude.js +90 -127
  258. package/lib/core/triangulation.js +208 -295
  259. package/lib/earth/index.js +62 -96
  260. package/lib/earth/models/atmosphere.js +112 -139
  261. package/lib/earth/models/base.js +150 -198
  262. package/lib/earth/models/bloomsphere.js +112 -139
  263. package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
  264. package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
  265. package/lib/earth/shaders/base_frag.glsl +13 -0
  266. package/lib/earth/shaders/base_vert.glsl +52 -0
  267. package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
  268. package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
  269. package/lib/earth/utils.js +89 -85
  270. package/lib/heatmap/index.js +92 -148
  271. package/lib/heatmap/models/grid.js +91 -113
  272. package/lib/heatmap/models/grid3d.js +123 -145
  273. package/lib/heatmap/models/heatmap.js +338 -470
  274. package/lib/heatmap/models/hexagon.js +92 -114
  275. package/lib/heatmap/models/index.js +37 -23
  276. package/lib/heatmap/shaders/grid_vert.glsl +42 -0
  277. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  278. package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  279. package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
  280. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  281. package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  282. package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
  283. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  284. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  285. package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
  286. package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
  287. package/lib/heatmap/triangulation.js +46 -30
  288. package/lib/image/index.js +74 -112
  289. package/lib/image/models/dataImage.js +173 -241
  290. package/lib/image/models/image.js +123 -177
  291. package/lib/image/models/index.js +32 -16
  292. package/lib/image/shaders/dataImage_frag.glsl +38 -0
  293. package/lib/image/shaders/image_frag.glsl +9 -0
  294. package/lib/image/shaders/image_vert.glsl +17 -0
  295. package/lib/index.js +96 -193
  296. package/lib/line/index.js +83 -128
  297. package/lib/line/models/arc.js +237 -328
  298. package/lib/line/models/arc_3d.js +228 -314
  299. package/lib/line/models/earthArc_3d.js +228 -316
  300. package/lib/line/models/great_circle.js +200 -279
  301. package/lib/line/models/half.js +201 -266
  302. package/lib/line/models/index.js +50 -43
  303. package/lib/line/models/line.js +299 -386
  304. package/lib/line/models/linearline.js +203 -258
  305. package/lib/line/models/simpleLine.js +175 -225
  306. package/lib/line/models/tile.js +237 -330
  307. package/lib/line/models/wall.js +235 -310
  308. package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
  309. package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
  310. package/lib/line/shaders/dash/arc_dash_vert.glsl +148 -0
  311. package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
  312. package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
  313. package/lib/line/shaders/half/line_half_frag.glsl +53 -0
  314. package/lib/line/shaders/half/line_half_vert.glsl +169 -0
  315. package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
  316. package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
  317. package/lib/line/shaders/line_arc_3d_vert.glsl +207 -0
  318. package/lib/line/shaders/line_arc_frag.glsl +89 -0
  319. package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  320. package/lib/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  321. package/lib/line/shaders/line_arc_vert.glsl +174 -0
  322. package/lib/line/shaders/line_bezier_vert.glsl +85 -0
  323. package/lib/line/shaders/line_frag.glsl +100 -0
  324. package/lib/line/shaders/line_vert.glsl +192 -0
  325. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  326. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  327. package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
  328. package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
  329. package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
  330. package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  331. package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  332. package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
  333. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  334. package/lib/line/shaders/simple/simpleline_vert.glsl +78 -0
  335. package/lib/line/shaders/tile/line_tile_frag.glsl +79 -0
  336. package/lib/line/shaders/tile/line_tile_vert.glsl +210 -0
  337. package/lib/line/shaders/wall_frag.glsl +93 -0
  338. package/lib/line/shaders/wall_vert.glsl +111 -0
  339. package/lib/mask/index.js +59 -93
  340. package/lib/mask/models/fill.js +82 -132
  341. package/lib/mask/models/index.js +30 -13
  342. package/lib/mask/shaders/mask_frag.glsl +7 -0
  343. package/lib/mask/shaders/mask_vert.glsl +22 -0
  344. package/lib/plugins/DataMappingPlugin.js +222 -304
  345. package/lib/plugins/DataSourcePlugin.js +87 -100
  346. package/lib/plugins/FeatureScalePlugin.js +239 -310
  347. package/lib/plugins/LayerAnimateStylePlugin.js +55 -61
  348. package/lib/plugins/LayerModelPlugin.js +72 -70
  349. package/lib/plugins/LayerStylePlugin.js +51 -44
  350. package/lib/plugins/LightingPlugin.js +68 -72
  351. package/lib/plugins/MultiPassRendererPlugin.js +65 -77
  352. package/lib/plugins/PixelPickingPlugin.js +109 -128
  353. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -103
  354. package/lib/plugins/ShaderUniformPlugin.js +98 -103
  355. package/lib/plugins/UpdateModelPlugin.js +47 -36
  356. package/lib/plugins/UpdateStyleAttributePlugin.js +75 -80
  357. package/lib/point/index.js +147 -216
  358. package/lib/point/models/earthExtrude.js +201 -262
  359. package/lib/point/models/earthFill.js +202 -276
  360. package/lib/point/models/extrude.js +203 -282
  361. package/lib/point/models/fill.js +273 -369
  362. package/lib/point/models/fillmage.js +250 -327
  363. package/lib/point/models/image.js +163 -226
  364. package/lib/point/models/index.js +52 -46
  365. package/lib/point/models/normal.js +134 -176
  366. package/lib/point/models/radar.js +212 -286
  367. package/lib/point/models/simplePoint.js +142 -187
  368. package/lib/point/models/text.js +385 -559
  369. package/lib/point/models/tile.js +223 -294
  370. package/lib/point/shaders/animate/wave_frag.glsl +65 -0
  371. package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
  372. package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
  373. package/lib/point/shaders/earth/fill_frag.glsl +86 -0
  374. package/lib/point/shaders/earth/fill_vert.glsl +126 -0
  375. package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
  376. package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
  377. package/lib/point/shaders/fill_frag.glsl +84 -0
  378. package/lib/point/shaders/fill_vert.glsl +182 -0
  379. package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
  380. package/lib/point/shaders/image/fillImage_vert.glsl +108 -0
  381. package/lib/point/shaders/image_frag.glsl +39 -0
  382. package/lib/point/shaders/image_vert.glsl +81 -0
  383. package/lib/point/shaders/normal_frag.glsl +15 -0
  384. package/lib/point/shaders/normal_vert.glsl +79 -0
  385. package/lib/point/shaders/radar/radar_frag.glsl +64 -0
  386. package/lib/point/shaders/radar/radar_vert.glsl +120 -0
  387. package/lib/point/shaders/simplePoint_frag.glsl +53 -0
  388. package/lib/point/shaders/simplePoint_vert.glsl +79 -0
  389. package/lib/point/shaders/text_frag.glsl +48 -0
  390. package/lib/point/shaders/text_vert.glsl +131 -0
  391. package/lib/point/shaders/tile/fill_tile_frag.glsl +83 -0
  392. package/lib/point/shaders/tile/fill_tile_vert.glsl +181 -0
  393. package/lib/point/shape/extrude.js +51 -51
  394. package/lib/polygon/index.js +100 -149
  395. package/lib/polygon/models/extrude.js +222 -303
  396. package/lib/polygon/models/fill.js +153 -205
  397. package/lib/polygon/models/index.js +52 -46
  398. package/lib/polygon/models/ocean.js +172 -251
  399. package/lib/polygon/models/tile.js +100 -139
  400. package/lib/polygon/models/water.js +152 -227
  401. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  402. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  403. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  404. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  405. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  406. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  407. package/lib/polygon/shaders/polygon_frag.glsl +12 -0
  408. package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
  409. package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
  410. package/lib/polygon/shaders/polygon_vert.glsl +66 -0
  411. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  412. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  413. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  414. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  415. package/lib/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  416. package/lib/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  417. package/lib/raster/buffers/triangulation.js +39 -26
  418. package/lib/raster/index.js +73 -111
  419. package/lib/raster/models/index.js +33 -17
  420. package/lib/raster/models/raster.js +134 -187
  421. package/lib/raster/raster.js +132 -189
  422. package/lib/raster/shaders/raster_2d_frag.glsl +28 -0
  423. package/lib/raster/shaders/raster_2d_vert.glsl +18 -0
  424. package/lib/raster/shaders/raster_frag.glsl +9 -0
  425. package/lib/raster/shaders/raster_vert.glsl +44 -0
  426. package/lib/tile/interface.js +17 -2
  427. package/lib/tile/manager/tileConfigManager.js +86 -126
  428. package/lib/tile/manager/tileLayerManager.js +227 -312
  429. package/lib/tile/manager/tilePickerManager.js +123 -187
  430. package/lib/tile/models/tileModel.js +51 -70
  431. package/lib/tile/tileFactory/base.js +292 -403
  432. package/lib/tile/tileFactory/index.js +48 -51
  433. package/lib/tile/tileFactory/line.js +50 -71
  434. package/lib/tile/tileFactory/point.js +50 -71
  435. package/lib/tile/tileFactory/polygon.js +50 -71
  436. package/lib/tile/tileFactory/raster.js +54 -72
  437. package/lib/tile/tileFactory/rasterData.js +76 -94
  438. package/lib/tile/tileFactory/rasterDataLayer.js +62 -98
  439. package/lib/tile/tileFactory/vectorLayer.js +95 -148
  440. package/lib/tile/tileLayer/baseTileLayer.js +220 -380
  441. package/lib/tile/tmsTileLayer.js +67 -109
  442. package/lib/tile/utils.js +86 -101
  443. package/lib/utils/blend.js +79 -60
  444. package/lib/utils/collision-index.js +63 -83
  445. package/lib/utils/dataMappingStyle.js +59 -56
  446. package/lib/utils/extrude_polyline.js +405 -428
  447. package/lib/utils/grid-index.js +111 -168
  448. package/lib/utils/layerData.js +88 -95
  449. package/lib/utils/multiPassRender.js +38 -31
  450. package/lib/utils/polylineNormal.js +86 -118
  451. package/lib/utils/simpleLine.js +85 -101
  452. package/lib/utils/symbol-layout.js +109 -173
  453. package/lib/utils/updateShape.js +40 -11
  454. package/lib/wind/index.js +71 -110
  455. package/lib/wind/models/index.js +30 -13
  456. package/lib/wind/models/utils.js +89 -104
  457. package/lib/wind/models/wind.js +224 -332
  458. package/lib/wind/models/windRender.js +215 -293
  459. package/lib/wind/models/windShader.js +181 -17
  460. package/lib/wind/shaders/wind_frag.glsl +9 -0
  461. package/lib/wind/shaders/wind_vert.glsl +17 -0
  462. package/package.json +11 -9
  463. package/es/Geometry/index.js.map +0 -1
  464. package/es/Geometry/models/billboard.js.map +0 -1
  465. package/es/Geometry/models/index.js.map +0 -1
  466. package/es/Geometry/models/plane.js.map +0 -1
  467. package/es/Geometry/models/sprite.js.map +0 -1
  468. package/es/canvas/index.js.map +0 -1
  469. package/es/canvas/models/canvas.js.map +0 -1
  470. package/es/canvas/models/index.js.map +0 -1
  471. package/es/citybuliding/building.js.map +0 -1
  472. package/es/citybuliding/models/build.js.map +0 -1
  473. package/es/core/BaseLayer.js.map +0 -1
  474. package/es/core/BaseModel.js.map +0 -1
  475. package/es/core/interface.js.map +0 -1
  476. package/es/core/schema.js.map +0 -1
  477. package/es/core/shape/Path.js.map +0 -1
  478. package/es/core/shape/extrude.js.map +0 -1
  479. package/es/core/triangulation.js.map +0 -1
  480. package/es/earth/index.js.map +0 -1
  481. package/es/earth/models/atmosphere.js.map +0 -1
  482. package/es/earth/models/base.js.map +0 -1
  483. package/es/earth/models/bloomsphere.js.map +0 -1
  484. package/es/earth/utils.js.map +0 -1
  485. package/es/glsl.d.js +0 -2
  486. package/es/glsl.d.js.map +0 -1
  487. package/es/heatmap/index.js.map +0 -1
  488. package/es/heatmap/models/grid.js.map +0 -1
  489. package/es/heatmap/models/grid3d.js.map +0 -1
  490. package/es/heatmap/models/heatmap.js.map +0 -1
  491. package/es/heatmap/models/hexagon.js.map +0 -1
  492. package/es/heatmap/models/index.js.map +0 -1
  493. package/es/heatmap/triangulation.js.map +0 -1
  494. package/es/image/index.js.map +0 -1
  495. package/es/image/models/dataImage.js.map +0 -1
  496. package/es/image/models/image.js.map +0 -1
  497. package/es/image/models/index.js.map +0 -1
  498. package/es/index.js.map +0 -1
  499. package/es/line/index.js.map +0 -1
  500. package/es/line/models/arc.js.map +0 -1
  501. package/es/line/models/arc_3d.js.map +0 -1
  502. package/es/line/models/earthArc_3d.js.map +0 -1
  503. package/es/line/models/great_circle.js.map +0 -1
  504. package/es/line/models/half.js.map +0 -1
  505. package/es/line/models/index.js.map +0 -1
  506. package/es/line/models/line.js.map +0 -1
  507. package/es/line/models/linearline.js.map +0 -1
  508. package/es/line/models/simpleLine.js.map +0 -1
  509. package/es/line/models/tile.js.map +0 -1
  510. package/es/line/models/wall.js.map +0 -1
  511. package/es/mask/index.js.map +0 -1
  512. package/es/mask/models/fill.js.map +0 -1
  513. package/es/mask/models/index.js.map +0 -1
  514. package/es/plugins/DataMappingPlugin.js.map +0 -1
  515. package/es/plugins/DataSourcePlugin.js.map +0 -1
  516. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  517. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  518. package/es/plugins/LayerModelPlugin.js.map +0 -1
  519. package/es/plugins/LayerStylePlugin.js.map +0 -1
  520. package/es/plugins/LightingPlugin.js.map +0 -1
  521. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  522. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  523. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  524. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  525. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  526. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  527. package/es/point/index.js.map +0 -1
  528. package/es/point/models/earthExtrude.js.map +0 -1
  529. package/es/point/models/earthFill.js.map +0 -1
  530. package/es/point/models/extrude.js.map +0 -1
  531. package/es/point/models/fill.js.map +0 -1
  532. package/es/point/models/fillmage.js.map +0 -1
  533. package/es/point/models/image.js.map +0 -1
  534. package/es/point/models/index.js.map +0 -1
  535. package/es/point/models/normal.js.map +0 -1
  536. package/es/point/models/radar.js.map +0 -1
  537. package/es/point/models/simplePoint.js.map +0 -1
  538. package/es/point/models/text.js.map +0 -1
  539. package/es/point/models/tile.js.map +0 -1
  540. package/es/point/shape/extrude.js.map +0 -1
  541. package/es/polygon/index.js.map +0 -1
  542. package/es/polygon/models/extrude.js.map +0 -1
  543. package/es/polygon/models/fill.js.map +0 -1
  544. package/es/polygon/models/index.js.map +0 -1
  545. package/es/polygon/models/ocean.js.map +0 -1
  546. package/es/polygon/models/tile.js.map +0 -1
  547. package/es/polygon/models/water.js.map +0 -1
  548. package/es/raster/buffers/triangulation.js.map +0 -1
  549. package/es/raster/index.js.map +0 -1
  550. package/es/raster/models/index.js.map +0 -1
  551. package/es/raster/models/raster.js.map +0 -1
  552. package/es/raster/raster.js.map +0 -1
  553. package/es/tile/interface.js.map +0 -1
  554. package/es/tile/manager/tileConfigManager.js.map +0 -1
  555. package/es/tile/manager/tileLayerManager.js.map +0 -1
  556. package/es/tile/manager/tilePickerManager.js.map +0 -1
  557. package/es/tile/models/tileModel.js.map +0 -1
  558. package/es/tile/tileFactory/base.js.map +0 -1
  559. package/es/tile/tileFactory/index.js.map +0 -1
  560. package/es/tile/tileFactory/line.js.map +0 -1
  561. package/es/tile/tileFactory/point.js.map +0 -1
  562. package/es/tile/tileFactory/polygon.js.map +0 -1
  563. package/es/tile/tileFactory/raster.js.map +0 -1
  564. package/es/tile/tileFactory/rasterData.js.map +0 -1
  565. package/es/tile/tileFactory/rasterDataLayer.js.map +0 -1
  566. package/es/tile/tileFactory/vectorLayer.js.map +0 -1
  567. package/es/tile/tileLayer/baseTileLayer.js.map +0 -1
  568. package/es/tile/tmsTileLayer.js.map +0 -1
  569. package/es/tile/utils.js.map +0 -1
  570. package/es/utils/blend.js.map +0 -1
  571. package/es/utils/collision-index.js.map +0 -1
  572. package/es/utils/dataMappingStyle.js.map +0 -1
  573. package/es/utils/extrude_polyline.js.map +0 -1
  574. package/es/utils/grid-index.js.map +0 -1
  575. package/es/utils/layerData.js.map +0 -1
  576. package/es/utils/multiPassRender.js.map +0 -1
  577. package/es/utils/polylineNormal.js.map +0 -1
  578. package/es/utils/simpleLine.js.map +0 -1
  579. package/es/utils/symbol-layout.js.map +0 -1
  580. package/es/utils/updateShape.js.map +0 -1
  581. package/es/wind/index.js.map +0 -1
  582. package/es/wind/models/index.js.map +0 -1
  583. package/es/wind/models/utils.js.map +0 -1
  584. package/es/wind/models/wind.js.map +0 -1
  585. package/es/wind/models/windRender.js.map +0 -1
  586. package/es/wind/models/windShader.js.map +0 -1
  587. package/lib/Geometry/index.js.map +0 -1
  588. package/lib/Geometry/models/billboard.js.map +0 -1
  589. package/lib/Geometry/models/index.js.map +0 -1
  590. package/lib/Geometry/models/plane.js.map +0 -1
  591. package/lib/Geometry/models/sprite.js.map +0 -1
  592. package/lib/canvas/index.js.map +0 -1
  593. package/lib/canvas/models/canvas.js.map +0 -1
  594. package/lib/canvas/models/index.js.map +0 -1
  595. package/lib/citybuliding/building.js.map +0 -1
  596. package/lib/citybuliding/models/build.js.map +0 -1
  597. package/lib/core/BaseLayer.js.map +0 -1
  598. package/lib/core/BaseModel.js.map +0 -1
  599. package/lib/core/interface.js.map +0 -1
  600. package/lib/core/schema.js.map +0 -1
  601. package/lib/core/shape/Path.js.map +0 -1
  602. package/lib/core/shape/extrude.js.map +0 -1
  603. package/lib/core/triangulation.js.map +0 -1
  604. package/lib/earth/index.js.map +0 -1
  605. package/lib/earth/models/atmosphere.js.map +0 -1
  606. package/lib/earth/models/base.js.map +0 -1
  607. package/lib/earth/models/bloomsphere.js.map +0 -1
  608. package/lib/earth/utils.js.map +0 -1
  609. package/lib/glsl.d.js +0 -2
  610. package/lib/glsl.d.js.map +0 -1
  611. package/lib/heatmap/index.js.map +0 -1
  612. package/lib/heatmap/models/grid.js.map +0 -1
  613. package/lib/heatmap/models/grid3d.js.map +0 -1
  614. package/lib/heatmap/models/heatmap.js.map +0 -1
  615. package/lib/heatmap/models/hexagon.js.map +0 -1
  616. package/lib/heatmap/models/index.js.map +0 -1
  617. package/lib/heatmap/triangulation.js.map +0 -1
  618. package/lib/image/index.js.map +0 -1
  619. package/lib/image/models/dataImage.js.map +0 -1
  620. package/lib/image/models/image.js.map +0 -1
  621. package/lib/image/models/index.js.map +0 -1
  622. package/lib/index.js.map +0 -1
  623. package/lib/line/index.js.map +0 -1
  624. package/lib/line/models/arc.js.map +0 -1
  625. package/lib/line/models/arc_3d.js.map +0 -1
  626. package/lib/line/models/earthArc_3d.js.map +0 -1
  627. package/lib/line/models/great_circle.js.map +0 -1
  628. package/lib/line/models/half.js.map +0 -1
  629. package/lib/line/models/index.js.map +0 -1
  630. package/lib/line/models/line.js.map +0 -1
  631. package/lib/line/models/linearline.js.map +0 -1
  632. package/lib/line/models/simpleLine.js.map +0 -1
  633. package/lib/line/models/tile.js.map +0 -1
  634. package/lib/line/models/wall.js.map +0 -1
  635. package/lib/mask/index.js.map +0 -1
  636. package/lib/mask/models/fill.js.map +0 -1
  637. package/lib/mask/models/index.js.map +0 -1
  638. package/lib/plugins/DataMappingPlugin.js.map +0 -1
  639. package/lib/plugins/DataSourcePlugin.js.map +0 -1
  640. package/lib/plugins/FeatureScalePlugin.js.map +0 -1
  641. package/lib/plugins/LayerAnimateStylePlugin.js.map +0 -1
  642. package/lib/plugins/LayerModelPlugin.js.map +0 -1
  643. package/lib/plugins/LayerStylePlugin.js.map +0 -1
  644. package/lib/plugins/LightingPlugin.js.map +0 -1
  645. package/lib/plugins/MultiPassRendererPlugin.js.map +0 -1
  646. package/lib/plugins/PixelPickingPlugin.js.map +0 -1
  647. package/lib/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  648. package/lib/plugins/ShaderUniformPlugin.js.map +0 -1
  649. package/lib/plugins/UpdateModelPlugin.js.map +0 -1
  650. package/lib/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  651. package/lib/point/index.js.map +0 -1
  652. package/lib/point/models/earthExtrude.js.map +0 -1
  653. package/lib/point/models/earthFill.js.map +0 -1
  654. package/lib/point/models/extrude.js.map +0 -1
  655. package/lib/point/models/fill.js.map +0 -1
  656. package/lib/point/models/fillmage.js.map +0 -1
  657. package/lib/point/models/image.js.map +0 -1
  658. package/lib/point/models/index.js.map +0 -1
  659. package/lib/point/models/normal.js.map +0 -1
  660. package/lib/point/models/radar.js.map +0 -1
  661. package/lib/point/models/simplePoint.js.map +0 -1
  662. package/lib/point/models/text.js.map +0 -1
  663. package/lib/point/models/tile.js.map +0 -1
  664. package/lib/point/shape/extrude.js.map +0 -1
  665. package/lib/polygon/index.js.map +0 -1
  666. package/lib/polygon/models/extrude.js.map +0 -1
  667. package/lib/polygon/models/fill.js.map +0 -1
  668. package/lib/polygon/models/index.js.map +0 -1
  669. package/lib/polygon/models/ocean.js.map +0 -1
  670. package/lib/polygon/models/tile.js.map +0 -1
  671. package/lib/polygon/models/water.js.map +0 -1
  672. package/lib/raster/buffers/triangulation.js.map +0 -1
  673. package/lib/raster/index.js.map +0 -1
  674. package/lib/raster/models/index.js.map +0 -1
  675. package/lib/raster/models/raster.js.map +0 -1
  676. package/lib/raster/raster.js.map +0 -1
  677. package/lib/tile/interface.js.map +0 -1
  678. package/lib/tile/manager/tileConfigManager.js.map +0 -1
  679. package/lib/tile/manager/tileLayerManager.js.map +0 -1
  680. package/lib/tile/manager/tilePickerManager.js.map +0 -1
  681. package/lib/tile/models/tileModel.js.map +0 -1
  682. package/lib/tile/tileFactory/base.js.map +0 -1
  683. package/lib/tile/tileFactory/index.js.map +0 -1
  684. package/lib/tile/tileFactory/line.js.map +0 -1
  685. package/lib/tile/tileFactory/point.js.map +0 -1
  686. package/lib/tile/tileFactory/polygon.js.map +0 -1
  687. package/lib/tile/tileFactory/raster.js.map +0 -1
  688. package/lib/tile/tileFactory/rasterData.js.map +0 -1
  689. package/lib/tile/tileFactory/rasterDataLayer.js.map +0 -1
  690. package/lib/tile/tileFactory/vectorLayer.js.map +0 -1
  691. package/lib/tile/tileLayer/baseTileLayer.js.map +0 -1
  692. package/lib/tile/tmsTileLayer.js.map +0 -1
  693. package/lib/tile/utils.js.map +0 -1
  694. package/lib/utils/blend.js.map +0 -1
  695. package/lib/utils/collision-index.js.map +0 -1
  696. package/lib/utils/dataMappingStyle.js.map +0 -1
  697. package/lib/utils/extrude_polyline.js.map +0 -1
  698. package/lib/utils/grid-index.js.map +0 -1
  699. package/lib/utils/layerData.js.map +0 -1
  700. package/lib/utils/multiPassRender.js.map +0 -1
  701. package/lib/utils/polylineNormal.js.map +0 -1
  702. package/lib/utils/simpleLine.js.map +0 -1
  703. package/lib/utils/symbol-layout.js.map +0 -1
  704. package/lib/utils/updateShape.js.map +0 -1
  705. package/lib/wind/index.js.map +0 -1
  706. package/lib/wind/models/index.js.map +0 -1
  707. package/lib/wind/models/utils.js.map +0 -1
  708. package/lib/wind/models/wind.js.map +0 -1
  709. package/lib/wind/models/windRender.js.map +0 -1
  710. package/lib/wind/models/windShader.js.map +0 -1
@@ -12,6 +12,8 @@ export function computeNormal(out, dir) {
12
12
  return vec2.set(out, -dir[1], dir[0]);
13
13
  }
14
14
  export function direction(out, a, b) {
15
+ // const a1 = aProjectFlat([a[0], a[1]]) as [number, number];
16
+ // const b1 = aProjectFlat([b[0], b[1]]) as [number, number];
15
17
  vec2.sub(out, a, b);
16
18
  vec2.normalize(out, out);
17
19
  return out;
@@ -67,14 +69,14 @@ export default function (points, closed, indexOffset) {
67
69
  var index = count;
68
70
  var last = vec2.fromValues(points[i - 1][0], points[i - 1][1]);
69
71
  var cur = vec2.fromValues(points[i][0], points[i][1]);
70
- var next = i < points.length - 1 ? vec2.fromValues(points[i + 1][0], points[i + 1][1]) : null;
72
+ var next = i < points.length - 1 ? vec2.fromValues(points[i + 1][0], points[i + 1][1]) : null; // 如果当前点和前一点相同,跳过
71
73
 
72
74
  if (isPointEqual(last, cur)) {
73
75
  continue;
74
76
  }
75
77
 
76
78
  if (next) {
77
- var nextIndex = i + 1;
79
+ var nextIndex = i + 1; // 找到不相同的下一点
78
80
 
79
81
  while (next && isPointEqual(cur, next)) {
80
82
  next = nextIndex < points.length - 1 ? vec2.fromValues(points[++nextIndex][0], points[nextIndex][1]) : null;
@@ -102,54 +104,70 @@ export default function (points, closed, indexOffset) {
102
104
  extrusions(attrPos, out, miters, last, lineNormal, 1);
103
105
  }
104
106
 
105
- attrIndex.push(index + 0, index + 2, index + 1);
107
+ attrIndex.push(index + 0, index + 2, index + 1); // no miter, simple segment
106
108
 
107
109
  if (!next) {
110
+ // reset normal
108
111
  computeNormal(lineNormal, lineA);
109
112
  extrusions(attrPos, out, miters, cur, lineNormal, 1);
110
113
  attrDistance.push(d, d);
111
114
  attrIndex.push(index + 1, index + 2, index + 3);
112
115
  count += 2;
113
116
  } else {
114
- var flatNext = aProjectFlat([next[0], next[1]]);
115
- direction(lineB, flatNext, flatCur);
116
- var miterLen = computeMiter(tangent, vec2.fromValues(miter[0], miter[1]), lineA, lineB, 1);
117
+ var flatNext = aProjectFlat([next[0], next[1]]); // get unit dir of next line
118
+
119
+ direction(lineB, flatNext, flatCur); // stores tangent & miter
120
+
121
+ var miterLen = computeMiter(tangent, vec2.fromValues(miter[0], miter[1]), lineA, lineB, 1); // get orientation
122
+
117
123
  var flip = vec2.dot(tangent, lineNormal) < 0 ? -1 : 1;
118
- var bevel = Math.abs(miterLen) > miterLimit;
124
+ var bevel = Math.abs(miterLen) > miterLimit; // 处理前后两条线段重合的情况,这种情况不需要使用任何接头(miter/bevel)。
125
+ // 理论上这种情况下 miterLen = Infinity,本应通过 isFinite(miterLen) 判断,
126
+ // 但是 AMap 投影变换后丢失精度,只能通过一个阈值(1000)判断。
119
127
 
120
128
  if (Math.abs(miterLen) > 1000) {
121
129
  extrusions(attrPos, out, miters, cur, lineNormal, 1);
122
130
  attrIndex.push(index + 1, index + 2, index + 3);
123
131
  attrIndex.push(index + 2, index + 4, index + 3);
124
132
  computeNormal(tmp, lineB);
125
- vec2.copy(lineNormal, tmp);
133
+ vec2.copy(lineNormal, tmp); // store normal for next round
134
+
126
135
  extrusions(attrPos, out, miters, cur, lineNormal, 1);
127
- attrDistance.push(d, d, d, d);
136
+ attrDistance.push(d, d, d, d); // the miter is now the normal for our next join
137
+
128
138
  count += 4;
129
139
  continue;
130
140
  }
131
141
 
132
142
  if (bevel) {
133
- miterLen = miterLimit;
143
+ miterLen = miterLimit; // next two points in our first segment
144
+
134
145
  extrusions(attrPos, out, miters, cur, lineNormal, 1);
135
- attrIndex.push(index + 1, index + 2, index + 3);
146
+ attrIndex.push(index + 1, index + 2, index + 3); // now add the bevel triangle
147
+
136
148
  attrIndex.push.apply(attrIndex, _toConsumableArray(flip === 1 ? [index + 2, index + 4, index + 5] : [index + 4, index + 5, index + 3]));
137
149
  computeNormal(tmp, lineB);
138
- vec2.copy(lineNormal, tmp);
150
+ vec2.copy(lineNormal, tmp); // store normal for next round
151
+
139
152
  extrusions(attrPos, out, miters, cur, lineNormal, 1);
140
- attrDistance.push(d, d, d, d);
153
+ attrDistance.push(d, d, d, d); // the miter is now the normal for our next join
154
+
141
155
  count += 4;
142
156
  } else {
157
+ // next two points in our first segment
143
158
  extrusions(attrPos, out, miters, cur, lineNormal, 1);
144
- attrIndex.push(index + 1, index + 2, index + 3);
159
+ attrIndex.push(index + 1, index + 2, index + 3); // now add the miter triangles
160
+
145
161
  addNext(out, miters, lineNormal, miterLen * -flip);
146
162
  attrPos.push(cur[0], cur[1], 0);
147
163
  attrIndex.push(index + 2, index + 4, index + 3);
148
164
  attrIndex.push(index + 4, index + 5, index + 6);
149
165
  computeNormal(tmp, lineB);
150
- vec2.copy(lineNormal, tmp);
166
+ vec2.copy(lineNormal, tmp); // store normal for next round
167
+
151
168
  extrusions(attrPos, out, miters, cur, lineNormal, 1);
152
- attrDistance.push(d, d, d, d, d);
169
+ attrDistance.push(d, d, d, d, d); // the miter is now the normal for our next join
170
+
153
171
  count += 5;
154
172
  }
155
173
  }
@@ -159,13 +177,15 @@ export default function (points, closed, indexOffset) {
159
177
 
160
178
  for (var _i = 0; _i < miters.length; _i++) {
161
179
  var totalDistance = attrDistance[attrDistance.length - 1];
162
- pickData.push(attrPos[_i * 3], attrPos[_i * 3 + 1], attrPos[_i * 3 + 2], attrDistance[_i], miters[_i], totalDistance);
180
+ pickData.push(attrPos[_i * 3], attrPos[_i * 3 + 1], attrPos[_i * 3 + 2], attrDistance[_i], // dash
181
+ miters[_i], totalDistance // dash
182
+ );
163
183
  }
164
184
 
165
185
  return {
166
186
  normals: out,
167
187
  attrIndex: attrIndex,
168
- attrPos: pickData
188
+ attrPos: pickData // [x,y,z, distance, miter ,t0tal ]
189
+
169
190
  };
170
- }
171
- //# sourceMappingURL=polylineNormal.js.map
191
+ } // [x,y,z, distance, miter ]
@@ -10,12 +10,10 @@ export function direction(out, a, b) {
10
10
  return out;
11
11
  }
12
12
 
13
- var ExtrudePolyline = function () {
13
+ var ExtrudePolyline = /*#__PURE__*/function () {
14
14
  function ExtrudePolyline() {
15
15
  _classCallCheck(this, ExtrudePolyline);
16
16
 
17
- _defineProperty(this, "complex", void 0);
18
-
19
17
  _defineProperty(this, "started", false);
20
18
 
21
19
  _defineProperty(this, "totalDistance", 0);
@@ -82,7 +80,8 @@ var ExtrudePolyline = function () {
82
80
  }
83
81
  }, {
84
82
  key: "extrusions",
85
- value: function extrusions(positions, point, distanceRadio) {
83
+ value: function extrusions(positions, point, // 顶点
84
+ distanceRadio) {
86
85
  positions.push(point[0], point[1], point[2] | 0, distanceRadio, 0, point[2] | 0);
87
86
  this.complex.indexes.push(this.currentIndex);
88
87
  positions.push(point[0], point[1], point[2] | 0, distanceRadio, 0, point[2] | 0);
@@ -101,5 +100,4 @@ var ExtrudePolyline = function () {
101
100
  return ExtrudePolyline;
102
101
  }();
103
102
 
104
- export { ExtrudePolyline as default };
105
- //# sourceMappingURL=simpleLine.js.map
103
+ export { ExtrudePolyline as default };
@@ -4,6 +4,11 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
 
5
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
6
6
 
7
+ /**
8
+ * 返回文本相对锚点位置
9
+ * @param {string} anchor 锚点位置
10
+ * @return {alignment} alignment
11
+ */
7
12
  function getAnchorAlignment(anchor) {
8
13
  var horizontalAlign = 0.5;
9
14
  var verticalAlign = 0.5;
@@ -46,7 +51,8 @@ function getAnchorAlignment(anchor) {
46
51
  horizontalAlign: horizontalAlign,
47
52
  verticalAlign: verticalAlign
48
53
  };
49
- }
54
+ } // justify right = 1, left = 0, center = 0.5
55
+
50
56
 
51
57
  function justifyLine(positionedGlyphs, glyphMap, start, end, justify) {
52
58
  if (!justify) {
@@ -64,7 +70,10 @@ function justifyLine(positionedGlyphs, glyphMap, start, end, justify) {
64
70
  positionedGlyphs[j].x -= lineIndent;
65
71
  }
66
72
  }
67
- }
73
+ } // justify right=1 left=0 center=0.5
74
+ // horizontalAlign right=1 left=0 center=0.5
75
+ // verticalAlign right=1 left=0 center=0.5
76
+
68
77
 
69
78
  function align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, lineCount) {
70
79
  var shiftX = (justify - horizontalAlign) * maxLineLength;
@@ -87,6 +96,7 @@ function align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLin
87
96
  }
88
97
 
89
98
  function shapeLines(shaping, glyphMap, lines, lineHeight, textAnchor, textJustify, spacing) {
99
+ // buffer 为 4
90
100
  var yOffset = -8;
91
101
  var x = 0;
92
102
  var y = yOffset;
@@ -105,12 +115,13 @@ function shapeLines(shaping, glyphMap, lines, lineHeight, textAnchor, textJustif
105
115
  x: x,
106
116
  y: y + baselineOffset,
107
117
  vertical: false,
118
+ // TODO:目前只支持水平方向
108
119
  scale: 1,
109
120
  metrics: glyph
110
121
  });
111
122
  x += glyph.advance + spacing;
112
123
  }
113
- });
124
+ }); // 左右对齐
114
125
 
115
126
  if (positionedGlyphs.length !== lineStartIndex) {
116
127
  var lineLength = x - spacing;
@@ -126,7 +137,8 @@ function shapeLines(shaping, glyphMap, lines, lineHeight, textAnchor, textJustif
126
137
  horizontalAlign = _getAnchorAlignment.horizontalAlign,
127
138
  verticalAlign = _getAnchorAlignment.verticalAlign;
128
139
 
129
- align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, lines.length);
140
+ align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, lines.length); // 计算包围盒
141
+
130
142
  var height = y - yOffset;
131
143
  shaping.top += -verticalAlign * height;
132
144
  shaping.bottom = shaping.top - height;
@@ -135,6 +147,7 @@ function shapeLines(shaping, glyphMap, lines, lineHeight, textAnchor, textJustif
135
147
  }
136
148
 
137
149
  function shapeIconFont(shaping, glyphMap, iconfonts, lineHeight, textAnchor, textJustify, spacing) {
150
+ // buffer 为 4
138
151
  var yOffset = -8;
139
152
  var x = 0;
140
153
  var y = yOffset;
@@ -149,14 +162,23 @@ function shapeIconFont(shaping, glyphMap, iconfonts, lineHeight, textAnchor, tex
149
162
  if (glyph) {
150
163
  positionedGlyphs.push({
151
164
  glyph: iconfont,
165
+ // x,
166
+
167
+ /**
168
+ * iconfont
169
+ * 在计算大小的时候计算的是 unicode 字符 如 &#xe6d4;
170
+ * 在布局计算 icon 位置的时候应该始终保持居中(且 icon 只占一个字符的位置)
171
+ */
152
172
  x: glyph.advance / 2,
153
173
  y: y + baselineOffset,
154
174
  vertical: false,
175
+ // TODO:目前只支持水平方向
155
176
  scale: 1,
156
177
  metrics: glyph
157
178
  });
158
179
  x += glyph.advance + spacing;
159
- }
180
+ } // 左右对齐
181
+
160
182
 
161
183
  if (positionedGlyphs.length !== lineStartIndex) {
162
184
  var lineLength = x - spacing;
@@ -172,17 +194,33 @@ function shapeIconFont(shaping, glyphMap, iconfonts, lineHeight, textAnchor, tex
172
194
  horizontalAlign = _getAnchorAlignment2.horizontalAlign,
173
195
  verticalAlign = _getAnchorAlignment2.verticalAlign;
174
196
 
175
- align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, iconfonts.length);
197
+ align(positionedGlyphs, justify, horizontalAlign, verticalAlign, maxLineLength, lineHeight, iconfonts.length); // 计算包围盒
198
+
176
199
  var height = y - yOffset;
177
200
  shaping.top += -verticalAlign * height;
178
201
  shaping.bottom = shaping.top - height;
179
202
  shaping.left += -horizontalAlign * maxLineLength;
180
203
  shaping.right = shaping.left + maxLineLength;
181
204
  }
205
+ /**
206
+ * 计算文本中每个独立字符相对锚点的位置
207
+ *
208
+ * @param {string} text 原始文本
209
+ * @param {*} glyphs mapping
210
+ * @param {number} lineHeight 行高
211
+ * @param {string} textAnchor 文本相对于锚点的位置
212
+ * @param {string} textJustify 左右对齐
213
+ * @param {number} spacing 字符间距
214
+ * @param {[number, number]} translate 文本水平 & 垂直偏移量
215
+ * @param {[boolean]} isIconFont 是否是 iconfont
216
+ * @return {boolean|shaping} 每个字符相对于锚点的位置
217
+ */
218
+
182
219
 
183
220
  export function shapeText(text, glyphs, lineHeight, textAnchor, textJustify, spacing) {
184
221
  var translate = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [0, 0];
185
222
  var isIconFont = arguments.length > 7 ? arguments[7] : undefined;
223
+ // TODO:处理换行
186
224
  var lines = text.split('\n');
187
225
  var positionedGlyphs = [];
188
226
  var shaping = {
@@ -215,7 +253,8 @@ export function getGlyphQuads(shaping) {
215
253
  try {
216
254
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
217
255
  var positionedGlyph = _step2.value;
218
- var rect = positionedGlyph.metrics;
256
+ var rect = positionedGlyph.metrics; // The rects have an addditional buffer that is not included in their size.
257
+
219
258
  var rectBuffer = 4;
220
259
  var halfAdvance = rect.advance * positionedGlyph.scale / 2;
221
260
  var glyphOffset = alongLine ? [positionedGlyph.x + halfAdvance, positionedGlyph.y] : [0, 0];
@@ -239,7 +278,8 @@ export function getGlyphQuads(shaping) {
239
278
  var br = {
240
279
  x: x2,
241
280
  y: y2
242
- };
281
+ }; // TODO:处理字符旋转的情况
282
+
243
283
  quads.push({
244
284
  tl: tl,
245
285
  tr: tr,
@@ -256,5 +296,4 @@ export function getGlyphQuads(shaping) {
256
296
  }
257
297
 
258
298
  return quads;
259
- }
260
- //# sourceMappingURL=symbol-layout.js.map
299
+ }
@@ -1,4 +1,7 @@
1
- var shapeUpdateList = [['circle', 'cylinder'], ['square', 'cylinder'], ['triangle', 'cylinder'], ['pentagon', 'cylinder'], ['hexagon', 'cylinder'], ['octogon', 'cylinder'], ['hexagram', 'cylinder'], ['rhombus', 'cylinder'], ['vesica', 'cylinder']];
1
+ // TODO: shapeUpdateList 存储一系列的 shape 类型
2
+ // 当这一系列的 shape 相互切换的时候需要重构 layer 的 model (顶点数据集)
3
+ var shapeUpdateList = [// PointLayer
4
+ ['circle', 'cylinder'], ['square', 'cylinder'], ['triangle', 'cylinder'], ['pentagon', 'cylinder'], ['hexagon', 'cylinder'], ['octogon', 'cylinder'], ['hexagram', 'cylinder'], ['rhombus', 'cylinder'], ['vesica', 'cylinder']];
2
5
  export function updateShape(layer, lastShape, currentShape) {
3
6
  if (typeof lastShape === 'string' && typeof currentShape === 'string' && lastShape !== currentShape) {
4
7
  if (layer.type === 'PointLayer') {
@@ -8,10 +11,10 @@ export function updateShape(layer, lastShape, currentShape) {
8
11
 
9
12
  shapeUpdateList.map(function (shapes) {
10
13
  if (shapes.includes(lastShape) && shapes.includes(currentShape)) {
14
+ // TODO: dataSourceNeedUpdate 借用数据更新时更新 layer model 的工作流
11
15
  layer.dataState.dataSourceNeedUpdate = true;
12
16
  return;
13
17
  }
14
18
  });
15
19
  }
16
- }
17
- //# sourceMappingURL=updateShape.js.map
20
+ }
package/es/wind/index.js CHANGED
@@ -10,10 +10,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  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
12
 
13
- import BaseLayer from '../core/BaseLayer';
14
- import WindModels from './models';
13
+ import BaseLayer from "../core/BaseLayer";
14
+ import WindModels from "./models";
15
15
 
16
- var WindLayer = function (_BaseLayer) {
16
+ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
17
17
  _inherits(WindLayer, _BaseLayer);
18
18
 
19
19
  var _super = _createSuper(WindLayer);
@@ -60,7 +60,7 @@ var WindLayer = function (_BaseLayer) {
60
60
  key: "renderModels",
61
61
  value: function renderModels() {
62
62
  if (this.layerModel) {
63
- this.layerModel.render();
63
+ this.layerModel.render(); // 独立的渲染流程
64
64
  }
65
65
 
66
66
  return this;
@@ -97,5 +97,4 @@ var WindLayer = function (_BaseLayer) {
97
97
  return WindLayer;
98
98
  }(BaseLayer);
99
99
 
100
- export { WindLayer as default };
101
- //# sourceMappingURL=index.js.map
100
+ export { WindLayer as default };
@@ -1,6 +1,5 @@
1
- import WindModel from './wind';
1
+ import WindModel from "./wind";
2
2
  var WindModels = {
3
3
  wind: WindModel
4
4
  };
5
- export default WindModels;
6
- //# sourceMappingURL=index.js.map
5
+ export default WindModels;
@@ -1,21 +1,29 @@
1
1
  export function createProgram(gl, vshader, fshader) {
2
- var vertexShader = loadShader(gl, gl.VERTEX_SHADER, vshader);
3
- var fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fshader);
2
+ // Create shader object
3
+ var vertexShader = loadShader(gl, gl.VERTEX_SHADER, vshader); // 创建顶点着色器对象
4
+
5
+ var fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fshader); // 创建片元着色器对象
4
6
 
5
7
  if (!vertexShader || !fragmentShader) {
6
8
  return null;
7
- }
9
+ } // Create a program object
8
10
 
9
- var program = gl.createProgram();
11
+
12
+ var program = gl.createProgram(); // 创建程序对象
10
13
 
11
14
  if (!program) {
12
15
  return null;
13
- }
16
+ } // Attach the shader objects
17
+
18
+
19
+ gl.attachShader(program, vertexShader); // 绑定着色器对象
20
+
21
+ gl.attachShader(program, fragmentShader); // Link the program object
14
22
 
15
- gl.attachShader(program, vertexShader);
16
- gl.attachShader(program, fragmentShader);
17
- gl.linkProgram(program);
18
- var linked = gl.getProgramParameter(program, gl.LINK_STATUS);
23
+ gl.linkProgram(program); // 链接着色器对象
24
+ // Check the result of linking
25
+
26
+ var linked = gl.getProgramParameter(program, gl.LINK_STATUS); // 判断着色器对象是否链接成功
19
27
 
20
28
  if (!linked) {
21
29
  var error = gl.getProgramInfoLog(program);
@@ -29,32 +37,43 @@ export function createProgram(gl, vshader, fshader) {
29
37
  var numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
30
38
 
31
39
  for (var i = 0; i < numAttributes; i++) {
32
- var attribute = gl.getActiveAttrib(program, i);
40
+ var attribute = gl.getActiveAttrib(program, i); // @ts-ignore
41
+
33
42
  program[attribute.name] = gl.getAttribLocation(program, attribute.name);
34
43
  }
35
44
 
36
45
  var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
37
46
 
38
47
  for (var i$1 = 0; i$1 < numUniforms; i$1++) {
39
- var uniform = gl.getActiveUniform(program, i$1);
48
+ var uniform = gl.getActiveUniform(program, i$1); // @ts-ignore
49
+
40
50
  program[uniform.name] = gl.getUniformLocation(program, uniform.name);
41
- }
51
+ } // @ts-ignore
52
+
53
+
54
+ program.vertexShader = vertexShader; // @ts-ignore
42
55
 
43
- program.vertexShader = vertexShader;
44
56
  program.fragmentShader = fragmentShader;
45
57
  return program;
46
58
  }
47
59
  export function loadShader(gl, type, source) {
48
- var shader = gl.createShader(type);
60
+ // Create shader object
61
+ var shader = gl.createShader(type); // 生成着色器对象
49
62
 
50
63
  if (shader == null) {
51
64
  console.warn('unable to create shader');
52
65
  return null;
53
- }
66
+ } // Set the shader program
67
+
68
+
69
+ gl.shaderSource(shader, source); // 载入着色器
70
+ // Compile the shader
71
+
72
+ gl.compileShader(shader); // 编译着色器代码
73
+ // Check the result of compilation
54
74
 
55
- gl.shaderSource(shader, source);
56
- gl.compileShader(shader);
57
- var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
75
+ var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS); // 判断着色器对象是否生成成功
76
+ // gl.SHADER_TYPE、gl.DELETE_STATUS、gl.COMPILE_STATUS
58
77
 
59
78
  if (!compiled) {
60
79
  var error = gl.getShaderInfoLog(shader);
@@ -104,8 +123,10 @@ export function bindAttriBuffer(gl, attrName, vertices, count, program) {
104
123
  console.warn('failed create vertex buffer');
105
124
  }
106
125
 
107
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
108
- gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);
126
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer); // 将缓冲区对象绑定到目标
127
+
128
+ gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW); // 向缓冲区对象中写入数据
129
+
109
130
  var attr = gl.getAttribLocation(program, attrName);
110
131
  gl.vertexAttribPointer(attr, count, gl.FLOAT, false, 0, 0);
111
132
  gl.enableVertexAttribArray(attr);
@@ -158,7 +179,8 @@ export function setUnifrom(gl, location, data, vec) {
158
179
  break;
159
180
 
160
181
  case 'bool':
161
- gl.uniform1i(location, data);
182
+ gl.uniform1i(location, data); // 1 - true 0 - false
183
+
162
184
  break;
163
185
 
164
186
  case 'sampler2d':
@@ -180,9 +202,12 @@ export function initFramebuffer(gl) {
180
202
  gl.bindRenderbuffer(gl.RENDERBUFFER, depthbuffer);
181
203
  gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, OFFER_SCREEN_WIDTH, OFFER_SCREEN_HEIGHT);
182
204
  gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthbuffer);
183
- var texture = gl.createTexture();
184
- FRAMEBUFFER.texture = texture;
185
- FRAMEBUFFER.width = OFFER_SCREEN_WIDTH;
205
+ var texture = gl.createTexture(); // @ts-ignore
206
+
207
+ FRAMEBUFFER.texture = texture; // @ts-ignore
208
+
209
+ FRAMEBUFFER.width = OFFER_SCREEN_WIDTH; // @ts-ignore
210
+
186
211
  FRAMEBUFFER.height = OFFER_SCREEN_HEIGHT;
187
212
  gl.bindTexture(gl.TEXTURE_2D, texture);
188
213
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
@@ -198,5 +223,4 @@ export function initFramebuffer(gl) {
198
223
  OFFER_SCREEN_WIDTH: OFFER_SCREEN_WIDTH,
199
224
  OFFER_SCREEN_HEIGHT: OFFER_SCREEN_HEIGHT
200
225
  };
201
- }
202
- //# sourceMappingURL=utils.js.map
226
+ }
@@ -12,11 +12,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
12
12
 
13
13
  import { AttributeType, gl } from '@antv/l7-core';
14
14
  import { FrequencyController } from '@antv/l7-utils';
15
- import BaseModel from '../../core/BaseModel';
16
- import { RasterImageTriangulation } from '../../core/triangulation';
15
+ import BaseModel from "../../core/BaseModel";
16
+ import { RasterImageTriangulation } from "../../core/triangulation";
17
+
18
+ /* babel-plugin-inline-import '../shaders/wind_frag.glsl' */
17
19
  var WindFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nvoid main() {\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n gl_FragColor = color;\n gl_FragColor.a *= u_opacity;\n}\n";
20
+
21
+ /* babel-plugin-inline-import '../shaders/wind_vert.glsl' */
18
22
  var WindVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 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 } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
19
- import { Wind } from './windRender';
23
+ import { Wind } from "./windRender";
20
24
  var defaultRampColors = {
21
25
  0.0: '#3288bd',
22
26
  0.1: '#66c2a5',
@@ -28,7 +32,7 @@ var defaultRampColors = {
28
32
  1.0: '#d53e4f'
29
33
  };
30
34
 
31
- var WindModel = function (_BaseModel) {
35
+ var WindModel = /*#__PURE__*/function (_BaseModel) {
32
36
  _inherits(WindModel, _BaseModel);
33
37
 
34
38
  var _super = _createSuper(WindModel);
@@ -44,20 +48,10 @@ var WindModel = function (_BaseModel) {
44
48
 
45
49
  _this = _super.call.apply(_super, [this].concat(args));
46
50
 
47
- _defineProperty(_assertThisInitialized(_this), "texture", void 0);
48
-
49
- _defineProperty(_assertThisInitialized(_this), "colorModel", void 0);
50
-
51
- _defineProperty(_assertThisInitialized(_this), "wind", void 0);
52
-
53
- _defineProperty(_assertThisInitialized(_this), "imageCoords", void 0);
54
-
55
51
  _defineProperty(_assertThisInitialized(_this), "sizeScale", 0.5);
56
52
 
57
53
  _defineProperty(_assertThisInitialized(_this), "frequency", new FrequencyController(7.2));
58
54
 
59
- _defineProperty(_assertThisInitialized(_this), "cacheZoom", void 0);
60
-
61
55
  return _this;
62
56
  }
63
57
 
@@ -66,6 +60,7 @@ var WindModel = function (_BaseModel) {
66
60
  value: function render() {
67
61
  var _this2 = this;
68
62
 
63
+ // Tip: 控制风场的平均更新频率
69
64
  this.frequency.run(function () {
70
65
  _this2.drawWind();
71
66
  });
@@ -138,7 +133,7 @@ var WindModel = function (_BaseModel) {
138
133
  dropRateBump: dropRateBump,
139
134
  rampColors: rampColors
140
135
  };
141
- _this3.wind = new Wind(options);
136
+ _this3.wind = new Wind(options); // imageData[0] 风场图
142
137
 
143
138
  _this3.wind.setWind({
144
139
  uMin: uMin,
@@ -217,12 +212,14 @@ var WindModel = function (_BaseModel) {
217
212
  }, {
218
213
  key: "registerBuiltinAttributes",
219
214
  value: function registerBuiltinAttributes() {
215
+ // point layer size;
220
216
  this.styleAttributeService.registerStyleAttribute({
221
217
  name: 'uv',
222
218
  type: AttributeType.Attribute,
223
219
  descriptor: {
224
220
  name: 'a_Uv',
225
221
  buffer: {
222
+ // give the WebGL driver a hint that this buffer may change
226
223
  usage: gl.DYNAMIC_DRAW,
227
224
  data: [],
228
225
  type: gl.FLOAT
@@ -294,7 +291,8 @@ var WindModel = function (_BaseModel) {
294
291
  var _this$wind$draw = this.wind.draw(),
295
292
  d = _this$wind$draw.d,
296
293
  w = _this$wind$draw.w,
297
- h = _this$wind$draw.h;
294
+ h = _this$wind$draw.h; // TODO: 恢复 L7 渲染流程中 gl 状态
295
+
298
296
 
299
297
  this.rendererService.setBaseState();
300
298
  this.texture.update({
@@ -330,5 +328,4 @@ var WindModel = function (_BaseModel) {
330
328
  return WindModel;
331
329
  }(BaseModel);
332
330
 
333
- export { WindModel as default };
334
- //# sourceMappingURL=wind.js.map
331
+ export { WindModel as default };