@antv/l7-layers 2.9.17-alpha.0 → 2.9.17

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 (367) hide show
  1. package/es/Geometry/index.js +2 -12
  2. package/es/Geometry/index.js.map +1 -1
  3. package/es/Geometry/models/billboard.d.ts +3 -3
  4. package/es/Geometry/models/billboard.js +6 -11
  5. package/es/Geometry/models/billboard.js.map +1 -1
  6. package/es/Geometry/models/plane.d.ts +3 -3
  7. package/es/Geometry/models/plane.js +7 -12
  8. package/es/Geometry/models/plane.js.map +1 -1
  9. package/es/Geometry/models/sprite.d.ts +3 -3
  10. package/es/Geometry/models/sprite.js +6 -11
  11. package/es/Geometry/models/sprite.js.map +1 -1
  12. package/es/canvas/index.js +2 -12
  13. package/es/canvas/index.js.map +1 -1
  14. package/es/citybuliding/building.js +2 -12
  15. package/es/citybuliding/building.js.map +1 -1
  16. package/es/citybuliding/models/build.d.ts +1 -2
  17. package/es/citybuliding/models/build.js +3 -16
  18. package/es/citybuliding/models/build.js.map +1 -1
  19. package/es/core/BaseLayer.d.ts +1 -1
  20. package/es/core/BaseLayer.js +58 -97
  21. package/es/core/BaseLayer.js.map +1 -1
  22. package/es/core/BaseModel.d.ts +2 -2
  23. package/es/core/BaseModel.js +2 -2
  24. package/es/core/BaseModel.js.map +1 -1
  25. package/es/core/interface.d.ts +13 -2
  26. package/es/core/interface.js.map +1 -1
  27. package/es/core/triangulation.d.ts +0 -1
  28. package/es/core/triangulation.js +11 -37
  29. package/es/core/triangulation.js.map +1 -1
  30. package/es/earth/index.js +2 -8
  31. package/es/earth/index.js.map +1 -1
  32. package/es/earth/models/atmosphere.d.ts +2 -2
  33. package/es/earth/models/atmosphere.js +6 -11
  34. package/es/earth/models/atmosphere.js.map +1 -1
  35. package/es/earth/models/base.d.ts +2 -2
  36. package/es/earth/models/base.js +6 -11
  37. package/es/earth/models/base.js.map +1 -1
  38. package/es/earth/models/bloomsphere.d.ts +2 -2
  39. package/es/earth/models/bloomsphere.js +6 -11
  40. package/es/earth/models/bloomsphere.js.map +1 -1
  41. package/es/heatmap/index.js +5 -17
  42. package/es/heatmap/index.js.map +1 -1
  43. package/es/heatmap/models/grid.d.ts +2 -2
  44. package/es/heatmap/models/grid.js +8 -12
  45. package/es/heatmap/models/grid.js.map +1 -1
  46. package/es/heatmap/models/grid3d.d.ts +2 -2
  47. package/es/heatmap/models/grid3d.js +6 -12
  48. package/es/heatmap/models/grid3d.js.map +1 -1
  49. package/es/heatmap/models/heatmap.d.ts +2 -2
  50. package/es/heatmap/models/heatmap.js +62 -112
  51. package/es/heatmap/models/heatmap.js.map +1 -1
  52. package/es/heatmap/models/hexagon.d.ts +2 -2
  53. package/es/heatmap/models/hexagon.js +6 -11
  54. package/es/heatmap/models/hexagon.js.map +1 -1
  55. package/es/image/index.d.ts +1 -1
  56. package/es/image/index.js +16 -14
  57. package/es/image/index.js.map +1 -1
  58. package/es/image/models/dataImage.d.ts +22 -0
  59. package/es/image/models/dataImage.js +230 -0
  60. package/es/image/models/dataImage.js.map +1 -0
  61. package/es/image/models/image.d.ts +4 -3
  62. package/es/image/models/image.js +14 -11
  63. package/es/image/models/image.js.map +1 -1
  64. package/es/image/models/index.d.ts +1 -1
  65. package/es/image/models/index.js +3 -1
  66. package/es/image/models/index.js.map +1 -1
  67. package/es/line/index.d.ts +2 -0
  68. package/es/line/index.js +5 -12
  69. package/es/line/index.js.map +1 -1
  70. package/es/line/models/arc.d.ts +2 -2
  71. package/es/line/models/arc.js +10 -15
  72. package/es/line/models/arc.js.map +1 -1
  73. package/es/line/models/arc_3d.d.ts +2 -2
  74. package/es/line/models/arc_3d.js +8 -13
  75. package/es/line/models/arc_3d.js.map +1 -1
  76. package/es/line/models/arcmini.d.ts +9 -0
  77. package/es/line/models/arcmini.js +145 -0
  78. package/es/line/models/arcmini.js.map +1 -0
  79. package/es/line/models/earthArc_3d.d.ts +2 -2
  80. package/es/line/models/earthArc_3d.js +9 -17
  81. package/es/line/models/earthArc_3d.js.map +1 -1
  82. package/es/line/models/great_circle.d.ts +2 -2
  83. package/es/line/models/great_circle.js +8 -13
  84. package/es/line/models/great_circle.js.map +1 -1
  85. package/es/line/models/half.d.ts +2 -2
  86. package/es/line/models/half.js +29 -46
  87. package/es/line/models/half.js.map +1 -1
  88. package/es/line/models/index.d.ts +1 -1
  89. package/es/line/models/index.js +2 -0
  90. package/es/line/models/index.js.map +1 -1
  91. package/es/line/models/line.d.ts +2 -2
  92. package/es/line/models/line.js +16 -28
  93. package/es/line/models/line.js.map +1 -1
  94. package/es/line/models/linearline.d.ts +11 -2
  95. package/es/line/models/linearline.js +24 -14
  96. package/es/line/models/linearline.js.map +1 -1
  97. package/es/line/models/simpleLine.d.ts +2 -3
  98. package/es/line/models/simpleLine.js +18 -66
  99. package/es/line/models/simpleLine.js.map +1 -1
  100. package/es/line/models/tile.d.ts +11 -2
  101. package/es/line/models/tile.js +39 -45
  102. package/es/line/models/tile.js.map +1 -1
  103. package/es/line/models/wall.d.ts +2 -2
  104. package/es/line/models/wall.js +9 -13
  105. package/es/line/models/wall.js.map +1 -1
  106. package/es/mask/index.js +2 -12
  107. package/es/mask/index.js.map +1 -1
  108. package/es/mask/models/fill.d.ts +2 -2
  109. package/es/mask/models/fill.js +27 -53
  110. package/es/mask/models/fill.js.map +1 -1
  111. package/es/plugins/DataMappingPlugin.js +8 -29
  112. package/es/plugins/DataMappingPlugin.js.map +1 -1
  113. package/es/plugins/DataSourcePlugin.js +5 -14
  114. package/es/plugins/DataSourcePlugin.js.map +1 -1
  115. package/es/plugins/LayerModelPlugin.d.ts +0 -2
  116. package/es/plugins/LayerModelPlugin.js +7 -33
  117. package/es/plugins/LayerModelPlugin.js.map +1 -1
  118. package/es/plugins/PixelPickingPlugin.js +13 -16
  119. package/es/plugins/PixelPickingPlugin.js.map +1 -1
  120. package/es/point/index.d.ts +1 -1
  121. package/es/point/index.js +8 -15
  122. package/es/point/index.js.map +1 -1
  123. package/es/point/models/earthExtrude.d.ts +2 -2
  124. package/es/point/models/earthExtrude.js +14 -16
  125. package/es/point/models/earthExtrude.js.map +1 -1
  126. package/es/point/models/earthFill.d.ts +11 -2
  127. package/es/point/models/earthFill.js +22 -13
  128. package/es/point/models/earthFill.js.map +1 -1
  129. package/es/point/models/extrude.d.ts +2 -2
  130. package/es/point/models/extrude.js +27 -49
  131. package/es/point/models/extrude.js.map +1 -1
  132. package/es/point/models/fill.d.ts +2 -2
  133. package/es/point/models/fill.js +41 -59
  134. package/es/point/models/fill.js.map +1 -1
  135. package/es/point/models/fillmage.d.ts +7 -2
  136. package/es/point/models/fillmage.js +22 -13
  137. package/es/point/models/fillmage.js.map +1 -1
  138. package/es/point/models/icon-font.d.ts +11 -0
  139. package/es/point/models/icon-font.js +181 -0
  140. package/es/point/models/icon-font.js.map +1 -0
  141. package/es/point/models/image.d.ts +2 -2
  142. package/es/point/models/image.js +6 -11
  143. package/es/point/models/image.js.map +1 -1
  144. package/es/point/models/index.d.ts +1 -1
  145. package/es/point/models/index.js +2 -0
  146. package/es/point/models/index.js.map +1 -1
  147. package/es/point/models/normal.d.ts +2 -2
  148. package/es/point/models/normal.js +6 -11
  149. package/es/point/models/normal.js.map +1 -1
  150. package/es/point/models/radar.d.ts +11 -2
  151. package/es/point/models/radar.js +22 -13
  152. package/es/point/models/radar.js.map +1 -1
  153. package/es/point/models/simplePoint.d.ts +2 -2
  154. package/es/point/models/simplePoint.js +6 -11
  155. package/es/point/models/simplePoint.js.map +1 -1
  156. package/es/point/models/text.d.ts +2 -3
  157. package/es/point/models/text.js +75 -108
  158. package/es/point/models/text.js.map +1 -1
  159. package/es/point/models/tile.d.ts +11 -2
  160. package/es/point/models/tile.js +25 -22
  161. package/es/point/models/tile.js.map +1 -1
  162. package/es/polygon/index.js +2 -12
  163. package/es/polygon/index.js.map +1 -1
  164. package/es/polygon/models/extrude.d.ts +2 -2
  165. package/es/polygon/models/extrude.js +5 -10
  166. package/es/polygon/models/extrude.js.map +1 -1
  167. package/es/polygon/models/fill.d.ts +2 -2
  168. package/es/polygon/models/fill.js +13 -27
  169. package/es/polygon/models/fill.js.map +1 -1
  170. package/es/polygon/models/ocean.d.ts +2 -2
  171. package/es/polygon/models/ocean.js +6 -12
  172. package/es/polygon/models/ocean.js.map +1 -1
  173. package/es/polygon/models/tile.d.ts +3 -2
  174. package/es/polygon/models/tile.js +27 -17
  175. package/es/polygon/models/tile.js.map +1 -1
  176. package/es/polygon/models/water.d.ts +2 -2
  177. package/es/polygon/models/water.js +6 -12
  178. package/es/polygon/models/water.js.map +1 -1
  179. package/es/raster/image.d.ts +0 -0
  180. package/es/raster/image.js +2 -0
  181. package/es/raster/image.js.map +1 -0
  182. package/es/raster/index.js +2 -12
  183. package/es/raster/index.js.map +1 -1
  184. package/es/raster/models/raster.d.ts +3 -3
  185. package/es/raster/models/raster.js +7 -11
  186. package/es/raster/models/raster.js.map +1 -1
  187. package/es/raster/raster2d.d.ts +27 -0
  188. package/es/raster/raster2d.js +158 -0
  189. package/es/raster/raster2d.js.map +1 -0
  190. package/es/tile/manager/tileLayerManager.js +21 -4
  191. package/es/tile/manager/tileLayerManager.js.map +1 -1
  192. package/es/tile/manager/tilePickerManager.js +0 -1
  193. package/es/tile/manager/tilePickerManager.js.map +1 -1
  194. package/es/tile/tileFactory/base.js.map +1 -1
  195. package/es/tile/tileFactory/point.js.map +1 -1
  196. package/es/tile/tileFactory/rasterDataLayer.js +2 -12
  197. package/es/tile/tileFactory/rasterDataLayer.js.map +1 -1
  198. package/es/tile/tileFactory/vectorLayer.js +2 -12
  199. package/es/tile/tileFactory/vectorLayer.js.map +1 -1
  200. package/es/utils/extrude_polyline.d.ts +0 -15
  201. package/es/utils/extrude_polyline.js +6 -138
  202. package/es/utils/extrude_polyline.js.map +1 -1
  203. package/es/utils/geo.d.ts +12 -0
  204. package/es/utils/geo.js +53 -0
  205. package/es/utils/geo.js.map +1 -0
  206. package/es/utils/simpleLine.d.ts +23 -0
  207. package/es/utils/simpleLine.js +105 -0
  208. package/es/utils/simpleLine.js.map +1 -0
  209. package/es/wind/index.js +2 -12
  210. package/es/wind/index.js.map +1 -1
  211. package/es/wind/models/wind.d.ts +2 -2
  212. package/es/wind/models/wind.js +33 -36
  213. package/es/wind/models/wind.js.map +1 -1
  214. package/lib/Geometry/index.js +2 -12
  215. package/lib/Geometry/index.js.map +1 -1
  216. package/lib/Geometry/models/billboard.js +6 -11
  217. package/lib/Geometry/models/billboard.js.map +1 -1
  218. package/lib/Geometry/models/plane.js +7 -12
  219. package/lib/Geometry/models/plane.js.map +1 -1
  220. package/lib/Geometry/models/sprite.js +6 -11
  221. package/lib/Geometry/models/sprite.js.map +1 -1
  222. package/lib/canvas/index.js +2 -12
  223. package/lib/canvas/index.js.map +1 -1
  224. package/lib/citybuliding/building.js +2 -12
  225. package/lib/citybuliding/building.js.map +1 -1
  226. package/lib/citybuliding/models/build.js +3 -16
  227. package/lib/citybuliding/models/build.js.map +1 -1
  228. package/lib/core/BaseLayer.js +57 -96
  229. package/lib/core/BaseLayer.js.map +1 -1
  230. package/lib/core/BaseModel.js +2 -2
  231. package/lib/core/BaseModel.js.map +1 -1
  232. package/lib/core/interface.js.map +1 -1
  233. package/lib/core/triangulation.js +16 -40
  234. package/lib/core/triangulation.js.map +1 -1
  235. package/lib/earth/index.js +2 -8
  236. package/lib/earth/index.js.map +1 -1
  237. package/lib/earth/models/atmosphere.js +6 -11
  238. package/lib/earth/models/atmosphere.js.map +1 -1
  239. package/lib/earth/models/base.js +6 -11
  240. package/lib/earth/models/base.js.map +1 -1
  241. package/lib/earth/models/bloomsphere.js +6 -11
  242. package/lib/earth/models/bloomsphere.js.map +1 -1
  243. package/lib/heatmap/index.js +5 -17
  244. package/lib/heatmap/index.js.map +1 -1
  245. package/lib/heatmap/models/grid.js +8 -12
  246. package/lib/heatmap/models/grid.js.map +1 -1
  247. package/lib/heatmap/models/grid3d.js +6 -12
  248. package/lib/heatmap/models/grid3d.js.map +1 -1
  249. package/lib/heatmap/models/heatmap.js +62 -113
  250. package/lib/heatmap/models/heatmap.js.map +1 -1
  251. package/lib/heatmap/models/hexagon.js +6 -11
  252. package/lib/heatmap/models/hexagon.js.map +1 -1
  253. package/lib/image/index.js +16 -14
  254. package/lib/image/index.js.map +1 -1
  255. package/lib/image/models/dataImage.js +245 -0
  256. package/lib/image/models/dataImage.js.map +1 -0
  257. package/lib/image/models/image.js +14 -11
  258. package/lib/image/models/image.js.map +1 -1
  259. package/lib/image/models/index.js +4 -1
  260. package/lib/image/models/index.js.map +1 -1
  261. package/lib/line/index.js +5 -12
  262. package/lib/line/index.js.map +1 -1
  263. package/lib/line/models/arc.js +10 -15
  264. package/lib/line/models/arc.js.map +1 -1
  265. package/lib/line/models/arc_3d.js +8 -13
  266. package/lib/line/models/arc_3d.js.map +1 -1
  267. package/lib/line/models/arcmini.js +161 -0
  268. package/lib/line/models/arcmini.js.map +1 -0
  269. package/lib/line/models/earthArc_3d.js +9 -17
  270. package/lib/line/models/earthArc_3d.js.map +1 -1
  271. package/lib/line/models/great_circle.js +8 -13
  272. package/lib/line/models/great_circle.js.map +1 -1
  273. package/lib/line/models/half.js +29 -48
  274. package/lib/line/models/half.js.map +1 -1
  275. package/lib/line/models/index.js +3 -0
  276. package/lib/line/models/index.js.map +1 -1
  277. package/lib/line/models/line.js +18 -29
  278. package/lib/line/models/line.js.map +1 -1
  279. package/lib/line/models/linearline.js +24 -14
  280. package/lib/line/models/linearline.js.map +1 -1
  281. package/lib/line/models/simpleLine.js +18 -66
  282. package/lib/line/models/simpleLine.js.map +1 -1
  283. package/lib/line/models/tile.js +39 -47
  284. package/lib/line/models/tile.js.map +1 -1
  285. package/lib/line/models/wall.js +9 -13
  286. package/lib/line/models/wall.js.map +1 -1
  287. package/lib/mask/index.js +2 -12
  288. package/lib/mask/index.js.map +1 -1
  289. package/lib/mask/models/fill.js +27 -55
  290. package/lib/mask/models/fill.js.map +1 -1
  291. package/lib/plugins/DataMappingPlugin.js +8 -29
  292. package/lib/plugins/DataMappingPlugin.js.map +1 -1
  293. package/lib/plugins/DataSourcePlugin.js +4 -13
  294. package/lib/plugins/DataSourcePlugin.js.map +1 -1
  295. package/lib/plugins/LayerModelPlugin.js +7 -33
  296. package/lib/plugins/LayerModelPlugin.js.map +1 -1
  297. package/lib/plugins/PixelPickingPlugin.js +13 -16
  298. package/lib/plugins/PixelPickingPlugin.js.map +1 -1
  299. package/lib/point/index.js +8 -15
  300. package/lib/point/index.js.map +1 -1
  301. package/lib/point/models/earthExtrude.js +15 -16
  302. package/lib/point/models/earthExtrude.js.map +1 -1
  303. package/lib/point/models/earthFill.js +22 -13
  304. package/lib/point/models/earthFill.js.map +1 -1
  305. package/lib/point/models/extrude.js +28 -51
  306. package/lib/point/models/extrude.js.map +1 -1
  307. package/lib/point/models/fill.js +42 -61
  308. package/lib/point/models/fill.js.map +1 -1
  309. package/lib/point/models/fillmage.js +22 -13
  310. package/lib/point/models/fillmage.js.map +1 -1
  311. package/lib/point/models/icon-font.js +196 -0
  312. package/lib/point/models/icon-font.js.map +1 -0
  313. package/lib/point/models/image.js +6 -11
  314. package/lib/point/models/image.js.map +1 -1
  315. package/lib/point/models/index.js +3 -0
  316. package/lib/point/models/index.js.map +1 -1
  317. package/lib/point/models/normal.js +6 -11
  318. package/lib/point/models/normal.js.map +1 -1
  319. package/lib/point/models/radar.js +22 -13
  320. package/lib/point/models/radar.js.map +1 -1
  321. package/lib/point/models/simplePoint.js +6 -11
  322. package/lib/point/models/simplePoint.js.map +1 -1
  323. package/lib/point/models/text.js +78 -110
  324. package/lib/point/models/text.js.map +1 -1
  325. package/lib/point/models/tile.js +25 -22
  326. package/lib/point/models/tile.js.map +1 -1
  327. package/lib/polygon/index.js +2 -12
  328. package/lib/polygon/index.js.map +1 -1
  329. package/lib/polygon/models/extrude.js +5 -10
  330. package/lib/polygon/models/extrude.js.map +1 -1
  331. package/lib/polygon/models/fill.js +11 -25
  332. package/lib/polygon/models/fill.js.map +1 -1
  333. package/lib/polygon/models/ocean.js +6 -12
  334. package/lib/polygon/models/ocean.js.map +1 -1
  335. package/lib/polygon/models/tile.js +27 -17
  336. package/lib/polygon/models/tile.js.map +1 -1
  337. package/lib/polygon/models/water.js +6 -12
  338. package/lib/polygon/models/water.js.map +1 -1
  339. package/lib/raster/image.js +2 -0
  340. package/lib/raster/image.js.map +1 -0
  341. package/lib/raster/index.js +2 -12
  342. package/lib/raster/index.js.map +1 -1
  343. package/lib/raster/models/raster.js +7 -11
  344. package/lib/raster/models/raster.js.map +1 -1
  345. package/lib/raster/raster2d.js +172 -0
  346. package/lib/raster/raster2d.js.map +1 -0
  347. package/lib/tile/manager/tileLayerManager.js +21 -4
  348. package/lib/tile/manager/tileLayerManager.js.map +1 -1
  349. package/lib/tile/manager/tilePickerManager.js +0 -1
  350. package/lib/tile/manager/tilePickerManager.js.map +1 -1
  351. package/lib/tile/tileFactory/base.js.map +1 -1
  352. package/lib/tile/tileFactory/point.js.map +1 -1
  353. package/lib/tile/tileFactory/rasterDataLayer.js +2 -12
  354. package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -1
  355. package/lib/tile/tileFactory/vectorLayer.js +2 -12
  356. package/lib/tile/tileFactory/vectorLayer.js.map +1 -1
  357. package/lib/utils/extrude_polyline.js +6 -140
  358. package/lib/utils/extrude_polyline.js.map +1 -1
  359. package/lib/utils/geo.js +65 -0
  360. package/lib/utils/geo.js.map +1 -0
  361. package/lib/utils/simpleLine.js +117 -0
  362. package/lib/utils/simpleLine.js.map +1 -0
  363. package/lib/wind/index.js +2 -12
  364. package/lib/wind/index.js.map +1 -1
  365. package/lib/wind/models/wind.js +33 -36
  366. package/lib/wind/models/wind.js.map +1 -1
  367. package/package.json +8 -9
@@ -43,20 +43,20 @@ var HexagonModel = function (_BaseModel) {
43
43
  }
44
44
  }, {
45
45
  key: "initModels",
46
- value: function initModels(callbackModel) {
47
- this.buildModels(callbackModel);
46
+ value: function initModels() {
47
+ return this.buildModels();
48
48
  }
49
49
  }, {
50
50
  key: "buildModels",
51
- value: function buildModels(callbackModel) {
51
+ value: function buildModels() {
52
52
  var _ref2 = this.layer.getLayerConfig(),
53
53
  _ref2$mask = _ref2.mask,
54
54
  mask = _ref2$mask === void 0 ? false : _ref2$mask,
55
55
  _ref2$maskInside = _ref2.maskInside,
56
56
  maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
57
57
 
58
- this.layer.buildLayerModel({
59
- moduleName: 'heatmapHexagon',
58
+ return [this.layer.buildLayerModel({
59
+ moduleName: 'hexagonheatmap',
60
60
  vertexShader: heatmapGridVert,
61
61
  fragmentShader: heatmapGridFrag,
62
62
  triangulation: HeatmapGridTriangulation,
@@ -66,12 +66,7 @@ var HexagonModel = function (_BaseModel) {
66
66
  primitive: gl.TRIANGLES,
67
67
  blend: this.getBlend(),
68
68
  stencil: getMask(mask, maskInside)
69
- }).then(function (model) {
70
- callbackModel([model]);
71
- }).catch(function (err) {
72
- console.warn(err);
73
- callbackModel([]);
74
- });
69
+ })];
75
70
  }
76
71
  }, {
77
72
  key: "registerBuiltinAttributes",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/heatmap/models/hexagon.ts"],"names":["AttributeType","gl","getMask","BaseModel","HeatmapGridTriangulation","HexagonModel","layer","getLayerConfig","opacity","coverage","angle","u_opacity","u_coverage","u_angle","u_radius","getSource","data","xOffset","yOffset","callbackModel","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","heatmapGridVert","fragmentShader","heatmapGridFrag","triangulation","depth","enable","primitive","TRIANGLES","blend","getBlend","stencil","then","model","catch","err","console","warn","styleAttributeService","registerStyleAttribute","name","type","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","coordinates","version","originCoordinates"],"mappings":";;;;;;;;;;AAAA,SACEA,aADF,EAEEC,EAFF,QAMO,eANP;AAOA,SAASC,OAAT,QAAwB,gBAAxB;AACA,OAAOC,SAAP,MAAsB,sBAAtB;AAEA,SAASC,wBAAT,QAAyC,0BAAzC;;;;IAIqBC,Y;;;;;;;;;;;;;WACnB,wBAAqC;AACnC,iBAII,KAAKC,KAAL,CAAWC,cAAX,EAJJ;AAAA,UACEC,OADF,QACEA,OADF;AAAA,UAEEC,QAFF,QAEEA,QAFF;AAAA,UAGEC,KAHF,QAGEA,KAHF;;AAKA,aAAO;AACLC,QAAAA,SAAS,EAAEH,OAAO,IAAI,GADjB;AAELI,QAAAA,UAAU,EAAEH,QAAQ,IAAI,GAFnB;AAGLI,QAAAA,OAAO,EAAEH,KAAK,IAAI,CAHb;AAILI,QAAAA,QAAQ,EAAE,CACR,KAAKR,KAAL,CAAWS,SAAX,GAAuBC,IAAvB,CAA4BC,OADpB,EAER,KAAKX,KAAL,CAAWS,SAAX,GAAuBC,IAAvB,CAA4BE,OAFpB;AAJL,OAAP;AASD;;;WAED,oBAAkBC,aAAlB,EAA6D;AAC3D,WAAKC,WAAL,CAAiBD,aAAjB;AACD;;;WAED,qBAAmBA,aAAnB,EAA8D;AAC5D,kBAGI,KAAKb,KAAL,CAAWC,cAAX,EAHJ;AAAA,6BACEc,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;;AAIA,WAAKhB,KAAL,CACGiB,eADH,CACmB;AACfC,QAAAA,UAAU,EAAE,gBADG;AAEfC,QAAAA,YAAY,EAAEC,eAFC;AAGfC,QAAAA,cAAc,EAAEC,eAHD;AAIfC,QAAAA,aAAa,EAAEzB,wBAJA;AAKf0B,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;AAAV,SALQ;AAMfC,QAAAA,SAAS,EAAE/B,EAAE,CAACgC,SANC;AAOfC,QAAAA,KAAK,EAAE,KAAKC,QAAL,EAPQ;AAQfC,QAAAA,OAAO,EAAElC,OAAO,CAACmB,IAAD,EAAOC,UAAP;AARD,OADnB,EAWGe,IAXH,CAWQ,UAACC,KAAD,EAAW;AACfnB,QAAAA,aAAa,CAAC,CAACmB,KAAD,CAAD,CAAb;AACD,OAbH,EAcGC,KAdH,CAcS,UAACC,GAAD,EAAS;AACdC,QAAAA,OAAO,CAACC,IAAR,CAAaF,GAAb;AACArB,QAAAA,aAAa,CAAC,EAAD,CAAb;AACD,OAjBH;AAkBD;;;WACD,qCAAsC;AACpC,WAAKwB,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,KAD0C;AAEhDC,QAAAA,IAAI,EAAE9C,aAAa,CAAC+C,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,OADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAEjD,EAAE,CAACkD,YAFJ;AAGNnC,YAAAA,IAAI,EAAE,EAHA;AAIN8B,YAAAA,IAAI,EAAE7C,EAAE,CAACmD;AAJH,WAFE;AAQVC,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBAACC,OAAD,EAA0BC,UAA1B,EAAiD;AAEvD,gBAAMC,WAAW,GAAIF,OAAO,CAACG,OAAR,KAAoB,UAApB,GACjBH,OAAO,CAACI,iBADS,GAEjBJ,OAAO,CAACE,WAFZ;AAKA,mBAAO,CAACA,WAAW,CAAC,CAAD,CAAZ,EAAiBA,WAAW,CAAC,CAAD,CAA5B,EAAiC,CAAjC,CAAP;AACD;AAjBS;AAHoC,OAAlD;AAuBD;;;;EAtEuCtD,S;;SAArBE,Y","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IHeatMapLayerStyleOptions } from '../../core/interface';\nimport { HeatmapGridTriangulation } from '../../core/triangulation';\nimport heatmapGridFrag from '../shaders/hexagon_frag.glsl';\nimport heatmapGridVert from '../shaders/hexagon_vert.glsl';\n\nexport default class HexagonModel extends BaseModel {\n public getUninforms(): IModelUniform {\n const {\n opacity,\n coverage,\n angle,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n return {\n u_opacity: opacity || 1.0,\n u_coverage: coverage || 0.9,\n u_angle: angle || 0,\n u_radius: [\n this.layer.getSource().data.xOffset,\n this.layer.getSource().data.yOffset,\n ],\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n this.buildModels(callbackModel);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.layer\n .buildLayerModel({\n moduleName: 'heatmapHexagon',\n vertexShader: heatmapGridVert,\n fragmentShader: heatmapGridFrag,\n triangulation: HeatmapGridTriangulation,\n depth: { enable: false },\n primitive: gl.TRIANGLES,\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n protected registerBuiltinAttributes() {\n this.styleAttributeService.registerStyleAttribute({\n name: 'pos', // 顶点经纬度位置\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Pos',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 3,\n update: (feature: IEncodeFeature, featureIdx: number) => {\n // const coordinates = (feature.verison==='GAODE2.x'?feature.originoordinates:feature.coordinates) as number[];\n const coordinates = (feature.version === 'GAODE2.x'\n ? feature.originCoordinates\n : feature.coordinates) as number[];\n // const coordinates = feature.coordinates as number[];\n // const coordinates = feature.originCoordinates as number[];\n return [coordinates[0], coordinates[1], 0];\n },\n },\n });\n }\n}\n"],"file":"hexagon.js"}
1
+ {"version":3,"sources":["../../../src/heatmap/models/hexagon.ts"],"names":["AttributeType","gl","getMask","BaseModel","HeatmapGridTriangulation","HexagonModel","layer","getLayerConfig","opacity","coverage","angle","u_opacity","u_coverage","u_angle","u_radius","getSource","data","xOffset","yOffset","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","heatmapGridVert","fragmentShader","heatmapGridFrag","triangulation","depth","enable","primitive","TRIANGLES","blend","getBlend","stencil","styleAttributeService","registerStyleAttribute","name","type","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","coordinates","version","originCoordinates"],"mappings":";;;;;;;;;;AAAA,SACEA,aADF,EAEEC,EAFF,QAMO,eANP;AAOA,SAASC,OAAT,QAAwB,gBAAxB;AACA,OAAOC,SAAP,MAAsB,sBAAtB;AAEA,SAASC,wBAAT,QAAyC,0BAAzC;;;;IAIqBC,Y;;;;;;;;;;;;;WACnB,wBAAqC;AACnC,iBAII,KAAKC,KAAL,CAAWC,cAAX,EAJJ;AAAA,UACEC,OADF,QACEA,OADF;AAAA,UAEEC,QAFF,QAEEA,QAFF;AAAA,UAGEC,KAHF,QAGEA,KAHF;;AAKA,aAAO;AACLC,QAAAA,SAAS,EAAEH,OAAO,IAAI,GADjB;AAELI,QAAAA,UAAU,EAAEH,QAAQ,IAAI,GAFnB;AAGLI,QAAAA,OAAO,EAAEH,KAAK,IAAI,CAHb;AAILI,QAAAA,QAAQ,EAAE,CACR,KAAKR,KAAL,CAAWS,SAAX,GAAuBC,IAAvB,CAA4BC,OADpB,EAER,KAAKX,KAAL,CAAWS,SAAX,GAAuBC,IAAvB,CAA4BE,OAFpB;AAJL,OAAP;AASD;;;WAED,sBAA8B;AAC5B,aAAO,KAAKC,WAAL,EAAP;AACD;;;WAED,uBAA+B;AAC7B,kBAGI,KAAKb,KAAL,CAAWC,cAAX,EAHJ;AAAA,6BACEa,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;;AAIA,aAAO,CACL,KAAKf,KAAL,CAAWgB,eAAX,CAA2B;AACzBC,QAAAA,UAAU,EAAE,gBADa;AAEzBC,QAAAA,YAAY,EAAEC,eAFW;AAGzBC,QAAAA,cAAc,EAAEC,eAHS;AAIzBC,QAAAA,aAAa,EAAExB,wBAJU;AAKzByB,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;AAAV,SALkB;AAMzBC,QAAAA,SAAS,EAAE9B,EAAE,CAAC+B,SANW;AAOzBC,QAAAA,KAAK,EAAE,KAAKC,QAAL,EAPkB;AAQzBC,QAAAA,OAAO,EAAEjC,OAAO,CAACkB,IAAD,EAAOC,UAAP;AARS,OAA3B,CADK,CAAP;AAYD;;;WACD,qCAAsC;AACpC,WAAKe,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,KAD0C;AAEhDC,QAAAA,IAAI,EAAEvC,aAAa,CAACwC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,OADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAE1C,EAAE,CAAC2C,YAFJ;AAGN5B,YAAAA,IAAI,EAAE,EAHA;AAINuB,YAAAA,IAAI,EAAEtC,EAAE,CAAC4C;AAJH,WAFE;AAQVC,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBAACC,OAAD,EAA0BC,UAA1B,EAAiD;AAEvD,gBAAMC,WAAW,GAAIF,OAAO,CAACG,OAAR,KAAoB,UAApB,GACjBH,OAAO,CAACI,iBADS,GAEjBJ,OAAO,CAACE,WAFZ;AAKA,mBAAO,CAACA,WAAW,CAAC,CAAD,CAAZ,EAAiBA,WAAW,CAAC,CAAD,CAA5B,EAAiC,CAAjC,CAAP;AACD;AAjBS;AAHoC,OAAlD;AAuBD;;;;EAhEuC/C,S;;SAArBE,Y","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IHeatMapLayerStyleOptions } from '../../core/interface';\nimport { HeatmapGridTriangulation } from '../../core/triangulation';\nimport heatmapGridFrag from '../shaders/hexagon_frag.glsl';\nimport heatmapGridVert from '../shaders/hexagon_vert.glsl';\n\nexport default class HexagonModel extends BaseModel {\n public getUninforms(): IModelUniform {\n const {\n opacity,\n coverage,\n angle,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n return {\n u_opacity: opacity || 1.0,\n u_coverage: coverage || 0.9,\n u_angle: angle || 0,\n u_radius: [\n this.layer.getSource().data.xOffset,\n this.layer.getSource().data.yOffset,\n ],\n };\n }\n\n public initModels(): IModel[] {\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n return [\n this.layer.buildLayerModel({\n moduleName: 'hexagonheatmap',\n vertexShader: heatmapGridVert,\n fragmentShader: heatmapGridFrag,\n triangulation: HeatmapGridTriangulation,\n depth: { enable: false },\n primitive: gl.TRIANGLES,\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n protected registerBuiltinAttributes() {\n this.styleAttributeService.registerStyleAttribute({\n name: 'pos', // 顶点经纬度位置\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Pos',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 3,\n update: (feature: IEncodeFeature, featureIdx: number) => {\n // const coordinates = (feature.verison==='GAODE2.x'?feature.originoordinates:feature.coordinates) as number[];\n const coordinates = (feature.version === 'GAODE2.x'\n ? feature.originCoordinates\n : feature.coordinates) as number[];\n // const coordinates = feature.coordinates as number[];\n // const coordinates = feature.originCoordinates as number[];\n return [coordinates[0], coordinates[1], 0];\n },\n },\n });\n }\n}\n"],"file":"hexagon.js"}
@@ -14,6 +14,6 @@ export default class ImageLayer extends BaseLayer<IImageLayerStyleOptions> {
14
14
  };
15
15
  };
16
16
  };
17
- protected getDefaultConfig(): {};
17
+ protected getDefaultConfig(): {} | {};
18
18
  protected getModelType(): ImageModelType;
19
19
  }
package/es/image/index.js CHANGED
@@ -37,24 +37,14 @@ var ImageLayer = function (_BaseLayer) {
37
37
  _createClass(ImageLayer, [{
38
38
  key: "buildModels",
39
39
  value: function buildModels() {
40
- var _this2 = this;
41
-
42
40
  var modelType = this.getModelType();
43
41
  this.layerModel = new ImageModels[modelType](this);
44
- this.layerModel.initModels(function (models) {
45
- _this2.models = models;
46
-
47
- _this2.renderLayers();
48
- });
42
+ this.models = this.layerModel.initModels();
49
43
  }
50
44
  }, {
51
45
  key: "rebuildModels",
52
46
  value: function rebuildModels() {
53
- var _this3 = this;
54
-
55
- this.layerModel.buildModels(function (models) {
56
- return _this3.models = models;
57
- });
47
+ this.models = this.layerModel.buildModels();
58
48
  }
59
49
  }, {
60
50
  key: "getConfigSchema",
@@ -74,14 +64,26 @@ var ImageLayer = function (_BaseLayer) {
74
64
  value: function getDefaultConfig() {
75
65
  var type = this.getModelType();
76
66
  var defaultConfig = {
77
- image: {}
67
+ image: {},
68
+ dataImage: {}
78
69
  };
79
70
  return defaultConfig[type];
80
71
  }
81
72
  }, {
82
73
  key: "getModelType",
83
74
  value: function getModelType() {
84
- return 'image';
75
+ var _shapeAttribute$scale;
76
+
77
+ var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
78
+ var shape = shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field;
79
+
80
+ if (shape === 'dataImage') {
81
+ return 'dataImage';
82
+ } else if (shape === 'image') {
83
+ return 'image';
84
+ } else {
85
+ return 'image';
86
+ }
85
87
  }
86
88
  }]);
87
89
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/image/index.ts"],"names":["BaseLayer","ImageModels","ImageLayer","modelType","getModelType","layerModel","initModels","models","renderLayers","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","image"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,SAAP,MAAsB,mBAAtB;AAEA,OAAOC,WAAP,MAA4C,gBAA5C;;IACqBC,U;;;;;;;;;;;;;;;;2DACG,Y;;;;;;;WACtB,uBAAqB;AAAA;;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,WAAW,CAACE,SAAD,CAAf,CAA2B,IAA3B,CAAlB;AACA,WAAKE,UAAL,CAAgBC,UAAhB,CAA2B,UAACC,MAAD,EAAY;AACrC,QAAA,MAAI,CAACA,MAAL,GAAcA,MAAd;;AACA,QAAA,MAAI,CAACC,YAAL;AACD,OAHD;AAID;;;WACD,yBAAuB;AAAA;;AACrB,WAAKH,UAAL,CAAgBI,WAAhB,CAA4B,UAACF,MAAD;AAAA,eAAa,MAAI,CAACA,MAAL,GAAcA,MAA3B;AAAA,OAA5B;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLG,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKR,YAAL,EAAb;AACA,UAAMW,aAAa,GAAG;AACpBC,QAAAA,KAAK,EAAE;AADa,OAAtB;AAGA,aAAOD,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAAyC;AACvC,aAAO,OAAP;AACD;;;;EAlCqCZ,S;;SAAnBE,U","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport { IImageLayerStyleOptions } from '../core/interface';\nimport ImageModels, { ImageModelType } from './models/index';\nexport default class ImageLayer extends BaseLayer<IImageLayerStyleOptions> {\n public type: string = 'ImageLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new ImageModels[modelType](this);\n this.layerModel.initModels((models) => {\n this.models = models;\n this.renderLayers();\n });\n }\n public rebuildModels() {\n this.layerModel.buildModels((models) => (this.models = models));\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n image: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): ImageModelType {\n return 'image';\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/image/index.ts"],"names":["BaseLayer","ImageModels","ImageLayer","modelType","getModelType","layerModel","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","image","dataImage","shapeAttribute","styleAttributeService","getLayerStyleAttribute","shape","scale","field"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,SAAP,MAAsB,mBAAtB;AAEA,OAAOC,WAAP,MAA4C,gBAA5C;;IACqBC,U;;;;;;;;;;;;;;;;2DACG,Y;;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,WAAW,CAACE,SAAD,CAAf,CAA2B,IAA3B,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKD,UAAL,CAAgBG,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKP,YAAL,EAAb;AACA,UAAMU,aAAa,GAAG;AACpBC,QAAAA,KAAK,EAAE,EADa;AAEpBC,QAAAA,SAAS,EAAE;AAFS,OAAtB;AAIA,aAAOF,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAAyC;AAAA;;AACvC,UAAMM,cAAc,GAAG,KAAKC,qBAAL,CAA2BC,sBAA3B,CACrB,OADqB,CAAvB;AAGA,UAAMC,KAAK,GAAGH,cAAH,aAAGA,cAAH,gDAAGA,cAAc,CAAEI,KAAnB,0DAAG,sBAAuBC,KAArC;;AACA,UAAIF,KAAK,KAAK,WAAd,EAA2B;AACzB,eAAO,WAAP;AACD,OAFD,MAEO,IAAIA,KAAK,KAAK,OAAd,EAAuB;AAC5B,eAAO,OAAP;AACD,OAFM,MAEA;AACL,eAAO,OAAP;AACD;AACF;;;;EA1CqCpB,S;;SAAnBE,U","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport { IImageLayerStyleOptions } from '../core/interface';\nimport ImageModels, { ImageModelType } from './models/index';\nexport default class ImageLayer extends BaseLayer<IImageLayerStyleOptions> {\n public type: string = 'ImageLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new ImageModels[modelType](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n image: {},\n dataImage: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): ImageModelType {\n const shapeAttribute = this.styleAttributeService.getLayerStyleAttribute(\n 'shape',\n );\n const shape = shapeAttribute?.scale?.field as ImageModelType;\n if (shape === 'dataImage') {\n return 'dataImage';\n } else if (shape === 'image') {\n return 'image';\n } else {\n return 'image';\n }\n }\n}\n"],"file":"index.js"}
@@ -0,0 +1,22 @@
1
+ import { IModelUniform, ITexture2D } from '@antv/l7-core';
2
+ import BaseModel from '../../core/BaseModel';
3
+ export default class ImageDataModel extends BaseModel {
4
+ protected texture: ITexture2D;
5
+ protected colorTexture: ITexture2D;
6
+ private rampColors;
7
+ getUninforms(): IModelUniform;
8
+ initModels(): import("@antv/l7-core").IModel[];
9
+ clearModels(): void;
10
+ buildModels(): import("@antv/l7-core").IModel[];
11
+ protected getConfigSchema(): {
12
+ properties: {
13
+ opacity: {
14
+ type: string;
15
+ minimum: number;
16
+ maximum: number;
17
+ };
18
+ };
19
+ };
20
+ protected registerBuiltinAttributes(): void;
21
+ private updateColorTexure;
22
+ }
@@ -0,0 +1,230 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ import _isEqual from "lodash/isEqual";
9
+
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); }; }
11
+
12
+ 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; } }
13
+
14
+ import { AttributeType, gl } from '@antv/l7-core';
15
+ import { generateColorRamp, getMask, isMini } from '@antv/l7-utils';
16
+ import BaseModel from '../../core/BaseModel';
17
+ import { RasterImageTriangulation } from '../../core/triangulation';
18
+ var ImageFrag = "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\nuniform float u_pixelConstant;\nuniform float u_pixelConstantR;\nuniform float u_pixelConstantG;\nuniform float u_pixelConstantB;\nuniform float u_pixelConstantRGB;\n\nvoid main() {\n vec4 baseColor = texture2D(u_texture, vec2(v_texCoord.x, v_texCoord.y));\n\n float r = baseColor.r;\n float g = baseColor.g;\n float b = baseColor.b;\n\n float value = u_pixelConstant + ((r * u_pixelConstantR + g * u_pixelConstantG + b * u_pixelConstantB) * u_pixelConstantRGB);\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";
19
+ var ImageVert = "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";
20
+
21
+ var ImageDataModel = function (_BaseModel) {
22
+ _inherits(ImageDataModel, _BaseModel);
23
+
24
+ var _super = _createSuper(ImageDataModel);
25
+
26
+ function ImageDataModel() {
27
+ var _this;
28
+
29
+ _classCallCheck(this, ImageDataModel);
30
+
31
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32
+ args[_key] = arguments[_key];
33
+ }
34
+
35
+ _this = _super.call.apply(_super, [this].concat(args));
36
+
37
+ _defineProperty(_assertThisInitialized(_this), "texture", void 0);
38
+
39
+ _defineProperty(_assertThisInitialized(_this), "colorTexture", void 0);
40
+
41
+ _defineProperty(_assertThisInitialized(_this), "rampColors", void 0);
42
+
43
+ return _this;
44
+ }
45
+
46
+ _createClass(ImageDataModel, [{
47
+ key: "getUninforms",
48
+ value: function getUninforms() {
49
+ var _ref = this.layer.getLayerConfig(),
50
+ opacity = _ref.opacity,
51
+ _ref$clampLow = _ref.clampLow,
52
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
53
+ _ref$clampHigh = _ref.clampHigh,
54
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
55
+ _ref$noDataValue = _ref.noDataValue,
56
+ noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
57
+ _ref$domain = _ref.domain,
58
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
59
+ rampColors = _ref.rampColors,
60
+ _ref$pixelConstant = _ref.pixelConstant,
61
+ pixelConstant = _ref$pixelConstant === void 0 ? 0.0 : _ref$pixelConstant,
62
+ _ref$pixelConstantR = _ref.pixelConstantR,
63
+ pixelConstantR = _ref$pixelConstantR === void 0 ? 256 * 256 : _ref$pixelConstantR,
64
+ _ref$pixelConstantG = _ref.pixelConstantG,
65
+ pixelConstantG = _ref$pixelConstantG === void 0 ? 256 : _ref$pixelConstantG,
66
+ _ref$pixelConstantB = _ref.pixelConstantB,
67
+ pixelConstantB = _ref$pixelConstantB === void 0 ? 1 : _ref$pixelConstantB,
68
+ _ref$pixelConstantRGB = _ref.pixelConstantRGB,
69
+ pixelConstantRGB = _ref$pixelConstantRGB === void 0 ? 0.1 : _ref$pixelConstantRGB;
70
+
71
+ if (!_isEqual(this.rampColors, rampColors)) {
72
+ this.updateColorTexure();
73
+ this.rampColors = rampColors;
74
+ }
75
+
76
+ return {
77
+ u_opacity: opacity || 1,
78
+ u_texture: this.texture,
79
+ u_pixelConstant: pixelConstant,
80
+ u_pixelConstantR: pixelConstantR,
81
+ u_pixelConstantG: pixelConstantG,
82
+ u_pixelConstantB: pixelConstantB,
83
+ u_pixelConstantRGB: pixelConstantRGB,
84
+ u_domain: domain,
85
+ u_clampLow: clampLow,
86
+ u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
87
+ u_noDataValue: noDataValue,
88
+ u_colorTexture: this.colorTexture
89
+ };
90
+ }
91
+ }, {
92
+ key: "initModels",
93
+ value: function initModels() {
94
+ var _this2 = this;
95
+
96
+ var _ref2 = this.layer.getLayerConfig(),
97
+ _ref2$mask = _ref2.mask,
98
+ mask = _ref2$mask === void 0 ? false : _ref2$mask,
99
+ _ref2$maskInside = _ref2.maskInside,
100
+ maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside,
101
+ rampColorsData = _ref2.rampColorsData,
102
+ rampColors = _ref2.rampColors;
103
+
104
+ var source = this.layer.getSource();
105
+ var createTexture2D = this.rendererService.createTexture2D;
106
+ this.texture = createTexture2D({
107
+ height: 0,
108
+ width: 0
109
+ });
110
+
111
+ if (isMini) {
112
+ var canvas = this.layerService.sceneService.getSceneConfig().canvas;
113
+ var img = canvas.createImage();
114
+ img.crossOrigin = 'anonymous';
115
+ img.src = source.data.originData;
116
+
117
+ img.onload = function () {
118
+ _this2.texture = createTexture2D({
119
+ data: img,
120
+ width: img.width,
121
+ height: img.height
122
+ });
123
+
124
+ _this2.layerService.updateLayerRenderList();
125
+
126
+ _this2.layerService.renderLayers();
127
+ };
128
+ } else {
129
+ source.data.images.then(function (imageData) {
130
+ _this2.texture = createTexture2D({
131
+ data: imageData[0],
132
+ width: imageData[0].width,
133
+ height: imageData[0].height
134
+ });
135
+
136
+ _this2.layerService.updateLayerRenderList();
137
+
138
+ _this2.layerService.renderLayers();
139
+ });
140
+ }
141
+
142
+ var rampImageData = rampColorsData ? rampColorsData : generateColorRamp(rampColors);
143
+ this.colorTexture = createTexture2D({
144
+ data: rampImageData.data,
145
+ width: rampImageData.width,
146
+ height: rampImageData.height,
147
+ flipY: false
148
+ });
149
+ return [this.layer.buildLayerModel({
150
+ moduleName: 'RasterImage',
151
+ vertexShader: ImageVert,
152
+ fragmentShader: ImageFrag,
153
+ triangulation: RasterImageTriangulation,
154
+ primitive: gl.TRIANGLES,
155
+ depth: {
156
+ enable: false
157
+ },
158
+ blend: this.getBlend(),
159
+ stencil: getMask(mask, maskInside)
160
+ })];
161
+ }
162
+ }, {
163
+ key: "clearModels",
164
+ value: function clearModels() {
165
+ var _this$texture, _this$colorTexture;
166
+
167
+ (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
168
+ (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
169
+ }
170
+ }, {
171
+ key: "buildModels",
172
+ value: function buildModels() {
173
+ return this.initModels();
174
+ }
175
+ }, {
176
+ key: "getConfigSchema",
177
+ value: function getConfigSchema() {
178
+ return {
179
+ properties: {
180
+ opacity: {
181
+ type: 'number',
182
+ minimum: 0,
183
+ maximum: 1
184
+ }
185
+ }
186
+ };
187
+ }
188
+ }, {
189
+ key: "registerBuiltinAttributes",
190
+ value: function registerBuiltinAttributes() {
191
+ this.styleAttributeService.registerStyleAttribute({
192
+ name: 'uv',
193
+ type: AttributeType.Attribute,
194
+ descriptor: {
195
+ name: 'a_Uv',
196
+ buffer: {
197
+ usage: gl.DYNAMIC_DRAW,
198
+ data: [],
199
+ type: gl.FLOAT
200
+ },
201
+ size: 2,
202
+ update: function update(feature, featureIdx, vertex, attributeIdx) {
203
+ return [vertex[3], vertex[4]];
204
+ }
205
+ }
206
+ });
207
+ }
208
+ }, {
209
+ key: "updateColorTexure",
210
+ value: function updateColorTexure() {
211
+ var createTexture2D = this.rendererService.createTexture2D;
212
+
213
+ var _ref3 = this.layer.getLayerConfig(),
214
+ rampColors = _ref3.rampColors;
215
+
216
+ var imageData = generateColorRamp(rampColors);
217
+ this.colorTexture = createTexture2D({
218
+ data: imageData.data,
219
+ width: imageData.width,
220
+ height: imageData.height,
221
+ flipY: false
222
+ });
223
+ }
224
+ }]);
225
+
226
+ return ImageDataModel;
227
+ }(BaseModel);
228
+
229
+ export { ImageDataModel as default };
230
+ //# sourceMappingURL=dataImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/image/models/dataImage.ts"],"names":["AttributeType","gl","generateColorRamp","getMask","isMini","BaseModel","RasterImageTriangulation","ImageDataModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","rampColors","pixelConstant","pixelConstantR","pixelConstantG","pixelConstantB","pixelConstantRGB","updateColorTexure","u_opacity","u_texture","texture","u_pixelConstant","u_pixelConstantR","u_pixelConstantG","u_pixelConstantB","u_pixelConstantRGB","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","mask","maskInside","rampColorsData","source","getSource","createTexture2D","rendererService","height","width","canvas","layerService","sceneService","getSceneConfig","img","createImage","crossOrigin","src","data","originData","onload","updateLayerRenderList","renderLayers","images","then","imageData","rampImageData","flipY","buildLayerModel","moduleName","vertexShader","ImageVert","fragmentShader","ImageFrag","triangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","destroy","initModels","properties","type","minimum","maximum","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp, isMini } from '@antv/l7-utils';\nimport { isEqual } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IImageLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport ImageFrag from '../shaders/dataImage_frag.glsl';\nimport ImageVert from '../shaders/image_vert.glsl';\n\nexport default class ImageDataModel extends BaseModel {\n protected texture: ITexture2D;\n protected colorTexture: ITexture2D;\n private rampColors: any;\n public getUninforms(): IModelUniform {\n const {\n opacity,\n clampLow = true,\n clampHigh = true,\n noDataValue = -9999999,\n domain = [0, 1],\n rampColors,\n\n pixelConstant = 0.0,\n pixelConstantR = 256 * 256,\n pixelConstantG = 256,\n pixelConstantB = 1,\n pixelConstantRGB = 0.1,\n } = this.layer.getLayerConfig() as IImageLayerStyleOptions;\n\n if (!isEqual(this.rampColors, rampColors)) {\n this.updateColorTexure();\n this.rampColors = rampColors;\n }\n return {\n u_opacity: opacity || 1,\n u_texture: this.texture,\n\n u_pixelConstant: pixelConstant,\n u_pixelConstantR: pixelConstantR,\n u_pixelConstantG: pixelConstantG,\n u_pixelConstantB: pixelConstantB,\n u_pixelConstantRGB: pixelConstantRGB,\n\n u_domain: domain,\n u_clampLow: clampLow,\n u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,\n u_noDataValue: noDataValue,\n u_colorTexture: this.colorTexture,\n };\n }\n public initModels() {\n const {\n mask = false,\n maskInside = true,\n rampColorsData,\n rampColors,\n } = this.layer.getLayerConfig() as IImageLayerStyleOptions;\n\n const source = this.layer.getSource();\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n\n if (isMini) {\n // @ts-ignore\n const canvas = this.layerService.sceneService.getSceneConfig().canvas;\n const img = canvas.createImage();\n img.crossOrigin = 'anonymous';\n img.src = source.data.originData;\n\n img.onload = () => {\n this.texture = createTexture2D({\n data: img,\n width: img.width,\n height: img.height,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n } else {\n source.data.images.then(\n (imageData: Array<HTMLImageElement | ImageBitmap>) => {\n this.texture = createTexture2D({\n data: imageData[0],\n width: imageData[0].width,\n height: imageData[0].height,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n },\n );\n }\n\n const rampImageData = rampColorsData\n ? rampColorsData\n : generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: rampImageData.data,\n width: rampImageData.width,\n height: rampImageData.height,\n flipY: false,\n });\n\n return [\n this.layer.buildLayerModel({\n moduleName: 'RasterImage',\n vertexShader: ImageVert,\n fragmentShader: ImageFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels(): void {\n this.texture?.destroy();\n this.colorTexture?.destroy();\n }\n\n public buildModels() {\n return this.initModels();\n }\n\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n\n private updateColorTexure() {\n const { createTexture2D } = this.rendererService;\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IImageLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n }\n}\n"],"file":"dataImage.js"}
@@ -1,10 +1,11 @@
1
- import { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
1
+ import { IModelUniform, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class ImageModel extends BaseModel {
4
4
  protected texture: ITexture2D;
5
5
  getUninforms(): IModelUniform;
6
- initModels(callbackModel: (models: IModel[]) => void): void;
7
- buildModels(callbackModel: (models: IModel[]) => void): void;
6
+ initModels(): import("@antv/l7-core").IModel[];
7
+ clearModels(): void;
8
+ buildModels(): import("@antv/l7-core").IModel[];
8
9
  protected getConfigSchema(): {
9
10
  properties: {
10
11
  opacity: {
@@ -51,7 +51,7 @@ var ImageModel = function (_BaseModel) {
51
51
  }
52
52
  }, {
53
53
  key: "initModels",
54
- value: function initModels(callbackModel) {
54
+ value: function initModels() {
55
55
  var _this2 = this;
56
56
 
57
57
  var _ref2 = this.layer.getLayerConfig(),
@@ -98,8 +98,8 @@ var ImageModel = function (_BaseModel) {
98
98
  });
99
99
  }
100
100
 
101
- this.layer.buildLayerModel({
102
- moduleName: 'rasterImage',
101
+ return [this.layer.buildLayerModel({
102
+ moduleName: 'RasterImage',
103
103
  vertexShader: ImageVert,
104
104
  fragmentShader: ImageFrag,
105
105
  triangulation: RasterImageTriangulation,
@@ -107,18 +107,21 @@ var ImageModel = function (_BaseModel) {
107
107
  depth: {
108
108
  enable: false
109
109
  },
110
+ blend: this.getBlend(),
110
111
  stencil: getMask(mask, maskInside)
111
- }).then(function (model) {
112
- callbackModel([model]);
113
- }).catch(function (err) {
114
- console.warn(err);
115
- callbackModel([]);
116
- });
112
+ })];
113
+ }
114
+ }, {
115
+ key: "clearModels",
116
+ value: function clearModels() {
117
+ var _this$texture;
118
+
119
+ (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
117
120
  }
118
121
  }, {
119
122
  key: "buildModels",
120
- value: function buildModels(callbackModel) {
121
- return this.initModels(callbackModel);
123
+ value: function buildModels() {
124
+ return this.initModels();
122
125
  }
123
126
  }, {
124
127
  key: "getConfigSchema",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/image/models/image.ts"],"names":["AttributeType","gl","getMask","isMini","BaseModel","RasterImageTriangulation","ImageModel","layer","getLayerConfig","opacity","u_opacity","u_texture","texture","callbackModel","mask","maskInside","source","getSource","createTexture2D","rendererService","height","width","canvas","layerService","sceneService","getSceneConfig","img","createImage","crossOrigin","src","data","originData","onload","updateLayerRenderList","renderLayers","images","then","imageData","buildLayerModel","moduleName","vertexShader","ImageVert","fragmentShader","ImageFrag","triangulation","primitive","TRIANGLES","depth","enable","stencil","model","catch","err","console","warn","initModels","properties","type","minimum","maximum","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask, isMini } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IImageLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport ImageFrag from '../shaders/image_frag.glsl';\nimport ImageVert from '../shaders/image_vert.glsl';\n\nexport default class ImageModel extends BaseModel {\n protected texture: ITexture2D;\n public getUninforms(): IModelUniform {\n const { opacity } = this.layer.getLayerConfig() as IImageLayerStyleOptions;\n return {\n u_opacity: opacity || 1,\n u_texture: this.texture,\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IImageLayerStyleOptions;\n\n const source = this.layer.getSource();\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n\n if (isMini) {\n // @ts-ignore\n const canvas = this.layerService.sceneService.getSceneConfig().canvas;\n const img = canvas.createImage();\n img.crossOrigin = 'anonymous';\n img.src = source.data.originData;\n\n img.onload = () => {\n this.texture = createTexture2D({\n data: img,\n width: img.width,\n height: img.height,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n } else {\n source.data.images.then(\n (imageData: Array<HTMLImageElement | ImageBitmap>) => {\n this.texture = createTexture2D({\n data: imageData[0],\n width: imageData[0].width,\n height: imageData[0].height,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n },\n );\n }\n\n this.layer\n .buildLayerModel({\n moduleName: 'rasterImage',\n vertexShader: ImageVert,\n fragmentShader: ImageFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n return this.initModels(callbackModel);\n }\n\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n}\n"],"file":"image.js"}
1
+ {"version":3,"sources":["../../../src/image/models/image.ts"],"names":["AttributeType","gl","getMask","isMini","BaseModel","RasterImageTriangulation","ImageModel","layer","getLayerConfig","opacity","u_opacity","u_texture","texture","mask","maskInside","source","getSource","createTexture2D","rendererService","height","width","canvas","layerService","sceneService","getSceneConfig","img","createImage","crossOrigin","src","data","originData","onload","updateLayerRenderList","renderLayers","images","then","imageData","buildLayerModel","moduleName","vertexShader","ImageVert","fragmentShader","ImageFrag","triangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","destroy","initModels","properties","type","minimum","maximum","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask, isMini } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IImageLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport ImageFrag from '../shaders/image_frag.glsl';\nimport ImageVert from '../shaders/image_vert.glsl';\n\nexport default class ImageModel extends BaseModel {\n protected texture: ITexture2D;\n public getUninforms(): IModelUniform {\n const { opacity } = this.layer.getLayerConfig() as IImageLayerStyleOptions;\n return {\n u_opacity: opacity || 1,\n u_texture: this.texture,\n };\n }\n public initModels() {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IImageLayerStyleOptions;\n\n const source = this.layer.getSource();\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n\n if (isMini) {\n // @ts-ignore\n const canvas = this.layerService.sceneService.getSceneConfig().canvas;\n const img = canvas.createImage();\n img.crossOrigin = 'anonymous';\n img.src = source.data.originData;\n\n img.onload = () => {\n this.texture = createTexture2D({\n data: img,\n width: img.width,\n height: img.height,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n } else {\n source.data.images.then(\n (imageData: Array<HTMLImageElement | ImageBitmap>) => {\n this.texture = createTexture2D({\n data: imageData[0],\n width: imageData[0].width,\n height: imageData[0].height,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n },\n );\n }\n\n return [\n this.layer.buildLayerModel({\n moduleName: 'RasterImage',\n vertexShader: ImageVert,\n fragmentShader: ImageFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels(): void {\n this.texture?.destroy();\n }\n\n public buildModels() {\n return this.initModels();\n }\n\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n}\n"],"file":"image.js"}
@@ -1,4 +1,4 @@
1
- export declare type ImageModelType = 'image';
1
+ export declare type ImageModelType = 'image' | 'dataImage';
2
2
  declare const ImageModels: {
3
3
  [key in ImageModelType]: any;
4
4
  };
@@ -1,6 +1,8 @@
1
+ import DataImageModel from './dataImage';
1
2
  import ImageModel from './image';
2
3
  var ImageModels = {
3
- image: ImageModel
4
+ image: ImageModel,
5
+ dataImage: DataImageModel
4
6
  };
5
7
  export default ImageModels;
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/image/models/index.ts"],"names":["ImageModel","ImageModels","image"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,SAAvB;AAGA,IAAMC,WAA6C,GAAG;AACpDC,EAAAA,KAAK,EAAEF;AAD6C,CAAtD;AAIA,eAAeC,WAAf","sourcesContent":["import ImageModel from './image';\nexport type ImageModelType = 'image';\n\nconst ImageModels: { [key in ImageModelType]: any } = {\n image: ImageModel,\n};\n\nexport default ImageModels;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/image/models/index.ts"],"names":["DataImageModel","ImageModel","ImageModels","image","dataImage"],"mappings":"AAAA,OAAOA,cAAP,MAA2B,aAA3B;AACA,OAAOC,UAAP,MAAuB,SAAvB;AAGA,IAAMC,WAA6C,GAAG;AACpDC,EAAAA,KAAK,EAAEF,UAD6C;AAEpDG,EAAAA,SAAS,EAAEJ;AAFyC,CAAtD;AAKA,eAAeE,WAAf","sourcesContent":["import DataImageModel from './dataImage';\nimport ImageModel from './image';\nexport type ImageModelType = 'image' | 'dataImage';\n\nconst ImageModels: { [key in ImageModelType]: any } = {\n image: ImageModel,\n dataImage: DataImageModel,\n};\n\nexport default ImageModels;\n"],"file":"index.js"}
@@ -20,6 +20,8 @@ export default class LineLayer extends BaseLayer<ILineLayerStyleOptions> {
20
20
  blend: string;
21
21
  } | {
22
22
  blend: string;
23
+ } | {
24
+ blend: string;
23
25
  } | {} | {} | {} | {};
24
26
  protected getModelType(): LineModelType;
25
27
  }
package/es/line/index.js CHANGED
@@ -37,24 +37,14 @@ var LineLayer = function (_BaseLayer) {
37
37
  _createClass(LineLayer, [{
38
38
  key: "buildModels",
39
39
  value: function buildModels() {
40
- var _this2 = this;
41
-
42
40
  var shape = this.getModelType();
43
41
  this.layerModel = new LineModels[shape](this);
44
- this.layerModel.initModels(function (models) {
45
- _this2.models = models;
46
-
47
- _this2.renderLayers();
48
- });
42
+ this.models = this.layerModel.initModels();
49
43
  }
50
44
  }, {
51
45
  key: "rebuildModels",
52
46
  value: function rebuildModels() {
53
- var _this3 = this;
54
-
55
- this.layerModel.buildModels(function (models) {
56
- return _this3.models = models;
57
- });
47
+ this.models = this.layerModel.buildModels();
58
48
  }
59
49
  }, {
60
50
  key: "getConfigSchema",
@@ -84,6 +74,9 @@ var LineLayer = function (_BaseLayer) {
84
74
  arc: {
85
75
  blend: 'additive'
86
76
  },
77
+ arcmini: {
78
+ blend: 'additive'
79
+ },
87
80
  greatcircle: {
88
81
  blend: 'additive'
89
82
  },