@antv/l7-layers 2.9.21 → 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 (707) 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.js +1 -2
  22. package/es/core/schema.js +4 -2
  23. package/es/core/shape/Path.js +8 -3
  24. package/es/core/shape/extrude.js +9 -4
  25. package/es/core/triangulation.js +89 -17
  26. package/es/earth/index.js +11 -7
  27. package/es/earth/models/atmosphere.js +15 -7
  28. package/es/earth/models/base.js +19 -7
  29. package/es/earth/models/bloomsphere.js +15 -7
  30. package/es/earth/shaders/atmosphere_frag.glsl +17 -0
  31. package/es/earth/shaders/atmosphere_vert.glsl +26 -0
  32. package/es/earth/shaders/base_frag.glsl +13 -0
  33. package/es/earth/shaders/base_vert.glsl +52 -0
  34. package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
  35. package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
  36. package/es/earth/utils.js +28 -5
  37. package/es/heatmap/index.js +8 -7
  38. package/es/heatmap/models/grid.js +11 -5
  39. package/es/heatmap/models/grid3d.js +18 -7
  40. package/es/heatmap/models/heatmap.js +45 -44
  41. package/es/heatmap/models/hexagon.js +14 -6
  42. package/es/heatmap/models/index.js +5 -6
  43. package/es/heatmap/shaders/grid_vert.glsl +42 -0
  44. package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  45. package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  46. package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
  47. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  48. package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  49. package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
  50. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  51. package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  52. package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
  53. package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
  54. package/es/heatmap/triangulation.js +2 -2
  55. package/es/image/index.js +4 -5
  56. package/es/image/models/dataImage.js +21 -31
  57. package/es/image/models/image.js +19 -25
  58. package/es/image/models/index.js +3 -4
  59. package/es/image/shaders/dataImage_frag.glsl +38 -0
  60. package/es/image/shaders/image_frag.glsl +9 -0
  61. package/es/image/shaders/image_vert.glsl +17 -0
  62. package/es/index.d.ts +2 -2
  63. package/es/index.js +92 -30
  64. package/es/line/index.js +4 -5
  65. package/es/line/models/arc.js +38 -15
  66. package/es/line/models/arc_3d.js +33 -14
  67. package/es/line/models/earthArc_3d.js +33 -14
  68. package/es/line/models/great_circle.js +25 -13
  69. package/es/line/models/half.js +33 -12
  70. package/es/line/models/index.js +12 -13
  71. package/es/line/models/line.js +48 -15
  72. package/es/line/models/linearline.js +26 -12
  73. package/es/line/models/simpleLine.js +26 -11
  74. package/es/line/models/tile.js +28 -10
  75. package/es/line/models/wall.js +30 -13
  76. package/es/line/shaders/arc_chunks.vert.glsl +21 -0
  77. package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
  78. package/es/line/shaders/dash/arc_dash_vert.glsl +148 -0
  79. package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
  80. package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
  81. package/es/line/shaders/half/line_half_frag.glsl +53 -0
  82. package/es/line/shaders/half/line_half_vert.glsl +169 -0
  83. package/es/line/shaders/line_arc2d_vert.glsl +114 -0
  84. package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
  85. package/es/line/shaders/line_arc_3d_vert.glsl +207 -0
  86. package/es/line/shaders/line_arc_frag.glsl +89 -0
  87. package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  88. package/es/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  89. package/es/line/shaders/line_arc_vert.glsl +174 -0
  90. package/es/line/shaders/line_bezier_vert.glsl +85 -0
  91. package/es/line/shaders/line_frag.glsl +100 -0
  92. package/es/line/shaders/line_vert.glsl +192 -0
  93. package/es/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  94. package/es/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  95. package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
  96. package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
  97. package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
  98. package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  99. package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  100. package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
  101. package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  102. package/es/line/shaders/simple/simpleline_vert.glsl +78 -0
  103. package/es/line/shaders/tile/line_tile_frag.glsl +79 -0
  104. package/es/line/shaders/tile/line_tile_vert.glsl +210 -0
  105. package/es/line/shaders/wall_frag.glsl +93 -0
  106. package/es/line/shaders/wall_vert.glsl +111 -0
  107. package/es/mask/index.js +4 -5
  108. package/es/mask/models/fill.js +11 -8
  109. package/es/mask/models/index.js +2 -3
  110. package/es/mask/shaders/mask_frag.glsl +7 -0
  111. package/es/mask/shaders/mask_vert.glsl +22 -0
  112. package/es/plugins/DataMappingPlugin.js +71 -34
  113. package/es/plugins/DataSourcePlugin.js +12 -10
  114. package/es/plugins/FeatureScalePlugin.js +44 -24
  115. package/es/plugins/LayerAnimateStylePlugin.js +6 -7
  116. package/es/plugins/LayerModelPlugin.js +16 -7
  117. package/es/plugins/LayerStylePlugin.js +7 -3
  118. package/es/plugins/LightingPlugin.js +21 -13
  119. package/es/plugins/MultiPassRendererPlugin.js +21 -8
  120. package/es/plugins/PixelPickingPlugin.js +33 -11
  121. package/es/plugins/RegisterStyleAttributePlugin.js +10 -3
  122. package/es/plugins/ShaderUniformPlugin.js +24 -10
  123. package/es/plugins/UpdateModelPlugin.js +7 -3
  124. package/es/plugins/UpdateStyleAttributePlugin.js +20 -7
  125. package/es/point/index.js +12 -6
  126. package/es/point/models/earthExtrude.js +30 -12
  127. package/es/point/models/earthFill.js +25 -13
  128. package/es/point/models/extrude.js +30 -12
  129. package/es/point/models/fill.js +50 -15
  130. package/es/point/models/fillmage.js +46 -17
  131. package/es/point/models/image.js +20 -12
  132. package/es/point/models/index.js +14 -14
  133. package/es/point/models/normal.js +15 -7
  134. package/es/point/models/radar.js +33 -13
  135. package/es/point/models/simplePoint.js +17 -9
  136. package/es/point/models/text.js +77 -30
  137. package/es/point/models/tile.js +33 -12
  138. package/es/point/shaders/animate/wave_frag.glsl +65 -0
  139. package/es/point/shaders/earth/extrude_frag.glsl +44 -0
  140. package/es/point/shaders/earth/extrude_vert.glsl +140 -0
  141. package/es/point/shaders/earth/fill_frag.glsl +86 -0
  142. package/es/point/shaders/earth/fill_vert.glsl +126 -0
  143. package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
  144. package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
  145. package/es/point/shaders/fill_frag.glsl +84 -0
  146. package/es/point/shaders/fill_vert.glsl +182 -0
  147. package/es/point/shaders/image/fillImage_frag.glsl +20 -0
  148. package/es/point/shaders/image/fillImage_vert.glsl +108 -0
  149. package/es/point/shaders/image_frag.glsl +39 -0
  150. package/es/point/shaders/image_vert.glsl +81 -0
  151. package/es/point/shaders/normal_frag.glsl +15 -0
  152. package/es/point/shaders/normal_vert.glsl +79 -0
  153. package/es/point/shaders/radar/radar_frag.glsl +64 -0
  154. package/es/point/shaders/radar/radar_vert.glsl +120 -0
  155. package/es/point/shaders/simplePoint_frag.glsl +53 -0
  156. package/es/point/shaders/simplePoint_vert.glsl +79 -0
  157. package/es/point/shaders/text_frag.glsl +48 -0
  158. package/es/point/shaders/text_vert.glsl +131 -0
  159. package/es/point/shaders/tile/fill_tile_frag.glsl +83 -0
  160. package/es/point/shaders/tile/fill_tile_vert.glsl +181 -0
  161. package/es/point/shape/extrude.js +8 -3
  162. package/es/polygon/index.js +6 -5
  163. package/es/polygon/models/extrude.js +40 -31
  164. package/es/polygon/models/fill.js +19 -8
  165. package/es/polygon/models/index.js +14 -14
  166. package/es/polygon/models/ocean.js +25 -33
  167. package/es/polygon/models/tile.js +13 -7
  168. package/es/polygon/models/water.js +21 -25
  169. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  170. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  171. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  172. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  173. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  174. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  175. package/es/polygon/shaders/polygon_frag.glsl +12 -0
  176. package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
  177. package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
  178. package/es/polygon/shaders/polygon_vert.glsl +66 -0
  179. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  180. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  181. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  182. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  183. package/es/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  184. package/es/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  185. package/es/raster/buffers/triangulation.js +2 -2
  186. package/es/raster/index.js +7 -6
  187. package/es/raster/models/index.js +3 -4
  188. package/es/raster/models/raster.js +15 -25
  189. package/es/raster/raster.js +9 -13
  190. package/es/raster/shaders/raster_2d_frag.glsl +28 -0
  191. package/es/raster/shaders/raster_2d_vert.glsl +18 -0
  192. package/es/raster/shaders/raster_frag.glsl +9 -0
  193. package/es/raster/shaders/raster_vert.glsl +44 -0
  194. package/es/tile/interface.js +1 -2
  195. package/es/tile/manager/tileConfigManager.js +6 -8
  196. package/es/tile/manager/tileLayerManager.js +19 -30
  197. package/es/tile/manager/tilePickerManager.js +14 -14
  198. package/es/tile/models/tileModel.js +6 -6
  199. package/es/tile/tileFactory/base.js +26 -32
  200. package/es/tile/tileFactory/index.js +6 -7
  201. package/es/tile/tileFactory/line.js +3 -9
  202. package/es/tile/tileFactory/point.js +3 -9
  203. package/es/tile/tileFactory/polygon.js +3 -9
  204. package/es/tile/tileFactory/raster.js +4 -10
  205. package/es/tile/tileFactory/rasterData.js +5 -11
  206. package/es/tile/tileFactory/rasterDataLayer.js +4 -5
  207. package/es/tile/tileFactory/vectorLayer.js +8 -9
  208. package/es/tile/tileLayer/baseTileLayer.js +67 -39
  209. package/es/tile/tmsTileLayer.js +5 -4
  210. package/es/tile/utils.js +5 -3
  211. package/es/utils/blend.js +1 -2
  212. package/es/utils/collision-index.js +36 -21
  213. package/es/utils/dataMappingStyle.js +71 -15
  214. package/es/utils/extrude_polyline.js +90 -48
  215. package/es/utils/grid-index.js +7 -21
  216. package/es/utils/layerData.js +41 -17
  217. package/es/utils/multiPassRender.js +21 -5
  218. package/es/utils/polylineNormal.js +40 -20
  219. package/es/utils/simpleLine.js +4 -6
  220. package/es/utils/symbol-layout.js +49 -10
  221. package/es/utils/updateShape.js +6 -3
  222. package/es/wind/index.js +5 -6
  223. package/es/wind/models/index.js +2 -3
  224. package/es/wind/models/utils.js +50 -26
  225. package/es/wind/models/wind.js +15 -18
  226. package/es/wind/models/windRender.js +89 -78
  227. package/es/wind/models/windShader.d.ts +6 -6
  228. package/es/wind/models/windShader.js +12 -7
  229. package/es/wind/shaders/wind_frag.glsl +9 -0
  230. package/es/wind/shaders/wind_vert.glsl +17 -0
  231. package/lib/Geometry/index.js +77 -115
  232. package/lib/Geometry/models/billboard.js +181 -218
  233. package/lib/Geometry/models/index.js +34 -19
  234. package/lib/Geometry/models/plane.js +278 -394
  235. package/lib/Geometry/models/sprite.js +189 -294
  236. package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
  237. package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
  238. package/lib/Geometry/shaders/plane_frag.glsl +22 -0
  239. package/lib/Geometry/shaders/plane_vert.glsl +53 -0
  240. package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
  241. package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
  242. package/lib/canvas/index.js +66 -102
  243. package/lib/canvas/models/canvas.js +140 -210
  244. package/lib/canvas/models/index.js +30 -13
  245. package/lib/citybuliding/building.js +63 -99
  246. package/lib/citybuliding/models/build.js +146 -196
  247. package/lib/citybuliding/shaders/build_frag.glsl +117 -0
  248. package/lib/citybuliding/shaders/build_vert.glsl +54 -0
  249. package/lib/core/BaseLayer.js +807 -1245
  250. package/lib/core/BaseModel.js +275 -375
  251. package/lib/core/interface.js +53 -37
  252. package/lib/core/schema.js +39 -18
  253. package/lib/core/shape/Path.js +78 -60
  254. package/lib/core/shape/extrude.js +90 -127
  255. package/lib/core/triangulation.js +191 -304
  256. package/lib/earth/index.js +62 -96
  257. package/lib/earth/models/atmosphere.js +112 -139
  258. package/lib/earth/models/base.js +150 -198
  259. package/lib/earth/models/bloomsphere.js +112 -139
  260. package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
  261. package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
  262. package/lib/earth/shaders/base_frag.glsl +13 -0
  263. package/lib/earth/shaders/base_vert.glsl +52 -0
  264. package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
  265. package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
  266. package/lib/earth/utils.js +89 -85
  267. package/lib/heatmap/index.js +92 -148
  268. package/lib/heatmap/models/grid.js +91 -113
  269. package/lib/heatmap/models/grid3d.js +123 -145
  270. package/lib/heatmap/models/heatmap.js +338 -470
  271. package/lib/heatmap/models/hexagon.js +92 -114
  272. package/lib/heatmap/models/index.js +37 -23
  273. package/lib/heatmap/shaders/grid_vert.glsl +42 -0
  274. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  275. package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  276. package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
  277. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  278. package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  279. package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
  280. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  281. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  282. package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
  283. package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
  284. package/lib/heatmap/triangulation.js +46 -30
  285. package/lib/image/index.js +74 -112
  286. package/lib/image/models/dataImage.js +173 -241
  287. package/lib/image/models/image.js +123 -177
  288. package/lib/image/models/index.js +32 -16
  289. package/lib/image/shaders/dataImage_frag.glsl +38 -0
  290. package/lib/image/shaders/image_frag.glsl +9 -0
  291. package/lib/image/shaders/image_vert.glsl +17 -0
  292. package/lib/index.js +96 -193
  293. package/lib/line/index.js +83 -128
  294. package/lib/line/models/arc.js +237 -328
  295. package/lib/line/models/arc_3d.js +228 -314
  296. package/lib/line/models/earthArc_3d.js +228 -316
  297. package/lib/line/models/great_circle.js +200 -279
  298. package/lib/line/models/half.js +201 -266
  299. package/lib/line/models/index.js +50 -43
  300. package/lib/line/models/line.js +299 -394
  301. package/lib/line/models/linearline.js +203 -263
  302. package/lib/line/models/simpleLine.js +175 -225
  303. package/lib/line/models/tile.js +237 -330
  304. package/lib/line/models/wall.js +235 -310
  305. package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
  306. package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
  307. package/lib/line/shaders/dash/arc_dash_vert.glsl +148 -0
  308. package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
  309. package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
  310. package/lib/line/shaders/half/line_half_frag.glsl +53 -0
  311. package/lib/line/shaders/half/line_half_vert.glsl +169 -0
  312. package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
  313. package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
  314. package/lib/line/shaders/line_arc_3d_vert.glsl +207 -0
  315. package/lib/line/shaders/line_arc_frag.glsl +89 -0
  316. package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  317. package/lib/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  318. package/lib/line/shaders/line_arc_vert.glsl +174 -0
  319. package/lib/line/shaders/line_bezier_vert.glsl +85 -0
  320. package/lib/line/shaders/line_frag.glsl +100 -0
  321. package/lib/line/shaders/line_vert.glsl +192 -0
  322. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  323. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  324. package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
  325. package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
  326. package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
  327. package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  328. package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  329. package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
  330. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  331. package/lib/line/shaders/simple/simpleline_vert.glsl +78 -0
  332. package/lib/line/shaders/tile/line_tile_frag.glsl +79 -0
  333. package/lib/line/shaders/tile/line_tile_vert.glsl +210 -0
  334. package/lib/line/shaders/wall_frag.glsl +93 -0
  335. package/lib/line/shaders/wall_vert.glsl +111 -0
  336. package/lib/mask/index.js +59 -93
  337. package/lib/mask/models/fill.js +82 -132
  338. package/lib/mask/models/index.js +30 -13
  339. package/lib/mask/shaders/mask_frag.glsl +7 -0
  340. package/lib/mask/shaders/mask_vert.glsl +22 -0
  341. package/lib/plugins/DataMappingPlugin.js +222 -304
  342. package/lib/plugins/DataSourcePlugin.js +87 -100
  343. package/lib/plugins/FeatureScalePlugin.js +239 -310
  344. package/lib/plugins/LayerAnimateStylePlugin.js +55 -61
  345. package/lib/plugins/LayerModelPlugin.js +72 -70
  346. package/lib/plugins/LayerStylePlugin.js +51 -44
  347. package/lib/plugins/LightingPlugin.js +68 -72
  348. package/lib/plugins/MultiPassRendererPlugin.js +65 -77
  349. package/lib/plugins/PixelPickingPlugin.js +109 -128
  350. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -103
  351. package/lib/plugins/ShaderUniformPlugin.js +98 -103
  352. package/lib/plugins/UpdateModelPlugin.js +47 -36
  353. package/lib/plugins/UpdateStyleAttributePlugin.js +75 -80
  354. package/lib/point/index.js +147 -216
  355. package/lib/point/models/earthExtrude.js +201 -262
  356. package/lib/point/models/earthFill.js +202 -276
  357. package/lib/point/models/extrude.js +203 -282
  358. package/lib/point/models/fill.js +273 -369
  359. package/lib/point/models/fillmage.js +250 -327
  360. package/lib/point/models/image.js +163 -226
  361. package/lib/point/models/index.js +52 -46
  362. package/lib/point/models/normal.js +134 -176
  363. package/lib/point/models/radar.js +212 -286
  364. package/lib/point/models/simplePoint.js +142 -187
  365. package/lib/point/models/text.js +385 -559
  366. package/lib/point/models/tile.js +223 -294
  367. package/lib/point/shaders/animate/wave_frag.glsl +65 -0
  368. package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
  369. package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
  370. package/lib/point/shaders/earth/fill_frag.glsl +86 -0
  371. package/lib/point/shaders/earth/fill_vert.glsl +126 -0
  372. package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
  373. package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
  374. package/lib/point/shaders/fill_frag.glsl +84 -0
  375. package/lib/point/shaders/fill_vert.glsl +182 -0
  376. package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
  377. package/lib/point/shaders/image/fillImage_vert.glsl +108 -0
  378. package/lib/point/shaders/image_frag.glsl +39 -0
  379. package/lib/point/shaders/image_vert.glsl +81 -0
  380. package/lib/point/shaders/normal_frag.glsl +15 -0
  381. package/lib/point/shaders/normal_vert.glsl +79 -0
  382. package/lib/point/shaders/radar/radar_frag.glsl +64 -0
  383. package/lib/point/shaders/radar/radar_vert.glsl +120 -0
  384. package/lib/point/shaders/simplePoint_frag.glsl +53 -0
  385. package/lib/point/shaders/simplePoint_vert.glsl +79 -0
  386. package/lib/point/shaders/text_frag.glsl +48 -0
  387. package/lib/point/shaders/text_vert.glsl +131 -0
  388. package/lib/point/shaders/tile/fill_tile_frag.glsl +83 -0
  389. package/lib/point/shaders/tile/fill_tile_vert.glsl +181 -0
  390. package/lib/point/shape/extrude.js +51 -51
  391. package/lib/polygon/index.js +100 -149
  392. package/lib/polygon/models/extrude.js +222 -303
  393. package/lib/polygon/models/fill.js +153 -205
  394. package/lib/polygon/models/index.js +52 -46
  395. package/lib/polygon/models/ocean.js +172 -251
  396. package/lib/polygon/models/tile.js +100 -139
  397. package/lib/polygon/models/water.js +152 -227
  398. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  399. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  400. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  401. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  402. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  403. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  404. package/lib/polygon/shaders/polygon_frag.glsl +12 -0
  405. package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
  406. package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
  407. package/lib/polygon/shaders/polygon_vert.glsl +66 -0
  408. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  409. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  410. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  411. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  412. package/lib/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  413. package/lib/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  414. package/lib/raster/buffers/triangulation.js +39 -26
  415. package/lib/raster/index.js +73 -111
  416. package/lib/raster/models/index.js +33 -17
  417. package/lib/raster/models/raster.js +134 -187
  418. package/lib/raster/raster.js +132 -189
  419. package/lib/raster/shaders/raster_2d_frag.glsl +28 -0
  420. package/lib/raster/shaders/raster_2d_vert.glsl +18 -0
  421. package/lib/raster/shaders/raster_frag.glsl +9 -0
  422. package/lib/raster/shaders/raster_vert.glsl +44 -0
  423. package/lib/tile/interface.js +17 -2
  424. package/lib/tile/manager/tileConfigManager.js +86 -126
  425. package/lib/tile/manager/tileLayerManager.js +227 -312
  426. package/lib/tile/manager/tilePickerManager.js +123 -187
  427. package/lib/tile/models/tileModel.js +51 -70
  428. package/lib/tile/tileFactory/base.js +292 -403
  429. package/lib/tile/tileFactory/index.js +48 -51
  430. package/lib/tile/tileFactory/line.js +50 -71
  431. package/lib/tile/tileFactory/point.js +50 -71
  432. package/lib/tile/tileFactory/polygon.js +50 -71
  433. package/lib/tile/tileFactory/raster.js +54 -72
  434. package/lib/tile/tileFactory/rasterData.js +76 -94
  435. package/lib/tile/tileFactory/rasterDataLayer.js +62 -98
  436. package/lib/tile/tileFactory/vectorLayer.js +95 -148
  437. package/lib/tile/tileLayer/baseTileLayer.js +220 -380
  438. package/lib/tile/tmsTileLayer.js +67 -109
  439. package/lib/tile/utils.js +86 -101
  440. package/lib/utils/blend.js +79 -60
  441. package/lib/utils/collision-index.js +63 -83
  442. package/lib/utils/dataMappingStyle.js +59 -56
  443. package/lib/utils/extrude_polyline.js +397 -554
  444. package/lib/utils/grid-index.js +111 -168
  445. package/lib/utils/layerData.js +88 -95
  446. package/lib/utils/multiPassRender.js +38 -31
  447. package/lib/utils/polylineNormal.js +86 -118
  448. package/lib/utils/simpleLine.js +85 -101
  449. package/lib/utils/symbol-layout.js +109 -173
  450. package/lib/utils/updateShape.js +40 -11
  451. package/lib/wind/index.js +71 -110
  452. package/lib/wind/models/index.js +30 -13
  453. package/lib/wind/models/utils.js +89 -104
  454. package/lib/wind/models/wind.js +224 -332
  455. package/lib/wind/models/windRender.js +215 -293
  456. package/lib/wind/models/windShader.js +181 -17
  457. package/lib/wind/shaders/wind_frag.glsl +9 -0
  458. package/lib/wind/shaders/wind_vert.glsl +17 -0
  459. package/package.json +11 -9
  460. package/es/Geometry/index.js.map +0 -1
  461. package/es/Geometry/models/billboard.js.map +0 -1
  462. package/es/Geometry/models/index.js.map +0 -1
  463. package/es/Geometry/models/plane.js.map +0 -1
  464. package/es/Geometry/models/sprite.js.map +0 -1
  465. package/es/canvas/index.js.map +0 -1
  466. package/es/canvas/models/canvas.js.map +0 -1
  467. package/es/canvas/models/index.js.map +0 -1
  468. package/es/citybuliding/building.js.map +0 -1
  469. package/es/citybuliding/models/build.js.map +0 -1
  470. package/es/core/BaseLayer.js.map +0 -1
  471. package/es/core/BaseModel.js.map +0 -1
  472. package/es/core/interface.js.map +0 -1
  473. package/es/core/schema.js.map +0 -1
  474. package/es/core/shape/Path.js.map +0 -1
  475. package/es/core/shape/extrude.js.map +0 -1
  476. package/es/core/triangulation.js.map +0 -1
  477. package/es/earth/index.js.map +0 -1
  478. package/es/earth/models/atmosphere.js.map +0 -1
  479. package/es/earth/models/base.js.map +0 -1
  480. package/es/earth/models/bloomsphere.js.map +0 -1
  481. package/es/earth/utils.js.map +0 -1
  482. package/es/glsl.d.js +0 -2
  483. package/es/glsl.d.js.map +0 -1
  484. package/es/heatmap/index.js.map +0 -1
  485. package/es/heatmap/models/grid.js.map +0 -1
  486. package/es/heatmap/models/grid3d.js.map +0 -1
  487. package/es/heatmap/models/heatmap.js.map +0 -1
  488. package/es/heatmap/models/hexagon.js.map +0 -1
  489. package/es/heatmap/models/index.js.map +0 -1
  490. package/es/heatmap/triangulation.js.map +0 -1
  491. package/es/image/index.js.map +0 -1
  492. package/es/image/models/dataImage.js.map +0 -1
  493. package/es/image/models/image.js.map +0 -1
  494. package/es/image/models/index.js.map +0 -1
  495. package/es/index.js.map +0 -1
  496. package/es/line/index.js.map +0 -1
  497. package/es/line/models/arc.js.map +0 -1
  498. package/es/line/models/arc_3d.js.map +0 -1
  499. package/es/line/models/earthArc_3d.js.map +0 -1
  500. package/es/line/models/great_circle.js.map +0 -1
  501. package/es/line/models/half.js.map +0 -1
  502. package/es/line/models/index.js.map +0 -1
  503. package/es/line/models/line.js.map +0 -1
  504. package/es/line/models/linearline.js.map +0 -1
  505. package/es/line/models/simpleLine.js.map +0 -1
  506. package/es/line/models/tile.js.map +0 -1
  507. package/es/line/models/wall.js.map +0 -1
  508. package/es/mask/index.js.map +0 -1
  509. package/es/mask/models/fill.js.map +0 -1
  510. package/es/mask/models/index.js.map +0 -1
  511. package/es/plugins/DataMappingPlugin.js.map +0 -1
  512. package/es/plugins/DataSourcePlugin.js.map +0 -1
  513. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  514. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  515. package/es/plugins/LayerModelPlugin.js.map +0 -1
  516. package/es/plugins/LayerStylePlugin.js.map +0 -1
  517. package/es/plugins/LightingPlugin.js.map +0 -1
  518. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  519. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  520. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  521. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  522. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  523. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  524. package/es/point/index.js.map +0 -1
  525. package/es/point/models/earthExtrude.js.map +0 -1
  526. package/es/point/models/earthFill.js.map +0 -1
  527. package/es/point/models/extrude.js.map +0 -1
  528. package/es/point/models/fill.js.map +0 -1
  529. package/es/point/models/fillmage.js.map +0 -1
  530. package/es/point/models/image.js.map +0 -1
  531. package/es/point/models/index.js.map +0 -1
  532. package/es/point/models/normal.js.map +0 -1
  533. package/es/point/models/radar.js.map +0 -1
  534. package/es/point/models/simplePoint.js.map +0 -1
  535. package/es/point/models/text.js.map +0 -1
  536. package/es/point/models/tile.js.map +0 -1
  537. package/es/point/shape/extrude.js.map +0 -1
  538. package/es/polygon/index.js.map +0 -1
  539. package/es/polygon/models/extrude.js.map +0 -1
  540. package/es/polygon/models/fill.js.map +0 -1
  541. package/es/polygon/models/index.js.map +0 -1
  542. package/es/polygon/models/ocean.js.map +0 -1
  543. package/es/polygon/models/tile.js.map +0 -1
  544. package/es/polygon/models/water.js.map +0 -1
  545. package/es/raster/buffers/triangulation.js.map +0 -1
  546. package/es/raster/index.js.map +0 -1
  547. package/es/raster/models/index.js.map +0 -1
  548. package/es/raster/models/raster.js.map +0 -1
  549. package/es/raster/raster.js.map +0 -1
  550. package/es/tile/interface.js.map +0 -1
  551. package/es/tile/manager/tileConfigManager.js.map +0 -1
  552. package/es/tile/manager/tileLayerManager.js.map +0 -1
  553. package/es/tile/manager/tilePickerManager.js.map +0 -1
  554. package/es/tile/models/tileModel.js.map +0 -1
  555. package/es/tile/tileFactory/base.js.map +0 -1
  556. package/es/tile/tileFactory/index.js.map +0 -1
  557. package/es/tile/tileFactory/line.js.map +0 -1
  558. package/es/tile/tileFactory/point.js.map +0 -1
  559. package/es/tile/tileFactory/polygon.js.map +0 -1
  560. package/es/tile/tileFactory/raster.js.map +0 -1
  561. package/es/tile/tileFactory/rasterData.js.map +0 -1
  562. package/es/tile/tileFactory/rasterDataLayer.js.map +0 -1
  563. package/es/tile/tileFactory/vectorLayer.js.map +0 -1
  564. package/es/tile/tileLayer/baseTileLayer.js.map +0 -1
  565. package/es/tile/tmsTileLayer.js.map +0 -1
  566. package/es/tile/utils.js.map +0 -1
  567. package/es/utils/blend.js.map +0 -1
  568. package/es/utils/collision-index.js.map +0 -1
  569. package/es/utils/dataMappingStyle.js.map +0 -1
  570. package/es/utils/extrude_polyline.js.map +0 -1
  571. package/es/utils/grid-index.js.map +0 -1
  572. package/es/utils/layerData.js.map +0 -1
  573. package/es/utils/multiPassRender.js.map +0 -1
  574. package/es/utils/polylineNormal.js.map +0 -1
  575. package/es/utils/simpleLine.js.map +0 -1
  576. package/es/utils/symbol-layout.js.map +0 -1
  577. package/es/utils/updateShape.js.map +0 -1
  578. package/es/wind/index.js.map +0 -1
  579. package/es/wind/models/index.js.map +0 -1
  580. package/es/wind/models/utils.js.map +0 -1
  581. package/es/wind/models/wind.js.map +0 -1
  582. package/es/wind/models/windRender.js.map +0 -1
  583. package/es/wind/models/windShader.js.map +0 -1
  584. package/lib/Geometry/index.js.map +0 -1
  585. package/lib/Geometry/models/billboard.js.map +0 -1
  586. package/lib/Geometry/models/index.js.map +0 -1
  587. package/lib/Geometry/models/plane.js.map +0 -1
  588. package/lib/Geometry/models/sprite.js.map +0 -1
  589. package/lib/canvas/index.js.map +0 -1
  590. package/lib/canvas/models/canvas.js.map +0 -1
  591. package/lib/canvas/models/index.js.map +0 -1
  592. package/lib/citybuliding/building.js.map +0 -1
  593. package/lib/citybuliding/models/build.js.map +0 -1
  594. package/lib/core/BaseLayer.js.map +0 -1
  595. package/lib/core/BaseModel.js.map +0 -1
  596. package/lib/core/interface.js.map +0 -1
  597. package/lib/core/schema.js.map +0 -1
  598. package/lib/core/shape/Path.js.map +0 -1
  599. package/lib/core/shape/extrude.js.map +0 -1
  600. package/lib/core/triangulation.js.map +0 -1
  601. package/lib/earth/index.js.map +0 -1
  602. package/lib/earth/models/atmosphere.js.map +0 -1
  603. package/lib/earth/models/base.js.map +0 -1
  604. package/lib/earth/models/bloomsphere.js.map +0 -1
  605. package/lib/earth/utils.js.map +0 -1
  606. package/lib/glsl.d.js +0 -2
  607. package/lib/glsl.d.js.map +0 -1
  608. package/lib/heatmap/index.js.map +0 -1
  609. package/lib/heatmap/models/grid.js.map +0 -1
  610. package/lib/heatmap/models/grid3d.js.map +0 -1
  611. package/lib/heatmap/models/heatmap.js.map +0 -1
  612. package/lib/heatmap/models/hexagon.js.map +0 -1
  613. package/lib/heatmap/models/index.js.map +0 -1
  614. package/lib/heatmap/triangulation.js.map +0 -1
  615. package/lib/image/index.js.map +0 -1
  616. package/lib/image/models/dataImage.js.map +0 -1
  617. package/lib/image/models/image.js.map +0 -1
  618. package/lib/image/models/index.js.map +0 -1
  619. package/lib/index.js.map +0 -1
  620. package/lib/line/index.js.map +0 -1
  621. package/lib/line/models/arc.js.map +0 -1
  622. package/lib/line/models/arc_3d.js.map +0 -1
  623. package/lib/line/models/earthArc_3d.js.map +0 -1
  624. package/lib/line/models/great_circle.js.map +0 -1
  625. package/lib/line/models/half.js.map +0 -1
  626. package/lib/line/models/index.js.map +0 -1
  627. package/lib/line/models/line.js.map +0 -1
  628. package/lib/line/models/linearline.js.map +0 -1
  629. package/lib/line/models/simpleLine.js.map +0 -1
  630. package/lib/line/models/tile.js.map +0 -1
  631. package/lib/line/models/wall.js.map +0 -1
  632. package/lib/mask/index.js.map +0 -1
  633. package/lib/mask/models/fill.js.map +0 -1
  634. package/lib/mask/models/index.js.map +0 -1
  635. package/lib/plugins/DataMappingPlugin.js.map +0 -1
  636. package/lib/plugins/DataSourcePlugin.js.map +0 -1
  637. package/lib/plugins/FeatureScalePlugin.js.map +0 -1
  638. package/lib/plugins/LayerAnimateStylePlugin.js.map +0 -1
  639. package/lib/plugins/LayerModelPlugin.js.map +0 -1
  640. package/lib/plugins/LayerStylePlugin.js.map +0 -1
  641. package/lib/plugins/LightingPlugin.js.map +0 -1
  642. package/lib/plugins/MultiPassRendererPlugin.js.map +0 -1
  643. package/lib/plugins/PixelPickingPlugin.js.map +0 -1
  644. package/lib/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  645. package/lib/plugins/ShaderUniformPlugin.js.map +0 -1
  646. package/lib/plugins/UpdateModelPlugin.js.map +0 -1
  647. package/lib/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  648. package/lib/point/index.js.map +0 -1
  649. package/lib/point/models/earthExtrude.js.map +0 -1
  650. package/lib/point/models/earthFill.js.map +0 -1
  651. package/lib/point/models/extrude.js.map +0 -1
  652. package/lib/point/models/fill.js.map +0 -1
  653. package/lib/point/models/fillmage.js.map +0 -1
  654. package/lib/point/models/image.js.map +0 -1
  655. package/lib/point/models/index.js.map +0 -1
  656. package/lib/point/models/normal.js.map +0 -1
  657. package/lib/point/models/radar.js.map +0 -1
  658. package/lib/point/models/simplePoint.js.map +0 -1
  659. package/lib/point/models/text.js.map +0 -1
  660. package/lib/point/models/tile.js.map +0 -1
  661. package/lib/point/shape/extrude.js.map +0 -1
  662. package/lib/polygon/index.js.map +0 -1
  663. package/lib/polygon/models/extrude.js.map +0 -1
  664. package/lib/polygon/models/fill.js.map +0 -1
  665. package/lib/polygon/models/index.js.map +0 -1
  666. package/lib/polygon/models/ocean.js.map +0 -1
  667. package/lib/polygon/models/tile.js.map +0 -1
  668. package/lib/polygon/models/water.js.map +0 -1
  669. package/lib/raster/buffers/triangulation.js.map +0 -1
  670. package/lib/raster/index.js.map +0 -1
  671. package/lib/raster/models/index.js.map +0 -1
  672. package/lib/raster/models/raster.js.map +0 -1
  673. package/lib/raster/raster.js.map +0 -1
  674. package/lib/tile/interface.js.map +0 -1
  675. package/lib/tile/manager/tileConfigManager.js.map +0 -1
  676. package/lib/tile/manager/tileLayerManager.js.map +0 -1
  677. package/lib/tile/manager/tilePickerManager.js.map +0 -1
  678. package/lib/tile/models/tileModel.js.map +0 -1
  679. package/lib/tile/tileFactory/base.js.map +0 -1
  680. package/lib/tile/tileFactory/index.js.map +0 -1
  681. package/lib/tile/tileFactory/line.js.map +0 -1
  682. package/lib/tile/tileFactory/point.js.map +0 -1
  683. package/lib/tile/tileFactory/polygon.js.map +0 -1
  684. package/lib/tile/tileFactory/raster.js.map +0 -1
  685. package/lib/tile/tileFactory/rasterData.js.map +0 -1
  686. package/lib/tile/tileFactory/rasterDataLayer.js.map +0 -1
  687. package/lib/tile/tileFactory/vectorLayer.js.map +0 -1
  688. package/lib/tile/tileLayer/baseTileLayer.js.map +0 -1
  689. package/lib/tile/tmsTileLayer.js.map +0 -1
  690. package/lib/tile/utils.js.map +0 -1
  691. package/lib/utils/blend.js.map +0 -1
  692. package/lib/utils/collision-index.js.map +0 -1
  693. package/lib/utils/dataMappingStyle.js.map +0 -1
  694. package/lib/utils/extrude_polyline.js.map +0 -1
  695. package/lib/utils/grid-index.js.map +0 -1
  696. package/lib/utils/layerData.js.map +0 -1
  697. package/lib/utils/multiPassRender.js.map +0 -1
  698. package/lib/utils/polylineNormal.js.map +0 -1
  699. package/lib/utils/simpleLine.js.map +0 -1
  700. package/lib/utils/symbol-layout.js.map +0 -1
  701. package/lib/utils/updateShape.js.map +0 -1
  702. package/lib/wind/index.js.map +0 -1
  703. package/lib/wind/models/index.js.map +0 -1
  704. package/lib/wind/models/utils.js.map +0 -1
  705. package/lib/wind/models/wind.js.map +0 -1
  706. package/lib/wind/models/windRender.js.map +0 -1
  707. package/lib/wind/models/windShader.js.map +0 -1
@@ -1,102 +1,65 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/utils/extrude_polyline.ts
20
+ var extrude_polyline_exports = {};
21
+ __export(extrude_polyline_exports, {
22
+ computeMiter: () => computeMiter,
23
+ computeNormal: () => computeNormal,
24
+ default: () => ExtrudePolyline,
25
+ direction: () => direction
7
26
  });
8
- exports.computeMiter = computeMiter;
9
- exports.computeNormal = computeNormal;
10
- exports.default = void 0;
11
- exports.direction = direction;
12
-
13
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
-
15
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
16
-
17
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
18
-
19
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
20
-
21
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
22
-
23
- var _l7Utils = require("@antv/l7-utils");
24
-
25
- var _glMatrix = require("gl-matrix");
26
-
27
- var tmp = _glMatrix.vec2.create();
28
-
29
- var capEnd = _glMatrix.vec2.create();
30
-
31
- var lineA = _glMatrix.vec2.create();
32
-
33
- var lineB = _glMatrix.vec2.create();
34
-
35
- var tangent = _glMatrix.vec2.create();
36
-
27
+ module.exports = __toCommonJS(extrude_polyline_exports);
28
+ var import_l7_utils = require("@antv/l7-utils");
29
+ var import_gl_matrix = require("gl-matrix");
30
+ var tmp = import_gl_matrix.vec2.create();
31
+ var capEnd = import_gl_matrix.vec2.create();
32
+ var lineA = import_gl_matrix.vec2.create();
33
+ var lineB = import_gl_matrix.vec2.create();
34
+ var tangent = import_gl_matrix.vec2.create();
37
35
  function computeMiter(lineTangent, miter, start, end, halfThick) {
38
- _glMatrix.vec2.add(lineTangent, start, end);
39
-
40
- _glMatrix.vec2.normalize(lineTangent, lineTangent);
41
-
42
- miter = _glMatrix.vec2.fromValues(-lineTangent[1], lineTangent[0]);
43
-
44
- var tmpvec = _glMatrix.vec2.fromValues(-start[1], start[0]);
45
-
46
- return [halfThick / _glMatrix.vec2.dot(miter, tmpvec), miter];
36
+ import_gl_matrix.vec2.add(lineTangent, start, end);
37
+ import_gl_matrix.vec2.normalize(lineTangent, lineTangent);
38
+ miter = import_gl_matrix.vec2.fromValues(-lineTangent[1], lineTangent[0]);
39
+ const tmpvec = import_gl_matrix.vec2.fromValues(-start[1], start[0]);
40
+ return [halfThick / import_gl_matrix.vec2.dot(miter, tmpvec), miter];
47
41
  }
48
-
49
42
  function computeNormal(out, dir) {
50
- return _glMatrix.vec2.set(out, -dir[1], dir[0]);
43
+ return import_gl_matrix.vec2.set(out, -dir[1], dir[0]);
51
44
  }
52
-
53
45
  function direction(out, a, b) {
54
- _glMatrix.vec2.sub(out, a, b);
55
-
56
- _glMatrix.vec2.normalize(out, out);
57
-
46
+ import_gl_matrix.vec2.sub(out, a, b);
47
+ import_gl_matrix.vec2.normalize(out, out);
58
48
  return out;
59
49
  }
60
-
61
50
  function isPointEqual(a, b) {
62
51
  return a[0] === b[0] && a[1] === b[1];
63
52
  }
64
-
65
- function getArrayUnique(matrix) {
66
- var map = new Map();
67
-
68
- for (var i = 0; i < matrix.length; i++) {
69
- var key = matrix[0].toString() + '-' + matrix[1].toString();
70
-
71
- if (map.get(key)) {
72
- matrix.splice(i, 1);
73
- i++;
74
- } else {
75
- map.set(key, key);
76
- }
77
- }
78
-
79
- return matrix;
80
- }
81
-
82
- var ExtrudePolyline = function () {
83
- function ExtrudePolyline() {
84
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
85
- (0, _classCallCheck2.default)(this, ExtrudePolyline);
86
- (0, _defineProperty2.default)(this, "complex", void 0);
87
- (0, _defineProperty2.default)(this, "join", void 0);
88
- (0, _defineProperty2.default)(this, "cap", void 0);
89
- (0, _defineProperty2.default)(this, "miterLimit", void 0);
90
- (0, _defineProperty2.default)(this, "thickness", void 0);
91
- (0, _defineProperty2.default)(this, "normal", void 0);
92
- (0, _defineProperty2.default)(this, "lastFlip", -1);
93
- (0, _defineProperty2.default)(this, "miter", _glMatrix.vec2.fromValues(0, 0));
94
- (0, _defineProperty2.default)(this, "started", false);
95
- (0, _defineProperty2.default)(this, "dash", false);
96
- (0, _defineProperty2.default)(this, "totalDistance", 0);
97
- (0, _defineProperty2.default)(this, "currentIndex", 0);
98
- this.join = opts.join || 'miter';
99
- this.cap = opts.cap || 'butt';
53
+ var ExtrudePolyline = class {
54
+ constructor(opts = {}) {
55
+ this.lastFlip = -1;
56
+ this.miter = import_gl_matrix.vec2.fromValues(0, 0);
57
+ this.started = false;
58
+ this.dash = false;
59
+ this.totalDistance = 0;
60
+ this.currentIndex = 0;
61
+ this.join = opts.join || "miter";
62
+ this.cap = opts.cap || "butt";
100
63
  this.miterLimit = opts.miterLimit || 10;
101
64
  this.thickness = opts.thickness || 1;
102
65
  this.dash = opts.dash || false;
@@ -108,501 +71,381 @@ var ExtrudePolyline = function () {
108
71
  indexes: []
109
72
  };
110
73
  }
111
-
112
- (0, _createClass2.default)(ExtrudePolyline, [{
113
- key: "simpleExtrude",
114
- value: function simpleExtrude(points) {
115
- var complex = this.complex;
116
-
117
- if (points.length <= 1) {
118
- return complex;
119
- }
120
-
121
- this.lastFlip = -1;
122
- this.started = false;
123
- this.normal = null;
124
- this.totalDistance = 0;
125
- var total = points.length;
126
- var count = complex.startIndex;
127
-
128
- for (var i = 1; i < total; i++) {
129
- var last = points[i - 1];
130
- var cur = points[i];
131
- var next = i < points.length - 1 ? points[i + 1] : null;
132
- var amt = this.simpleSegment(complex, count, last, cur, next);
133
- count += amt;
134
- }
135
-
136
- if (this.dash) {
137
- for (var _i = 0; _i < complex.positions.length / 6; _i++) {
138
- complex.positions[_i * 6 + 5] = this.totalDistance;
139
- }
140
- }
141
-
142
- complex.startIndex = complex.positions.length / 6;
74
+ simpleExtrude(points) {
75
+ const complex = this.complex;
76
+ if (points.length <= 1) {
143
77
  return complex;
144
78
  }
145
- }, {
146
- key: "simpleExtrude_gaode2",
147
- value: function simpleExtrude_gaode2(points, originPoints) {
148
- var complex = this.complex;
149
-
150
- if (points.length <= 1) {
151
- return complex;
152
- }
153
-
154
- this.lastFlip = -1;
155
- this.started = false;
156
- this.normal = null;
157
- this.totalDistance = 0;
158
- var total = points.length;
159
- var count = complex.startIndex;
160
-
161
- for (var i = 1; i < total; i++) {
162
- var _originPoints$, _originPoints$i$, _originPoints$2;
163
-
164
- var last = points[i - 1];
165
- last.push((_originPoints$ = originPoints[i - 1][2]) !== null && _originPoints$ !== void 0 ? _originPoints$ : 0);
166
- var originLast = originPoints[i - 1];
167
- var cur = points[i];
168
- cur.push((_originPoints$i$ = originPoints[i][2]) !== null && _originPoints$i$ !== void 0 ? _originPoints$i$ : 0);
169
- var originCur = originPoints[i];
170
- var next = i < points.length - 1 ? [].concat((0, _toConsumableArray2.default)(points[i + 1]), [(_originPoints$2 = originPoints[i + 1][2]) !== null && _originPoints$2 !== void 0 ? _originPoints$2 : 0]) : null;
171
- var originNext = i < originPoints.length - 1 ? originPoints[i + 1] : null;
172
- var amt = this.simpleSegment(complex, count, last, cur, next, originLast, originCur, originNext);
173
- count += amt;
174
- }
175
-
176
- if (this.dash) {
177
- for (var _i2 = 0; _i2 < complex.positions.length / 6; _i2++) {
178
- complex.positions[_i2 * 6 + 5] = this.totalDistance;
179
- }
79
+ this.lastFlip = -1;
80
+ this.started = false;
81
+ this.normal = null;
82
+ this.totalDistance = 0;
83
+ const total = points.length;
84
+ let count = complex.startIndex;
85
+ for (let i = 1; i < total; i++) {
86
+ const last = points[i - 1];
87
+ const cur = points[i];
88
+ const next = i < points.length - 1 ? points[i + 1] : null;
89
+ const amt = this.simpleSegment(complex, count, last, cur, next);
90
+ count += amt;
91
+ }
92
+ if (this.dash) {
93
+ for (let i = 0; i < complex.positions.length / 6; i++) {
94
+ complex.positions[i * 6 + 5] = this.totalDistance;
180
95
  }
181
-
182
- complex.startIndex = complex.positions.length / 6;
96
+ }
97
+ complex.startIndex = complex.positions.length / 6;
98
+ return complex;
99
+ }
100
+ simpleExtrude_gaode2(points, originPoints) {
101
+ const complex = this.complex;
102
+ if (points.length <= 1) {
183
103
  return complex;
184
104
  }
185
- }, {
186
- key: "extrude_gaode2",
187
- value: function extrude_gaode2(points, originPoints) {
188
- var complex = this.complex;
189
-
190
- if (points.length <= 1) {
191
- return complex;
192
- }
193
-
194
- this.lastFlip = -1;
195
- this.started = false;
196
- this.normal = null;
197
- this.totalDistance = 0;
198
- var total = points.length;
199
- var count = complex.startIndex;
200
-
201
- for (var i = 1; i < total; i++) {
202
- var _originPoints$3, _originPoints$i$2, _originPoints$4;
203
-
204
- var last = points[i - 1];
205
- last.push((_originPoints$3 = originPoints[i - 1][2]) !== null && _originPoints$3 !== void 0 ? _originPoints$3 : 0);
206
- var originLast = originPoints[i - 1];
207
- var cur = points[i];
208
- cur.push((_originPoints$i$2 = originPoints[i][2]) !== null && _originPoints$i$2 !== void 0 ? _originPoints$i$2 : 0);
209
- var originCur = originPoints[i];
210
- var next = i < points.length - 1 ? [].concat((0, _toConsumableArray2.default)(points[i + 1]), [(_originPoints$4 = originPoints[i + 1][2]) !== null && _originPoints$4 !== void 0 ? _originPoints$4 : 0]) : null;
211
- var originNext = i < originPoints.length - 1 ? originPoints[i + 1] : null;
212
- var amt = this.segment_gaode2(complex, count, last, cur, next, originLast, originCur, originNext);
213
- count += amt;
214
- }
215
-
216
- if (this.dash) {
217
- for (var _i3 = 0; _i3 < complex.positions.length / 6; _i3++) {
218
- complex.positions[_i3 * 6 + 5] = this.totalDistance;
219
- }
105
+ this.lastFlip = -1;
106
+ this.started = false;
107
+ this.normal = null;
108
+ this.totalDistance = 0;
109
+ const total = points.length;
110
+ let count = complex.startIndex;
111
+ for (let i = 1; i < total; i++) {
112
+ const last = points[i - 1];
113
+ last.push(originPoints[i - 1][2] ?? 0);
114
+ const originLast = originPoints[i - 1];
115
+ const cur = points[i];
116
+ cur.push(originPoints[i][2] ?? 0);
117
+ const originCur = originPoints[i];
118
+ const next = i < points.length - 1 ? [...points[i + 1], originPoints[i + 1][2] ?? 0] : null;
119
+ const originNext = i < originPoints.length - 1 ? originPoints[i + 1] : null;
120
+ const amt = this.simpleSegment(complex, count, last, cur, next, originLast, originCur, originNext);
121
+ count += amt;
122
+ }
123
+ if (this.dash) {
124
+ for (let i = 0; i < complex.positions.length / 6; i++) {
125
+ complex.positions[i * 6 + 5] = this.totalDistance;
220
126
  }
221
-
222
- complex.startIndex = complex.positions.length / 6;
127
+ }
128
+ complex.startIndex = complex.positions.length / 6;
129
+ return complex;
130
+ }
131
+ extrude_gaode2(points, originPoints) {
132
+ const complex = this.complex;
133
+ if (points.length <= 1) {
223
134
  return complex;
224
135
  }
225
- }, {
226
- key: "extrude",
227
- value: function extrude(points) {
228
- var complex = this.complex;
229
-
230
- if (points.length <= 1) {
231
- return complex;
232
- }
233
-
234
- this.lastFlip = -1;
235
- this.started = false;
236
- this.normal = null;
237
- this.totalDistance = 0;
238
- var total = points.length;
239
- var count = complex.startIndex;
240
-
241
- for (var i = 1; i < total; i++) {
242
- var last = points[i - 1];
243
- var cur = points[i];
244
- var next = i < points.length - 1 ? points[i + 1] : null;
245
- var amt = this.segment(complex, count, last, cur, next);
246
- count += amt;
247
- }
248
-
249
- if (this.dash) {
250
- for (var _i4 = 0; _i4 < complex.positions.length / 6; _i4++) {
251
- complex.positions[_i4 * 6 + 5] = this.totalDistance;
252
- }
136
+ this.lastFlip = -1;
137
+ this.started = false;
138
+ this.normal = null;
139
+ this.totalDistance = 0;
140
+ const total = points.length;
141
+ let count = complex.startIndex;
142
+ for (let i = 1; i < total; i++) {
143
+ const last = points[i - 1];
144
+ last.push(originPoints[i - 1][2] ?? 0);
145
+ const originLast = originPoints[i - 1];
146
+ const cur = points[i];
147
+ cur.push(originPoints[i][2] ?? 0);
148
+ const originCur = originPoints[i];
149
+ const next = i < points.length - 1 ? [...points[i + 1], originPoints[i + 1][2] ?? 0] : null;
150
+ const originNext = i < originPoints.length - 1 ? originPoints[i + 1] : null;
151
+ const amt = this.segment_gaode2(complex, count, last, cur, next, originLast, originCur, originNext);
152
+ count += amt;
153
+ }
154
+ if (this.dash) {
155
+ for (let i = 0; i < complex.positions.length / 6; i++) {
156
+ complex.positions[i * 6 + 5] = this.totalDistance;
253
157
  }
254
-
255
- complex.startIndex = complex.positions.length / 6;
158
+ }
159
+ complex.startIndex = complex.positions.length / 6;
160
+ return complex;
161
+ }
162
+ extrude(points) {
163
+ const complex = this.complex;
164
+ if (points.length <= 1) {
256
165
  return complex;
257
166
  }
258
- }, {
259
- key: "simpleSegment",
260
- value: function simpleSegment(complex, index, last, cur, next) {
261
- var count = 0;
262
- var indices = complex.indices;
263
- var positions = complex.positions;
264
- var normals = complex.normals;
265
- var flatCur = (0, _l7Utils.aProjectFlat)([cur[0], cur[1]]);
266
- var flatLast = (0, _l7Utils.aProjectFlat)([last[0], last[1]]);
267
- direction(lineA, flatCur, flatLast);
268
- var segmentDistance = 0;
269
-
270
- if (this.dash) {
271
- segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
272
- this.totalDistance += segmentDistance;
167
+ this.lastFlip = -1;
168
+ this.started = false;
169
+ this.normal = null;
170
+ this.totalDistance = 0;
171
+ const total = points.length;
172
+ let count = complex.startIndex;
173
+ for (let i = 1; i < total; i++) {
174
+ const last = points[i - 1];
175
+ const cur = points[i];
176
+ const next = i < points.length - 1 ? points[i + 1] : null;
177
+ const amt = this.segment(complex, count, last, cur, next);
178
+ count += amt;
179
+ }
180
+ if (this.dash) {
181
+ for (let i = 0; i < complex.positions.length / 6; i++) {
182
+ complex.positions[i * 6 + 5] = this.totalDistance;
273
183
  }
274
-
275
- if (!this.normal) {
276
- this.normal = _glMatrix.vec2.create();
277
- computeNormal(this.normal, lineA);
184
+ }
185
+ complex.startIndex = complex.positions.length / 6;
186
+ return complex;
187
+ }
188
+ simpleSegment(complex, index, last, cur, next) {
189
+ let count = 0;
190
+ const indices = complex.indices;
191
+ const positions = complex.positions;
192
+ const normals = complex.normals;
193
+ const flatCur = (0, import_l7_utils.aProjectFlat)([cur[0], cur[1]]);
194
+ const flatLast = (0, import_l7_utils.aProjectFlat)([last[0], last[1]]);
195
+ direction(lineA, flatCur, flatLast);
196
+ let segmentDistance = 0;
197
+ if (this.dash) {
198
+ segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
199
+ this.totalDistance += segmentDistance;
200
+ }
201
+ if (!this.normal) {
202
+ this.normal = import_gl_matrix.vec2.create();
203
+ computeNormal(this.normal, lineA);
204
+ }
205
+ if (!this.started) {
206
+ this.started = true;
207
+ this.extrusions(positions, normals, last, this.normal, this.thickness, this.totalDistance - segmentDistance);
208
+ }
209
+ indices.push(index + 0, index + 1, index + 2);
210
+ if (!next) {
211
+ computeNormal(this.normal, lineA);
212
+ this.extrusions(positions, normals, cur, this.normal, this.thickness, this.totalDistance);
213
+ indices.push(...this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]);
214
+ count += 2;
215
+ } else {
216
+ const flatNext = (0, import_l7_utils.aProjectFlat)([next[0], next[1]]);
217
+ if (isPointEqual(flatCur, flatNext)) {
218
+ import_gl_matrix.vec2.add(flatNext, flatCur, import_gl_matrix.vec2.normalize(flatNext, import_gl_matrix.vec2.subtract(flatNext, flatCur, flatLast)));
278
219
  }
279
-
280
- if (!this.started) {
281
- this.started = true;
220
+ direction(lineB, flatNext, flatCur);
221
+ const [miterLen, miter] = computeMiter(tangent, import_gl_matrix.vec2.create(), lineA, lineB, this.thickness);
222
+ let flip = import_gl_matrix.vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
223
+ this.extrusions(positions, normals, cur, miter, miterLen, this.totalDistance);
224
+ indices.push(...this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]);
225
+ flip = -1;
226
+ import_gl_matrix.vec2.copy(this.normal, miter);
227
+ count += 2;
228
+ this.lastFlip = flip;
229
+ }
230
+ return count;
231
+ }
232
+ segment_gaode2(complex, index, last, cur, next, originLast, originCur, originNext) {
233
+ let count = 0;
234
+ const indices = complex.indices;
235
+ const positions = complex.positions;
236
+ const normals = complex.normals;
237
+ const capSquare = this.cap === "square";
238
+ const joinBevel = this.join === "bevel";
239
+ const flatCur = (0, import_l7_utils.aProjectFlat)([originCur[0], originCur[1]]);
240
+ const flatLast = (0, import_l7_utils.aProjectFlat)([originLast[0], originLast[1]]);
241
+ direction(lineA, cur, last);
242
+ let segmentDistance = 0;
243
+ if (this.dash) {
244
+ segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
245
+ this.totalDistance += segmentDistance;
246
+ }
247
+ if (!this.normal) {
248
+ this.normal = import_gl_matrix.vec2.create();
249
+ computeNormal(this.normal, lineA);
250
+ }
251
+ if (!this.started) {
252
+ this.started = true;
253
+ if (capSquare) {
254
+ const out1 = import_gl_matrix.vec2.create();
255
+ const out2 = import_gl_matrix.vec2.create();
256
+ import_gl_matrix.vec2.add(out1, this.normal, lineA);
257
+ import_gl_matrix.vec2.add(out2, this.normal, lineA);
258
+ normals.push(out2[0], out2[1], 0);
259
+ normals.push(out1[0], out1[1], 0);
260
+ positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, -this.thickness, last[2] | 0);
261
+ this.complex.indexes.push(this.currentIndex);
262
+ positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, this.thickness, last[2] | 0);
263
+ this.complex.indexes.push(this.currentIndex);
264
+ this.currentIndex++;
265
+ } else {
282
266
  this.extrusions(positions, normals, last, this.normal, this.thickness, this.totalDistance - segmentDistance);
283
267
  }
284
-
285
- indices.push(index + 0, index + 1, index + 2);
286
-
287
- if (!next) {
288
- computeNormal(this.normal, lineA);
289
- this.extrusions(positions, normals, cur, this.normal, this.thickness, this.totalDistance);
290
- indices.push.apply(indices, (0, _toConsumableArray2.default)(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
291
- count += 2;
268
+ }
269
+ indices.push(index + 0, index + 1, index + 2);
270
+ if (!next) {
271
+ computeNormal(this.normal, lineA);
272
+ if (capSquare) {
273
+ const out1 = import_gl_matrix.vec2.create();
274
+ const out2 = import_gl_matrix.vec2.create();
275
+ import_gl_matrix.vec2.sub(out2, lineA, this.normal);
276
+ import_gl_matrix.vec2.add(out1, lineA, this.normal);
277
+ normals.push(out2[0], out2[1], 0);
278
+ normals.push(out1[0], out1[1], 0);
279
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
280
+ this.complex.indexes.push(this.currentIndex);
281
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
282
+ this.complex.indexes.push(this.currentIndex);
283
+ this.currentIndex++;
292
284
  } else {
293
- var flatNext = (0, _l7Utils.aProjectFlat)([next[0], next[1]]);
294
-
295
- if (isPointEqual(flatCur, flatNext)) {
296
- _glMatrix.vec2.add(flatNext, flatCur, _glMatrix.vec2.normalize(flatNext, _glMatrix.vec2.subtract(flatNext, flatCur, flatLast)));
285
+ this.extrusions(positions, normals, cur, this.normal, this.thickness, this.totalDistance);
286
+ }
287
+ indices.push(...this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]);
288
+ count += 2;
289
+ } else {
290
+ if (isPointEqual(cur, next)) {
291
+ import_gl_matrix.vec2.add(next, cur, import_gl_matrix.vec2.normalize(next, import_gl_matrix.vec2.subtract(next, cur, last)));
292
+ }
293
+ direction(lineB, next, cur);
294
+ const [miterLen, miter] = computeMiter(tangent, import_gl_matrix.vec2.create(), lineA, lineB, this.thickness);
295
+ let flip = import_gl_matrix.vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
296
+ let bevel = joinBevel;
297
+ if (!bevel && this.join === "miter") {
298
+ const limit = miterLen;
299
+ if (limit > this.miterLimit) {
300
+ bevel = true;
297
301
  }
298
-
299
- direction(lineB, flatNext, flatCur);
300
-
301
- var _computeMiter = computeMiter(tangent, _glMatrix.vec2.create(), lineA, lineB, this.thickness),
302
- _computeMiter2 = (0, _slicedToArray2.default)(_computeMiter, 2),
303
- miterLen = _computeMiter2[0],
304
- miter = _computeMiter2[1];
305
-
306
- var flip = _glMatrix.vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
302
+ }
303
+ if (bevel) {
304
+ normals.push(this.normal[0], this.normal[1], 0);
305
+ normals.push(miter[0], miter[1], 0);
306
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
307
+ this.complex.indexes.push(this.currentIndex);
308
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness * flip, cur[2] | 0);
309
+ this.complex.indexes.push(this.currentIndex);
310
+ this.currentIndex++;
311
+ indices.push(...this.lastFlip !== -flip ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]);
312
+ indices.push(index + 2, index + 3, index + 4);
313
+ computeNormal(tmp, lineB);
314
+ import_gl_matrix.vec2.copy(this.normal, tmp);
315
+ normals.push(this.normal[0], this.normal[1], 0);
316
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
317
+ this.complex.indexes.push(this.currentIndex);
318
+ this.currentIndex++;
319
+ count += 3;
320
+ } else {
307
321
  this.extrusions(positions, normals, cur, miter, miterLen, this.totalDistance);
308
- indices.push.apply(indices, (0, _toConsumableArray2.default)(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
322
+ indices.push(...this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]);
309
323
  flip = -1;
310
-
311
- _glMatrix.vec2.copy(this.normal, miter);
312
-
324
+ import_gl_matrix.vec2.copy(this.normal, miter);
313
325
  count += 2;
314
- this.lastFlip = flip;
315
326
  }
316
-
317
- return count;
327
+ this.lastFlip = flip;
318
328
  }
319
- }, {
320
- key: "segment_gaode2",
321
- value: function segment_gaode2(complex, index, last, cur, next, originLast, originCur, originNext) {
322
- var count = 0;
323
- var indices = complex.indices;
324
- var positions = complex.positions;
325
- var normals = complex.normals;
326
- var capSquare = this.cap === 'square';
327
- var joinBevel = this.join === 'bevel';
328
- var flatCur = (0, _l7Utils.aProjectFlat)([originCur[0], originCur[1]]);
329
- var flatLast = (0, _l7Utils.aProjectFlat)([originLast[0], originLast[1]]);
330
- direction(lineA, cur, last);
331
- var segmentDistance = 0;
332
-
333
- if (this.dash) {
334
- segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
335
- this.totalDistance += segmentDistance;
336
- }
337
-
338
- if (!this.normal) {
339
- this.normal = _glMatrix.vec2.create();
340
- computeNormal(this.normal, lineA);
341
- }
342
-
343
- if (!this.started) {
344
- this.started = true;
345
-
346
- if (capSquare) {
347
- var out1 = _glMatrix.vec2.create();
348
-
349
- var out2 = _glMatrix.vec2.create();
350
-
351
- _glMatrix.vec2.add(out1, this.normal, lineA);
352
-
353
- _glMatrix.vec2.add(out2, this.normal, lineA);
354
-
355
- normals.push(out2[0], out2[1], 0);
356
- normals.push(out1[0], out1[1], 0);
357
- positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, -this.thickness, last[2] | 0);
358
- this.complex.indexes.push(this.currentIndex);
359
- positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, this.thickness, last[2] | 0);
360
- this.complex.indexes.push(this.currentIndex);
361
- this.currentIndex++;
362
- } else {
363
- this.extrusions(positions, normals, last, this.normal, this.thickness, this.totalDistance - segmentDistance);
364
- }
365
- }
366
-
367
- indices.push(index + 0, index + 1, index + 2);
368
-
369
- if (!next) {
370
- computeNormal(this.normal, lineA);
371
-
372
- if (capSquare) {
373
- var _out = _glMatrix.vec2.create();
374
-
375
- var _out2 = _glMatrix.vec2.create();
376
-
377
- _glMatrix.vec2.sub(_out2, lineA, this.normal);
378
-
379
- _glMatrix.vec2.add(_out, lineA, this.normal);
380
-
381
- normals.push(_out2[0], _out2[1], 0);
382
- normals.push(_out[0], _out[1], 0);
383
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
384
- this.complex.indexes.push(this.currentIndex);
385
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
386
- this.complex.indexes.push(this.currentIndex);
387
- this.currentIndex++;
388
- } else {
389
- this.extrusions(positions, normals, cur, this.normal, this.thickness, this.totalDistance);
390
- }
391
-
392
- indices.push.apply(indices, (0, _toConsumableArray2.default)(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
393
- count += 2;
329
+ return count;
330
+ }
331
+ segment(complex, index, last, cur, next) {
332
+ let count = 0;
333
+ const indices = complex.indices;
334
+ const positions = complex.positions;
335
+ const normals = complex.normals;
336
+ const capSquare = this.cap === "square";
337
+ const joinBevel = this.join === "bevel";
338
+ const flatCur = (0, import_l7_utils.aProjectFlat)([cur[0], cur[1]]);
339
+ const flatLast = (0, import_l7_utils.aProjectFlat)([last[0], last[1]]);
340
+ direction(lineA, flatCur, flatLast);
341
+ let segmentDistance = 0;
342
+ if (this.dash) {
343
+ segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
344
+ this.totalDistance += segmentDistance;
345
+ }
346
+ if (!this.normal) {
347
+ this.normal = import_gl_matrix.vec2.create();
348
+ computeNormal(this.normal, lineA);
349
+ }
350
+ if (!this.started) {
351
+ this.started = true;
352
+ if (capSquare) {
353
+ const out1 = import_gl_matrix.vec2.create();
354
+ const out2 = import_gl_matrix.vec2.create();
355
+ import_gl_matrix.vec2.add(out1, this.normal, lineA);
356
+ import_gl_matrix.vec2.add(out2, this.normal, lineA);
357
+ normals.push(out2[0], out2[1], 0);
358
+ normals.push(out1[0], out1[1], 0);
359
+ positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, -this.thickness, last[2] | 0);
360
+ this.complex.indexes.push(this.currentIndex);
361
+ positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, this.thickness, last[2] | 0);
362
+ this.complex.indexes.push(this.currentIndex);
363
+ this.currentIndex++;
394
364
  } else {
395
- if (isPointEqual(cur, next)) {
396
- _glMatrix.vec2.add(next, cur, _glMatrix.vec2.normalize(next, _glMatrix.vec2.subtract(next, cur, last)));
397
- }
398
-
399
- direction(lineB, next, cur);
400
-
401
- var _computeMiter3 = computeMiter(tangent, _glMatrix.vec2.create(), lineA, lineB, this.thickness),
402
- _computeMiter4 = (0, _slicedToArray2.default)(_computeMiter3, 2),
403
- miterLen = _computeMiter4[0],
404
- miter = _computeMiter4[1];
405
-
406
- var flip = _glMatrix.vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
407
- var bevel = joinBevel;
408
-
409
- if (!bevel && this.join === 'miter') {
410
- var limit = miterLen;
411
-
412
- if (limit > this.miterLimit) {
413
- bevel = true;
414
- }
415
- }
416
-
417
- if (bevel) {
418
- normals.push(this.normal[0], this.normal[1], 0);
419
- normals.push(miter[0], miter[1], 0);
420
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
421
- this.complex.indexes.push(this.currentIndex);
422
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness * flip, cur[2] | 0);
423
- this.complex.indexes.push(this.currentIndex);
424
- this.currentIndex++;
425
- indices.push.apply(indices, (0, _toConsumableArray2.default)(this.lastFlip !== -flip ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
426
- indices.push(index + 2, index + 3, index + 4);
427
- computeNormal(tmp, lineB);
428
-
429
- _glMatrix.vec2.copy(this.normal, tmp);
430
-
431
- normals.push(this.normal[0], this.normal[1], 0);
432
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
433
- this.complex.indexes.push(this.currentIndex);
434
- this.currentIndex++;
435
- count += 3;
436
- } else {
437
- this.extrusions(positions, normals, cur, miter, miterLen, this.totalDistance);
438
- indices.push.apply(indices, (0, _toConsumableArray2.default)(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
439
- flip = -1;
440
-
441
- _glMatrix.vec2.copy(this.normal, miter);
442
-
443
- count += 2;
444
- }
445
-
446
- this.lastFlip = flip;
365
+ this.extrusions(positions, normals, last, this.normal, this.thickness, this.totalDistance - segmentDistance);
447
366
  }
448
-
449
- return count;
450
367
  }
451
- }, {
452
- key: "segment",
453
- value: function segment(complex, index, last, cur, next) {
454
- var count = 0;
455
- var indices = complex.indices;
456
- var positions = complex.positions;
457
- var normals = complex.normals;
458
- var capSquare = this.cap === 'square';
459
- var joinBevel = this.join === 'bevel';
460
- var flatCur = (0, _l7Utils.aProjectFlat)([cur[0], cur[1]]);
461
- var flatLast = (0, _l7Utils.aProjectFlat)([last[0], last[1]]);
462
- direction(lineA, flatCur, flatLast);
463
- var segmentDistance = 0;
464
-
465
- if (this.dash) {
466
- segmentDistance = this.lineSegmentDistance(flatCur, flatLast);
467
- this.totalDistance += segmentDistance;
368
+ indices.push(index + 0, index + 1, index + 2);
369
+ if (!next) {
370
+ computeNormal(this.normal, lineA);
371
+ if (capSquare) {
372
+ const out1 = import_gl_matrix.vec2.create();
373
+ const out2 = import_gl_matrix.vec2.create();
374
+ import_gl_matrix.vec2.sub(out2, lineA, this.normal);
375
+ import_gl_matrix.vec2.add(out1, lineA, this.normal);
376
+ normals.push(out2[0], out2[1], 0);
377
+ normals.push(out1[0], out1[1], 0);
378
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
379
+ this.complex.indexes.push(this.currentIndex);
380
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
381
+ this.complex.indexes.push(this.currentIndex);
382
+ this.currentIndex++;
383
+ } else {
384
+ this.extrusions(positions, normals, cur, this.normal, this.thickness, this.totalDistance);
468
385
  }
469
-
470
- if (!this.normal) {
471
- this.normal = _glMatrix.vec2.create();
472
- computeNormal(this.normal, lineA);
386
+ indices.push(...this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]);
387
+ count += 2;
388
+ } else {
389
+ const flatNext = (0, import_l7_utils.aProjectFlat)([next[0], next[1]]);
390
+ if (isPointEqual(flatCur, flatNext)) {
391
+ import_gl_matrix.vec2.add(flatNext, flatCur, import_gl_matrix.vec2.normalize(flatNext, import_gl_matrix.vec2.subtract(flatNext, flatCur, flatLast)));
473
392
  }
474
-
475
- if (!this.started) {
476
- this.started = true;
477
-
478
- if (capSquare) {
479
- var out1 = _glMatrix.vec2.create();
480
-
481
- var out2 = _glMatrix.vec2.create();
482
-
483
- _glMatrix.vec2.add(out1, this.normal, lineA);
484
-
485
- _glMatrix.vec2.add(out2, this.normal, lineA);
486
-
487
- normals.push(out2[0], out2[1], 0);
488
- normals.push(out1[0], out1[1], 0);
489
- positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, -this.thickness, last[2] | 0);
490
- this.complex.indexes.push(this.currentIndex);
491
- positions.push(last[0], last[1], last[2] | 0, this.totalDistance - segmentDistance, this.thickness, last[2] | 0);
492
- this.complex.indexes.push(this.currentIndex);
493
- this.currentIndex++;
494
- } else {
495
- this.extrusions(positions, normals, last, this.normal, this.thickness, this.totalDistance - segmentDistance);
393
+ direction(lineB, flatNext, flatCur);
394
+ const [miterLen, miter] = computeMiter(tangent, import_gl_matrix.vec2.create(), lineA, lineB, this.thickness);
395
+ let flip = import_gl_matrix.vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
396
+ let bevel = joinBevel;
397
+ if (!bevel && this.join === "miter") {
398
+ const limit = miterLen;
399
+ if (limit > this.miterLimit) {
400
+ bevel = true;
496
401
  }
497
402
  }
498
-
499
- indices.push(index + 0, index + 1, index + 2);
500
-
501
- if (!next) {
502
- computeNormal(this.normal, lineA);
503
-
504
- if (capSquare) {
505
- var _out3 = _glMatrix.vec2.create();
506
-
507
- var _out4 = _glMatrix.vec2.create();
508
-
509
- _glMatrix.vec2.sub(_out4, lineA, this.normal);
510
-
511
- _glMatrix.vec2.add(_out3, lineA, this.normal);
512
-
513
- normals.push(_out4[0], _out4[1], 0);
514
- normals.push(_out3[0], _out3[1], 0);
515
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
516
- this.complex.indexes.push(this.currentIndex);
517
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness, cur[2] | 0);
518
- this.complex.indexes.push(this.currentIndex);
519
- this.currentIndex++;
520
- } else {
521
- this.extrusions(positions, normals, cur, this.normal, this.thickness, this.totalDistance);
522
- }
523
-
524
- indices.push.apply(indices, (0, _toConsumableArray2.default)(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
525
- count += 2;
403
+ if (bevel) {
404
+ normals.push(this.normal[0], this.normal[1], 0);
405
+ normals.push(miter[0], miter[1], 0);
406
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
407
+ this.complex.indexes.push(this.currentIndex);
408
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness * flip, cur[2] | 0);
409
+ this.complex.indexes.push(this.currentIndex);
410
+ this.currentIndex++;
411
+ indices.push(...this.lastFlip !== -flip ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]);
412
+ indices.push(index + 2, index + 3, index + 4);
413
+ computeNormal(tmp, lineB);
414
+ import_gl_matrix.vec2.copy(this.normal, tmp);
415
+ normals.push(this.normal[0], this.normal[1], 0);
416
+ positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
417
+ this.complex.indexes.push(this.currentIndex);
418
+ this.currentIndex++;
419
+ count += 3;
526
420
  } else {
527
- var flatNext = (0, _l7Utils.aProjectFlat)([next[0], next[1]]);
528
-
529
- if (isPointEqual(flatCur, flatNext)) {
530
- _glMatrix.vec2.add(flatNext, flatCur, _glMatrix.vec2.normalize(flatNext, _glMatrix.vec2.subtract(flatNext, flatCur, flatLast)));
531
- }
532
-
533
- direction(lineB, flatNext, flatCur);
534
-
535
- var _computeMiter5 = computeMiter(tangent, _glMatrix.vec2.create(), lineA, lineB, this.thickness),
536
- _computeMiter6 = (0, _slicedToArray2.default)(_computeMiter5, 2),
537
- miterLen = _computeMiter6[0],
538
- miter = _computeMiter6[1];
539
-
540
- var flip = _glMatrix.vec2.dot(tangent, this.normal) < 0 ? -1 : 1;
541
- var bevel = joinBevel;
542
-
543
- if (!bevel && this.join === 'miter') {
544
- var limit = miterLen;
545
-
546
- if (limit > this.miterLimit) {
547
- bevel = true;
548
- }
549
- }
550
-
551
- if (bevel) {
552
- normals.push(this.normal[0], this.normal[1], 0);
553
- normals.push(miter[0], miter[1], 0);
554
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
555
- this.complex.indexes.push(this.currentIndex);
556
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, this.thickness * flip, cur[2] | 0);
557
- this.complex.indexes.push(this.currentIndex);
558
- this.currentIndex++;
559
- indices.push.apply(indices, (0, _toConsumableArray2.default)(this.lastFlip !== -flip ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
560
- indices.push(index + 2, index + 3, index + 4);
561
- computeNormal(tmp, lineB);
562
-
563
- _glMatrix.vec2.copy(this.normal, tmp);
564
-
565
- normals.push(this.normal[0], this.normal[1], 0);
566
- positions.push(cur[0], cur[1], cur[2] | 0, this.totalDistance, -this.thickness * flip, cur[2] | 0);
567
- this.complex.indexes.push(this.currentIndex);
568
- this.currentIndex++;
569
- count += 3;
570
- } else {
571
- this.extrusions(positions, normals, cur, miter, miterLen, this.totalDistance);
572
- indices.push.apply(indices, (0, _toConsumableArray2.default)(this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]));
573
- flip = -1;
574
-
575
- _glMatrix.vec2.copy(this.normal, miter);
576
-
577
- count += 2;
578
- }
579
-
580
- this.lastFlip = flip;
421
+ this.extrusions(positions, normals, cur, miter, miterLen, this.totalDistance);
422
+ indices.push(...this.lastFlip === 1 ? [index, index + 2, index + 3] : [index + 2, index + 1, index + 3]);
423
+ flip = -1;
424
+ import_gl_matrix.vec2.copy(this.normal, miter);
425
+ count += 2;
581
426
  }
582
-
583
- return count;
584
- }
585
- }, {
586
- key: "extrusions",
587
- value: function extrusions(positions, normals, point, normal, thickness, distanceRadio) {
588
- normals.push(normal[0], normal[1], 0);
589
- normals.push(normal[0], normal[1], 0);
590
- positions.push(point[0], point[1], point[2] | 0, distanceRadio, -thickness, point[2] | 0);
591
- this.complex.indexes.push(this.currentIndex);
592
- positions.push(point[0], point[1], point[2] | 0, distanceRadio, thickness, point[2] | 0);
593
- this.complex.indexes.push(this.currentIndex);
594
- this.currentIndex++;
427
+ this.lastFlip = flip;
595
428
  }
596
- }, {
597
- key: "lineSegmentDistance",
598
- value: function lineSegmentDistance(b1, a1) {
599
- var dx = a1[0] - b1[0];
600
- var dy = a1[1] - b1[1];
601
- return Math.sqrt(dx * dx + dy * dy);
602
- }
603
- }]);
604
- return ExtrudePolyline;
605
- }();
606
-
607
- exports.default = ExtrudePolyline;
608
- //# sourceMappingURL=extrude_polyline.js.map
429
+ return count;
430
+ }
431
+ extrusions(positions, normals, point, normal, thickness, distanceRadio) {
432
+ normals.push(normal[0], normal[1], 0);
433
+ normals.push(normal[0], normal[1], 0);
434
+ positions.push(point[0], point[1], point[2] | 0, distanceRadio, -thickness, point[2] | 0);
435
+ this.complex.indexes.push(this.currentIndex);
436
+ positions.push(point[0], point[1], point[2] | 0, distanceRadio, thickness, point[2] | 0);
437
+ this.complex.indexes.push(this.currentIndex);
438
+ this.currentIndex++;
439
+ }
440
+ lineSegmentDistance(b1, a1) {
441
+ const dx = a1[0] - b1[0];
442
+ const dy = a1[1] - b1[1];
443
+ return Math.sqrt(dx * dx + dy * dy);
444
+ }
445
+ };
446
+ // Annotate the CommonJS export names for ESM import in node:
447
+ 0 && (module.exports = {
448
+ computeMiter,
449
+ computeNormal,
450
+ direction
451
+ });