@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
@@ -47,24 +47,12 @@ function getArrayUnique(matrix) {
47
47
  return matrix;
48
48
  }
49
49
 
50
- var ExtrudePolyline = function () {
50
+ var ExtrudePolyline = /*#__PURE__*/function () {
51
51
  function ExtrudePolyline() {
52
52
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
53
53
 
54
54
  _classCallCheck(this, ExtrudePolyline);
55
55
 
56
- _defineProperty(this, "complex", void 0);
57
-
58
- _defineProperty(this, "join", void 0);
59
-
60
- _defineProperty(this, "cap", void 0);
61
-
62
- _defineProperty(this, "miterLimit", void 0);
63
-
64
- _defineProperty(this, "thickness", void 0);
65
-
66
- _defineProperty(this, "normal", void 0);
67
-
68
56
  _defineProperty(this, "lastFlip", -1);
69
57
 
70
58
  _defineProperty(this, "miter", vec2.fromValues(0, 0));
@@ -92,8 +80,8 @@ var ExtrudePolyline = function () {
92
80
  }
93
81
 
94
82
  _createClass(ExtrudePolyline, [{
95
- key: "extrude_gaode2",
96
- value: function extrude_gaode2(points, originPoints) {
83
+ key: "simpleExtrude",
84
+ value: function simpleExtrude(points) {
97
85
  var complex = this.complex;
98
86
 
99
87
  if (points.length <= 1) {
@@ -107,24 +95,115 @@ var ExtrudePolyline = function () {
107
95
  var total = points.length;
108
96
  var count = complex.startIndex;
109
97
 
98
+ for (var i = 1; i < total; i++) {
99
+ var last = points[i - 1];
100
+ var cur = points[i];
101
+ var next = i < points.length - 1 ? points[i + 1] : null;
102
+ var amt = this.simpleSegment(complex, count, last, cur, next);
103
+ count += amt;
104
+ }
105
+
106
+ if (this.dash) {
107
+ for (var _i = 0; _i < complex.positions.length / 6; _i++) {
108
+ complex.positions[_i * 6 + 5] = this.totalDistance;
109
+ }
110
+ }
111
+
112
+ complex.startIndex = complex.positions.length / 6;
113
+ return complex;
114
+ }
115
+ }, {
116
+ key: "simpleExtrude_gaode2",
117
+ value: function simpleExtrude_gaode2(points, originPoints) {
118
+ var complex = this.complex;
119
+
120
+ if (points.length <= 1) {
121
+ return complex;
122
+ }
123
+
124
+ this.lastFlip = -1;
125
+ this.started = false;
126
+ this.normal = null;
127
+ this.totalDistance = 0; // 去除数组里重复的点
128
+ // points = getArrayUnique(points);
129
+
130
+ var total = points.length;
131
+ var count = complex.startIndex;
132
+
110
133
  for (var i = 1; i < total; i++) {
111
134
  var _originPoints$, _originPoints$i$, _originPoints$2;
112
135
 
113
136
  var last = points[i - 1];
114
- last.push((_originPoints$ = originPoints[i - 1][2]) !== null && _originPoints$ !== void 0 ? _originPoints$ : 0);
137
+ last.push((_originPoints$ = originPoints[i - 1][2]) !== null && _originPoints$ !== void 0 ? _originPoints$ : 0); // @ts-ignore
138
+
115
139
  var originLast = originPoints[i - 1];
116
140
  var cur = points[i];
117
- cur.push((_originPoints$i$ = originPoints[i][2]) !== null && _originPoints$i$ !== void 0 ? _originPoints$i$ : 0);
141
+ cur.push((_originPoints$i$ = originPoints[i][2]) !== null && _originPoints$i$ !== void 0 ? _originPoints$i$ : 0); // @ts-ignore
142
+
118
143
  var originCur = originPoints[i];
119
144
  var next = i < points.length - 1 ? [].concat(_toConsumableArray(points[i + 1]), [(_originPoints$2 = originPoints[i + 1][2]) !== null && _originPoints$2 !== void 0 ? _originPoints$2 : 0]) : null;
120
145
  var originNext = i < originPoints.length - 1 ? originPoints[i + 1] : null;
121
- var amt = this.segment_gaode2(complex, count, last, cur, next, originLast, originCur, originNext);
146
+ var amt = this.simpleSegment(complex, count, // @ts-ignore
147
+ last, // @ts-ignore
148
+ cur, // @ts-ignore
149
+ next, // @ts-ignore
150
+ originLast, originCur, // @ts-ignore
151
+ originNext);
122
152
  count += amt;
123
153
  }
124
154
 
125
155
  if (this.dash) {
126
- for (var _i = 0; _i < complex.positions.length / 6; _i++) {
127
- complex.positions[_i * 6 + 5] = this.totalDistance;
156
+ for (var _i2 = 0; _i2 < complex.positions.length / 6; _i2++) {
157
+ complex.positions[_i2 * 6 + 5] = this.totalDistance;
158
+ }
159
+ }
160
+
161
+ complex.startIndex = complex.positions.length / 6;
162
+ return complex;
163
+ }
164
+ }, {
165
+ key: "extrude_gaode2",
166
+ value: function extrude_gaode2(points, originPoints) {
167
+ var complex = this.complex;
168
+
169
+ if (points.length <= 1) {
170
+ return complex;
171
+ }
172
+
173
+ this.lastFlip = -1;
174
+ this.started = false;
175
+ this.normal = null;
176
+ this.totalDistance = 0; // 去除数组里重复的点
177
+ // points = getArrayUnique(points);
178
+
179
+ var total = points.length;
180
+ var count = complex.startIndex;
181
+
182
+ for (var i = 1; i < total; i++) {
183
+ var _originPoints$3, _originPoints$i$2, _originPoints$4;
184
+
185
+ var last = points[i - 1];
186
+ last.push((_originPoints$3 = originPoints[i - 1][2]) !== null && _originPoints$3 !== void 0 ? _originPoints$3 : 0); // @ts-ignore
187
+
188
+ var originLast = originPoints[i - 1];
189
+ var cur = points[i];
190
+ cur.push((_originPoints$i$2 = originPoints[i][2]) !== null && _originPoints$i$2 !== void 0 ? _originPoints$i$2 : 0); // @ts-ignore
191
+
192
+ var originCur = originPoints[i];
193
+ var next = i < points.length - 1 ? [].concat(_toConsumableArray(points[i + 1]), [(_originPoints$4 = originPoints[i + 1][2]) !== null && _originPoints$4 !== void 0 ? _originPoints$4 : 0]) : null;
194
+ var originNext = i < originPoints.length - 1 ? originPoints[i + 1] : null;
195
+ var amt = this.segment_gaode2(complex, count, // @ts-ignore
196
+ last, // @ts-ignore
197
+ cur, // @ts-ignore
198
+ next, // @ts-ignore
199
+ originLast, originCur, // @ts-ignore
200
+ originNext);
201
+ count += amt;
202
+ }
203
+
204
+ if (this.dash) {
205
+ for (var _i3 = 0; _i3 < complex.positions.length / 6; _i3++) {
206
+ complex.positions[_i3 * 6 + 5] = this.totalDistance;
128
207
  }
129
208
  }
130
209
 
@@ -143,7 +222,9 @@ var ExtrudePolyline = function () {
143
222
  this.lastFlip = -1;
144
223
  this.started = false;
145
224
  this.normal = null;
146
- this.totalDistance = 0;
225
+ this.totalDistance = 0; // 去除数组里重复的点
226
+ // points = getArrayUnique(points);
227
+
147
228
  var total = points.length;
148
229
  var count = complex.startIndex;
149
230
 
@@ -156,14 +237,78 @@ var ExtrudePolyline = function () {
156
237
  }
157
238
 
158
239
  if (this.dash) {
159
- for (var _i2 = 0; _i2 < complex.positions.length / 6; _i2++) {
160
- complex.positions[_i2 * 6 + 5] = this.totalDistance;
240
+ for (var _i4 = 0; _i4 < complex.positions.length / 6; _i4++) {
241
+ complex.positions[_i4 * 6 + 5] = this.totalDistance;
161
242
  }
162
243
  }
163
244
 
164
245
  complex.startIndex = complex.positions.length / 6;
165
246
  return complex;
166
247
  }
248
+ }, {
249
+ key: "simpleSegment",
250
+ value: function simpleSegment(complex, index, last, cur, next) {
251
+ var count = 0;
252
+ var indices = complex.indices;
253
+ var positions = complex.positions;
254
+ var normals = complex.normals;
255
+ var flatCur = aProjectFlat([cur[0], cur[1]]);
256
+ var flatLast = aProjectFlat([last[0], last[1]]); // @ts-ignore
257
+
258
+ direction(lineA, flatCur, flatLast);
259
+ var segmentDistance = 0;
260
+
261
+ if (this.dash) {
262
+ // @ts-ignore
263
+ segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
264
+ this.totalDistance += segmentDistance;
265
+ }
266
+
267
+ if (!this.normal) {
268
+ this.normal = vec2.create();
269
+ computeNormal(this.normal, lineA);
270
+ }
271
+
272
+ if (!this.started) {
273
+ this.started = true;
274
+ this.extrusions(positions, normals, last, this.normal, this.thickness, this.totalDistance - segmentDistance);
275
+ }
276
+
277
+ indices.push(index + 0, index + 1, index + 2);
278
+
279
+ if (!next) {
280
+ computeNormal(this.normal, lineA);
281
+ this.extrusions(positions, normals, cur, this.normal, this.thickness, this.totalDistance);
282
+ indices.push.apply(indices, _toConsumableArray(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
283
+ count += 2;
284
+ } else {
285
+ var flatNext = aProjectFlat([next[0], next[1]]);
286
+
287
+ if (isPointEqual(flatCur, flatNext)) {
288
+ vec2.add(flatNext, flatCur, vec2.normalize(flatNext, vec2.subtract(flatNext, flatCur, flatLast)));
289
+ }
290
+
291
+ direction(lineB, flatNext, flatCur); // stores tangent & miter
292
+
293
+ var _computeMiter = computeMiter(tangent, vec2.create(), lineA, lineB, this.thickness),
294
+ _computeMiter2 = _slicedToArray(_computeMiter, 2),
295
+ miterLen = _computeMiter2[0],
296
+ miter = _computeMiter2[1]; // normal(tmp, lineA)
297
+ // get orientation
298
+
299
+
300
+ var flip = vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
301
+ this.extrusions(positions, normals, cur, miter, miterLen, this.totalDistance);
302
+ indices.push.apply(indices, _toConsumableArray(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
303
+ flip = -1; // the miter is now the normal for our next join
304
+
305
+ vec2.copy(this.normal, miter);
306
+ count += 2;
307
+ this.lastFlip = flip;
308
+ }
309
+
310
+ return count;
311
+ }
167
312
  }, {
168
313
  key: "segment_gaode2",
169
314
  value: function segment_gaode2(complex, index, last, cur, next, originLast, originCur, originNext) {
@@ -174,11 +319,13 @@ var ExtrudePolyline = function () {
174
319
  var capSquare = this.cap === 'square';
175
320
  var joinBevel = this.join === 'bevel';
176
321
  var flatCur = aProjectFlat([originCur[0], originCur[1]]);
177
- var flatLast = aProjectFlat([originLast[0], originLast[1]]);
322
+ var flatLast = aProjectFlat([originLast[0], originLast[1]]); // @ts-ignore
323
+
178
324
  direction(lineA, cur, last);
179
325
  var segmentDistance = 0;
180
326
 
181
327
  if (this.dash) {
328
+ // @ts-ignore
182
329
  segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
183
330
  this.totalDistance += segmentDistance;
184
331
  }
@@ -189,9 +336,10 @@ var ExtrudePolyline = function () {
189
336
  }
190
337
 
191
338
  if (!this.started) {
192
- this.started = true;
339
+ this.started = true; // if the end cap is type square, we can just push the verts out a bit
193
340
 
194
341
  if (capSquare) {
342
+ // vec2.scaleAndAdd(capEnd, last, lineA, -this.thickness);
195
343
  var out1 = vec2.create();
196
344
  var out2 = vec2.create();
197
345
  vec2.add(out1, this.normal, lineA);
@@ -234,16 +382,24 @@ var ExtrudePolyline = function () {
234
382
  indices.push.apply(indices, _toConsumableArray(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
235
383
  count += 2;
236
384
  } else {
385
+ // @ts-ignore
237
386
  if (isPointEqual(cur, next)) {
238
- vec2.add(next, cur, vec2.normalize(next, vec2.subtract(next, cur, last)));
239
- }
387
+ vec2.add( // @ts-ignore
388
+ next, // @ts-ignore
389
+ cur, vec2.normalize( // @ts-ignore
390
+ next, // @ts-ignore
391
+ vec2.subtract(next, cur, last)));
392
+ } // @ts-ignore
240
393
 
241
- direction(lineB, next, cur);
242
394
 
243
- var _computeMiter = computeMiter(tangent, vec2.create(), lineA, lineB, this.thickness),
244
- _computeMiter2 = _slicedToArray(_computeMiter, 2),
245
- miterLen = _computeMiter2[0],
246
- miter = _computeMiter2[1];
395
+ direction(lineB, next, cur); // stores tangent & miter
396
+
397
+ var _computeMiter3 = computeMiter(tangent, vec2.create(), lineA, lineB, this.thickness),
398
+ _computeMiter4 = _slicedToArray(_computeMiter3, 2),
399
+ miterLen = _computeMiter4[0],
400
+ miter = _computeMiter4[1]; // normal(tmp, lineA)
401
+ // get orientation
402
+
247
403
 
248
404
  var flip = vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
249
405
  var bevel = joinBevel;
@@ -264,10 +420,12 @@ var ExtrudePolyline = function () {
264
420
  positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness * flip, cur[2] | 0);
265
421
  this.complex.indexes.push(this.currentIndex);
266
422
  this.currentIndex++;
267
- indices.push.apply(indices, _toConsumableArray(this.lastFlip !== -flip ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
423
+ indices.push.apply(indices, _toConsumableArray(this.lastFlip !== -flip ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3])); // now add the bevel triangle
424
+
268
425
  indices.push(index + 2, index + 3, index + 4);
269
426
  computeNormal(tmp, lineB);
270
- vec2.copy(this.normal, tmp);
427
+ vec2.copy(this.normal, tmp); // store normal for next round
428
+
271
429
  normals.push(this.normal[0], this.normal[1], 0);
272
430
  positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
273
431
  this.complex.indexes.push(this.currentIndex);
@@ -276,7 +434,8 @@ var ExtrudePolyline = function () {
276
434
  } else {
277
435
  this.extrusions(positions, normals, cur, miter, miterLen, this.totalDistance);
278
436
  indices.push.apply(indices, _toConsumableArray(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
279
- flip = -1;
437
+ flip = -1; // the miter is now the normal for our next join
438
+
280
439
  vec2.copy(this.normal, miter);
281
440
  count += 2;
282
441
  }
@@ -296,11 +455,13 @@ var ExtrudePolyline = function () {
296
455
  var capSquare = this.cap === 'square';
297
456
  var joinBevel = this.join === 'bevel';
298
457
  var flatCur = aProjectFlat([cur[0], cur[1]]);
299
- var flatLast = aProjectFlat([last[0], last[1]]);
458
+ var flatLast = aProjectFlat([last[0], last[1]]); // @ts-ignore
459
+
300
460
  direction(lineA, flatCur, flatLast);
301
461
  var segmentDistance = 0;
302
462
 
303
463
  if (this.dash) {
464
+ // @ts-ignore
304
465
  segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
305
466
  this.totalDistance += segmentDistance;
306
467
  }
@@ -311,9 +472,10 @@ var ExtrudePolyline = function () {
311
472
  }
312
473
 
313
474
  if (!this.started) {
314
- this.started = true;
475
+ this.started = true; // if the end cap is type square, we can just push the verts out a bit
315
476
 
316
477
  if (capSquare) {
478
+ // vec2.scaleAndAdd(capEnd, last, lineA, -this.thickness);
317
479
  var out1 = vec2.create();
318
480
  var out2 = vec2.create();
319
481
  vec2.add(out1, this.normal, lineA);
@@ -324,7 +486,8 @@ var ExtrudePolyline = function () {
324
486
  this.complex.indexes.push(this.currentIndex);
325
487
  positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, this.thickness, last[2] | 0);
326
488
  this.complex.indexes.push(this.currentIndex);
327
- this.currentIndex++;
489
+ this.currentIndex++; // this.extrusions(positions, normals, last, out, this.thickness);
490
+ // last = capEnd;
328
491
  } else {
329
492
  this.extrusions(positions, normals, last, this.normal, this.thickness, this.totalDistance - segmentDistance);
330
493
  }
@@ -336,12 +499,15 @@ var ExtrudePolyline = function () {
336
499
  computeNormal(this.normal, lineA);
337
500
 
338
501
  if (capSquare) {
502
+ // vec2.scaleAndAdd(capEnd, cur, lineA, this.thickness);
503
+ // cur = capEnd;
339
504
  var _out3 = vec2.create();
340
505
 
341
506
  var _out4 = vec2.create();
342
507
 
343
508
  vec2.sub(_out4, lineA, this.normal);
344
- vec2.add(_out3, lineA, this.normal);
509
+ vec2.add(_out3, lineA, this.normal); // this.extrusions(positions, normals, cur, out, this.thickness);
510
+
345
511
  normals.push(_out4[0], _out4[1], 0);
346
512
  normals.push(_out3[0], _out3[1], 0);
347
513
  positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
@@ -351,7 +517,8 @@ var ExtrudePolyline = function () {
351
517
  this.currentIndex++;
352
518
  } else {
353
519
  this.extrusions(positions, normals, cur, this.normal, this.thickness, this.totalDistance);
354
- }
520
+ } // this.extrusions(positions, normals, cur, this.normal, this.thickness);
521
+
355
522
 
356
523
  indices.push.apply(indices, _toConsumableArray(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
357
524
  count += 2;
@@ -362,12 +529,14 @@ var ExtrudePolyline = function () {
362
529
  vec2.add(flatNext, flatCur, vec2.normalize(flatNext, vec2.subtract(flatNext, flatCur, flatLast)));
363
530
  }
364
531
 
365
- direction(lineB, flatNext, flatCur);
532
+ direction(lineB, flatNext, flatCur); // stores tangent & miter
533
+
534
+ var _computeMiter5 = computeMiter(tangent, vec2.create(), lineA, lineB, this.thickness),
535
+ _computeMiter6 = _slicedToArray(_computeMiter5, 2),
536
+ miterLen = _computeMiter6[0],
537
+ miter = _computeMiter6[1]; // normal(tmp, lineA)
538
+ // get orientation
366
539
 
367
- var _computeMiter3 = computeMiter(tangent, vec2.create(), lineA, lineB, this.thickness),
368
- _computeMiter4 = _slicedToArray(_computeMiter3, 2),
369
- miterLen = _computeMiter4[0],
370
- miter = _computeMiter4[1];
371
540
 
372
541
  var flip = vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
373
542
  var bevel = joinBevel;
@@ -388,10 +557,12 @@ var ExtrudePolyline = function () {
388
557
  positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness * flip, cur[2] | 0);
389
558
  this.complex.indexes.push(this.currentIndex);
390
559
  this.currentIndex++;
391
- indices.push.apply(indices, _toConsumableArray(this.lastFlip !== -flip ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
560
+ indices.push.apply(indices, _toConsumableArray(this.lastFlip !== -flip ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3])); // now add the bevel triangle
561
+
392
562
  indices.push(index + 2, index + 3, index + 4);
393
563
  computeNormal(tmp, lineB);
394
- vec2.copy(this.normal, tmp);
564
+ vec2.copy(this.normal, tmp); // store normal for next round
565
+
395
566
  normals.push(this.normal[0], this.normal[1], 0);
396
567
  positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
397
568
  this.complex.indexes.push(this.currentIndex);
@@ -400,7 +571,8 @@ var ExtrudePolyline = function () {
400
571
  } else {
401
572
  this.extrusions(positions, normals, cur, miter, miterLen, this.totalDistance);
402
573
  indices.push.apply(indices, _toConsumableArray(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
403
- flip = -1;
574
+ flip = -1; // the miter is now the normal for our next join
575
+
404
576
  vec2.copy(this.normal, miter);
405
577
  count += 2;
406
578
  }
@@ -412,7 +584,10 @@ var ExtrudePolyline = function () {
412
584
  }
413
585
  }, {
414
586
  key: "extrusions",
415
- value: function extrusions(positions, normals, point, normal, thickness, distanceRadio) {
587
+ value: function extrusions(positions, normals, point, // 顶点
588
+ normal, // 法向量
589
+ thickness, // 高度
590
+ distanceRadio) {
416
591
  normals.push(normal[0], normal[1], 0);
417
592
  normals.push(normal[0], normal[1], 0);
418
593
  positions.push(point[0], point[1], point[2] | 0, distanceRadio, -thickness, point[2] | 0);
@@ -433,5 +608,4 @@ var ExtrudePolyline = function () {
433
608
  return ExtrudePolyline;
434
609
  }();
435
610
 
436
- export { ExtrudePolyline as default };
437
- //# sourceMappingURL=extrude_polyline.js.map
611
+ export { ExtrudePolyline as default };
@@ -8,30 +8,16 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
8
8
 
9
9
  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; }
10
10
 
11
- var GridIndex = function () {
11
+ /**
12
+ * 网格索引,相比 @mapbox/grid-index,在简单计算碰撞检测结果时效率更高
13
+ * @see https://zhuanlan.zhihu.com/p/74373214
14
+ */
15
+ var GridIndex = /*#__PURE__*/function () {
12
16
  function GridIndex(width, height, cellSize) {
13
17
  _classCallCheck(this, GridIndex);
14
18
 
15
19
  _defineProperty(this, "boxCells", []);
16
20
 
17
- _defineProperty(this, "xCellCount", void 0);
18
-
19
- _defineProperty(this, "yCellCount", void 0);
20
-
21
- _defineProperty(this, "boxKeys", void 0);
22
-
23
- _defineProperty(this, "bboxes", void 0);
24
-
25
- _defineProperty(this, "width", void 0);
26
-
27
- _defineProperty(this, "height", void 0);
28
-
29
- _defineProperty(this, "xScale", void 0);
30
-
31
- _defineProperty(this, "yScale", void 0);
32
-
33
- _defineProperty(this, "boxUid", void 0);
34
-
35
21
  var boxCells = this.boxCells;
36
22
  this.xCellCount = Math.ceil(width / cellSize);
37
23
  this.yCellCount = Math.ceil(height / cellSize);
@@ -84,6 +70,7 @@ var GridIndex = function () {
84
70
  var result = [];
85
71
 
86
72
  if (x1 <= 0 && y1 <= 0 && this.width <= x2 && this.height <= y2) {
73
+ // 这一步是高效的关键,后续精确碰撞检测结果在计算文本可见性时并不需要
87
74
  if (hitTest) {
88
75
  return true;
89
76
  }
@@ -189,5 +176,4 @@ var GridIndex = function () {
189
176
  return GridIndex;
190
177
  }();
191
178
 
192
- export default GridIndex;
193
- //# sourceMappingURL=grid-index.js.map
179
+ export default GridIndex;
@@ -12,21 +12,34 @@ function getArrowPoints(p1, p2) {
12
12
  function adjustData2Amap2Coordinates(mappedData, mapService) {
13
13
  var _this = this;
14
14
 
15
+ // 根据地图的类型判断是否需要对点位数据进行处理, 若是高德2.0则需要对坐标进行相对偏移
15
16
  if (mappedData.length > 0 && mapService.version === Version['GAODE2.x']) {
16
17
  if (typeof mappedData[0].coordinates[0] === 'number') {
17
- mappedData.filter(function (d) {
18
+ // 单个的点数据
19
+ // @ts-ignore
20
+ mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
21
+ .filter(function (d) {
18
22
  return !d.originCoordinates;
19
23
  }).map(function (d) {
20
- d.version = Version['GAODE2.x'];
21
- d.originCoordinates = cloneDeep(d.coordinates);
24
+ d.version = Version['GAODE2.x']; // @ts-ignore
25
+
26
+ d.originCoordinates = cloneDeep(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
27
+ // @ts-ignore
28
+
22
29
  d.coordinates = _this.mapService.lngLatToCoord(d.coordinates);
23
30
  });
24
31
  } else {
25
- mappedData.filter(function (d) {
32
+ // 连续的线、面数据
33
+ // @ts-ignore
34
+ mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
35
+ .filter(function (d) {
26
36
  return !d.originCoordinates;
27
37
  }).map(function (d) {
28
- d.version = Version['GAODE2.x'];
29
- d.originCoordinates = cloneDeep(d.coordinates);
38
+ d.version = Version['GAODE2.x']; // @ts-ignore
39
+
40
+ d.originCoordinates = cloneDeep(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
41
+ // @ts-ignore
42
+
30
43
  d.coordinates = _this.mapService.lngLatToCoords(d.coordinates);
31
44
  });
32
45
  }
@@ -50,20 +63,27 @@ function unProjectCoordinates(coordinates, mapService) {
50
63
  }
51
64
 
52
65
  if (coordinates[0] && coordinates[0][0] instanceof Array) {
66
+ // @ts-ignore
53
67
  var coords = [];
54
68
  coordinates.map(function (coord) {
69
+ // @ts-ignore
55
70
  var c1 = [];
56
71
  coord.map(function (co) {
57
72
  c1.push(mapService.simpleMapCoord.unproject(co));
58
- });
73
+ }); // @ts-ignore
74
+
59
75
  coords.push(c1);
60
- });
76
+ }); // @ts-ignore
77
+
61
78
  return coords;
62
79
  } else {
63
- var _coords = [];
80
+ // @ts-ignore
81
+ var _coords = []; // @ts-ignore
82
+
64
83
  coordinates.map(function (coord) {
65
84
  _coords.push(mapService.simpleMapCoord.unproject(coord));
66
- });
85
+ }); // @ts-ignore
86
+
67
87
  return _coords;
68
88
  }
69
89
  }
@@ -83,6 +103,7 @@ function applyAttributeMapping(attribute, record, minimumColor) {
83
103
  var field = _ref.field;
84
104
 
85
105
  if (record.hasOwnProperty(field) || ((_attribute$scale2 = attribute.scale) === null || _attribute$scale2 === void 0 ? void 0 : _attribute$scale2.type) === 'variable') {
106
+ // TODO:多字段,常量
86
107
  params.push(record[field]);
87
108
  }
88
109
  });
@@ -111,15 +132,16 @@ function mapping(attributes, data, fontService, mapService, minimumColor, layer)
111
132
  return attribute.scale !== undefined;
112
133
  }).forEach(function (attribute) {
113
134
  var values = applyAttributeMapping(attribute, record, minimumColor);
114
- attribute.needRemapping = false;
135
+ attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
115
136
 
116
137
  if (attribute.name === 'color') {
117
138
  values = values.map(function (c) {
118
139
  return rgb2arr(c);
119
140
  });
120
- }
141
+ } // @ts-ignore
142
+
121
143
 
122
- encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values;
144
+ encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values; // 增加对 layer/text/iconfont unicode 映射的解析
123
145
 
124
146
  if (attribute.name === 'shape') {
125
147
  encodeRecord.shape = fontService.getIconFontKey(encodeRecord[attribute.name]);
@@ -127,14 +149,17 @@ function mapping(attributes, data, fontService, mapService, minimumColor, layer)
127
149
  });
128
150
 
129
151
  if (encodeRecord.shape === 'line' && arrow.enable) {
152
+ // 只有在线图层且支持配置箭头的时候进行插入顶点的处理
130
153
  var coords = encodeRecord.coordinates;
131
154
  var arrowPoint = getArrowPoints(coords[0], coords[1]);
132
155
  encodeRecord.coordinates.splice(1, 0, arrowPoint, arrowPoint);
133
156
  }
134
157
 
135
158
  return encodeRecord;
136
- });
137
- adjustData2Amap2Coordinates(mappedData, mapService);
159
+ }); // 调整数据兼容 Amap2.0
160
+
161
+ adjustData2Amap2Coordinates(mappedData, mapService); // 调整数据兼容 SimpleCoordinates
162
+
138
163
  adjustData2SimpleCoordinates(mappedData, mapService);
139
164
  return mappedData;
140
165
  }
@@ -148,5 +173,4 @@ export function calculateData(layer, fontService, mapService, styleAttributeServ
148
173
  var mappedEncodeData = mapping(attributes, filterData, fontService, mapService, bottomColor, layer);
149
174
  source.destroy();
150
175
  return mappedEncodeData;
151
- }
152
- //# sourceMappingURL=layerData.js.map
176
+ }
@@ -1,4 +1,8 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+
3
+ /**
4
+ * 'blurH' -> ['blurH', {}]
5
+ */
2
6
  export function normalizePasses(passes) {
3
7
  return passes.map(function (pass) {
4
8
  if (typeof pass === 'string') {
@@ -8,18 +12,30 @@ export function normalizePasses(passes) {
8
12
  return pass;
9
13
  });
10
14
  }
15
+ /**
16
+ * 默认添加 ClearPass、RenderPass
17
+ * 以及 PostProcessing 中的最后一个 CopyPass
18
+ */
19
+
11
20
  export function createMultiPassRenderer(layer, passes, postProcessingPassFactory, normalPassFactory) {
12
21
  var multiPassRenderer = layer.multiPassRenderer;
13
22
 
14
23
  var _layer$getLayerConfig = layer.getLayerConfig(),
15
24
  enablePicking = _layer$getLayerConfig.enablePicking,
16
- enableTAA = _layer$getLayerConfig.enableTAA;
25
+ enableTAA = _layer$getLayerConfig.enableTAA; // picking pass if enabled
26
+ // if (enablePicking) {
27
+ // multiPassRenderer.add(normalPassFactory('pixelPicking'));
28
+ // }
29
+ // use TAA pass if enabled instead of render pass
30
+
17
31
 
18
32
  if (enableTAA) {
19
33
  multiPassRenderer.add(normalPassFactory('taa'));
20
34
  } else {
35
+ // render all layers in this pass
21
36
  multiPassRenderer.add(normalPassFactory('render'));
22
- }
37
+ } // post processing
38
+
23
39
 
24
40
  normalizePasses(passes).forEach(function (pass) {
25
41
  var _pass = _slicedToArray(pass, 2),
@@ -27,8 +43,8 @@ export function createMultiPassRenderer(layer, passes, postProcessingPassFactory
27
43
  initializationOptions = _pass[1];
28
44
 
29
45
  multiPassRenderer.add(postProcessingPassFactory(passName), initializationOptions);
30
- });
46
+ }); // 末尾为固定的 CopyPass
47
+
31
48
  multiPassRenderer.add(postProcessingPassFactory('copy'));
32
49
  return multiPassRenderer;
33
- }
34
- //# sourceMappingURL=multiPassRender.js.map
50
+ }