@antv/l7-layers 2.10.5 → 2.10.7

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 (387) hide show
  1. package/es/Geometry/index.d.ts +2 -3
  2. package/es/Geometry/index.js +27 -17
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +77 -37
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +80 -40
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +83 -45
  9. package/es/canvas/index.d.ts +2 -3
  10. package/es/canvas/index.js +29 -19
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +54 -15
  13. package/es/citybuliding/building.d.ts +2 -3
  14. package/es/citybuliding/building.js +26 -17
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +70 -25
  17. package/es/core/BaseLayer.d.ts +22 -18
  18. package/es/core/BaseLayer.js +387 -266
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +47 -6
  21. package/es/core/LayerPickService.d.ts +12 -0
  22. package/es/core/LayerPickService.js +165 -0
  23. package/es/core/TextureService.d.ts +14 -0
  24. package/es/core/TextureService.js +67 -0
  25. package/es/core/triangulation.js +8 -1
  26. package/es/earth/index.d.ts +2 -2
  27. package/es/earth/index.js +28 -9
  28. package/es/earth/models/atmosphere.d.ts +2 -2
  29. package/es/earth/models/atmosphere.js +67 -22
  30. package/es/earth/models/base.d.ts +2 -2
  31. package/es/earth/models/base.js +89 -43
  32. package/es/earth/models/bloomsphere.d.ts +2 -2
  33. package/es/earth/models/bloomsphere.js +67 -22
  34. package/es/heatmap/index.d.ts +2 -3
  35. package/es/heatmap/index.js +33 -24
  36. package/es/heatmap/models/grid.d.ts +2 -2
  37. package/es/heatmap/models/grid.js +68 -27
  38. package/es/heatmap/models/grid3d.d.ts +2 -2
  39. package/es/heatmap/models/grid3d.js +70 -29
  40. package/es/heatmap/models/heatmap.d.ts +2 -2
  41. package/es/heatmap/models/heatmap.js +40 -14
  42. package/es/heatmap/models/hexagon.d.ts +2 -2
  43. package/es/heatmap/models/hexagon.js +69 -28
  44. package/es/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
  45. package/es/image/index.d.ts +3 -4
  46. package/es/image/index.js +29 -34
  47. package/es/image/models/image.d.ts +2 -2
  48. package/es/image/models/image.js +117 -67
  49. package/es/image/models/index.d.ts +1 -1
  50. package/es/image/models/index.js +1 -5
  51. package/es/image/shaders/dataImage_frag.glsl +10 -16
  52. package/es/index.d.ts +2 -2
  53. package/es/index.js +2 -2
  54. package/es/line/index.d.ts +5 -4
  55. package/es/line/index.js +51 -25
  56. package/es/line/models/arc.d.ts +2 -2
  57. package/es/line/models/arc.js +73 -38
  58. package/es/line/models/arc_3d.d.ts +2 -2
  59. package/es/line/models/arc_3d.js +69 -34
  60. package/es/line/models/earthArc_3d.d.ts +2 -2
  61. package/es/line/models/earthArc_3d.js +72 -37
  62. package/es/line/models/great_circle.d.ts +2 -2
  63. package/es/line/models/great_circle.js +70 -29
  64. package/es/line/models/half.d.ts +2 -2
  65. package/es/line/models/half.js +40 -17
  66. package/es/line/models/index.d.ts +1 -1
  67. package/es/line/models/index.js +0 -2
  68. package/es/line/models/line.d.ts +2 -2
  69. package/es/line/models/line.js +79 -47
  70. package/es/line/models/linearline.d.ts +2 -2
  71. package/es/line/models/linearline.js +70 -31
  72. package/es/line/models/simpleLine.d.ts +2 -2
  73. package/es/line/models/simpleLine.js +71 -34
  74. package/es/line/models/simpleTileLine.d.ts +2 -2
  75. package/es/line/models/simpleTileLine.js +70 -30
  76. package/es/line/models/tile.d.ts +2 -2
  77. package/es/line/models/tile.js +40 -17
  78. package/es/line/models/wall.d.ts +2 -2
  79. package/es/line/models/wall.js +67 -22
  80. package/es/mask/index.d.ts +2 -4
  81. package/es/mask/index.js +27 -97
  82. package/es/mask/models/fill.d.ts +2 -2
  83. package/es/mask/models/fill.js +40 -16
  84. package/es/mask/models/index.d.ts +1 -1
  85. package/es/mask/models/index.js +1 -3
  86. package/es/plugins/DataMappingPlugin.d.ts +0 -2
  87. package/es/plugins/DataMappingPlugin.js +90 -152
  88. package/es/plugins/DataSourcePlugin.js +67 -30
  89. package/es/plugins/FeatureScalePlugin.d.ts +0 -1
  90. package/es/plugins/FeatureScalePlugin.js +85 -61
  91. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  92. package/es/plugins/LayerModelPlugin.js +121 -37
  93. package/es/plugins/LayerStylePlugin.js +1 -6
  94. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  95. package/es/plugins/PixelPickingPlugin.js +1 -1
  96. package/es/plugins/RegisterStyleAttributePlugin.js +1 -16
  97. package/es/plugins/UpdateModelPlugin.js +3 -0
  98. package/es/plugins/UpdateStyleAttributePlugin.js +3 -6
  99. package/es/point/index.d.ts +4 -4
  100. package/es/point/index.js +55 -23
  101. package/es/point/models/earthExtrude.d.ts +2 -2
  102. package/es/point/models/earthExtrude.js +73 -30
  103. package/es/point/models/earthFill.d.ts +2 -2
  104. package/es/point/models/earthFill.js +66 -21
  105. package/es/point/models/extrude.d.ts +2 -2
  106. package/es/point/models/extrude.js +40 -17
  107. package/es/point/models/fill.d.ts +2 -2
  108. package/es/point/models/fill.js +43 -20
  109. package/es/point/models/fillmage.d.ts +2 -2
  110. package/es/point/models/fillmage.js +82 -43
  111. package/es/point/models/image.d.ts +2 -2
  112. package/es/point/models/image.js +72 -31
  113. package/es/point/models/index.d.ts +1 -1
  114. package/es/point/models/index.js +0 -2
  115. package/es/point/models/normal.d.ts +2 -2
  116. package/es/point/models/normal.js +71 -30
  117. package/es/point/models/radar.d.ts +2 -2
  118. package/es/point/models/radar.js +75 -35
  119. package/es/point/models/simplePoint.d.ts +2 -2
  120. package/es/point/models/simplePoint.js +70 -29
  121. package/es/point/models/text.d.ts +3 -2
  122. package/es/point/models/text.js +185 -112
  123. package/es/point/models/tile.d.ts +2 -2
  124. package/es/point/models/tile.js +77 -35
  125. package/es/point/models/tileText.d.ts +2 -2
  126. package/es/point/models/tileText.js +151 -116
  127. package/es/polygon/index.d.ts +2 -3
  128. package/es/polygon/index.js +27 -24
  129. package/es/polygon/models/extrude.d.ts +2 -2
  130. package/es/polygon/models/extrude.js +69 -32
  131. package/es/polygon/models/fill.d.ts +2 -2
  132. package/es/polygon/models/fill.js +76 -43
  133. package/es/polygon/models/index.d.ts +1 -1
  134. package/es/polygon/models/index.js +0 -2
  135. package/es/polygon/models/ocean.d.ts +2 -2
  136. package/es/polygon/models/ocean.js +69 -28
  137. package/es/polygon/models/tile.d.ts +2 -2
  138. package/es/polygon/models/tile.js +70 -30
  139. package/es/polygon/models/water.d.ts +2 -2
  140. package/es/polygon/models/water.js +69 -28
  141. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +1 -2
  142. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +1 -2
  143. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +1 -2
  144. package/es/raster/index.d.ts +2 -3
  145. package/es/raster/index.js +30 -20
  146. package/es/raster/models/index.d.ts +1 -1
  147. package/es/raster/models/index.js +2 -2
  148. package/es/raster/models/raster.d.ts +2 -2
  149. package/es/raster/models/raster.js +39 -28
  150. package/es/raster/models/rasterRgb.d.ts +7 -8
  151. package/es/raster/models/rasterRgb.js +75 -45
  152. package/es/{image/models/tileDataImage.d.ts → raster/models/rasterTerrainRgb.d.ts} +3 -3
  153. package/es/raster/models/rasterTerrainRgb.js +184 -0
  154. package/es/raster/models/rasterTile.d.ts +2 -2
  155. package/es/raster/models/rasterTile.js +78 -37
  156. package/es/raster/shaders/raster_2d_frag.glsl +2 -38
  157. package/es/raster/shaders/raster_rgb_frag.glsl +10 -4
  158. package/es/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
  159. package/es/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
  160. package/es/tile/interaction/getRasterData.d.ts +2 -2
  161. package/es/tile/interaction/utils.js +3 -11
  162. package/es/tile/interface.d.ts +5 -4
  163. package/es/tile/manager/base.d.ts +17 -12
  164. package/es/tile/manager/base.js +212 -47
  165. package/es/tile/service/TileLayerService.d.ts +34 -0
  166. package/es/tile/service/TileLayerService.js +220 -0
  167. package/es/tile/service/TilePickService.d.ts +26 -0
  168. package/es/tile/service/TilePickService.js +174 -0
  169. package/es/tile/service/TileSourceService.d.ts +7 -0
  170. package/es/tile/service/TileSourceService.js +39 -0
  171. package/es/tile/style/constants.d.ts +1 -13
  172. package/es/tile/style/constants.js +6 -15
  173. package/es/tile/style/utils.d.ts +1 -8
  174. package/es/tile/style/utils.js +0 -126
  175. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  176. package/es/tile/tileFactory/DebugTile.js +100 -0
  177. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  178. package/es/tile/tileFactory/ImageTile.js +89 -0
  179. package/es/tile/tileFactory/MaskTile.d.ts +18 -0
  180. package/es/tile/tileFactory/MaskTile.js +105 -0
  181. package/es/tile/tileFactory/RasterRGBTile.d.ts +11 -0
  182. package/es/tile/tileFactory/RasterRGBTile.js +98 -0
  183. package/es/tile/tileFactory/RasterTerrainRGBTile.d.ts +14 -0
  184. package/es/tile/tileFactory/RasterTerrainRGBTile.js +89 -0
  185. package/es/tile/tileFactory/RasterTile.d.ts +18 -0
  186. package/es/tile/tileFactory/RasterTile.js +133 -0
  187. package/es/tile/tileFactory/Tile.d.ts +34 -0
  188. package/es/tile/tileFactory/Tile.js +161 -0
  189. package/es/tile/tileFactory/VectorTile.d.ts +27 -0
  190. package/es/tile/tileFactory/VectorTile.js +198 -0
  191. package/es/tile/tileFactory/index.d.ts +11 -4
  192. package/es/tile/tileFactory/index.js +34 -23
  193. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  194. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +34 -22
  195. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  196. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
  197. package/es/tile/tileFactory/util.d.ts +5 -0
  198. package/es/tile/tileFactory/util.js +21 -0
  199. package/es/tile/tileLayer/BaseLayer.d.ts +45 -0
  200. package/es/tile/tileLayer/BaseLayer.js +348 -0
  201. package/es/tile/utils.d.ts +1 -11
  202. package/es/tile/utils.js +0 -129
  203. package/es/utils/dataMappingStyle.d.ts +4 -4
  204. package/es/utils/dataMappingStyle.js +16 -18
  205. package/es/utils/layerData.js +5 -11
  206. package/es/wind/index.d.ts +2 -3
  207. package/es/wind/index.js +27 -17
  208. package/es/wind/models/wind.d.ts +2 -2
  209. package/es/wind/models/wind.js +123 -104
  210. package/lib/Geometry/index.js +29 -17
  211. package/lib/Geometry/models/billboard.js +79 -37
  212. package/lib/Geometry/models/plane.js +82 -40
  213. package/lib/Geometry/models/sprite.js +85 -45
  214. package/lib/canvas/index.js +31 -19
  215. package/lib/canvas/models/canvas.js +56 -15
  216. package/lib/citybuliding/building.js +28 -17
  217. package/lib/citybuliding/models/build.js +72 -25
  218. package/lib/core/BaseLayer.js +388 -261
  219. package/lib/core/BaseModel.js +48 -6
  220. package/lib/core/LayerPickService.js +179 -0
  221. package/lib/core/TextureService.js +77 -0
  222. package/lib/core/triangulation.js +8 -1
  223. package/lib/earth/index.js +30 -9
  224. package/lib/earth/models/atmosphere.js +69 -22
  225. package/lib/earth/models/base.js +90 -42
  226. package/lib/earth/models/bloomsphere.js +69 -22
  227. package/lib/heatmap/index.js +35 -24
  228. package/lib/heatmap/models/grid.js +70 -27
  229. package/lib/heatmap/models/grid3d.js +72 -29
  230. package/lib/heatmap/models/heatmap.js +40 -14
  231. package/lib/heatmap/models/hexagon.js +71 -28
  232. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
  233. package/lib/image/index.js +31 -34
  234. package/lib/image/models/image.js +119 -67
  235. package/lib/image/models/index.js +1 -7
  236. package/lib/image/shaders/dataImage_frag.glsl +10 -16
  237. package/lib/index.js +5 -5
  238. package/lib/line/index.js +53 -26
  239. package/lib/line/models/arc.js +75 -38
  240. package/lib/line/models/arc_3d.js +71 -34
  241. package/lib/line/models/earthArc_3d.js +74 -37
  242. package/lib/line/models/great_circle.js +72 -29
  243. package/lib/line/models/half.js +40 -17
  244. package/lib/line/models/index.js +0 -3
  245. package/lib/line/models/line.js +81 -47
  246. package/lib/line/models/linearline.js +72 -31
  247. package/lib/line/models/simpleLine.js +73 -34
  248. package/lib/line/models/simpleTileLine.js +72 -30
  249. package/lib/line/models/tile.js +40 -17
  250. package/lib/line/models/wall.js +69 -22
  251. package/lib/mask/index.js +28 -99
  252. package/lib/mask/models/fill.js +40 -16
  253. package/lib/mask/models/index.js +1 -4
  254. package/lib/plugins/DataMappingPlugin.js +91 -149
  255. package/lib/plugins/DataSourcePlugin.js +69 -30
  256. package/lib/plugins/FeatureScalePlugin.js +87 -61
  257. package/lib/plugins/LayerModelPlugin.js +128 -41
  258. package/lib/plugins/LayerStylePlugin.js +1 -6
  259. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  260. package/lib/plugins/PixelPickingPlugin.js +1 -1
  261. package/lib/plugins/RegisterStyleAttributePlugin.js +1 -16
  262. package/lib/plugins/UpdateModelPlugin.js +3 -0
  263. package/lib/plugins/UpdateStyleAttributePlugin.js +3 -6
  264. package/lib/point/index.js +56 -24
  265. package/lib/point/models/earthExtrude.js +75 -30
  266. package/lib/point/models/earthFill.js +68 -21
  267. package/lib/point/models/extrude.js +40 -17
  268. package/lib/point/models/fill.js +44 -21
  269. package/lib/point/models/fillmage.js +84 -43
  270. package/lib/point/models/image.js +74 -31
  271. package/lib/point/models/index.js +0 -3
  272. package/lib/point/models/normal.js +73 -30
  273. package/lib/point/models/radar.js +77 -35
  274. package/lib/point/models/simplePoint.js +72 -29
  275. package/lib/point/models/text.js +185 -111
  276. package/lib/point/models/tile.js +79 -35
  277. package/lib/point/models/tileText.js +151 -115
  278. package/lib/polygon/index.js +29 -25
  279. package/lib/polygon/models/extrude.js +71 -32
  280. package/lib/polygon/models/fill.js +78 -43
  281. package/lib/polygon/models/index.js +0 -3
  282. package/lib/polygon/models/ocean.js +71 -28
  283. package/lib/polygon/models/tile.js +72 -30
  284. package/lib/polygon/models/water.js +71 -28
  285. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +1 -2
  286. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +1 -2
  287. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +1 -2
  288. package/lib/raster/index.js +32 -20
  289. package/lib/raster/models/index.js +3 -3
  290. package/lib/raster/models/raster.js +39 -29
  291. package/lib/raster/models/rasterRgb.js +78 -43
  292. package/lib/raster/models/rasterTerrainRgb.js +200 -0
  293. package/lib/raster/models/rasterTile.js +80 -37
  294. package/lib/raster/shaders/raster_2d_frag.glsl +2 -38
  295. package/lib/raster/shaders/raster_rgb_frag.glsl +10 -4
  296. package/lib/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
  297. package/lib/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
  298. package/lib/tile/interaction/utils.js +3 -11
  299. package/lib/tile/manager/base.js +213 -47
  300. package/lib/tile/service/TileLayerService.js +233 -0
  301. package/lib/tile/service/TilePickService.js +190 -0
  302. package/lib/tile/service/TileSourceService.js +59 -0
  303. package/lib/tile/style/constants.js +8 -19
  304. package/lib/tile/style/utils.js +0 -140
  305. package/lib/tile/tileFactory/DebugTile.js +115 -0
  306. package/lib/tile/tileFactory/ImageTile.js +104 -0
  307. package/lib/tile/tileFactory/MaskTile.js +120 -0
  308. package/lib/tile/tileFactory/RasterRGBTile.js +112 -0
  309. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +104 -0
  310. package/lib/tile/tileFactory/RasterTile.js +149 -0
  311. package/lib/tile/tileFactory/Tile.js +171 -0
  312. package/lib/tile/tileFactory/VectorTile.js +214 -0
  313. package/lib/tile/tileFactory/index.js +46 -23
  314. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +36 -22
  315. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  316. package/lib/tile/tileFactory/util.js +35 -0
  317. package/lib/tile/tileLayer/BaseLayer.js +363 -0
  318. package/lib/tile/utils.js +0 -148
  319. package/lib/utils/dataMappingStyle.js +18 -20
  320. package/lib/utils/layerData.js +4 -10
  321. package/lib/wind/index.js +29 -17
  322. package/lib/wind/models/wind.js +125 -104
  323. package/package.json +7 -7
  324. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  325. package/es/image/models/dataImage.d.ts +0 -13
  326. package/es/image/models/dataImage.js +0 -186
  327. package/es/image/models/tileDataImage.js +0 -160
  328. package/es/raster/raster.d.ts +0 -21
  329. package/es/raster/raster.js +0 -161
  330. package/es/tile/interaction/TilePickService.d.ts +0 -16
  331. package/es/tile/interaction/TilePickService.js +0 -129
  332. package/es/tile/manager/layerManager.d.ts +0 -19
  333. package/es/tile/manager/layerManager.js +0 -254
  334. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  335. package/es/tile/manager/mapLayerManager.js +0 -119
  336. package/es/tile/models/tileModel.d.ts +0 -10
  337. package/es/tile/models/tileModel.js +0 -81
  338. package/es/tile/render/TileRenderService.d.ts +0 -10
  339. package/es/tile/render/TileRenderService.js +0 -68
  340. package/es/tile/style/TileStyleService.d.ts +0 -17
  341. package/es/tile/style/TileStyleService.js +0 -118
  342. package/es/tile/tileFactory/base.d.ts +0 -45
  343. package/es/tile/tileFactory/base.js +0 -403
  344. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  345. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  346. package/es/tile/tileFactory/line.d.ts +0 -12
  347. package/es/tile/tileFactory/line.js +0 -59
  348. package/es/tile/tileFactory/mask.d.ts +0 -12
  349. package/es/tile/tileFactory/mask.js +0 -60
  350. package/es/tile/tileFactory/point.d.ts +0 -12
  351. package/es/tile/tileFactory/point.js +0 -60
  352. package/es/tile/tileFactory/polygon.d.ts +0 -12
  353. package/es/tile/tileFactory/polygon.js +0 -59
  354. package/es/tile/tileFactory/raster.d.ts +0 -12
  355. package/es/tile/tileFactory/raster.js +0 -55
  356. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  357. package/es/tile/tileFactory/rasterData.js +0 -81
  358. package/es/tile/tileFactory/test.d.ts +0 -12
  359. package/es/tile/tileFactory/test.js +0 -94
  360. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  361. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  362. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  363. package/es/tile/tileLayer/TileLayer.js +0 -198
  364. package/es/tile/tileLayer/base.d.ts +0 -33
  365. package/es/tile/tileLayer/base.js +0 -212
  366. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  367. package/lib/image/models/dataImage.js +0 -201
  368. package/lib/image/models/tileDataImage.js +0 -174
  369. package/lib/raster/raster.js +0 -178
  370. package/lib/tile/interaction/TilePickService.js +0 -143
  371. package/lib/tile/manager/layerManager.js +0 -275
  372. package/lib/tile/manager/mapLayerManager.js +0 -134
  373. package/lib/tile/models/tileModel.js +0 -94
  374. package/lib/tile/render/TileRenderService.js +0 -78
  375. package/lib/tile/style/TileStyleService.js +0 -133
  376. package/lib/tile/tileFactory/base.js +0 -427
  377. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  378. package/lib/tile/tileFactory/line.js +0 -70
  379. package/lib/tile/tileFactory/mask.js +0 -71
  380. package/lib/tile/tileFactory/point.js +0 -71
  381. package/lib/tile/tileFactory/polygon.js +0 -70
  382. package/lib/tile/tileFactory/raster.js +0 -68
  383. package/lib/tile/tileFactory/rasterData.js +0 -93
  384. package/lib/tile/tileFactory/test.js +0 -106
  385. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  386. package/lib/tile/tileLayer/TileLayer.js +0 -215
  387. package/lib/tile/tileLayer/base.js +0 -225
@@ -95,48 +95,6 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
95
95
 
96
96
  _defineProperty(_assertThisInitialized(_this), "preTextStyle", {});
97
97
 
98
- _defineProperty(_assertThisInitialized(_this), "buildModels", /*#__PURE__*/function () {
99
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callbackModel) {
100
- var _this$layer$getLayerC, usage;
101
-
102
- return _regeneratorRuntime.wrap(function _callee$(_context) {
103
- while (1) {
104
- switch (_context.prev = _context.next) {
105
- case 0:
106
- _this.mapping();
107
-
108
- _this$layer$getLayerC = _this.layer.getLayerConfig(), usage = _this$layer$getLayerC.usage;
109
-
110
- _this.layer.buildLayerModel({
111
- moduleName: 'pointTileText_' + usage,
112
- vertexShader: usage === 'basemap' ? text_map_vert : text_vert,
113
- fragmentShader: usage === 'basemap' ? text_map_frag : text_frag,
114
- triangulation: TextTriangulation.bind(_assertThisInitialized(_this)),
115
- depth: {
116
- enable: false
117
- },
118
- blend: _this.getBlend(),
119
- pick: usage !== 'basemap'
120
- }).then(function (model) {
121
- callbackModel([model]);
122
- }).catch(function (err) {
123
- console.warn(err);
124
- callbackModel([]);
125
- });
126
-
127
- case 3:
128
- case "end":
129
- return _context.stop();
130
- }
131
- }
132
- }, _callee);
133
- }));
134
-
135
- return function (_x) {
136
- return _ref.apply(this, arguments);
137
- };
138
- }());
139
-
140
98
  _defineProperty(_assertThisInitialized(_this), "mapping", function () {
141
99
  _this.initGlyph();
142
100
 
@@ -153,26 +111,26 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
153
111
  _createClass(TextModel, [{
154
112
  key: "getUninforms",
155
113
  value: function getUninforms() {
156
- var _ref2 = this.layer.getLayerConfig(),
157
- _ref2$opacity = _ref2.opacity,
158
- opacity = _ref2$opacity === void 0 ? 1.0 : _ref2$opacity,
159
- _ref2$stroke = _ref2.stroke,
160
- stroke = _ref2$stroke === void 0 ? '#fff' : _ref2$stroke,
161
- _ref2$strokeWidth = _ref2.strokeWidth,
162
- strokeWidth = _ref2$strokeWidth === void 0 ? 0 : _ref2$strokeWidth,
163
- _ref2$textAnchor = _ref2.textAnchor,
164
- textAnchor = _ref2$textAnchor === void 0 ? 'center' : _ref2$textAnchor,
165
- _ref2$textAllowOverla = _ref2.textAllowOverlap,
166
- textAllowOverlap = _ref2$textAllowOverla === void 0 ? false : _ref2$textAllowOverla,
167
- _ref2$halo = _ref2.halo,
168
- halo = _ref2$halo === void 0 ? 0.5 : _ref2$halo,
169
- _ref2$gamma = _ref2.gamma,
170
- gamma = _ref2$gamma === void 0 ? 2.0 : _ref2$gamma,
171
- usage = _ref2.usage,
172
- _ref2$color = _ref2.color,
173
- color = _ref2$color === void 0 ? '#fff' : _ref2$color,
174
- _ref2$size = _ref2.size,
175
- size = _ref2$size === void 0 ? 1 : _ref2$size;
114
+ var _ref = this.layer.getLayerConfig(),
115
+ _ref$opacity = _ref.opacity,
116
+ opacity = _ref$opacity === void 0 ? 1.0 : _ref$opacity,
117
+ _ref$stroke = _ref.stroke,
118
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke,
119
+ _ref$strokeWidth = _ref.strokeWidth,
120
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
121
+ _ref$textAnchor = _ref.textAnchor,
122
+ textAnchor = _ref$textAnchor === void 0 ? 'center' : _ref$textAnchor,
123
+ _ref$textAllowOverlap = _ref.textAllowOverlap,
124
+ textAllowOverlap = _ref$textAllowOverlap === void 0 ? false : _ref$textAllowOverlap,
125
+ _ref$halo = _ref.halo,
126
+ halo = _ref$halo === void 0 ? 0.5 : _ref$halo,
127
+ _ref$gamma = _ref.gamma,
128
+ gamma = _ref$gamma === void 0 ? 2.0 : _ref$gamma,
129
+ usage = _ref.usage,
130
+ _ref$color = _ref.color,
131
+ color = _ref$color === void 0 ? '#fff' : _ref$color,
132
+ _ref$size = _ref.size,
133
+ size = _ref$size === void 0 ? 1 : _ref$size;
176
134
 
177
135
  var _this$fontService = this.fontService,
178
136
  canvas = _this$fontService.canvas,
@@ -201,21 +159,83 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
201
159
  }
202
160
  }, {
203
161
  key: "initModels",
204
- value: function initModels(callbackModel) {
205
- this.extent = this.textExtent();
162
+ value: function () {
163
+ var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
164
+ var _ref2, _ref2$textAnchor, textAnchor, _ref2$textAllowOverla, textAllowOverlap;
206
165
 
207
- var _ref3 = this.layer.getLayerConfig(),
208
- _ref3$textAnchor = _ref3.textAnchor,
209
- textAnchor = _ref3$textAnchor === void 0 ? 'center' : _ref3$textAnchor,
210
- _ref3$textAllowOverla = _ref3.textAllowOverlap,
211
- textAllowOverlap = _ref3$textAllowOverla === void 0 ? true : _ref3$textAllowOverla;
166
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
167
+ while (1) {
168
+ switch (_context.prev = _context.next) {
169
+ case 0:
170
+ this.extent = this.textExtent();
171
+ _ref2 = this.layer.getLayerConfig(), _ref2$textAnchor = _ref2.textAnchor, textAnchor = _ref2$textAnchor === void 0 ? 'center' : _ref2$textAnchor, _ref2$textAllowOverla = _ref2.textAllowOverlap, textAllowOverlap = _ref2$textAllowOverla === void 0 ? true : _ref2$textAllowOverla;
172
+ this.preTextStyle = {
173
+ textAnchor: textAnchor,
174
+ textAllowOverlap: textAllowOverlap
175
+ };
176
+ _context.next = 5;
177
+ return this.buildModels();
178
+
179
+ case 5:
180
+ return _context.abrupt("return", _context.sent);
181
+
182
+ case 6:
183
+ case "end":
184
+ return _context.stop();
185
+ }
186
+ }
187
+ }, _callee, this);
188
+ }));
212
189
 
213
- this.preTextStyle = {
214
- textAnchor: textAnchor,
215
- textAllowOverlap: textAllowOverlap
216
- };
217
- this.buildModels(callbackModel);
218
- }
190
+ function initModels() {
191
+ return _initModels.apply(this, arguments);
192
+ }
193
+
194
+ return initModels;
195
+ }()
196
+ }, {
197
+ key: "buildModels",
198
+ value: function () {
199
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
200
+ var _this$layer$getLayerC, usage, model;
201
+
202
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
203
+ while (1) {
204
+ switch (_context2.prev = _context2.next) {
205
+ case 0:
206
+ this.mapping();
207
+ _this$layer$getLayerC = this.layer.getLayerConfig(), usage = _this$layer$getLayerC.usage;
208
+ _context2.next = 4;
209
+ return this.layer.buildLayerModel({
210
+ moduleName: 'pointTileText_' + usage,
211
+ vertexShader: usage === 'basemap' ? text_map_vert : text_vert,
212
+ fragmentShader: usage === 'basemap' ? text_map_frag : text_frag,
213
+ triangulation: TextTriangulation.bind(this),
214
+ depth: {
215
+ enable: false
216
+ },
217
+ blend: this.getBlend(),
218
+ pick: usage !== 'basemap'
219
+ });
220
+
221
+ case 4:
222
+ model = _context2.sent;
223
+ return _context2.abrupt("return", [model]);
224
+
225
+ case 6:
226
+ case "end":
227
+ return _context2.stop();
228
+ }
229
+ }
230
+ }, _callee2, this);
231
+ }));
232
+
233
+ function buildModels() {
234
+ return _buildModels.apply(this, arguments);
235
+ }
236
+
237
+ return buildModels;
238
+ }()
219
239
  }, {
220
240
  key: "clearModels",
221
241
  value: function clearModels() {
@@ -297,11 +317,11 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
297
317
  }, {
298
318
  key: "initTextFont",
299
319
  value: function initTextFont() {
300
- var _ref4 = this.layer.getLayerConfig(),
301
- _ref4$fontWeight = _ref4.fontWeight,
302
- fontWeight = _ref4$fontWeight === void 0 ? '400' : _ref4$fontWeight,
303
- _ref4$fontFamily = _ref4.fontFamily,
304
- fontFamily = _ref4$fontFamily === void 0 ? 'sans-serif' : _ref4$fontFamily;
320
+ var _ref3 = this.layer.getLayerConfig(),
321
+ _ref3$fontWeight = _ref3.fontWeight,
322
+ fontWeight = _ref3$fontWeight === void 0 ? '400' : _ref3$fontWeight,
323
+ _ref3$fontFamily = _ref3.fontFamily,
324
+ fontFamily = _ref3$fontFamily === void 0 ? 'sans-serif' : _ref3$fontFamily;
305
325
 
306
326
  var data = this.layer.getEncodedData();
307
327
  var characterSet = [];
@@ -346,11 +366,11 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
346
366
 
347
367
  var mapping = this.fontService.mapping;
348
368
 
349
- var _ref5 = this.layer.getLayerConfig(),
350
- _ref5$spacing = _ref5.spacing,
351
- spacing = _ref5$spacing === void 0 ? 2 : _ref5$spacing,
352
- _ref5$textAnchor = _ref5.textAnchor,
353
- textAnchor = _ref5$textAnchor === void 0 ? 'center' : _ref5$textAnchor;
369
+ var _ref4 = this.layer.getLayerConfig(),
370
+ _ref4$spacing = _ref4.spacing,
371
+ spacing = _ref4$spacing === void 0 ? 2 : _ref4$spacing,
372
+ _ref4$textAnchor = _ref4.textAnchor,
373
+ textAnchor = _ref4$textAnchor === void 0 ? 'center' : _ref4$textAnchor;
354
374
 
355
375
  var data = this.layer.getEncodedData();
356
376
  this.glyphInfo = data.map(function (feature) {
@@ -386,11 +406,11 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
386
406
  value: function filterGlyphs() {
387
407
  var _this3 = this;
388
408
 
389
- var _ref6 = this.layer.getLayerConfig(),
390
- _ref6$padding = _ref6.padding,
391
- padding = _ref6$padding === void 0 ? [4, 4] : _ref6$padding,
392
- _ref6$textAllowOverla = _ref6.textAllowOverlap,
393
- textAllowOverlap = _ref6$textAllowOverla === void 0 ? false : _ref6$textAllowOverla;
409
+ var _ref5 = this.layer.getLayerConfig(),
410
+ _ref5$padding = _ref5.padding,
411
+ padding = _ref5$padding === void 0 ? [4, 4] : _ref5$padding,
412
+ _ref5$textAllowOverla = _ref5.textAllowOverlap,
413
+ textAllowOverlap = _ref5$textAllowOverla === void 0 ? false : _ref5$textAllowOverla;
394
414
 
395
415
  if (textAllowOverlap) {
396
416
  // 如果允许文本覆盖
@@ -475,32 +495,47 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
475
495
  }
476
496
  }, {
477
497
  key: "reBuildModel",
478
- value: function reBuildModel() {
479
- var _this4 = this;
480
-
481
- var _this$layer$getLayerC3 = this.layer.getLayerConfig(),
482
- usage = _this$layer$getLayerC3.usage;
483
-
484
- this.filterGlyphs();
485
- this.layer.buildLayerModel({
486
- moduleName: 'pointTileText_' + usage,
487
- vertexShader: usage === 'basemap' ? text_map_vert : text_vert,
488
- fragmentShader: usage === 'basemap' ? text_map_frag : text_frag,
489
- triangulation: TextTriangulation.bind(this),
490
- depth: {
491
- enable: false
492
- },
493
- blend: this.getBlend(),
494
- pick: usage !== 'basemap'
495
- }).then(function (model) {
496
- _this4.layer.models = [model];
497
-
498
- _this4.layerService.throttleRenderLayers();
499
- }).catch(function (err) {
500
- console.warn(err);
501
- _this4.layer.models = [];
502
- });
503
- }
498
+ value: function () {
499
+ var _reBuildModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
500
+ var _this$layer$getLayerC3, usage, model;
501
+
502
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
503
+ while (1) {
504
+ switch (_context3.prev = _context3.next) {
505
+ case 0:
506
+ _this$layer$getLayerC3 = this.layer.getLayerConfig(), usage = _this$layer$getLayerC3.usage;
507
+ this.filterGlyphs();
508
+ _context3.next = 4;
509
+ return this.layer.buildLayerModel({
510
+ moduleName: 'pointTileText_' + usage,
511
+ vertexShader: usage === 'basemap' ? text_map_vert : text_vert,
512
+ fragmentShader: usage === 'basemap' ? text_map_frag : text_frag,
513
+ triangulation: TextTriangulation.bind(this),
514
+ depth: {
515
+ enable: false
516
+ },
517
+ blend: this.getBlend(),
518
+ pick: usage !== 'basemap'
519
+ });
520
+
521
+ case 4:
522
+ model = _context3.sent;
523
+ return _context3.abrupt("return", [model]);
524
+
525
+ case 6:
526
+ case "end":
527
+ return _context3.stop();
528
+ }
529
+ }
530
+ }, _callee3, this);
531
+ }));
532
+
533
+ function reBuildModel() {
534
+ return _reBuildModel.apply(this, arguments);
535
+ }
536
+
537
+ return reBuildModel;
538
+ }()
504
539
  }]);
505
540
 
506
541
  return TextModel;
@@ -11,8 +11,7 @@ export default class PolygonLayer extends BaseLayer<IPolygonLayerStyleOptions> {
11
11
  };
12
12
  };
13
13
  };
14
- buildModels(): void;
15
- rebuildModels(): void;
16
- protected getModelType(): PolygonModelType;
14
+ buildModels(): Promise<void>;
15
+ getModelType(): PolygonModelType;
17
16
  protected getPointModelType(): PolygonModelType;
18
17
  }
@@ -1,3 +1,4 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
1
2
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
4
  import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
@@ -5,13 +6,13 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
10
 
9
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
12
 
11
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
14
 
13
15
  import BaseLayer from "../core/BaseLayer";
14
- import { isVectorTile } from "../tile/utils";
15
16
  import PolygonModels from "./models/";
16
17
 
17
18
  var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
@@ -37,35 +38,37 @@ var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
37
38
 
38
39
  _createClass(PolygonLayer, [{
39
40
  key: "buildModels",
40
- value: function buildModels() {
41
- var _this2 = this;
42
-
43
- var shape = this.getModelType();
44
- this.layerModel = new PolygonModels[shape](this);
45
- this.layerModel.initModels(function (models) {
46
- _this2.dispatchModelLoad(models);
47
- });
48
- }
49
- }, {
50
- key: "rebuildModels",
51
- value: function rebuildModels() {
52
- var _this3 = this;
41
+ value: function () {
42
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
43
+ var shape;
44
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
45
+ while (1) {
46
+ switch (_context.prev = _context.next) {
47
+ case 0:
48
+ shape = this.getModelType();
49
+ this.layerModel = new PolygonModels[shape](this);
50
+ _context.next = 4;
51
+ return this.initLayerModels();
52
+
53
+ case 4:
54
+ case "end":
55
+ return _context.stop();
56
+ }
57
+ }
58
+ }, _callee, this);
59
+ }));
60
+
61
+ function buildModels() {
62
+ return _buildModels.apply(this, arguments);
63
+ }
53
64
 
54
- this.layerModel.buildModels(function (models) {
55
- _this3.dispatchModelLoad(models);
56
- });
57
- }
65
+ return buildModels;
66
+ }()
58
67
  }, {
59
68
  key: "getModelType",
60
69
  value: function getModelType() {
61
70
  var _shapeAttribute$scale;
62
71
 
63
- var parserType = this.layerSource.getParserType();
64
-
65
- if (isVectorTile(parserType)) {
66
- return 'vectorpolygon';
67
- }
68
-
69
72
  var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
70
73
  var shape = shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field;
71
74
 
@@ -15,8 +15,8 @@ export default class ExtrudeModel extends BaseModel {
15
15
  u_targetColor: number[];
16
16
  u_texture: ITexture2D;
17
17
  };
18
- initModels(callbackModel: (models: IModel[]) => void): void;
19
- buildModels(callbackModel: (models: IModel[]) => void): void;
18
+ initModels(): Promise<IModel[]>;
19
+ buildModels(): Promise<IModel[]>;
20
20
  getShaders(): {
21
21
  frag: string;
22
22
  vert: string;
@@ -1,9 +1,11 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
3
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
4
  import _createClass from "@babel/runtime/helpers/esm/createClass";
4
5
  import _inherits from "@babel/runtime/helpers/esm/inherits";
5
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
7
9
 
8
10
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
9
11
 
@@ -16,19 +18,19 @@ import BaseModel from "../../core/BaseModel";
16
18
  import { PolygonExtrudeTriangulation } from "../../core/triangulation";
17
19
 
18
20
  /* babel-plugin-inline-import '../shaders/extrude/polygon_extrude_frag.glsl' */
19
- var polygonExtrudeFrag = "uniform float u_opacity: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = styleMappingMat[0][0]; \n float isSide = styleMappingMat[0][3];\n float sidey = styleMappingMat[3][0];\n float lightWeight = styleMappingMat[3][1];\n\n // Tip: \u90E8\u5206\u673A\u578B GPU \u8BA1\u7B97\u7CBE\u5EA6\u517C\u5BB9\n if(isSide < 0.999) {\n // side face\n if(u_sidesurface < 1.0) {\n discard;\n }\n\n if(u_linearColor == 1.0) {\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n gl_FragColor = linearColor;\n } else {\n gl_FragColor = v_Color;\n }\n\n } else {\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n\n gl_FragColor = v_Color;\n }\n\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n"; // extrude
21
+ var polygonExtrudeFrag = "uniform float u_opacity: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = styleMappingMat[0][0]; \n float isSide = styleMappingMat[0][3];\n float sidey = styleMappingMat[3][0];\n float lightWeight = styleMappingMat[3][1];\n\n if(isSide < 1.0) {\n // side face\n if(u_sidesurface < 1.0) {\n discard;\n }\n\n if(u_linearColor == 1.0) {\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n gl_FragColor = linearColor;\n } else {\n gl_FragColor = v_Color;\n }\n\n } else {\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n\n gl_FragColor = v_Color;\n }\n\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n"; // extrude
20
22
 
21
23
  /* babel-plugin-inline-import '../shaders/extrude/polygon_extrude_vert.glsl' */
22
24
  var polygonExtrudeVert = "precision highp float;\n\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute float a_Size;\nattribute vec3 a_uvs;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\nuniform float u_heightfixed: 0.0; // \u9ED8\u8BA4\u4E0D\u56FA\u5B9A\nuniform float u_raisingHeight: 0.0;\nuniform float u_opacity: 1.0;\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\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"light\"\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 - isSide\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 // sidey\n );\n styleMappingMat[0][3] = a_Position.z;\n styleMappingMat[3][0] = a_uvs[2];\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 // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n\n vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);\n vec4 project_pos = project_position(pos);\n\n if(u_heightfixed > 0.0) { // \u5224\u65AD\u51E0\u4F55\u4F53\u662F\u5426\u56FA\u5B9A\u9AD8\u5EA6\n project_pos.z = a_Position.z * a_Size;\n project_pos.z += u_raisingHeight;\n\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 project_pos.z *= mapboxZoomScale;\n project_pos.z += u_raisingHeight * mapboxZoomScale;\n }\n }\n\n // project_pos.z += 500000.0; // amap1\n\n // project_pos.z += (500000.0 * 4.0)/pow(2.0, 21.0 - u_Zoom); // mapbox\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n float lightWeight = calc_lighting(pos);\n // v_Color = a_Color;\n v_Color = vec4(a_Color.rgb * lightWeight, a_Color.w);\n\n styleMappingMat[3][1] = lightWeight;\n\n setPickingColor(a_PickingColor);\n}\n";
23
25
 
24
26
  /* babel-plugin-inline-import '../shaders/extrude/polygon_extrudetex_frag.glsl' */
25
- var polygonExtrudeTexFrag = "uniform sampler2D u_texture;\nuniform float u_opacity: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = styleMappingMat[0][0];\n float isSide = styleMappingMat[0][3];\n float lightWeight = styleMappingMat[3][1];\n float topU = styleMappingMat[2][2];\n float topV = styleMappingMat[2][3];\n\n float sidey = styleMappingMat[3][0];\n // Tip: \u90E8\u5206\u673A\u578B GPU \u8BA1\u7B97\u7CBE\u5EA6\u517C\u5BB9\n if(isSide < 0.999) {\n // side face\n if(u_sidesurface < 1.0) {\n discard;\n }\n\n if(u_linearColor == 1.0) {\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n gl_FragColor = linearColor;\n } else {\n gl_FragColor = v_Color;\n }\n } else {\n\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n\n gl_FragColor = texture2D(u_texture, vec2(topU, topV));\n }\n \n\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n"; // texture
27
+ var polygonExtrudeTexFrag = "uniform sampler2D u_texture;\nuniform float u_opacity: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = styleMappingMat[0][0];\n float isSide = styleMappingMat[0][3];\n float lightWeight = styleMappingMat[3][1];\n float topU = styleMappingMat[2][2];\n float topV = styleMappingMat[2][3];\n\n float sidey = styleMappingMat[3][0];\n if(isSide < 1.0) {\n // side face\n if(u_sidesurface < 1.0) {\n discard;\n }\n\n if(u_linearColor == 1.0) {\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n gl_FragColor = linearColor;\n } else {\n gl_FragColor = v_Color;\n }\n } else {\n\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n\n gl_FragColor = texture2D(u_texture, vec2(topU, topV));\n }\n \n\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n"; // texture
26
28
 
27
29
  /* babel-plugin-inline-import '../shaders/extrude/polygon_extrudetex_vert.glsl' */
28
30
  var polygonExtrudeTexVert = "precision highp float;\n\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute float a_Size;\nattribute vec3 a_uvs;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\nuniform float u_heightfixed: 0.0; // \u9ED8\u8BA4\u4E0D\u56FA\u5B9A\nuniform float u_raisingHeight: 0.0;\nuniform float u_opacity: 1.0;\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\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\nvoid main() {\n v_Color = a_Color;\n\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 - a_Position.z(judge side by a_Position.z)\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] - u - v\n 0.0, 0.0, 0.0, 0.0 // sidey\n );\n \n styleMappingMat[0][3] = a_Position.z;\n styleMappingMat[2][2] = a_uvs[0];\n styleMappingMat[2][3] = 1.0 - a_uvs[1];\n styleMappingMat[3][0] = a_uvs[2];\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 // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n\n vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);\n vec4 project_pos = project_position(pos);\n\n if(u_heightfixed > 0.0) { // \u5224\u65AD\u51E0\u4F55\u4F53\u662F\u5426\u56FA\u5B9A\u9AD8\u5EA6\n project_pos.z = a_Position.z * a_Size;\n project_pos.z += u_raisingHeight;\n\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 project_pos.z *= mapboxZoomScale;\n project_pos.z += u_raisingHeight * mapboxZoomScale;\n }\n }\n\n // project_pos.z += 500000.0; // amap1\n\n // project_pos.z += (500000.0 * 4.0)/pow(2.0, 21.0 - u_Zoom); // mapbox\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n float lightWeight = calc_lighting(pos);\n styleMappingMat[3][1] = lightWeight;\n\n setPickingColor(a_PickingColor);\n}\n"; // extrude picking
29
31
 
30
32
  /* babel-plugin-inline-import '../shaders/extrude/polygon_extrude_picklight_frag.glsl' */
31
- var polygonExtrudePickLightFrag = "uniform float u_opacity: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = styleMappingMat[0][0];\n float isSide = styleMappingMat[0][3];\n float sidey = styleMappingMat[3][0];\n float lightWeight = styleMappingMat[3][1];\n\n // Tip: \u90E8\u5206\u673A\u578B GPU \u8BA1\u7B97\u7CBE\u5EA6\u517C\u5BB9\n if(isSide < 0.999) {\n // side face\n if(u_sidesurface < 1.0) {\n discard;\n }\n \n if( u_linearColor == 1.0) {\n // side use linear\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n gl_FragColor = linearColor;\n } else {\n // side notuse linear\n gl_FragColor = v_Color;\n }\n } else {\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n gl_FragColor = v_Color;\n }\n\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColorAlpha(gl_FragColor, lightWeight);\n}\n";
33
+ var polygonExtrudePickLightFrag = "uniform float u_opacity: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_linearColor: 0;\n\nuniform float u_topsurface: 1.0;\nuniform float u_sidesurface: 1.0;\n\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = styleMappingMat[0][0];\n float isSide = styleMappingMat[0][3];\n float sidey = styleMappingMat[3][0];\n float lightWeight = styleMappingMat[3][1];\n\n if(isSide < 1.0) {\n // side face\n if(u_sidesurface < 1.0) {\n discard;\n }\n \n if( u_linearColor == 1.0) {\n // side use linear\n vec4 linearColor = mix(u_targetColor, u_sourceColor, sidey);\n linearColor.rgb *= lightWeight;\n gl_FragColor = linearColor;\n } else {\n // side notuse linear\n gl_FragColor = v_Color;\n }\n } else {\n // top face\n if(u_topsurface < 1.0) {\n discard;\n }\n gl_FragColor = v_Color;\n }\n\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColorAlpha(gl_FragColor, lightWeight);\n}\n";
32
34
 
33
35
  /* babel-plugin-inline-import '../shaders/extrude/polygon_extrude_picklight_vert.glsl' */
34
36
  var polygonExtrudePickLightVert = "precision highp float;\n\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute float a_Size;\nattribute vec3 a_uvs;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\nuniform float u_heightfixed: 0.0; // \u9ED8\u8BA4\u4E0D\u56FA\u5B9A\nuniform float u_raisingHeight: 0.0;\nuniform float u_opacity: 1.0;\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\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"light\"\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 - isSide\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 // sidey\n );\n styleMappingMat[0][3] = a_Position.z;\n styleMappingMat[3][0] = a_uvs[2];\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 // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n vec4 pos = vec4(a_Position.xy, a_Position.z * a_Size, 1.0);\n vec4 project_pos = project_position(pos);\n\n if(u_heightfixed > 0.0) { // \u5224\u65AD\u51E0\u4F55\u4F53\u662F\u5426\u56FA\u5B9A\u9AD8\u5EA6\n project_pos.z = a_Position.z * a_Size;\n project_pos.z += 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 project_pos.z *= mapboxZoomScale;\n project_pos.z += u_raisingHeight * mapboxZoomScale;\n }\n }\n\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xyz * vec3(1.0, 1.0, -1.0), 1.0));\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n float lightWeight = calc_lighting(pos);\n // v_Color = a_Color;\n v_Color = vec4(a_Color.rgb * lightWeight, a_Color.w);\n\n styleMappingMat[3][1] = lightWeight;\n\n setPickingColor(a_PickingColor);\n}\n";
@@ -124,37 +126,72 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
124
126
  }
125
127
  }, {
126
128
  key: "initModels",
127
- value: function initModels(callbackModel) {
128
- this.loadTexture();
129
- this.buildModels(callbackModel);
130
- }
129
+ value: function () {
130
+ var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
131
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
132
+ while (1) {
133
+ switch (_context.prev = _context.next) {
134
+ case 0:
135
+ this.loadTexture();
136
+ _context.next = 3;
137
+ return this.buildModels();
138
+
139
+ case 3:
140
+ return _context.abrupt("return", _context.sent);
141
+
142
+ case 4:
143
+ case "end":
144
+ return _context.stop();
145
+ }
146
+ }
147
+ }, _callee, this);
148
+ }));
149
+
150
+ function initModels() {
151
+ return _initModels.apply(this, arguments);
152
+ }
153
+
154
+ return initModels;
155
+ }()
131
156
  }, {
132
157
  key: "buildModels",
133
- value: function buildModels(callbackModel) {
134
- var _ref2 = this.layer.getLayerConfig(),
135
- _ref2$mask = _ref2.mask,
136
- mask = _ref2$mask === void 0 ? false : _ref2$mask,
137
- _ref2$maskInside = _ref2.maskInside,
138
- maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
139
-
140
- var _this$getShaders = this.getShaders(),
141
- frag = _this$getShaders.frag,
142
- vert = _this$getShaders.vert,
143
- type = _this$getShaders.type;
144
-
145
- this.layer.buildLayerModel({
146
- moduleName: type,
147
- vertexShader: vert,
148
- fragmentShader: frag,
149
- triangulation: PolygonExtrudeTriangulation,
150
- stencil: getMask(mask, maskInside)
151
- }).then(function (model) {
152
- callbackModel([model]);
153
- }).catch(function (err) {
154
- console.warn(err);
155
- callbackModel([]);
156
- });
157
- }
158
+ value: function () {
159
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
160
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
161
+
162
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
163
+ while (1) {
164
+ switch (_context2.prev = _context2.next) {
165
+ case 0:
166
+ _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;
167
+ _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
168
+ _context2.next = 4;
169
+ return this.layer.buildLayerModel({
170
+ moduleName: type,
171
+ vertexShader: vert,
172
+ fragmentShader: frag,
173
+ triangulation: PolygonExtrudeTriangulation,
174
+ stencil: getMask(mask, maskInside)
175
+ });
176
+
177
+ case 4:
178
+ model = _context2.sent;
179
+ return _context2.abrupt("return", [model]);
180
+
181
+ case 6:
182
+ case "end":
183
+ return _context2.stop();
184
+ }
185
+ }
186
+ }, _callee2, this);
187
+ }));
188
+
189
+ function buildModels() {
190
+ return _buildModels.apply(this, arguments);
191
+ }
192
+
193
+ return buildModels;
194
+ }()
158
195
  }, {
159
196
  key: "getShaders",
160
197
  value: function getShaders() {
@@ -9,8 +9,8 @@ export default class FillModel extends BaseModel {
9
9
  u_opacitylinear: number;
10
10
  u_dir: number;
11
11
  };
12
- initModels(callbackModel: (models: IModel[]) => void): void;
13
- buildModels(callbackModel: (models: IModel[]) => void): void;
12
+ initModels(): Promise<IModel[]>;
13
+ buildModels(): Promise<IModel[]>;
14
14
  clearModels(): void;
15
15
  protected registerBuiltinAttributes(): void;
16
16
  private getModelParams;