@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,64 +1,44 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+
22
+ // src/point/models/text.ts
23
+ var text_exports = {};
24
+ __export(text_exports, {
25
+ TextTriangulation: () => TextTriangulation,
26
+ default: () => TextModel
7
27
  });
8
- exports.TextTriangulation = TextTriangulation;
9
- exports.default = void 0;
10
-
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
-
13
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
-
15
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
16
-
17
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
18
-
19
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
20
-
21
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
22
-
23
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
24
-
25
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
26
-
27
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
28
-
29
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
30
-
31
- var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
32
-
33
- var _l7Core = require("@antv/l7-core");
34
-
35
- var _l7Utils = require("@antv/l7-utils");
36
-
37
- var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
38
-
39
- var _collisionIndex = _interopRequireDefault(require("../../utils/collision-index"));
40
-
41
- var _symbolLayout = require("../../utils/symbol-layout");
42
-
43
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
44
-
45
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
46
-
47
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
48
-
49
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
50
-
51
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
52
-
53
- var textFrag = "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105\n#define FONT_SIZE 48.0\nuniform sampler2D u_sdf_map;\nuniform float u_gamma_scale : 0.5;\n// uniform float u_font_size : 24.0;\nuniform float u_opacity : 1.0;\nuniform vec4 u_stroke_color : [0, 0, 0, 1];\nuniform float u_stroke_width : 2.0;\nuniform float u_halo_blur : 0.5;\nuniform float u_DevicePixelRatio;\n\nvarying vec4 v_color;\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying float v_fontScale;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"picking\"\nvoid main() {\n // get style data mapping\n float opacity = styleMappingMat[0][0];\n float strokeWidth = styleMappingMat[0][2];\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n // get sdf from atlas\n float dist = texture2D(u_sdf_map, v_uv).a;\n\n // float fontScale = u_font_size / FONT_SIZE;\n\n // lowp float buff = (6.0 - u_stroke_width / v_fontScale) / SDF_PX;\n lowp float buff = (6.0 - strokeWidth / v_fontScale) / SDF_PX;\n highp float gamma = (u_halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (v_fontScale * u_gamma_scale) / 1.0;\n\n highp float gamma_scaled = gamma * v_gamma_scale;\n\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n // gl_FragColor = mix(vec4(v_color.rgb, v_color.a * u_opacity), vec4(u_stroke_color.rgb, u_stroke_color.a * u_opacity), smoothstep(0., 0.5, 1. - dist));\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), vec4(textrueStroke.rgb, textrueStroke.a * opacity), smoothstep(0., 0.5, 1. - dist));\n gl_FragColor.a= gl_FragColor.a * alpha;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
54
- var textVert = "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105\n#define FONT_SIZE 24.0\nattribute vec3 a_Position;\nattribute vec2 a_tex;\nattribute vec2 a_textOffsets;\nattribute vec4 a_Color;\nattribute float a_Size;\nattribute float a_Rotate;\n\nuniform vec2 u_sdf_map_size;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform float u_raisingHeight: 0.0;\n\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying vec4 v_color;\nvarying float v_fontScale;\n\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\nuniform float u_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n#pragma include \"styleMappingCalStrokeWidth\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n\n vec2 strokeWidthAndOffset = calStrokeWidthAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][2] = strokeWidthAndOffset.r;\n textureOffset = strokeWidthAndOffset.g;\n\n vec4 textrueStroke = vec4(-1.0, -1.0, -1.0, -1.0);\n if(hasStroke()) {\n vec2 valueRPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][0] = pos2value(valueRPos, columnWidth, rowHeight); // R\n textureOffset += 1.0;\n\n vec2 valueGPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][1] = pos2value(valueGPos, columnWidth, rowHeight); // G\n textureOffset += 1.0;\n\n vec2 valueBPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][2] = pos2value(valueBPos, columnWidth, rowHeight); // B\n textureOffset += 1.0;\n\n vec2 valueAPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][3] = pos2value(valueAPos, columnWidth, rowHeight); // A\n textureOffset += 1.0;\n } else {\n if(u_stroke_color == vec4(0.0)) {\n styleMappingMat[1][0] = v_color.r;\n styleMappingMat[1][1] = v_color.g;\n styleMappingMat[1][2] = v_color.b;\n styleMappingMat[1][3] = v_color.a;\n } else {\n styleMappingMat[1][0] = u_stroke_color.r;\n styleMappingMat[1][1] = u_stroke_color.g;\n styleMappingMat[1][2] = u_stroke_color.b;\n styleMappingMat[1][3] = u_stroke_color.a;\n }\n }\n \n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n\n v_color = a_Color;\n v_uv = a_tex / u_sdf_map_size;\n\n // \u6587\u672C\u7F29\u653E\u6BD4\u4F8B\n float fontScale = a_Size / FONT_SIZE;\n v_fontScale = fontScale;\n\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // vec4 projected_position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n highp float angle_sin = sin(a_Rotate);\n highp float angle_cos = cos(a_Rotate);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n \n // gl_Position = vec4(projected_position.xy / projected_position.w + rotation_matrix * a_textOffsets * fontScale / u_ViewportSize * 2.0 * u_DevicePixelRatio, 0.0, 1.0);\n\n float raiseHeight = u_raisingHeight;\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raiseHeight = u_raisingHeight * mapboxZoomScale;\n }\n\n vec4 projected_position;\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n projected_position = u_Mvp * (vec4(a_Position.xyz + vec3(0.0, 0.0, raiseHeight), 1.0));\n } else { // else\n projected_position = project_common_position_to_clipspace(vec4(project_pos.xyz + vec3(0.0, 0.0, raiseHeight), 1.0));\n }\n\n gl_Position = vec4(\n projected_position.xy / projected_position.w + rotation_matrix * a_textOffsets * fontScale / u_ViewportSize * 2.0 * u_DevicePixelRatio, 0.0, 1.0);\n v_gamma_scale = gl_Position.w;\n setPickingColor(a_PickingColor);\n\n}\n";
55
-
28
+ module.exports = __toCommonJS(text_exports);
29
+ var import_l7_core = require("@antv/l7-core");
30
+ var import_l7_utils = require("@antv/l7-utils");
31
+ var import_lodash = require("lodash");
32
+ var import_BaseModel = __toESM(require("../../core/BaseModel"));
33
+ var import_collision_index = __toESM(require("../../utils/collision-index"));
34
+ var import_symbol_layout = require("../../utils/symbol-layout");
35
+ var import_text_frag = __toESM(require("../shaders/text_frag.glsl"));
36
+ var import_text_vert = __toESM(require("../shaders/text_vert.glsl"));
56
37
  function TextTriangulation(feature) {
57
- var that = this;
58
- var id = feature.id;
59
- var vertices = [];
60
- var indices = [];
61
-
38
+ const that = this;
39
+ const id = feature.id;
40
+ const vertices = [];
41
+ const indices = [];
62
42
  if (!that.glyphInfoMap || !that.glyphInfoMap[id]) {
63
43
  return {
64
44
  vertices: [],
@@ -66,523 +46,369 @@ function TextTriangulation(feature) {
66
46
  size: 7
67
47
  };
68
48
  }
69
-
70
- var centroid = that.glyphInfoMap[id].centroid;
71
- var coord = centroid.length === 2 ? [centroid[0], centroid[1], 0] : centroid;
72
- that.glyphInfoMap[id].glyphQuads.forEach(function (quad, index) {
73
- vertices.push.apply(vertices, (0, _toConsumableArray2.default)(coord).concat([quad.tex.x, quad.tex.y + quad.tex.height, quad.tl.x, quad.tl.y], (0, _toConsumableArray2.default)(coord), [quad.tex.x + quad.tex.width, quad.tex.y + quad.tex.height, quad.tr.x, quad.tr.y], (0, _toConsumableArray2.default)(coord), [quad.tex.x + quad.tex.width, quad.tex.y, quad.br.x, quad.br.y], (0, _toConsumableArray2.default)(coord), [quad.tex.x, quad.tex.y, quad.bl.x, quad.bl.y]));
49
+ const centroid = that.glyphInfoMap[id].centroid;
50
+ const coord = centroid.length === 2 ? [centroid[0], centroid[1], 0] : centroid;
51
+ that.glyphInfoMap[id].glyphQuads.forEach((quad, index) => {
52
+ vertices.push(...coord, quad.tex.x, quad.tex.y + quad.tex.height, quad.tl.x, quad.tl.y, ...coord, quad.tex.x + quad.tex.width, quad.tex.y + quad.tex.height, quad.tr.x, quad.tr.y, ...coord, quad.tex.x + quad.tex.width, quad.tex.y, quad.br.x, quad.br.y, ...coord, quad.tex.x, quad.tex.y, quad.bl.x, quad.bl.y);
74
53
  indices.push(0 + index * 4, 1 + index * 4, 2 + index * 4, 2 + index * 4, 3 + index * 4, 0 + index * 4);
75
54
  });
76
55
  return {
77
- vertices: vertices,
78
- indices: indices,
56
+ vertices,
57
+ indices,
79
58
  size: 7
80
59
  };
81
60
  }
82
-
83
- var TextModel = function (_BaseModel) {
84
- (0, _inherits2.default)(TextModel, _BaseModel);
85
-
86
- var _super = _createSuper(TextModel);
87
-
88
- function TextModel() {
89
- var _this;
90
-
91
- (0, _classCallCheck2.default)(this, TextModel);
92
-
93
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
94
- args[_key] = arguments[_key];
95
- }
96
-
97
- _this = _super.call.apply(_super, [this].concat(args));
98
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "glyphInfo", void 0);
99
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "glyphInfoMap", {});
100
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "texture", void 0);
101
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "currentZoom", -1);
102
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "extent", void 0);
103
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "textureHeight", 0);
104
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "textCount", 0);
105
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "preTextStyle", {});
106
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "buildModels", function () {
107
- var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(callbackModel) {
108
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside;
109
-
110
- return _regenerator.default.wrap(function _callee$(_context) {
111
- while (1) {
112
- switch (_context.prev = _context.next) {
113
- case 0:
114
- _ref2 = _this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
115
-
116
- _this.mapping();
117
-
118
- _this.layer.buildLayerModel({
119
- moduleName: 'pointText',
120
- vertexShader: textVert,
121
- fragmentShader: textFrag,
122
- triangulation: TextTriangulation.bind((0, _assertThisInitialized2.default)(_this)),
123
- depth: {
124
- enable: false
125
- },
126
- blend: _this.getBlend(),
127
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
128
- }).then(function (model) {
129
- callbackModel([model]);
130
- }).catch(function (err) {
131
- console.warn(err);
132
- callbackModel([]);
133
- });
134
-
135
- case 3:
136
- case "end":
137
- return _context.stop();
138
- }
139
- }
140
- }, _callee);
141
- }));
142
-
143
- return function (_x) {
144
- return _ref.apply(this, arguments);
145
- };
146
- }());
147
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mapping", function () {
148
- _this.initGlyph();
149
-
150
- _this.updateTexture();
151
-
152
- _this.filterGlyphs();
153
-
154
- _this.reBuildModel();
155
- });
156
- return _this;
61
+ var TextModel = class extends import_BaseModel.default {
62
+ constructor() {
63
+ super(...arguments);
64
+ this.glyphInfoMap = {};
65
+ this.currentZoom = -1;
66
+ this.textureHeight = 0;
67
+ this.textCount = 0;
68
+ this.preTextStyle = {};
69
+ this.buildModels = async (callbackModel) => {
70
+ const {
71
+ mask = false,
72
+ maskInside = true
73
+ } = this.layer.getLayerConfig();
74
+ this.mapping();
75
+ this.layer.buildLayerModel({
76
+ moduleName: "pointText",
77
+ vertexShader: import_text_vert.default,
78
+ fragmentShader: import_text_frag.default,
79
+ triangulation: TextTriangulation.bind(this),
80
+ depth: { enable: false },
81
+ blend: this.getBlend(),
82
+ stencil: (0, import_l7_utils.getMask)(mask, maskInside)
83
+ }).then((model) => {
84
+ callbackModel([model]);
85
+ }).catch((err) => {
86
+ console.warn(err);
87
+ callbackModel([]);
88
+ });
89
+ };
90
+ this.mapping = () => {
91
+ this.initGlyph();
92
+ this.updateTexture();
93
+ this.filterGlyphs();
94
+ this.reBuildModel();
95
+ };
157
96
  }
158
-
159
- (0, _createClass2.default)(TextModel, [{
160
- key: "getUninforms",
161
- value: function getUninforms() {
162
- var _ref3 = this.layer.getLayerConfig(),
163
- _ref3$opacity = _ref3.opacity,
164
- opacity = _ref3$opacity === void 0 ? 1.0 : _ref3$opacity,
165
- _ref3$stroke = _ref3.stroke,
166
- stroke = _ref3$stroke === void 0 ? '#fff' : _ref3$stroke,
167
- _ref3$strokeWidth = _ref3.strokeWidth,
168
- strokeWidth = _ref3$strokeWidth === void 0 ? 0 : _ref3$strokeWidth,
169
- _ref3$textAnchor = _ref3.textAnchor,
170
- textAnchor = _ref3$textAnchor === void 0 ? 'center' : _ref3$textAnchor,
171
- _ref3$textAllowOverla = _ref3.textAllowOverlap,
172
- textAllowOverlap = _ref3$textAllowOverla === void 0 ? false : _ref3$textAllowOverla,
173
- _ref3$halo = _ref3.halo,
174
- halo = _ref3$halo === void 0 ? 0.5 : _ref3$halo,
175
- _ref3$gamma = _ref3.gamma,
176
- gamma = _ref3$gamma === void 0 ? 2.0 : _ref3$gamma,
177
- _ref3$raisingHeight = _ref3.raisingHeight,
178
- raisingHeight = _ref3$raisingHeight === void 0 ? 0 : _ref3$raisingHeight;
179
-
180
- var _this$fontService = this.fontService,
181
- canvas = _this$fontService.canvas,
182
- mapping = _this$fontService.mapping;
183
-
184
- if (Object.keys(mapping).length !== this.textCount) {
185
- this.updateTexture();
186
- this.textCount = Object.keys(mapping).length;
187
- }
188
-
189
- this.preTextStyle = {
190
- textAnchor: textAnchor,
191
- textAllowOverlap: textAllowOverlap
192
- };
193
-
194
- if (this.dataTextureTest && this.dataTextureNeedUpdate({
195
- opacity: opacity,
196
- strokeWidth: strokeWidth,
197
- stroke: stroke
198
- })) {
199
- this.judgeStyleAttributes({
200
- opacity: opacity,
201
- strokeWidth: strokeWidth,
202
- stroke: stroke
203
- });
204
- var encodeData = this.layer.getEncodedData();
205
-
206
- var _this$calDataFrame = this.calDataFrame(this.cellLength, encodeData, this.cellProperties),
207
- data = _this$calDataFrame.data,
208
- width = _this$calDataFrame.width,
209
- height = _this$calDataFrame.height;
210
-
211
- this.rowCount = height;
212
- this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
213
- flipY: true,
214
- data: data,
215
- format: _l7Core.gl.LUMINANCE,
216
- type: _l7Core.gl.FLOAT,
217
- width: width,
218
- height: height
219
- }) : this.createTexture2D({
220
- flipY: true,
221
- data: [1],
222
- format: _l7Core.gl.LUMINANCE,
223
- type: _l7Core.gl.FLOAT,
224
- width: 1,
225
- height: 1
226
- });
227
- }
228
-
229
- return {
230
- u_dataTexture: this.dataTexture,
231
- u_cellTypeLayout: this.getCellTypeLayout(),
232
- u_raisingHeight: Number(raisingHeight),
233
- u_opacity: (0, _isNumber2.default)(opacity) ? opacity : 1.0,
234
- u_stroke_width: (0, _isNumber2.default)(strokeWidth) ? strokeWidth : 1.0,
235
- u_stroke_color: this.getStrokeColor(stroke),
236
- u_sdf_map: this.texture,
237
- u_halo_blur: halo,
238
- u_gamma_scale: gamma,
239
- u_sdf_map_size: [canvas.width, canvas.height]
240
- };
241
- }
242
- }, {
243
- key: "initModels",
244
- value: function initModels(callbackModel) {
245
- this.layer.on('remapping', this.mapping);
246
- this.extent = this.textExtent();
247
-
248
- var _ref4 = this.layer.getLayerConfig(),
249
- _ref4$textAnchor = _ref4.textAnchor,
250
- textAnchor = _ref4$textAnchor === void 0 ? 'center' : _ref4$textAnchor,
251
- _ref4$textAllowOverla = _ref4.textAllowOverlap,
252
- textAllowOverlap = _ref4$textAllowOverla === void 0 ? true : _ref4$textAllowOverla;
253
-
254
- this.preTextStyle = {
255
- textAnchor: textAnchor,
256
- textAllowOverlap: textAllowOverlap
257
- };
258
- this.buildModels(callbackModel);
259
- }
260
- }, {
261
- key: "needUpdate",
262
- value: function needUpdate() {
263
- var _ref5 = this.layer.getLayerConfig(),
264
- _ref5$textAllowOverla = _ref5.textAllowOverlap,
265
- textAllowOverlap = _ref5$textAllowOverla === void 0 ? false : _ref5$textAllowOverla;
266
-
267
- var zoom = this.mapService.getZoom();
268
- var extent = this.mapService.getBounds();
269
- var flag = (0, _l7Utils.boundsContains)(this.extent, extent);
270
-
271
- if (!textAllowOverlap && (Math.abs(this.currentZoom - zoom) > 1 || !flag) || textAllowOverlap !== this.preTextStyle.textAllowOverlap) {
272
- this.reBuildModel();
273
- return true;
274
- }
275
-
276
- return false;
97
+ getUninforms() {
98
+ const {
99
+ opacity = 1,
100
+ stroke = "#fff",
101
+ strokeWidth = 0,
102
+ textAnchor = "center",
103
+ textAllowOverlap = false,
104
+ halo = 0.5,
105
+ gamma = 2,
106
+ raisingHeight = 0
107
+ } = this.layer.getLayerConfig();
108
+ const { canvas, mapping } = this.fontService;
109
+ if (Object.keys(mapping).length !== this.textCount) {
110
+ this.updateTexture();
111
+ this.textCount = Object.keys(mapping).length;
277
112
  }
278
- }, {
279
- key: "clearModels",
280
- value: function clearModels() {
281
- var _this$texture, _this$dataTexture;
282
-
283
- (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
284
- (_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
285
- this.layer.off('remapping', this.mapping);
286
- }
287
- }, {
288
- key: "registerBuiltinAttributes",
289
- value: function registerBuiltinAttributes() {
290
- this.styleAttributeService.registerStyleAttribute({
291
- name: 'rotate',
292
- type: _l7Core.AttributeType.Attribute,
293
- descriptor: {
294
- name: 'a_Rotate',
295
- buffer: {
296
- usage: _l7Core.gl.DYNAMIC_DRAW,
297
- data: [],
298
- type: _l7Core.gl.FLOAT
299
- },
300
- size: 1,
301
- update: function update(feature, featureIdx, vertex, attributeIdx) {
302
- var _feature$rotate = feature.rotate,
303
- rotate = _feature$rotate === void 0 ? 0 : _feature$rotate;
304
- return Array.isArray(rotate) ? [rotate[0]] : [rotate];
305
- }
306
- }
307
- });
308
- this.styleAttributeService.registerStyleAttribute({
309
- name: 'textOffsets',
310
- type: _l7Core.AttributeType.Attribute,
311
- descriptor: {
312
- name: 'a_textOffsets',
313
- buffer: {
314
- usage: _l7Core.gl.STATIC_DRAW,
315
- data: [],
316
- type: _l7Core.gl.FLOAT
317
- },
318
- size: 2,
319
- update: function update(feature, featureIdx, vertex, attributeIdx) {
320
- return [vertex[5], vertex[6]];
321
- }
322
- }
113
+ this.preTextStyle = {
114
+ textAnchor,
115
+ textAllowOverlap
116
+ };
117
+ if (this.dataTextureTest && this.dataTextureNeedUpdate({
118
+ opacity,
119
+ strokeWidth,
120
+ stroke
121
+ })) {
122
+ this.judgeStyleAttributes({
123
+ opacity,
124
+ strokeWidth,
125
+ stroke
323
126
  });
324
- this.styleAttributeService.registerStyleAttribute({
325
- name: 'size',
326
- type: _l7Core.AttributeType.Attribute,
327
- descriptor: {
328
- name: 'a_Size',
329
- buffer: {
330
- usage: _l7Core.gl.DYNAMIC_DRAW,
331
- data: [],
332
- type: _l7Core.gl.FLOAT
333
- },
334
- size: 1,
335
- update: function update(feature, featureIdx, vertex, attributeIdx) {
336
- var _feature$size = feature.size,
337
- size = _feature$size === void 0 ? 12 : _feature$size;
338
- return Array.isArray(size) ? [size[0]] : [size];
339
- }
340
- }
341
- });
342
- this.styleAttributeService.registerStyleAttribute({
343
- name: 'textUv',
344
- type: _l7Core.AttributeType.Attribute,
345
- descriptor: {
346
- name: 'a_tex',
347
- buffer: {
348
- usage: _l7Core.gl.DYNAMIC_DRAW,
349
- data: [],
350
- type: _l7Core.gl.FLOAT
351
- },
352
- size: 2,
353
- update: function update(feature, featureIdx, vertex, attributeIdx) {
354
- return [vertex[3], vertex[4]];
355
- }
356
- }
127
+ const encodeData = this.layer.getEncodedData();
128
+ const { data, width, height } = this.calDataFrame(this.cellLength, encodeData, this.cellProperties);
129
+ this.rowCount = height;
130
+ this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
131
+ flipY: true,
132
+ data,
133
+ format: import_l7_core.gl.LUMINANCE,
134
+ type: import_l7_core.gl.FLOAT,
135
+ width,
136
+ height
137
+ }) : this.createTexture2D({
138
+ flipY: true,
139
+ data: [1],
140
+ format: import_l7_core.gl.LUMINANCE,
141
+ type: import_l7_core.gl.FLOAT,
142
+ width: 1,
143
+ height: 1
357
144
  });
358
145
  }
359
- }, {
360
- key: "textExtent",
361
- value: function textExtent() {
362
- var bounds = this.mapService.getBounds();
363
- return (0, _l7Utils.padBounds)(bounds, 0.5);
146
+ return {
147
+ u_dataTexture: this.dataTexture,
148
+ u_cellTypeLayout: this.getCellTypeLayout(),
149
+ u_raisingHeight: Number(raisingHeight),
150
+ u_opacity: (0, import_lodash.isNumber)(opacity) ? opacity : 1,
151
+ u_stroke_width: (0, import_lodash.isNumber)(strokeWidth) ? strokeWidth : 1,
152
+ u_stroke_color: this.getStrokeColor(stroke),
153
+ u_sdf_map: this.texture,
154
+ u_halo_blur: halo,
155
+ u_gamma_scale: gamma,
156
+ u_sdf_map_size: [canvas.width, canvas.height]
157
+ };
158
+ }
159
+ initModels(callbackModel) {
160
+ this.layer.on("remapping", this.mapping);
161
+ this.extent = this.textExtent();
162
+ const {
163
+ textAnchor = "center",
164
+ textAllowOverlap = true
165
+ } = this.layer.getLayerConfig();
166
+ this.preTextStyle = {
167
+ textAnchor,
168
+ textAllowOverlap
169
+ };
170
+ this.buildModels(callbackModel);
171
+ }
172
+ needUpdate() {
173
+ const {
174
+ textAllowOverlap = false
175
+ } = this.layer.getLayerConfig();
176
+ const zoom = this.mapService.getZoom();
177
+ const extent = this.mapService.getBounds();
178
+ const flag = (0, import_l7_utils.boundsContains)(this.extent, extent);
179
+ if (!textAllowOverlap && (Math.abs(this.currentZoom - zoom) > 1 || !flag) || textAllowOverlap !== this.preTextStyle.textAllowOverlap) {
180
+ this.reBuildModel();
181
+ return true;
364
182
  }
365
- }, {
366
- key: "initTextFont",
367
- value: function initTextFont() {
368
- var _ref6 = this.layer.getLayerConfig(),
369
- _ref6$fontWeight = _ref6.fontWeight,
370
- fontWeight = _ref6$fontWeight === void 0 ? '400' : _ref6$fontWeight,
371
- _ref6$fontFamily = _ref6.fontFamily,
372
- fontFamily = _ref6$fontFamily === void 0 ? 'sans-serif' : _ref6$fontFamily;
373
-
374
- var data = this.layer.getEncodedData();
375
- var characterSet = [];
376
- data.forEach(function (item) {
377
- var _item$shape = item.shape,
378
- shape = _item$shape === void 0 ? '' : _item$shape;
379
- shape = shape.toString();
380
-
381
- var _iterator = _createForOfIteratorHelper(shape),
382
- _step;
383
-
384
- try {
385
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
386
- var char = _step.value;
387
-
388
- if (characterSet.indexOf(char) === -1) {
389
- characterSet.push(char);
390
- }
391
- }
392
- } catch (err) {
393
- _iterator.e(err);
394
- } finally {
395
- _iterator.f();
183
+ return false;
184
+ }
185
+ clearModels() {
186
+ var _a, _b;
187
+ (_a = this.texture) == null ? void 0 : _a.destroy();
188
+ (_b = this.dataTexture) == null ? void 0 : _b.destroy();
189
+ this.layer.off("remapping", this.mapping);
190
+ }
191
+ registerBuiltinAttributes() {
192
+ this.styleAttributeService.registerStyleAttribute({
193
+ name: "rotate",
194
+ type: import_l7_core.AttributeType.Attribute,
195
+ descriptor: {
196
+ name: "a_Rotate",
197
+ buffer: {
198
+ usage: import_l7_core.gl.DYNAMIC_DRAW,
199
+ data: [],
200
+ type: import_l7_core.gl.FLOAT
201
+ },
202
+ size: 1,
203
+ update: (feature, featureIdx, vertex, attributeIdx) => {
204
+ const { rotate = 0 } = feature;
205
+ return Array.isArray(rotate) ? [rotate[0]] : [rotate];
396
206
  }
397
- });
398
- this.fontService.setFontOptions({
399
- characterSet: characterSet,
400
- fontWeight: fontWeight,
401
- fontFamily: fontFamily,
402
- iconfont: false
403
- });
404
- }
405
- }, {
406
- key: "initIconFontTex",
407
- value: function initIconFontTex() {
408
- var _ref7 = this.layer.getLayerConfig(),
409
- _ref7$fontWeight = _ref7.fontWeight,
410
- fontWeight = _ref7$fontWeight === void 0 ? '400' : _ref7$fontWeight,
411
- _ref7$fontFamily = _ref7.fontFamily,
412
- fontFamily = _ref7$fontFamily === void 0 ? 'sans-serif' : _ref7$fontFamily;
413
-
414
- var data = this.layer.getEncodedData();
415
- var characterSet = [];
416
- data.forEach(function (item) {
417
- var _item$shape2 = item.shape,
418
- shape = _item$shape2 === void 0 ? '' : _item$shape2;
419
- shape = "".concat(shape);
420
-
421
- if (characterSet.indexOf(shape) === -1) {
422
- characterSet.push(shape);
207
+ }
208
+ });
209
+ this.styleAttributeService.registerStyleAttribute({
210
+ name: "textOffsets",
211
+ type: import_l7_core.AttributeType.Attribute,
212
+ descriptor: {
213
+ name: "a_textOffsets",
214
+ buffer: {
215
+ usage: import_l7_core.gl.STATIC_DRAW,
216
+ data: [],
217
+ type: import_l7_core.gl.FLOAT
218
+ },
219
+ size: 2,
220
+ update: (feature, featureIdx, vertex, attributeIdx) => {
221
+ return [vertex[5], vertex[6]];
423
222
  }
424
- });
425
- this.fontService.setFontOptions({
426
- characterSet: characterSet,
427
- fontWeight: fontWeight,
428
- fontFamily: fontFamily,
429
- iconfont: true
430
- });
431
- }
432
- }, {
433
- key: "generateGlyphLayout",
434
- value: function generateGlyphLayout(iconfont) {
435
- var _this2 = this;
436
-
437
- var mapping = this.fontService.mapping;
438
-
439
- var _ref8 = this.layer.getLayerConfig(),
440
- _ref8$spacing = _ref8.spacing,
441
- spacing = _ref8$spacing === void 0 ? 2 : _ref8$spacing,
442
- _ref8$textAnchor = _ref8.textAnchor,
443
- textAnchor = _ref8$textAnchor === void 0 ? 'center' : _ref8$textAnchor;
444
-
445
- var data = this.layer.getEncodedData();
446
- this.glyphInfo = data.map(function (feature) {
447
- var _feature$shape = feature.shape,
448
- shape = _feature$shape === void 0 ? '' : _feature$shape,
449
- id = feature.id,
450
- _feature$size2 = feature.size,
451
- size = _feature$size2 === void 0 ? 1 : _feature$size2,
452
- _feature$textOffset = feature.textOffset,
453
- textOffset = _feature$textOffset === void 0 ? [0, 0] : _feature$textOffset;
454
- var shaping = (0, _symbolLayout.shapeText)(shape.toString(), mapping, size, textAnchor, 'left', spacing, textOffset, iconfont);
455
- var glyphQuads = (0, _symbolLayout.getGlyphQuads)(shaping, textOffset, false);
456
- feature.shaping = shaping;
457
- feature.glyphQuads = glyphQuads;
458
- feature.centroid = (0, _l7Utils.calculateCentroid)(feature.coordinates);
459
- feature.originCentroid = feature.version === 'GAODE2.x' ? (0, _l7Utils.calculateCentroid)(feature.originCoordinates) : feature.originCentroid = feature.centroid;
460
- _this2.glyphInfoMap[id] = {
461
- shaping: shaping,
462
- glyphQuads: glyphQuads,
463
- centroid: (0, _l7Utils.calculateCentroid)(feature.coordinates)
464
- };
465
- return feature;
466
- });
467
- }
468
- }, {
469
- key: "filterGlyphs",
470
- value: function filterGlyphs() {
471
- var _this3 = this;
472
-
473
- var _ref9 = this.layer.getLayerConfig(),
474
- _ref9$padding = _ref9.padding,
475
- padding = _ref9$padding === void 0 ? [4, 4] : _ref9$padding,
476
- _ref9$textAllowOverla = _ref9.textAllowOverlap,
477
- textAllowOverlap = _ref9$textAllowOverla === void 0 ? false : _ref9$textAllowOverla;
478
-
479
- if (textAllowOverlap) {
480
- return;
481
223
  }
482
-
483
- this.glyphInfoMap = {};
484
- this.currentZoom = this.mapService.getZoom();
485
- this.extent = this.textExtent();
486
-
487
- var _this$rendererService = this.rendererService.getViewportSize(),
488
- width = _this$rendererService.width,
489
- height = _this$rendererService.height;
490
-
491
- var collisionIndex = new _collisionIndex.default(width, height);
492
- var filterData = this.glyphInfo.filter(function (feature) {
493
- var shaping = feature.shaping,
494
- _feature$id = feature.id,
495
- id = _feature$id === void 0 ? 0 : _feature$id;
496
- var centroid = feature.version === 'GAODE2.x' ? feature.originCentroid : feature.centroid;
497
- var size = feature.size;
498
- var fontScale = size / 24;
499
-
500
- var pixels = _this3.mapService.lngLatToContainer(centroid);
501
-
502
- var _collisionIndex$place = collisionIndex.placeCollisionBox({
503
- x1: shaping.left * fontScale - padding[0],
504
- x2: shaping.right * fontScale + padding[0],
505
- y1: shaping.top * fontScale - padding[1],
506
- y2: shaping.bottom * fontScale + padding[1],
507
- anchorPointX: pixels.x,
508
- anchorPointY: pixels.y
509
- }),
510
- box = _collisionIndex$place.box;
511
-
512
- if (box && box.length) {
513
- collisionIndex.insertCollisionBox(box, id);
514
- return true;
515
- } else {
516
- return false;
224
+ });
225
+ this.styleAttributeService.registerStyleAttribute({
226
+ name: "size",
227
+ type: import_l7_core.AttributeType.Attribute,
228
+ descriptor: {
229
+ name: "a_Size",
230
+ buffer: {
231
+ usage: import_l7_core.gl.DYNAMIC_DRAW,
232
+ data: [],
233
+ type: import_l7_core.gl.FLOAT
234
+ },
235
+ size: 1,
236
+ update: (feature, featureIdx, vertex, attributeIdx) => {
237
+ const { size = 12 } = feature;
238
+ return Array.isArray(size) ? [size[0]] : [size];
517
239
  }
518
- });
519
- filterData.forEach(function (item) {
520
- _this3.glyphInfoMap[item.id] = item;
521
- });
522
- }
523
- }, {
524
- key: "initGlyph",
525
- value: function initGlyph() {
526
- var _this$layer$getLayerC = this.layer.getLayerConfig(),
527
- _this$layer$getLayerC2 = _this$layer$getLayerC.iconfont,
528
- iconfont = _this$layer$getLayerC2 === void 0 ? false : _this$layer$getLayerC2;
529
-
530
- iconfont ? this.initIconFontTex() : this.initTextFont();
531
- this.generateGlyphLayout(iconfont);
532
- }
533
- }, {
534
- key: "updateTexture",
535
- value: function updateTexture() {
536
- var createTexture2D = this.rendererService.createTexture2D;
537
- var canvas = this.fontService.canvas;
538
- this.textureHeight = canvas.height;
539
-
540
- if (this.texture) {
541
- this.texture.destroy();
542
240
  }
543
-
544
- this.texture = createTexture2D({
545
- data: canvas,
546
- mag: _l7Core.gl.LINEAR,
547
- min: _l7Core.gl.LINEAR,
548
- width: canvas.width,
549
- height: canvas.height
550
- });
551
- }
552
- }, {
553
- key: "reBuildModel",
554
- value: function reBuildModel() {
555
- var _this4 = this;
556
-
557
- var _ref10 = this.layer.getLayerConfig(),
558
- _ref10$mask = _ref10.mask,
559
- mask = _ref10$mask === void 0 ? false : _ref10$mask,
560
- _ref10$maskInside = _ref10.maskInside,
561
- maskInside = _ref10$maskInside === void 0 ? true : _ref10$maskInside;
562
-
563
- this.filterGlyphs();
564
- this.layer.buildLayerModel({
565
- moduleName: 'pointText',
566
- vertexShader: textVert,
567
- fragmentShader: textFrag,
568
- triangulation: TextTriangulation.bind(this),
569
- depth: {
570
- enable: false
241
+ });
242
+ this.styleAttributeService.registerStyleAttribute({
243
+ name: "textUv",
244
+ type: import_l7_core.AttributeType.Attribute,
245
+ descriptor: {
246
+ name: "a_tex",
247
+ buffer: {
248
+ usage: import_l7_core.gl.DYNAMIC_DRAW,
249
+ data: [],
250
+ type: import_l7_core.gl.FLOAT
571
251
  },
572
- blend: this.getBlend(),
573
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
574
- }).then(function (model) {
575
- _this4.layer.models = [model];
576
-
577
- _this4.layer.renderLayers();
578
- }).catch(function (err) {
579
- console.warn(err);
580
- _this4.layer.models = [];
252
+ size: 2,
253
+ update: (feature, featureIdx, vertex, attributeIdx) => {
254
+ return [vertex[3], vertex[4]];
255
+ }
256
+ }
257
+ });
258
+ }
259
+ textExtent() {
260
+ const bounds = this.mapService.getBounds();
261
+ return (0, import_l7_utils.padBounds)(bounds, 0.5);
262
+ }
263
+ initTextFont() {
264
+ const {
265
+ fontWeight = "400",
266
+ fontFamily = "sans-serif"
267
+ } = this.layer.getLayerConfig();
268
+ const data = this.layer.getEncodedData();
269
+ const characterSet = [];
270
+ data.forEach((item) => {
271
+ let { shape = "" } = item;
272
+ shape = shape.toString();
273
+ for (const char of shape) {
274
+ if (characterSet.indexOf(char) === -1) {
275
+ characterSet.push(char);
276
+ }
277
+ }
278
+ });
279
+ this.fontService.setFontOptions({
280
+ characterSet,
281
+ fontWeight,
282
+ fontFamily,
283
+ iconfont: false
284
+ });
285
+ }
286
+ initIconFontTex() {
287
+ const {
288
+ fontWeight = "400",
289
+ fontFamily = "sans-serif"
290
+ } = this.layer.getLayerConfig();
291
+ const data = this.layer.getEncodedData();
292
+ const characterSet = [];
293
+ data.forEach((item) => {
294
+ let { shape = "" } = item;
295
+ shape = `${shape}`;
296
+ if (characterSet.indexOf(shape) === -1) {
297
+ characterSet.push(shape);
298
+ }
299
+ });
300
+ this.fontService.setFontOptions({
301
+ characterSet,
302
+ fontWeight,
303
+ fontFamily,
304
+ iconfont: true
305
+ });
306
+ }
307
+ generateGlyphLayout(iconfont) {
308
+ const { mapping } = this.fontService;
309
+ const {
310
+ spacing = 2,
311
+ textAnchor = "center"
312
+ } = this.layer.getLayerConfig();
313
+ const data = this.layer.getEncodedData();
314
+ this.glyphInfo = data.map((feature) => {
315
+ const { shape = "", id, size = 1, textOffset = [0, 0] } = feature;
316
+ const shaping = (0, import_symbol_layout.shapeText)(shape.toString(), mapping, size, textAnchor, "left", spacing, textOffset, iconfont);
317
+ const glyphQuads = (0, import_symbol_layout.getGlyphQuads)(shaping, textOffset, false);
318
+ feature.shaping = shaping;
319
+ feature.glyphQuads = glyphQuads;
320
+ feature.centroid = (0, import_l7_utils.calculateCentroid)(feature.coordinates);
321
+ feature.originCentroid = feature.version === "GAODE2.x" ? (0, import_l7_utils.calculateCentroid)(feature.originCoordinates) : feature.originCentroid = feature.centroid;
322
+ this.glyphInfoMap[id] = {
323
+ shaping,
324
+ glyphQuads,
325
+ centroid: (0, import_l7_utils.calculateCentroid)(feature.coordinates)
326
+ };
327
+ return feature;
328
+ });
329
+ }
330
+ filterGlyphs() {
331
+ const {
332
+ padding = [4, 4],
333
+ textAllowOverlap = false
334
+ } = this.layer.getLayerConfig();
335
+ if (textAllowOverlap) {
336
+ return;
337
+ }
338
+ this.glyphInfoMap = {};
339
+ this.currentZoom = this.mapService.getZoom();
340
+ this.extent = this.textExtent();
341
+ const { width, height } = this.rendererService.getViewportSize();
342
+ const collisionIndex = new import_collision_index.default(width, height);
343
+ const filterData = this.glyphInfo.filter((feature) => {
344
+ const { shaping, id = 0 } = feature;
345
+ const centroid = feature.version === "GAODE2.x" ? feature.originCentroid : feature.centroid;
346
+ const size = feature.size;
347
+ const fontScale = size / 24;
348
+ const pixels = this.mapService.lngLatToContainer(centroid);
349
+ const { box } = collisionIndex.placeCollisionBox({
350
+ x1: shaping.left * fontScale - padding[0],
351
+ x2: shaping.right * fontScale + padding[0],
352
+ y1: shaping.top * fontScale - padding[1],
353
+ y2: shaping.bottom * fontScale + padding[1],
354
+ anchorPointX: pixels.x,
355
+ anchorPointY: pixels.y
581
356
  });
357
+ if (box && box.length) {
358
+ collisionIndex.insertCollisionBox(box, id);
359
+ return true;
360
+ } else {
361
+ return false;
362
+ }
363
+ });
364
+ filterData.forEach((item) => {
365
+ this.glyphInfoMap[item.id] = item;
366
+ });
367
+ }
368
+ initGlyph() {
369
+ const { iconfont = false } = this.layer.getLayerConfig();
370
+ iconfont ? this.initIconFontTex() : this.initTextFont();
371
+ this.generateGlyphLayout(iconfont);
372
+ }
373
+ updateTexture() {
374
+ const { createTexture2D } = this.rendererService;
375
+ const { canvas } = this.fontService;
376
+ this.textureHeight = canvas.height;
377
+ if (this.texture) {
378
+ this.texture.destroy();
582
379
  }
583
- }]);
584
- return TextModel;
585
- }(_BaseModel2.default);
586
-
587
- exports.default = TextModel;
588
- //# sourceMappingURL=text.js.map
380
+ this.texture = createTexture2D({
381
+ data: canvas,
382
+ mag: import_l7_core.gl.LINEAR,
383
+ min: import_l7_core.gl.LINEAR,
384
+ width: canvas.width,
385
+ height: canvas.height
386
+ });
387
+ }
388
+ reBuildModel() {
389
+ const {
390
+ mask = false,
391
+ maskInside = true
392
+ } = this.layer.getLayerConfig();
393
+ this.filterGlyphs();
394
+ this.layer.buildLayerModel({
395
+ moduleName: "pointText",
396
+ vertexShader: import_text_vert.default,
397
+ fragmentShader: import_text_frag.default,
398
+ triangulation: TextTriangulation.bind(this),
399
+ depth: { enable: false },
400
+ blend: this.getBlend(),
401
+ stencil: (0, import_l7_utils.getMask)(mask, maskInside)
402
+ }).then((model) => {
403
+ this.layer.models = [model];
404
+ this.layer.renderLayers();
405
+ }).catch((err) => {
406
+ console.warn(err);
407
+ this.layer.models = [];
408
+ });
409
+ }
410
+ };
411
+ // Annotate the CommonJS export names for ESM import in node:
412
+ 0 && (module.exports = {
413
+ TextTriangulation
414
+ });