@antv/l7-layers 2.16.1 → 2.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.d.ts +3 -0
  10. package/es/core/BaseLayer.js +360 -528
  11. package/es/core/BaseModel.d.ts +9 -71
  12. package/es/core/BaseModel.js +118 -429
  13. package/es/core/CommonStyleAttribute.d.ts +2 -0
  14. package/es/core/CommonStyleAttribute.js +66 -0
  15. package/es/core/LayerPickService.js +21 -32
  16. package/es/core/TextureService.js +0 -13
  17. package/es/core/interface.d.ts +13 -3
  18. package/es/core/interface.js +17 -24
  19. package/es/core/shape/Path.js +13 -20
  20. package/es/core/shape/extrude.js +27 -36
  21. package/es/core/triangulation.d.ts +12 -0
  22. package/es/core/triangulation.js +124 -114
  23. package/es/earth/index.js +9 -33
  24. package/es/earth/models/atmosphere.js +30 -54
  25. package/es/earth/models/base.js +47 -85
  26. package/es/earth/models/bloomsphere.js +30 -54
  27. package/es/earth/utils.js +9 -13
  28. package/es/heatmap/index.js +10 -40
  29. package/es/heatmap/models/grid.js +29 -53
  30. package/es/heatmap/models/grid3d.js +29 -53
  31. package/es/heatmap/models/heatmap.d.ts +1 -0
  32. package/es/heatmap/models/heatmap.js +99 -150
  33. package/es/heatmap/models/hexagon.js +29 -53
  34. package/es/heatmap/shaders/grid_vert.glsl +2 -2
  35. package/es/heatmap/shaders/hexagon_3d_vert.glsl +2 -2
  36. package/es/heatmap/shaders/hexagon_vert.glsl +2 -2
  37. package/es/heatmap/triangulation.js +0 -4
  38. package/es/image/index.js +9 -28
  39. package/es/image/models/image.js +66 -100
  40. package/es/index.js +9 -17
  41. package/es/line/index.d.ts +1 -0
  42. package/es/line/index.js +12 -36
  43. package/es/line/models/arc.js +72 -160
  44. package/es/line/models/arc_3d.js +67 -148
  45. package/es/line/models/earthArc_3d.js +66 -148
  46. package/es/line/models/{half.d.ts → flow.d.ts} +1 -11
  47. package/es/line/models/flow.js +167 -0
  48. package/es/line/models/great_circle.js +57 -135
  49. package/es/line/models/index.d.ts +1 -1
  50. package/es/line/models/index.js +3 -3
  51. package/es/line/models/line.js +98 -186
  52. package/es/line/models/linearline.js +46 -115
  53. package/es/line/models/simpleLine.d.ts +0 -1
  54. package/es/line/models/simpleLine.js +42 -114
  55. package/es/line/models/wall.js +52 -92
  56. package/es/line/shaders/dash/arc_dash_frag.glsl +3 -6
  57. package/es/line/shaders/dash/arc_dash_vert.glsl +6 -46
  58. package/es/line/shaders/dash/line_dash_frag.glsl +4 -7
  59. package/es/line/shaders/dash/line_dash_vert.glsl +3 -33
  60. package/es/line/shaders/flow/flow_line_frag.glsl +13 -0
  61. package/es/line/shaders/flow/flow_line_vert.glsl +83 -0
  62. package/es/line/shaders/line_arc_3d_frag.glsl +6 -6
  63. package/es/line/shaders/line_arc_3d_vert.glsl +4 -34
  64. package/es/line/shaders/line_arc_frag.glsl +7 -11
  65. package/es/line/shaders/line_arc_great_circle_frag.glsl +5 -6
  66. package/es/line/shaders/line_arc_great_circle_vert.glsl +4 -32
  67. package/es/line/shaders/line_arc_vert.glsl +9 -45
  68. package/es/line/shaders/line_frag.glsl +15 -17
  69. package/es/line/shaders/line_vert.glsl +3 -34
  70. package/es/line/shaders/linear/arc3d_linear_frag.glsl +5 -19
  71. package/es/line/shaders/linear/arc3d_linear_vert.glsl +9 -48
  72. package/es/line/shaders/linear/arc_linear_frag.glsl +2 -30
  73. package/es/line/shaders/linear/arc_linear_vert.glsl +9 -45
  74. package/es/line/shaders/linear/line_linear_frag.glsl +5 -6
  75. package/es/line/shaders/linearLine/line_linear_frag.glsl +2 -14
  76. package/es/line/shaders/linearLine/line_linear_vert.glsl +14 -32
  77. package/es/line/shaders/simple/simpleline_frag.glsl +1 -5
  78. package/es/line/shaders/simple/simpleline_linear_frag.glsl +2 -6
  79. package/es/line/shaders/simple/simpleline_vert.glsl +7 -33
  80. package/es/mask/index.js +9 -28
  81. package/es/mask/models/fill.js +29 -54
  82. package/es/plugins/DataMappingPlugin.js +90 -141
  83. package/es/plugins/DataSourcePlugin.js +45 -68
  84. package/es/plugins/FeatureScalePlugin.js +67 -122
  85. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  86. package/es/plugins/LayerMaskPlugin.js +3 -11
  87. package/es/plugins/LayerModelPlugin.js +79 -104
  88. package/es/plugins/LayerStylePlugin.js +3 -9
  89. package/es/plugins/LightingPlugin.js +12 -18
  90. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  91. package/es/plugins/PixelPickingPlugin.js +12 -21
  92. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  93. package/es/plugins/ShaderUniformPlugin.js +15 -29
  94. package/es/plugins/UpdateModelPlugin.js +0 -5
  95. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  96. package/es/point/index.d.ts +1 -0
  97. package/es/point/index.js +27 -77
  98. package/es/point/models/earthExtrude.d.ts +0 -3
  99. package/es/point/models/earthExtrude.js +60 -139
  100. package/es/point/models/earthFill.d.ts +0 -1
  101. package/es/point/models/earthFill.js +59 -140
  102. package/es/point/models/extrude.d.ts +0 -3
  103. package/es/point/models/extrude.js +60 -140
  104. package/es/point/models/fill.d.ts +0 -1
  105. package/es/point/models/fill.js +67 -158
  106. package/es/point/models/fillmage.js +66 -147
  107. package/es/point/models/image.js +52 -126
  108. package/es/point/models/index.js +2 -2
  109. package/es/point/models/normal.js +32 -56
  110. package/es/point/models/radar.d.ts +0 -1
  111. package/es/point/models/radar.js +42 -75
  112. package/es/point/models/simplePoint.d.ts +0 -1
  113. package/es/point/models/simplePoint.js +46 -115
  114. package/es/point/models/text.js +211 -344
  115. package/es/point/shaders/animate/wave_frag.glsl +1 -11
  116. package/es/point/shaders/earth/extrude_frag.glsl +5 -17
  117. package/es/point/shaders/earth/extrude_vert.glsl +14 -29
  118. package/es/point/shaders/earth/fill_frag.glsl +5 -14
  119. package/es/point/shaders/earth/fill_vert.glsl +1 -75
  120. package/es/point/shaders/extrude/extrude_frag.glsl +3 -29
  121. package/es/point/shaders/extrude/extrude_vert.glsl +27 -35
  122. package/es/point/shaders/fill_frag.glsl +9 -20
  123. package/es/point/shaders/fill_vert.glsl +16 -101
  124. package/es/point/shaders/image/fillImage_frag.glsl +2 -5
  125. package/es/point/shaders/image/fillImage_vert.glsl +4 -47
  126. package/es/point/shaders/image_frag.glsl +1 -5
  127. package/es/point/shaders/image_vert.glsl +1 -44
  128. package/es/point/shaders/normal_frag.glsl +0 -2
  129. package/es/point/shaders/normal_vert.glsl +2 -1
  130. package/es/point/shaders/radar/radar_vert.glsl +2 -2
  131. package/es/point/shaders/simplePoint_frag.glsl +0 -7
  132. package/es/point/shaders/simplePoint_vert.glsl +3 -45
  133. package/es/point/shaders/text_frag.glsl +6 -19
  134. package/es/point/shaders/text_vert.glsl +5 -66
  135. package/es/point/shape/extrude.js +4 -13
  136. package/es/polygon/index.d.ts +1 -0
  137. package/es/polygon/index.js +12 -40
  138. package/es/polygon/models/extrude.d.ts +0 -3
  139. package/es/polygon/models/extrude.js +122 -162
  140. package/es/polygon/models/fill.d.ts +0 -4
  141. package/es/polygon/models/fill.js +57 -130
  142. package/es/polygon/models/index.js +3 -2
  143. package/es/polygon/models/ocean.js +42 -76
  144. package/es/polygon/models/water.js +37 -71
  145. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -23
  146. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +7 -5
  147. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +7 -32
  148. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +33 -38
  149. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +12 -9
  150. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +16 -44
  151. package/es/polygon/shaders/polygon_frag.glsl +0 -5
  152. package/es/polygon/shaders/polygon_linear_frag.glsl +0 -8
  153. package/es/polygon/shaders/polygon_linear_vert.glsl +0 -32
  154. package/es/polygon/shaders/polygon_vert.glsl +1 -27
  155. package/es/raster/buffers/triangulation.js +2 -4
  156. package/es/raster/index.js +9 -32
  157. package/es/raster/models/raster.js +80 -116
  158. package/es/raster/models/rasterRgb.js +84 -127
  159. package/es/raster/models/rasterTerrainRgb.js +56 -84
  160. package/es/tile/interaction/getRasterData.js +14 -20
  161. package/es/tile/interaction/utils.js +7 -9
  162. package/es/tile/manager/base.js +63 -96
  163. package/es/tile/service/TileLayerService.js +33 -55
  164. package/es/tile/service/TilePickService.js +26 -40
  165. package/es/tile/service/TileSourceService.js +3 -7
  166. package/es/tile/tileFactory/DebugTile.js +29 -46
  167. package/es/tile/tileFactory/ImageTile.js +20 -38
  168. package/es/tile/tileFactory/MaskTile.js +22 -43
  169. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  170. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  171. package/es/tile/tileFactory/RasterTile.js +30 -53
  172. package/es/tile/tileFactory/Tile.js +63 -97
  173. package/es/tile/tileFactory/VectorTile.js +41 -68
  174. package/es/tile/tileFactory/index.js +0 -11
  175. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  176. package/es/tile/tileFactory/util.js +0 -3
  177. package/es/tile/tileLayer/BaseLayer.js +105 -146
  178. package/es/tile/utils.js +1 -1
  179. package/es/utils/blend.js +0 -2
  180. package/es/utils/collision-index.js +9 -16
  181. package/es/utils/extrude_polyline.js +101 -149
  182. package/es/utils/grid-index.js +2 -27
  183. package/es/utils/identityScale.js +0 -8
  184. package/es/utils/layerData.js +32 -46
  185. package/es/utils/multiPassRender.js +11 -13
  186. package/es/utils/polylineNormal.js +31 -37
  187. package/es/utils/simpleLine.js +2 -16
  188. package/es/utils/stencil.js +2 -3
  189. package/es/utils/symbol-layout.js +27 -53
  190. package/es/wind/index.js +9 -29
  191. package/es/wind/models/utils.js +26 -51
  192. package/es/wind/models/wind.js +101 -147
  193. package/es/wind/models/windRender.js +53 -66
  194. package/lib/Geometry/index.js +9 -38
  195. package/lib/Geometry/models/billboard.js +51 -97
  196. package/lib/Geometry/models/index.js +0 -5
  197. package/lib/Geometry/models/plane.js +79 -151
  198. package/lib/Geometry/models/sprite.js +60 -127
  199. package/lib/canvas/index.js +10 -40
  200. package/lib/canvas/models/canvas.js +41 -101
  201. package/lib/canvas/models/index.js +0 -3
  202. package/lib/citybuliding/building.js +8 -35
  203. package/lib/citybuliding/models/build.js +57 -92
  204. package/lib/core/BaseLayer.js +358 -520
  205. package/lib/core/BaseModel.js +117 -441
  206. package/lib/core/CommonStyleAttribute.js +72 -0
  207. package/lib/core/LayerPickService.js +21 -37
  208. package/lib/core/TextureService.js +0 -16
  209. package/lib/core/interface.js +21 -31
  210. package/lib/core/schema.js +0 -1
  211. package/lib/core/shape/Path.js +14 -31
  212. package/lib/core/shape/extrude.js +27 -59
  213. package/lib/core/triangulation.js +125 -153
  214. package/lib/earth/index.js +9 -43
  215. package/lib/earth/models/atmosphere.js +30 -63
  216. package/lib/earth/models/base.js +47 -90
  217. package/lib/earth/models/bloomsphere.js +30 -63
  218. package/lib/earth/utils.js +7 -31
  219. package/lib/heatmap/index.js +10 -48
  220. package/lib/heatmap/models/grid.js +29 -61
  221. package/lib/heatmap/models/grid3d.js +29 -61
  222. package/lib/heatmap/models/heatmap.js +99 -166
  223. package/lib/heatmap/models/hexagon.js +29 -61
  224. package/lib/heatmap/models/index.js +0 -6
  225. package/lib/heatmap/shaders/grid_vert.glsl +2 -2
  226. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +2 -2
  227. package/lib/heatmap/shaders/hexagon_vert.glsl +2 -2
  228. package/lib/heatmap/triangulation.js +0 -5
  229. package/lib/image/index.js +9 -36
  230. package/lib/image/models/image.js +66 -109
  231. package/lib/image/models/index.js +0 -3
  232. package/lib/index.js +7 -61
  233. package/lib/line/index.js +12 -42
  234. package/lib/line/models/arc.js +70 -170
  235. package/lib/line/models/arc_3d.js +65 -159
  236. package/lib/line/models/earthArc_3d.js +64 -159
  237. package/lib/line/models/flow.js +174 -0
  238. package/lib/line/models/great_circle.js +57 -146
  239. package/lib/line/models/index.js +3 -14
  240. package/lib/line/models/line.js +96 -194
  241. package/lib/line/models/linearline.js +46 -127
  242. package/lib/line/models/simpleLine.js +42 -124
  243. package/lib/line/models/wall.js +52 -103
  244. package/lib/line/shaders/dash/arc_dash_frag.glsl +3 -6
  245. package/lib/line/shaders/dash/arc_dash_vert.glsl +6 -46
  246. package/lib/line/shaders/dash/line_dash_frag.glsl +4 -7
  247. package/lib/line/shaders/dash/line_dash_vert.glsl +3 -33
  248. package/lib/line/shaders/flow/flow_line_frag.glsl +13 -0
  249. package/lib/line/shaders/flow/flow_line_vert.glsl +83 -0
  250. package/lib/line/shaders/line_arc_3d_frag.glsl +6 -6
  251. package/lib/line/shaders/line_arc_3d_vert.glsl +4 -34
  252. package/lib/line/shaders/line_arc_frag.glsl +7 -11
  253. package/lib/line/shaders/line_arc_great_circle_frag.glsl +5 -6
  254. package/lib/line/shaders/line_arc_great_circle_vert.glsl +4 -32
  255. package/lib/line/shaders/line_arc_vert.glsl +9 -45
  256. package/lib/line/shaders/line_frag.glsl +15 -17
  257. package/lib/line/shaders/line_vert.glsl +3 -34
  258. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +5 -19
  259. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +9 -48
  260. package/lib/line/shaders/linear/arc_linear_frag.glsl +2 -30
  261. package/lib/line/shaders/linear/arc_linear_vert.glsl +9 -45
  262. package/lib/line/shaders/linear/line_linear_frag.glsl +5 -6
  263. package/lib/line/shaders/linearLine/line_linear_frag.glsl +2 -14
  264. package/lib/line/shaders/linearLine/line_linear_vert.glsl +14 -32
  265. package/lib/line/shaders/simple/simpleline_frag.glsl +1 -5
  266. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +2 -6
  267. package/lib/line/shaders/simple/simpleline_vert.glsl +7 -33
  268. package/lib/mask/index.js +9 -36
  269. package/lib/mask/models/fill.js +29 -63
  270. package/lib/mask/models/index.js +0 -3
  271. package/lib/plugins/DataMappingPlugin.js +90 -152
  272. package/lib/plugins/DataSourcePlugin.js +45 -76
  273. package/lib/plugins/FeatureScalePlugin.js +67 -138
  274. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  275. package/lib/plugins/LayerMaskPlugin.js +4 -17
  276. package/lib/plugins/LayerModelPlugin.js +80 -113
  277. package/lib/plugins/LayerStylePlugin.js +4 -14
  278. package/lib/plugins/LightingPlugin.js +12 -25
  279. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  280. package/lib/plugins/PixelPickingPlugin.js +12 -27
  281. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  282. package/lib/plugins/ShaderUniformPlugin.js +15 -36
  283. package/lib/plugins/UpdateModelPlugin.js +1 -10
  284. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  285. package/lib/point/index.js +27 -83
  286. package/lib/point/models/earthExtrude.js +60 -150
  287. package/lib/point/models/earthFill.js +59 -170
  288. package/lib/point/models/extrude.js +60 -150
  289. package/lib/point/models/fill.js +65 -167
  290. package/lib/point/models/fillmage.js +64 -155
  291. package/lib/point/models/image.js +52 -136
  292. package/lib/point/models/index.js +1 -12
  293. package/lib/point/models/normal.js +32 -66
  294. package/lib/point/models/radar.js +42 -85
  295. package/lib/point/models/simplePoint.js +46 -125
  296. package/lib/point/models/text.js +209 -350
  297. package/lib/point/shaders/animate/wave_frag.glsl +1 -11
  298. package/lib/point/shaders/earth/extrude_frag.glsl +5 -17
  299. package/lib/point/shaders/earth/extrude_vert.glsl +14 -29
  300. package/lib/point/shaders/earth/fill_frag.glsl +5 -14
  301. package/lib/point/shaders/earth/fill_vert.glsl +1 -75
  302. package/lib/point/shaders/extrude/extrude_frag.glsl +3 -29
  303. package/lib/point/shaders/extrude/extrude_vert.glsl +27 -35
  304. package/lib/point/shaders/fill_frag.glsl +9 -20
  305. package/lib/point/shaders/fill_vert.glsl +16 -101
  306. package/lib/point/shaders/image/fillImage_frag.glsl +2 -5
  307. package/lib/point/shaders/image/fillImage_vert.glsl +4 -47
  308. package/lib/point/shaders/image_frag.glsl +1 -5
  309. package/lib/point/shaders/image_vert.glsl +1 -44
  310. package/lib/point/shaders/normal_frag.glsl +0 -2
  311. package/lib/point/shaders/normal_vert.glsl +2 -1
  312. package/lib/point/shaders/radar/radar_vert.glsl +2 -2
  313. package/lib/point/shaders/simplePoint_frag.glsl +0 -7
  314. package/lib/point/shaders/simplePoint_vert.glsl +3 -45
  315. package/lib/point/shaders/text_frag.glsl +6 -19
  316. package/lib/point/shaders/text_vert.glsl +5 -66
  317. package/lib/point/shape/extrude.js +4 -20
  318. package/lib/polygon/index.js +12 -48
  319. package/lib/polygon/models/extrude.js +122 -173
  320. package/lib/polygon/models/fill.js +57 -140
  321. package/lib/polygon/models/index.js +2 -14
  322. package/lib/polygon/models/ocean.js +42 -88
  323. package/lib/polygon/models/water.js +37 -82
  324. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -23
  325. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +7 -5
  326. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +7 -32
  327. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +33 -38
  328. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +12 -9
  329. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +16 -44
  330. package/lib/polygon/shaders/polygon_frag.glsl +0 -5
  331. package/lib/polygon/shaders/polygon_linear_frag.glsl +0 -8
  332. package/lib/polygon/shaders/polygon_linear_vert.glsl +0 -32
  333. package/lib/polygon/shaders/polygon_vert.glsl +1 -27
  334. package/lib/raster/buffers/triangulation.js +3 -7
  335. package/lib/raster/index.js +9 -40
  336. package/lib/raster/models/index.js +0 -5
  337. package/lib/raster/models/raster.js +80 -125
  338. package/lib/raster/models/rasterRgb.js +84 -139
  339. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  340. package/lib/tile/interaction/getRasterData.js +14 -25
  341. package/lib/tile/interaction/utils.js +7 -19
  342. package/lib/tile/manager/base.js +63 -104
  343. package/lib/tile/service/TileLayerService.js +33 -60
  344. package/lib/tile/service/TilePickService.js +26 -48
  345. package/lib/tile/service/TileSourceService.js +2 -16
  346. package/lib/tile/style/utils.js +0 -3
  347. package/lib/tile/tileFactory/DebugTile.js +29 -54
  348. package/lib/tile/tileFactory/ImageTile.js +20 -46
  349. package/lib/tile/tileFactory/MaskTile.js +22 -51
  350. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  351. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  352. package/lib/tile/tileFactory/RasterTile.js +30 -63
  353. package/lib/tile/tileFactory/Tile.js +63 -102
  354. package/lib/tile/tileFactory/VectorTile.js +41 -76
  355. package/lib/tile/tileFactory/index.js +0 -25
  356. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  357. package/lib/tile/tileFactory/util.js +0 -9
  358. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  359. package/lib/tile/utils.js +1 -5
  360. package/lib/utils/blend.js +0 -5
  361. package/lib/utils/collision-index.js +9 -25
  362. package/lib/utils/extrude_polyline.js +101 -181
  363. package/lib/utils/grid-index.js +2 -28
  364. package/lib/utils/identityScale.js +0 -9
  365. package/lib/utils/layerData.js +32 -51
  366. package/lib/utils/multiPassRender.js +11 -16
  367. package/lib/utils/polylineNormal.js +31 -66
  368. package/lib/utils/simpleLine.js +2 -21
  369. package/lib/utils/stencil.js +0 -4
  370. package/lib/utils/symbol-layout.js +27 -55
  371. package/lib/wind/index.js +9 -37
  372. package/lib/wind/models/index.js +0 -3
  373. package/lib/wind/models/utils.js +26 -62
  374. package/lib/wind/models/wind.js +101 -157
  375. package/lib/wind/models/windRender.js +53 -71
  376. package/lib/wind/models/windShader.js +0 -1
  377. package/package.json +7 -7
  378. package/es/line/models/half.js +0 -298
  379. package/es/line/shaders/half/line_half_frag.glsl +0 -53
  380. package/es/line/shaders/half/line_half_vert.glsl +0 -169
  381. package/es/utils/dataMappingStyle.d.ts +0 -31
  382. package/es/utils/dataMappingStyle.js +0 -147
  383. package/lib/line/models/half.js +0 -315
  384. package/lib/line/shaders/half/line_half_frag.glsl +0 -53
  385. package/lib/line/shaders/half/line_half_vert.glsl +0 -169
  386. package/lib/utils/dataMappingStyle.js +0 -151
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCommonStyleAttributeOptions = getCommonStyleAttributeOptions;
7
+ var _l7Core = require("@antv/l7-core");
8
+ function getCommonStyleAttributeOptions(name) {
9
+ switch (name) {
10
+ case 'stroke':
11
+ return {
12
+ name: 'stroke',
13
+ type: _l7Core.AttributeType.Attribute,
14
+ descriptor: {
15
+ name: 'a_Stroke',
16
+ buffer: {
17
+ // give the WebGL driver a hint that this buffer may change
18
+ usage: _l7Core.gl.DYNAMIC_DRAW,
19
+ data: [],
20
+ type: _l7Core.gl.FLOAT
21
+ },
22
+ size: 4,
23
+ update: function update(feature) {
24
+ var _feature$stroke = feature.stroke,
25
+ stroke = _feature$stroke === void 0 ? [1, 1, 1, 1] : _feature$stroke;
26
+ return stroke;
27
+ }
28
+ }
29
+ };
30
+ case 'opacity':
31
+ return {
32
+ name: 'opacity',
33
+ type: _l7Core.AttributeType.Attribute,
34
+ descriptor: {
35
+ name: 'a_Opacity',
36
+ buffer: {
37
+ // give the WebGL driver a hint that this buffer may change
38
+ usage: _l7Core.gl.STATIC_DRAW,
39
+ data: [],
40
+ type: _l7Core.gl.FLOAT
41
+ },
42
+ size: 1,
43
+ update: function update(feature) {
44
+ var _feature$opacity = feature.opacity,
45
+ op = _feature$opacity === void 0 ? 1 : _feature$opacity;
46
+ return [op];
47
+ }
48
+ }
49
+ };
50
+ case 'offsets':
51
+ return {
52
+ name: 'offsets',
53
+ type: _l7Core.AttributeType.Attribute,
54
+ descriptor: {
55
+ name: 'a_Offsets',
56
+ buffer: {
57
+ // give the WebGL driver a hint that this buffer may change
58
+ usage: _l7Core.gl.STATIC_DRAW,
59
+ data: [],
60
+ type: _l7Core.gl.FLOAT
61
+ },
62
+ size: 2,
63
+ update: function update(feature) {
64
+ var epo = feature.offsets;
65
+ return epo;
66
+ }
67
+ }
68
+ };
69
+ default:
70
+ return undefined;
71
+ }
72
+ }
@@ -1,41 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _l7Core = require("@antv/l7-core");
19
-
20
13
  var _l7Utils = require("@antv/l7-utils");
21
-
22
14
  var BaseLayerPickService = /*#__PURE__*/function () {
23
15
  function BaseLayerPickService(layer) {
24
16
  (0, _classCallCheck2.default)(this, BaseLayerPickService);
25
17
  this.layer = layer;
26
18
  }
27
-
28
19
  (0, _createClass2.default)(BaseLayerPickService, [{
29
20
  key: "pickRender",
30
21
  value: function pickRender(target) {
31
22
  var container = this.layer.getContainer();
32
23
  var layerService = container.get(_l7Core.TYPES.ILayerService);
33
- var layer = this.layer; // 瓦片图层的拾取绘制
34
-
24
+ var layer = this.layer;
25
+ // 瓦片图层的拾取绘制
35
26
  if (layer.tileLayer) {
36
27
  return layer.tileLayer.pickRender(target);
37
28
  }
38
-
39
29
  layer.hooks.beforePickingEncode.call();
40
30
  layerService.renderTileLayerMask(layer);
41
31
  layer.renderModels({
@@ -48,11 +38,9 @@ var BaseLayerPickService = /*#__PURE__*/function () {
48
38
  value: function pick(layer, target) {
49
39
  var container = this.layer.getContainer();
50
40
  var pickingService = container.get(_l7Core.TYPES.IPickingService);
51
-
52
41
  if (layer.type === 'RasterLayer') {
53
42
  return this.pickRasterLayer(layer, target);
54
43
  }
55
-
56
44
  this.pickRender(target);
57
45
  return pickingService.pickFromPickingFBO(layer, target);
58
46
  }
@@ -73,7 +61,6 @@ var BaseLayerPickService = /*#__PURE__*/function () {
73
61
  rasterValue: null
74
62
  };
75
63
  var adviceTarget = parent ? parent : layer;
76
-
77
64
  if (isPick) {
78
65
  var rasterValue = this.readRasterValue(layer, extent, mapService, target.x, target.y);
79
66
  layerTarget.rasterValue = rasterValue;
@@ -92,24 +79,24 @@ var BaseLayerPickService = /*#__PURE__*/function () {
92
79
  key: "readRasterValue",
93
80
  value: function readRasterValue(layer, bbox, mapService, x, y) {
94
81
  var rasterData = layer.getSource().data.dataArray[0];
95
-
96
82
  var _bbox = (0, _slicedToArray2.default)(bbox, 4),
97
- _bbox$ = _bbox[0],
98
- minLng = _bbox$ === void 0 ? 0 : _bbox$,
99
- _bbox$2 = _bbox[1],
100
- minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
101
- _bbox$3 = _bbox[2],
102
- maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
103
- _bbox$4 = _bbox[3],
104
- maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
105
-
83
+ _bbox$ = _bbox[0],
84
+ minLng = _bbox$ === void 0 ? 0 : _bbox$,
85
+ _bbox$2 = _bbox[1],
86
+ minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
87
+ _bbox$3 = _bbox[2],
88
+ maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
89
+ _bbox$4 = _bbox[3],
90
+ maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
106
91
  var tileXY = mapService.lngLatToContainer([minLng, minLat]);
107
92
  var tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);
108
93
  var tilePixelWidth = tileMaxXY.x - tileXY.x;
109
94
  var tilePixelHeight = tileXY.y - tileMaxXY.y;
110
- var pos = [(x - tileXY.x) / tilePixelWidth, // x
95
+ var pos = [(x - tileXY.x) / tilePixelWidth,
96
+ // x
111
97
  (y - tileMaxXY.y) / tilePixelHeight // y
112
98
  ];
99
+
113
100
  var tileWidth = rasterData.width || 1;
114
101
  var tileHeight = rasterData.height || 1;
115
102
  var indexX = Math.floor(pos[0] * tileWidth);
@@ -121,13 +108,12 @@ var BaseLayerPickService = /*#__PURE__*/function () {
121
108
  }, {
122
109
  key: "selectFeature",
123
110
  value: function selectFeature(pickedColors) {
124
- var layer = this.layer; // @ts-ignore
125
-
111
+ var layer = this.layer;
112
+ // @ts-ignore
126
113
  var _pickedColors = (0, _slicedToArray2.default)(pickedColors, 3),
127
- r = _pickedColors[0],
128
- g = _pickedColors[1],
129
- b = _pickedColors[2];
130
-
114
+ r = _pickedColors[0],
115
+ g = _pickedColors[1],
116
+ b = _pickedColors[2];
131
117
  layer.hooks.beforeSelect.call([r, g, b]);
132
118
  }
133
119
  }, {
@@ -135,10 +121,9 @@ var BaseLayerPickService = /*#__PURE__*/function () {
135
121
  value: function highlightPickedFeature(pickedColors) {
136
122
  // @ts-ignore
137
123
  var _pickedColors2 = (0, _slicedToArray2.default)(pickedColors, 3),
138
- r = _pickedColors2[0],
139
- g = _pickedColors2[1],
140
- b = _pickedColors2[2];
141
-
124
+ r = _pickedColors2[0],
125
+ g = _pickedColors2[1],
126
+ b = _pickedColors2[2];
142
127
  this.layer.hooks.beforeHighlight.call([r, g, b]);
143
128
  }
144
129
  }, {
@@ -149,5 +134,4 @@ var BaseLayerPickService = /*#__PURE__*/function () {
149
134
  }]);
150
135
  return BaseLayerPickService;
151
136
  }();
152
-
153
137
  exports.default = BaseLayerPickService;
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _l7Core = require("@antv/l7-core");
15
-
16
11
  var _l7Utils = require("@antv/l7-utils");
17
-
18
12
  var TextureService = /*#__PURE__*/function () {
19
13
  function TextureService(layer) {
20
14
  (0, _classCallCheck2.default)(this, TextureService);
@@ -22,19 +16,16 @@ var TextureService = /*#__PURE__*/function () {
22
16
  var container = this.layer.getContainer();
23
17
  this.rendererService = container.get(_l7Core.TYPES.IRendererService);
24
18
  }
25
-
26
19
  (0, _createClass2.default)(TextureService, [{
27
20
  key: "getColorTexture",
28
21
  value: function getColorTexture(colorRamp, domain) {
29
22
  // TODO 支持传入图片
30
23
  var currentkey = this.getTextureKey(colorRamp, domain);
31
-
32
24
  if (this.key === currentkey) {
33
25
  return this.colorTexture;
34
26
  } else {
35
27
  this.createColorTexture(colorRamp, domain);
36
28
  }
37
-
38
29
  this.key = currentkey;
39
30
  return this.colorTexture;
40
31
  }
@@ -62,7 +53,6 @@ var TextureService = /*#__PURE__*/function () {
62
53
  key: "destroy",
63
54
  value: function destroy() {
64
55
  var _this$colorTexture;
65
-
66
56
  (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
67
57
  }
68
58
  }, {
@@ -71,16 +61,12 @@ var TextureService = /*#__PURE__*/function () {
71
61
  switch (colorRamp.type) {
72
62
  case 'cat':
73
63
  return (0, _l7Utils.generateCatRamp)(colorRamp);
74
-
75
64
  case 'quantize':
76
65
  return (0, _l7Utils.generateQuantizeRamp)(colorRamp);
77
-
78
66
  case 'custom':
79
67
  return (0, _l7Utils.generateCustomRamp)(colorRamp, domain);
80
-
81
68
  case 'linear':
82
69
  return (0, _l7Utils.generateLinearRamp)(colorRamp, domain);
83
-
84
70
  default:
85
71
  return (0, _l7Utils.generateColorRamp)(colorRamp);
86
72
  }
@@ -89,11 +75,9 @@ var TextureService = /*#__PURE__*/function () {
89
75
  key: "getTextureKey",
90
76
  value: function getTextureKey(colorRamp, domain) {
91
77
  var _colorRamp$positions;
92
-
93
78
  return "".concat(colorRamp.colors.join('_'), "_").concat(colorRamp === null || colorRamp === void 0 ? void 0 : (_colorRamp$positions = colorRamp.positions) === null || _colorRamp$positions === void 0 ? void 0 : _colorRamp$positions.join('_'), "_").concat(colorRamp.type, "_").concat(domain === null || domain === void 0 ? void 0 : domain.join('_'));
94
79
  }
95
80
  }]);
96
81
  return TextureService;
97
82
  }();
98
-
99
83
  exports.default = TextureService;
@@ -4,46 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.lineStyleType = exports.TextureBlend = exports.SizeUnitType = exports.LinearDir = exports.CanvasUpdateType = void 0;
7
- var lineStyleType;
8
- exports.lineStyleType = lineStyleType;
9
-
10
- (function (lineStyleType) {
7
+ var lineStyleType = /*#__PURE__*/function (lineStyleType) {
11
8
  lineStyleType[lineStyleType["solid"] = 0] = "solid";
12
9
  lineStyleType[lineStyleType["dash"] = 1] = "dash";
13
- })(lineStyleType || (exports.lineStyleType = lineStyleType = {}));
14
-
15
- var LinearDir;
16
- exports.LinearDir = LinearDir;
17
-
18
- (function (LinearDir) {
10
+ return lineStyleType;
11
+ }({});
12
+ exports.lineStyleType = lineStyleType;
13
+ var LinearDir = /*#__PURE__*/function (LinearDir) {
19
14
  LinearDir["VERTICAL"] = "vertical";
20
15
  LinearDir["HORIZONTAL"] = "horizontal";
21
- })(LinearDir || (exports.LinearDir = LinearDir = {}));
22
-
23
- var TextureBlend;
16
+ return LinearDir;
17
+ }({});
18
+ exports.LinearDir = LinearDir;
19
+ var TextureBlend = /*#__PURE__*/function (TextureBlend) {
20
+ TextureBlend["NORMAL"] = "normal";
21
+ TextureBlend["REPLACE"] = "replace";
22
+ return TextureBlend;
23
+ }({});
24
24
  /**
25
25
  * 基础图层类型定义
26
26
  */
27
-
28
27
  exports.TextureBlend = TextureBlend;
29
-
30
- (function (TextureBlend) {
31
- TextureBlend["NORMAL"] = "normal";
32
- TextureBlend["REPLACE"] = "replace";
33
- })(TextureBlend || (exports.TextureBlend = TextureBlend = {}));
34
-
35
- var SizeUnitType;
36
- exports.SizeUnitType = SizeUnitType;
37
-
38
- (function (SizeUnitType) {
28
+ var SizeUnitType = /*#__PURE__*/function (SizeUnitType) {
39
29
  SizeUnitType[SizeUnitType["pixel"] = 0] = "pixel";
40
30
  SizeUnitType[SizeUnitType["meter"] = 1] = "meter";
41
- })(SizeUnitType || (exports.SizeUnitType = SizeUnitType = {}));
42
-
43
- var CanvasUpdateType;
44
- exports.CanvasUpdateType = CanvasUpdateType;
45
-
46
- (function (CanvasUpdateType) {
31
+ return SizeUnitType;
32
+ }({});
33
+ exports.SizeUnitType = SizeUnitType;
34
+ var CanvasUpdateType = /*#__PURE__*/function (CanvasUpdateType) {
47
35
  CanvasUpdateType["ALWAYS"] = "always";
48
36
  CanvasUpdateType["DRAGEND"] = "dragend";
49
- })(CanvasUpdateType || (exports.CanvasUpdateType = CanvasUpdateType = {}));
37
+ return CanvasUpdateType;
38
+ }({});
39
+ exports.CanvasUpdateType = CanvasUpdateType;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  /**
9
8
  * BaseLayer Schema
10
9
  */
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -13,76 +12,60 @@ exports.pentagon = pentagon;
13
12
  exports.polygonPath = polygonPath;
14
13
  exports.square = square;
15
14
  exports.triangle = triangle;
16
-
17
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
-
19
16
  var _geometryShape;
20
-
21
- var ShapeType3D;
22
- exports.ShapeType3D = ShapeType3D;
23
-
24
- (function (ShapeType3D) {
17
+ var ShapeType3D = /*#__PURE__*/function (ShapeType3D) {
25
18
  ShapeType3D["CYLINDER"] = "cylinder";
26
19
  ShapeType3D["SQUARECOLUMN"] = "squareColumn";
27
20
  ShapeType3D["TRIANGLECOLUMN"] = "triangleColumn";
28
21
  ShapeType3D["HEXAGONCOLUMN"] = "hexagonColumn";
29
22
  ShapeType3D["PENTAGONCOLUMN"] = "pentagonColumn";
30
- })(ShapeType3D || (exports.ShapeType3D = ShapeType3D = {}));
31
-
32
- var ShapeType2D;
23
+ return ShapeType3D;
24
+ }({});
25
+ exports.ShapeType3D = ShapeType3D;
26
+ var ShapeType2D = /*#__PURE__*/function (ShapeType2D) {
27
+ ShapeType2D["CIRCLE"] = "circle";
28
+ ShapeType2D["SQUARE"] = "square";
29
+ ShapeType2D["TRIANGLE"] = "triangle";
30
+ ShapeType2D["HEXAGON"] = "hexagon";
31
+ ShapeType2D["PENTAGON"] = "pentagon";
32
+ return ShapeType2D;
33
+ }({});
33
34
  /**
34
35
  * 生成规则多边形顶点个数
35
36
  * @param pointCount 顶点个数 3 => 三角形
36
37
  * @param start 顶点起始角度 调整图形的方向
37
38
  */
38
-
39
39
  exports.ShapeType2D = ShapeType2D;
40
-
41
- (function (ShapeType2D) {
42
- ShapeType2D["CIRCLE"] = "circle";
43
- ShapeType2D["SQUARE"] = "square";
44
- ShapeType2D["TRIANGLE"] = "triangle";
45
- ShapeType2D["HEXAGON"] = "hexagon";
46
- ShapeType2D["PENTAGON"] = "pentagon";
47
- })(ShapeType2D || (exports.ShapeType2D = ShapeType2D = {}));
48
-
49
40
  function polygonPath(pointCount) {
50
41
  var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
51
42
  var step = Math.PI * 2 / pointCount;
52
43
  var line = [];
53
-
54
44
  for (var i = 0; i < pointCount; i++) {
55
45
  line.push(step * i + start * Math.PI / 12);
56
46
  }
57
-
58
47
  var path = line.map(function (t) {
59
48
  var x = Math.sin(t + Math.PI / 4);
60
49
  var y = Math.cos(t + Math.PI / 4);
61
50
  return [x, y, 0];
62
- }); // path.push(path[0]);
63
-
51
+ });
52
+ // path.push(path[0]);
64
53
  return path;
65
54
  }
66
-
67
55
  function circle() {
68
56
  return polygonPath(30);
69
57
  }
70
-
71
58
  function square() {
72
59
  return polygonPath(4);
73
60
  }
74
-
75
61
  function triangle() {
76
62
  return polygonPath(3);
77
63
  }
78
-
79
64
  function hexagon() {
80
65
  return polygonPath(6, 1);
81
66
  }
82
-
83
67
  function pentagon() {
84
68
  return polygonPath(5);
85
69
  }
86
-
87
70
  var geometryShape = (_geometryShape = {}, (0, _defineProperty2.default)(_geometryShape, ShapeType2D.CIRCLE, circle), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.HEXAGON, hexagon), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.TRIANGLE, triangle), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.SQUARE, square), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.PENTAGON, pentagon), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.CYLINDER, circle), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.HEXAGONCOLUMN, hexagon), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.TRIANGLECOLUMN, triangle), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.SQUARECOLUMN, square), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.PENTAGONCOLUMN, pentagon), _geometryShape);
88
71
  exports.geometryShape = geometryShape;
@@ -1,22 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = extrudePolygon;
9
8
  exports.extrude_PolygonNormal = extrude_PolygonNormal;
10
9
  exports.fillPolygon = fillPolygon;
11
-
12
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
11
  var _l7Utils = require("@antv/l7-utils");
15
-
16
12
  var _earcut = _interopRequireDefault(require("earcut"));
17
-
18
13
  var _glMatrix = require("gl-matrix");
19
-
20
14
  /**
21
15
  * 拉伸多边形顶点,返回拉伸后的顶点信息
22
16
  * @param paths 路径数据组
@@ -25,20 +19,16 @@ var _glMatrix = require("gl-matrix");
25
19
  function extrudePolygon(path) {
26
20
  var p1 = path[0][0];
27
21
  var p2 = path[0][path[0].length - 1];
28
-
29
22
  if (p1[0] === p2[0] && p1[1] === p2[1]) {
30
23
  path[0] = path[0].slice(0, path[0].length - 1);
31
24
  }
32
-
33
25
  var n = path[0].length;
34
-
35
26
  var flattengeo = _earcut.default.flatten(path);
36
-
37
27
  var vertices = flattengeo.vertices,
38
- dimensions = flattengeo.dimensions;
28
+ dimensions = flattengeo.dimensions;
39
29
  var positions = [];
40
- var indexArray = []; // 设置顶部z值
41
-
30
+ var indexArray = [];
31
+ // 设置顶部z值
42
32
  for (var j = 0; j < vertices.length / dimensions; j++) {
43
33
  if (dimensions === 2) {
44
34
  positions.push(vertices[j * 2], vertices[j * 2 + 1], 1);
@@ -46,135 +36,113 @@ function extrudePolygon(path) {
46
36
  positions.push(vertices[j * 3], vertices[j * 3 + 1], 1);
47
37
  }
48
38
  }
49
-
50
39
  var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
51
40
  indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
52
-
53
- var _loop = function _loop(i) {
41
+ var _loop = function _loop() {
54
42
  var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
55
43
  var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
56
-
57
44
  if (nextPoint.length === 0) {
58
45
  nextPoint = flattengeo.vertices.slice(0, dimensions);
59
46
  }
60
-
61
47
  var indexOffset = positions.length / 3;
62
48
  positions.push(prePoint[0], prePoint[1], 1, nextPoint[0], nextPoint[1], 1, prePoint[0], prePoint[1], 0, nextPoint[0], nextPoint[1], 0);
63
49
  indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)([0, 2, 1, 2, 3, 1].map(function (v) {
64
50
  return v + indexOffset;
65
51
  })));
66
52
  };
67
-
68
53
  for (var i = 0; i < n; i++) {
69
- _loop(i);
54
+ _loop();
70
55
  }
71
-
72
56
  return {
73
57
  positions: positions,
74
58
  index: indexArray
75
59
  };
76
60
  }
77
-
78
61
  function fillPolygon(points) {
79
62
  var flattengeo = _earcut.default.flatten(points);
80
-
81
63
  var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
82
64
  return {
83
65
  positions: flattengeo.vertices,
84
66
  index: triangles
85
67
  };
86
68
  }
87
-
88
69
  function extrude_PolygonNormal(path) {
89
70
  var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
90
71
  var p1 = path[0][0];
91
72
  var p2 = path[0][path[0].length - 1];
92
-
93
73
  if (p1[0] === p2[0] && p1[1] === p2[1]) {
94
74
  path[0] = path[0].slice(0, path[0].length - 1);
95
75
  }
96
-
97
76
  var n = path[0].length;
98
-
99
77
  var flattengeo = _earcut.default.flatten(path);
100
-
101
78
  var vertices = flattengeo.vertices,
102
- dimensions = flattengeo.dimensions;
79
+ dimensions = flattengeo.dimensions;
103
80
  var positions = [];
104
81
  var indexArray = [];
105
- var normals = []; // 设置顶部z值 position uv
106
-
82
+ var normals = [];
83
+ // 设置顶部z值 position uv
107
84
  for (var j = 0; j < vertices.length / dimensions; j++) {
108
- if (dimensions === 2) {
109
- positions.push(vertices[j * 2], vertices[j * 2 + 1], 1, -1, -1);
110
- } else {
111
- positions.push(vertices[j * 3], vertices[j * 3 + 1], 1, -1, -1);
112
- }
85
+ positions.push(vertices[j * dimensions],
86
+ // x
87
+ vertices[j * dimensions + 1],
88
+ // y
89
+ 1,
90
+ // z
91
+ -1,
92
+ // 顶部uv
93
+ -1 // 顶部uv
94
+ );
113
95
 
114
96
  normals.push(0, 0, 1);
115
97
  }
116
-
117
98
  var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
118
99
  indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
119
-
120
- var _loop2 = function _loop2(i) {
100
+ // 设置侧面
101
+ var _loop2 = function _loop2() {
121
102
  var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
122
103
  var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
123
-
124
104
  if (nextPoint.length === 0) {
125
105
  nextPoint = flattengeo.vertices.slice(0, dimensions);
126
106
  }
127
-
128
107
  var indexOffset = positions.length / 5;
129
- positions.push(prePoint[0], prePoint[1], 1, 0, 0, nextPoint[0], nextPoint[1], 1, 0.1, 0, prePoint[0], prePoint[1], 0, 0, 0.8, nextPoint[0], nextPoint[1], 0, 0.1, 0.8);
108
+ // 侧面四顶点
109
+ positions.push(prePoint[0], prePoint[1], 1, 0, 0, nextPoint[0], nextPoint[1], 1, 0.1,
110
+ // 侧面 低uv
111
+ 0,
112
+ // 侧面低 uv
113
+ prePoint[0], prePoint[1], 0, 0, 0.8, nextPoint[0], nextPoint[1], 0, 0.1, 0.8);
130
114
  var normal = computeVertexNormals([nextPoint[0], nextPoint[1], 1], [prePoint[0], prePoint[1], 0], [prePoint[0], prePoint[1], 1], needFlat);
131
115
  normals.push.apply(normals, (0, _toConsumableArray2.default)(normal).concat((0, _toConsumableArray2.default)(normal), (0, _toConsumableArray2.default)(normal), (0, _toConsumableArray2.default)(normal)));
132
116
  indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)([1, 2, 0, 3, 2, 1].map(function (v) {
133
117
  return v + indexOffset;
134
118
  })));
135
119
  };
136
-
137
120
  for (var i = 0; i < n; i++) {
138
- _loop2(i);
121
+ _loop2();
139
122
  }
140
-
141
123
  return {
142
124
  positions: positions,
143
125
  index: indexArray,
144
126
  normals: normals
145
127
  };
146
128
  }
147
-
148
129
  function computeVertexNormals(p1, p2, p3) {
149
130
  var needFlat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
150
-
151
131
  var cb = _glMatrix.vec3.create();
152
-
153
132
  var ab = _glMatrix.vec3.create();
154
-
155
133
  var normal = _glMatrix.vec3.create();
156
-
157
134
  if (needFlat) {
158
135
  p1 = (0, _l7Utils.lngLatToMeters)(p1);
159
136
  p2 = (0, _l7Utils.lngLatToMeters)(p2);
160
137
  p3 = (0, _l7Utils.lngLatToMeters)(p3);
161
138
  }
162
-
163
139
  var pA = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p1));
164
-
165
140
  var pB = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p2));
166
-
167
141
  var pC = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p3));
168
-
169
142
  _glMatrix.vec3.sub(cb, pC, pB);
170
-
171
143
  _glMatrix.vec3.sub(ab, pA, pB);
172
-
173
144
  _glMatrix.vec3.cross(normal, cb, ab);
174
-
175
145
  var newNormal = _glMatrix.vec3.create();
176
-
177
146
  _glMatrix.vec3.normalize(newNormal, normal);
178
-
179
147
  return newNormal;
180
148
  }