@antv/l7-layers 2.10.6 → 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
@@ -25,8 +25,6 @@ var _l7Core = require("@antv/l7-core");
25
25
 
26
26
  var _l7Utils = require("@antv/l7-utils");
27
27
 
28
- var _lodash = require("lodash");
29
-
30
28
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
31
29
 
32
30
  var _triangulation = require("../../core/triangulation");
@@ -36,7 +34,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
36
34
  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; } }
37
35
 
38
36
  /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
39
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\n\n\n// float getBlurIndusty() {\n// vec2 u_ViewportSize = vec2(1024);\n\n// float vW = 2.0/u_ViewportSize.x;\n// float vH = 2.0/u_ViewportSize.y;\n// vec2 vUv = v_texCoord;\n// float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n// float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;\n// float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n\n// float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;\n// float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;\n// float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;\n\n// float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;\n// float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;\n// float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;\n\n// return(\n// i11 + \n// i12 + \n// i13 + \n// i21 + \n// i21 + \n// i22 + \n// i23 + \n// i31 + \n// i32 + \n// i33\n// )/9.0;\n// }\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n\n // float value = getBlurIndusty();\n\n\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
37
+ var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\nbool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }\n\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue || isnan_emu(value))\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
40
38
 
41
39
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
42
40
  var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
@@ -67,11 +65,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
67
65
  domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
68
66
  rampColors = _ref.rampColors;
69
67
 
70
- if (!(0, _lodash.isEqual)(this.rampColors, rampColors)) {
71
- this.updateColorTexture();
72
- this.rampColors = rampColors;
73
- }
74
-
68
+ this.colorTexture = this.layer.textureService.getColorTexture(rampColors);
75
69
  return {
76
70
  u_opacity: opacity || 1,
77
71
  u_texture: this.texture,
@@ -135,14 +129,14 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
135
129
  }, {
136
130
  key: "initModels",
137
131
  value: function () {
138
- var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(callbackModel) {
139
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, rampColorsData, rampColors, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, imageData;
132
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
133
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
140
134
 
141
135
  return _regenerator.default.wrap(function _callee2$(_context2) {
142
136
  while (1) {
143
137
  switch (_context2.prev = _context2.next) {
144
138
  case 0:
145
- _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, rampColorsData = _ref2.rampColorsData, rampColors = _ref2.rampColors;
139
+ _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;
146
140
  source = this.layer.getSource();
147
141
  createTexture2D = this.rendererService.createTexture2D;
148
142
  parserDataItem = source.data.dataArray[0];
@@ -162,14 +156,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
162
156
  type: _l7Core.gl.FLOAT // aniso: 4,
163
157
 
164
158
  });
165
- imageData = rampColorsData ? rampColorsData : (0, _l7Utils.generateColorRamp)(rampColors);
166
- this.colorTexture = createTexture2D({
167
- data: imageData.data,
168
- width: imageData.width,
169
- height: imageData.height,
170
- flipY: false
171
- });
172
- this.layer.buildLayerModel({
159
+ _context2.next = 13;
160
+ return this.layer.buildLayerModel({
173
161
  moduleName: 'rasterImageData',
174
162
  vertexShader: rasterVert,
175
163
  fragmentShader: rasterFrag,
@@ -179,14 +167,13 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
179
167
  enable: false
180
168
  },
181
169
  stencil: (0, _l7Utils.getMask)(mask, maskInside)
182
- }).then(function (model) {
183
- callbackModel([model]);
184
- }).catch(function (err) {
185
- console.warn(err);
186
- callbackModel([]);
187
170
  });
188
171
 
189
- case 14:
172
+ case 13:
173
+ model = _context2.sent;
174
+ return _context2.abrupt("return", [model]);
175
+
176
+ case 15:
190
177
  case "end":
191
178
  return _context2.stop();
192
179
  }
@@ -194,7 +181,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
194
181
  }, _callee2, this);
195
182
  }));
196
183
 
197
- function initModels(_x2) {
184
+ function initModels() {
198
185
  return _initModels.apply(this, arguments);
199
186
  }
200
187
 
@@ -202,9 +189,32 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
202
189
  }()
203
190
  }, {
204
191
  key: "buildModels",
205
- value: function buildModels(callbackModel) {
206
- this.initModels(callbackModel);
207
- }
192
+ value: function () {
193
+ var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
194
+ return _regenerator.default.wrap(function _callee3$(_context3) {
195
+ while (1) {
196
+ switch (_context3.prev = _context3.next) {
197
+ case 0:
198
+ _context3.next = 2;
199
+ return this.initModels();
200
+
201
+ case 2:
202
+ return _context3.abrupt("return", _context3.sent);
203
+
204
+ case 3:
205
+ case "end":
206
+ return _context3.stop();
207
+ }
208
+ }
209
+ }, _callee3, this);
210
+ }));
211
+
212
+ function buildModels() {
213
+ return _buildModels.apply(this, arguments);
214
+ }
215
+
216
+ return buildModels;
217
+ }()
208
218
  }, {
209
219
  key: "clearModels",
210
220
  value: function clearModels() {
@@ -9,6 +9,10 @@ exports.default = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
12
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
17
 
14
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -33,12 +37,15 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
33
37
 
34
38
  var _triangulation = require("../../core/triangulation");
35
39
 
40
+ var _excluded = ["data"],
41
+ _excluded2 = ["rasterData"];
42
+
36
43
  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); }; }
37
44
 
38
45
  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; } }
39
46
 
40
47
  /* babel-plugin-inline-import '../shaders/raster_rgb_frag.glsl' */
41
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform float u_channelRMax: 256.;\nuniform float u_channelGMax: 256.;\nuniform float u_channelBMax: 256.;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;\n gl_FragColor = vec4(rgb.r/u_channelRMax, rgb.g/u_channelGMax, rgb.b/u_channelBMax, u_opacity);\n}";
48
+ var rasterFrag = "precision mediump float;\nuniform vec2 u_rminmax: vec2(0,255); \nuniform vec2 u_gminmax: vec2(0,255);\nuniform vec2 u_bminmax: vec2(0,255);\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform float u_noDataValue : 0.0;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;\n if(rgb == vec3(u_noDataValue)) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n gl_FragColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);\n }\n \n}";
42
49
 
43
50
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
44
51
  var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
@@ -58,9 +65,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
58
65
  }
59
66
 
60
67
  _this = _super.call.apply(_super, [this].concat(args));
61
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "channelRMax", 256);
62
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "channelGMax", 256);
63
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "channelBMax", 256);
68
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataOption", {});
64
69
  return _this;
65
70
  }
66
71
 
@@ -70,23 +75,27 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
70
75
  var _ref = this.layer.getLayerConfig(),
71
76
  _ref$opacity = _ref.opacity,
72
77
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
73
- channelRMax = _ref.channelRMax,
74
- channelGMax = _ref.channelGMax,
75
- channelBMax = _ref.channelBMax;
78
+ _ref$noDataValue = _ref.noDataValue,
79
+ noDataValue = _ref$noDataValue === void 0 ? 0 : _ref$noDataValue;
76
80
 
81
+ var _this$dataOption = this.dataOption,
82
+ rMinMax = _this$dataOption.rMinMax,
83
+ gMinMax = _this$dataOption.gMinMax,
84
+ bMinMax = _this$dataOption.bMinMax;
77
85
  return {
78
86
  u_opacity: opacity || 1,
79
87
  u_texture: this.texture,
80
- u_channelRMax: channelRMax !== undefined ? channelRMax : this.channelRMax,
81
- u_channelGMax: channelGMax !== undefined ? channelGMax : this.channelGMax,
82
- u_channelBMax: channelBMax !== undefined ? channelBMax : this.channelBMax
88
+ u_noDataValue: noDataValue,
89
+ u_rminmax: rMinMax,
90
+ u_gminmax: gMinMax,
91
+ u_bminmax: bMinMax
83
92
  };
84
93
  }
85
94
  }, {
86
95
  key: "getRasterData",
87
96
  value: function () {
88
97
  var _getRasterData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(parserDataItem) {
89
- var _yield$parserDataItem, rasterData, width, height, channelR, channelG, channelB;
98
+ var data, rescfg, _yield$parserDataItem, rasterData, rest;
90
99
 
91
100
  return _regenerator.default.wrap(function _callee$(_context) {
92
101
  while (1) {
@@ -97,11 +106,11 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
97
106
  break;
98
107
  }
99
108
 
100
- return _context.abrupt("return", {
101
- data: parserDataItem.data,
102
- width: parserDataItem.width,
103
- height: parserDataItem.height
104
- });
109
+ data = parserDataItem.data, rescfg = (0, _objectWithoutProperties2.default)(parserDataItem, _excluded);
110
+ this.dataOption = rescfg;
111
+ return _context.abrupt("return", (0, _objectSpread2.default)({
112
+ data: data
113
+ }, rescfg));
105
114
 
106
115
  case 4:
107
116
  _context.next = 6;
@@ -110,21 +119,24 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
110
119
  case 6:
111
120
  _yield$parserDataItem = _context.sent;
112
121
  rasterData = _yield$parserDataItem.rasterData;
113
- width = _yield$parserDataItem.width;
114
- height = _yield$parserDataItem.height;
115
- channelR = _yield$parserDataItem.channelR;
116
- channelG = _yield$parserDataItem.channelG;
117
- channelB = _yield$parserDataItem.channelB;
118
- this.channelRMax = channelR;
119
- this.channelGMax = channelG;
120
- this.channelBMax = channelB;
121
- return _context.abrupt("return", {
122
- data: Array.from(rasterData),
123
- width: width,
124
- height: height
125
- });
122
+ rest = (0, _objectWithoutProperties2.default)(_yield$parserDataItem, _excluded2);
123
+ this.dataOption = rest;
126
124
 
127
- case 17:
125
+ if (!Array.isArray(rasterData)) {
126
+ _context.next = 14;
127
+ break;
128
+ }
129
+
130
+ return _context.abrupt("return", (0, _objectSpread2.default)({
131
+ data: rasterData
132
+ }, rest));
133
+
134
+ case 14:
135
+ return _context.abrupt("return", (0, _objectSpread2.default)({
136
+ data: Array.from(rasterData)
137
+ }, rest));
138
+
139
+ case 15:
128
140
  case "end":
129
141
  return _context.stop();
130
142
  }
@@ -141,8 +153,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
141
153
  }, {
142
154
  key: "initModels",
143
155
  value: function () {
144
- var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(callbackModel) {
145
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height;
156
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
157
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
146
158
 
147
159
  return _regenerator.default.wrap(function _callee2$(_context2) {
148
160
  while (1) {
@@ -168,7 +180,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
168
180
  format: _l7Core.gl.RGB,
169
181
  type: _l7Core.gl.FLOAT
170
182
  });
171
- this.layer.buildLayerModel({
183
+ _context2.next = 13;
184
+ return this.layer.buildLayerModel({
172
185
  moduleName: 'rasterImageDataRGBA',
173
186
  vertexShader: rasterVert,
174
187
  fragmentShader: rasterFrag,
@@ -178,14 +191,13 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
178
191
  enable: false
179
192
  },
180
193
  stencil: (0, _l7Utils.getMask)(mask, maskInside)
181
- }).then(function (model) {
182
- callbackModel([model]);
183
- }).catch(function (err) {
184
- console.warn(err);
185
- callbackModel([]);
186
194
  });
187
195
 
188
- case 12:
196
+ case 13:
197
+ model = _context2.sent;
198
+ return _context2.abrupt("return", [model]);
199
+
200
+ case 15:
189
201
  case "end":
190
202
  return _context2.stop();
191
203
  }
@@ -193,7 +205,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
193
205
  }, _callee2, this);
194
206
  }));
195
207
 
196
- function initModels(_x2) {
208
+ function initModels() {
197
209
  return _initModels.apply(this, arguments);
198
210
  }
199
211
 
@@ -201,9 +213,32 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
201
213
  }()
202
214
  }, {
203
215
  key: "buildModels",
204
- value: function buildModels(callbackModel) {
205
- this.initModels(callbackModel);
206
- }
216
+ value: function () {
217
+ var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
218
+ return _regenerator.default.wrap(function _callee3$(_context3) {
219
+ while (1) {
220
+ switch (_context3.prev = _context3.next) {
221
+ case 0:
222
+ _context3.next = 2;
223
+ return this.initModels();
224
+
225
+ case 2:
226
+ return _context3.abrupt("return", _context3.sent);
227
+
228
+ case 3:
229
+ case "end":
230
+ return _context3.stop();
231
+ }
232
+ }
233
+ }, _callee3, this);
234
+ }));
235
+
236
+ function buildModels() {
237
+ return _buildModels.apply(this, arguments);
238
+ }
239
+
240
+ return buildModels;
241
+ }()
207
242
  }, {
208
243
  key: "clearModels",
209
244
  value: function clearModels() {
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _l7Core = require("@antv/l7-core");
25
+
26
+ var _l7Utils = require("@antv/l7-utils");
27
+
28
+ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
29
+
30
+ var _triangulation = require("../../core/triangulation");
31
+
32
+ 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); }; }
33
+
34
+ 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; } }
35
+
36
+ /* babel-plugin-inline-import '../shaders/raster_terrain_rgb_frag.glsl' */
37
+ var Raster_terrainFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\n\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\n\nvarying vec2 v_texCoord;\n\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\n\nvoid main() {\n vec4 baseColor = texture2D(u_texture, vec2(v_texCoord.x, v_texCoord.y)) * 256.0;\n float r = baseColor.r * 256.0 * 256.0;\n float g = baseColor.g * 256.0;\n float b = baseColor.b;\n float value = (r + g + b) * 0.1 - 10000.0;\n \n if (value == u_noDataValue) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] - u_domain[0]);\n vec4 color = texture2D(u_colorTexture, vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
38
+
39
+ /* babel-plugin-inline-import '../shaders/rater_terrain_rgb_vert.glsl' */
40
+ var Raster_terrainVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
41
+
42
+ var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
43
+ (0, _inherits2.default)(RasterTerrainRGB, _BaseModel);
44
+
45
+ var _super = _createSuper(RasterTerrainRGB);
46
+
47
+ function RasterTerrainRGB() {
48
+ (0, _classCallCheck2.default)(this, RasterTerrainRGB);
49
+ return _super.apply(this, arguments);
50
+ }
51
+
52
+ (0, _createClass2.default)(RasterTerrainRGB, [{
53
+ key: "getUninforms",
54
+ value: function getUninforms() {
55
+ var _ref = this.layer.getLayerConfig(),
56
+ opacity = _ref.opacity,
57
+ _ref$clampLow = _ref.clampLow,
58
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
59
+ _ref$clampHigh = _ref.clampHigh,
60
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
61
+ _ref$noDataValue = _ref.noDataValue,
62
+ noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
63
+ _ref$domain = _ref.domain,
64
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
65
+ rampColors = _ref.rampColors,
66
+ colorTexture = _ref.colorTexture;
67
+
68
+ var texture = colorTexture;
69
+
70
+ if (!colorTexture) {
71
+ texture = this.layer.textureService.getColorTexture(rampColors);
72
+ } else {
73
+ this.layer.textureService.setColorTexture(colorTexture, rampColors);
74
+ }
75
+
76
+ return {
77
+ u_opacity: opacity || 1,
78
+ u_texture: this.texture,
79
+ u_domain: domain,
80
+ u_clampLow: clampLow,
81
+ u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
82
+ u_noDataValue: noDataValue,
83
+ u_colorTexture: texture
84
+ };
85
+ }
86
+ }, {
87
+ key: "initModels",
88
+ value: function () {
89
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
90
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, imageData, model;
91
+
92
+ return _regenerator.default.wrap(function _callee$(_context) {
93
+ while (1) {
94
+ switch (_context.prev = _context.next) {
95
+ case 0:
96
+ _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;
97
+ source = this.layer.getSource();
98
+ createTexture2D = this.rendererService.createTexture2D;
99
+ _context.next = 5;
100
+ return source.data.images;
101
+
102
+ case 5:
103
+ imageData = _context.sent;
104
+ this.texture = createTexture2D({
105
+ data: imageData[0],
106
+ width: imageData[0].width,
107
+ height: imageData[0].height
108
+ });
109
+ _context.next = 9;
110
+ return this.layer.buildLayerModel({
111
+ moduleName: 'RasterTileDataImage',
112
+ vertexShader: Raster_terrainVert,
113
+ fragmentShader: Raster_terrainFrag,
114
+ triangulation: _triangulation.RasterImageTriangulation,
115
+ primitive: _l7Core.gl.TRIANGLES,
116
+ depth: {
117
+ enable: false
118
+ },
119
+ blend: this.getBlend(),
120
+ stencil: (0, _l7Utils.getMask)(mask, maskInside)
121
+ });
122
+
123
+ case 9:
124
+ model = _context.sent;
125
+ return _context.abrupt("return", [model]);
126
+
127
+ case 11:
128
+ case "end":
129
+ return _context.stop();
130
+ }
131
+ }
132
+ }, _callee, this);
133
+ }));
134
+
135
+ function initModels() {
136
+ return _initModels.apply(this, arguments);
137
+ }
138
+
139
+ return initModels;
140
+ }()
141
+ }, {
142
+ key: "clearModels",
143
+ value: function clearModels() {
144
+ var _this$texture;
145
+
146
+ (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
147
+ }
148
+ }, {
149
+ key: "buildModels",
150
+ value: function () {
151
+ var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
152
+ return _regenerator.default.wrap(function _callee2$(_context2) {
153
+ while (1) {
154
+ switch (_context2.prev = _context2.next) {
155
+ case 0:
156
+ _context2.next = 2;
157
+ return this.initModels();
158
+
159
+ case 2:
160
+ return _context2.abrupt("return", _context2.sent);
161
+
162
+ case 3:
163
+ case "end":
164
+ return _context2.stop();
165
+ }
166
+ }
167
+ }, _callee2, this);
168
+ }));
169
+
170
+ function buildModels() {
171
+ return _buildModels.apply(this, arguments);
172
+ }
173
+
174
+ return buildModels;
175
+ }()
176
+ }, {
177
+ key: "registerBuiltinAttributes",
178
+ value: function registerBuiltinAttributes() {
179
+ this.styleAttributeService.registerStyleAttribute({
180
+ name: 'uv',
181
+ type: _l7Core.AttributeType.Attribute,
182
+ descriptor: {
183
+ name: 'a_Uv',
184
+ buffer: {
185
+ usage: _l7Core.gl.DYNAMIC_DRAW,
186
+ data: [],
187
+ type: _l7Core.gl.FLOAT
188
+ },
189
+ size: 2,
190
+ update: function update(feature, featureIdx, vertex) {
191
+ return [vertex[3], vertex[4]];
192
+ }
193
+ }
194
+ });
195
+ }
196
+ }]);
197
+ return RasterTerrainRGB;
198
+ }(_BaseModel2.default);
199
+
200
+ exports.default = RasterTerrainRGB;