@antv/l7-layers 2.15.5 → 2.16.1

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 (243) hide show
  1. package/es/Geometry/index.js +31 -9
  2. package/es/Geometry/models/billboard.js +89 -51
  3. package/es/Geometry/models/plane.js +143 -81
  4. package/es/Geometry/models/sprite.js +118 -60
  5. package/es/canvas/index.js +33 -10
  6. package/es/canvas/models/canvas.js +97 -41
  7. package/es/citybuliding/building.js +27 -8
  8. package/es/citybuliding/models/build.js +82 -57
  9. package/es/core/BaseLayer.js +486 -321
  10. package/es/core/BaseModel.js +126 -97
  11. package/es/core/LayerPickService.js +32 -21
  12. package/es/core/TextureService.js +13 -0
  13. package/es/core/interface.js +24 -17
  14. package/es/core/shape/Path.js +20 -13
  15. package/es/core/shape/extrude.js +31 -10
  16. package/es/core/triangulation.js +114 -54
  17. package/es/earth/index.js +33 -9
  18. package/es/earth/models/atmosphere.js +54 -30
  19. package/es/earth/models/base.js +85 -47
  20. package/es/earth/models/bloomsphere.js +54 -30
  21. package/es/earth/utils.js +13 -9
  22. package/es/heatmap/index.js +40 -10
  23. package/es/heatmap/models/grid.js +52 -28
  24. package/es/heatmap/models/grid3d.js +52 -28
  25. package/es/heatmap/models/heatmap.js +146 -91
  26. package/es/heatmap/models/hexagon.js +52 -28
  27. package/es/heatmap/triangulation.js +4 -0
  28. package/es/image/index.js +28 -9
  29. package/es/image/models/image.js +100 -66
  30. package/es/index.js +17 -9
  31. package/es/line/index.js +34 -9
  32. package/es/line/models/arc.js +118 -66
  33. package/es/line/models/arc_3d.js +108 -60
  34. package/es/line/models/earthArc_3d.js +111 -63
  35. package/es/line/models/great_circle.js +100 -56
  36. package/es/line/models/half.js +77 -46
  37. package/es/line/models/line.js +148 -94
  38. package/es/line/models/linearline.js +80 -45
  39. package/es/line/models/simpleLine.js +74 -41
  40. package/es/line/models/wall.js +92 -52
  41. package/es/mask/index.js +28 -9
  42. package/es/mask/models/fill.js +54 -29
  43. package/es/plugins/DataMappingPlugin.js +117 -80
  44. package/es/plugins/DataSourcePlugin.js +68 -45
  45. package/es/plugins/FeatureScalePlugin.js +122 -67
  46. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  47. package/es/plugins/LayerMaskPlugin.js +11 -3
  48. package/es/plugins/LayerModelPlugin.js +104 -67
  49. package/es/plugins/LayerStylePlugin.js +9 -3
  50. package/es/plugins/LightingPlugin.js +18 -12
  51. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  52. package/es/plugins/PixelPickingPlugin.js +21 -12
  53. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  54. package/es/plugins/ShaderUniformPlugin.js +27 -13
  55. package/es/plugins/UpdateModelPlugin.js +5 -0
  56. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  57. package/es/point/index.js +77 -26
  58. package/es/point/models/earthExtrude.js +102 -61
  59. package/es/point/models/earthFill.js +87 -57
  60. package/es/point/models/extrude.js +101 -60
  61. package/es/point/models/fill.js +100 -70
  62. package/es/point/models/fillmage.js +107 -63
  63. package/es/point/models/image.js +88 -48
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +54 -30
  66. package/es/point/models/radar.js +64 -40
  67. package/es/point/models/simplePoint.js +69 -41
  68. package/es/point/models/text.d.ts +2 -1
  69. package/es/point/models/text.js +305 -201
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +40 -11
  72. package/es/polygon/models/extrude.js +92 -48
  73. package/es/polygon/models/fill.js +88 -54
  74. package/es/polygon/models/index.js +2 -3
  75. package/es/polygon/models/ocean.js +76 -42
  76. package/es/polygon/models/water.js +71 -37
  77. package/es/raster/buffers/triangulation.js +4 -2
  78. package/es/raster/index.js +32 -9
  79. package/es/raster/models/raster.js +116 -80
  80. package/es/raster/models/rasterRgb.js +127 -84
  81. package/es/raster/models/rasterTerrainRgb.js +84 -56
  82. package/es/tile/interaction/getRasterData.js +20 -14
  83. package/es/tile/interaction/utils.js +9 -7
  84. package/es/tile/manager/base.js +96 -63
  85. package/es/tile/service/TileLayerService.js +55 -33
  86. package/es/tile/service/TilePickService.js +40 -26
  87. package/es/tile/service/TileSourceService.js +7 -3
  88. package/es/tile/tileFactory/DebugTile.js +46 -29
  89. package/es/tile/tileFactory/ImageTile.js +38 -20
  90. package/es/tile/tileFactory/MaskTile.js +43 -22
  91. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  93. package/es/tile/tileFactory/RasterTile.js +53 -30
  94. package/es/tile/tileFactory/Tile.js +97 -63
  95. package/es/tile/tileFactory/VectorTile.js +68 -41
  96. package/es/tile/tileFactory/index.js +11 -0
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  98. package/es/tile/tileFactory/util.js +3 -0
  99. package/es/tile/tileLayer/BaseLayer.js +146 -105
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +2 -0
  102. package/es/utils/collision-index.js +16 -9
  103. package/es/utils/dataMappingStyle.js +18 -8
  104. package/es/utils/extrude_polyline.js +149 -101
  105. package/es/utils/grid-index.js +27 -2
  106. package/es/utils/identityScale.js +8 -0
  107. package/es/utils/layerData.js +44 -30
  108. package/es/utils/multiPassRender.js +13 -11
  109. package/es/utils/polylineNormal.js +37 -31
  110. package/es/utils/simpleLine.js +16 -2
  111. package/es/utils/stencil.js +3 -2
  112. package/es/utils/symbol-layout.js +53 -27
  113. package/es/wind/index.js +29 -9
  114. package/es/wind/models/utils.js +51 -26
  115. package/es/wind/models/wind.js +147 -101
  116. package/es/wind/models/windRender.js +66 -53
  117. package/lib/Geometry/index.js +38 -9
  118. package/lib/Geometry/models/billboard.js +97 -51
  119. package/lib/Geometry/models/index.js +5 -0
  120. package/lib/Geometry/models/plane.js +151 -79
  121. package/lib/Geometry/models/sprite.js +127 -60
  122. package/lib/canvas/index.js +40 -10
  123. package/lib/canvas/models/canvas.js +101 -41
  124. package/lib/canvas/models/index.js +3 -0
  125. package/lib/citybuliding/building.js +35 -8
  126. package/lib/citybuliding/models/build.js +92 -57
  127. package/lib/core/BaseLayer.js +480 -321
  128. package/lib/core/BaseModel.js +139 -97
  129. package/lib/core/LayerPickService.js +37 -21
  130. package/lib/core/TextureService.js +16 -0
  131. package/lib/core/interface.js +31 -21
  132. package/lib/core/schema.js +1 -0
  133. package/lib/core/shape/Path.js +31 -14
  134. package/lib/core/shape/extrude.js +54 -10
  135. package/lib/core/triangulation.js +153 -53
  136. package/lib/earth/index.js +43 -9
  137. package/lib/earth/models/atmosphere.js +63 -30
  138. package/lib/earth/models/base.js +90 -47
  139. package/lib/earth/models/bloomsphere.js +63 -30
  140. package/lib/earth/utils.js +31 -7
  141. package/lib/heatmap/index.js +48 -10
  142. package/lib/heatmap/models/grid.js +60 -28
  143. package/lib/heatmap/models/grid3d.js +60 -28
  144. package/lib/heatmap/models/heatmap.js +162 -91
  145. package/lib/heatmap/models/hexagon.js +60 -28
  146. package/lib/heatmap/models/index.js +6 -0
  147. package/lib/heatmap/triangulation.js +5 -0
  148. package/lib/image/index.js +36 -9
  149. package/lib/image/models/image.js +109 -66
  150. package/lib/image/models/index.js +3 -0
  151. package/lib/index.js +61 -7
  152. package/lib/line/index.js +40 -9
  153. package/lib/line/models/arc.js +128 -64
  154. package/lib/line/models/arc_3d.js +119 -58
  155. package/lib/line/models/earthArc_3d.js +122 -61
  156. package/lib/line/models/great_circle.js +111 -56
  157. package/lib/line/models/half.js +87 -46
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +156 -92
  160. package/lib/line/models/linearline.js +92 -45
  161. package/lib/line/models/simpleLine.js +84 -41
  162. package/lib/line/models/wall.js +103 -52
  163. package/lib/mask/index.js +36 -9
  164. package/lib/mask/models/fill.js +63 -29
  165. package/lib/mask/models/index.js +3 -0
  166. package/lib/plugins/DataMappingPlugin.js +128 -80
  167. package/lib/plugins/DataSourcePlugin.js +76 -45
  168. package/lib/plugins/FeatureScalePlugin.js +138 -67
  169. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  170. package/lib/plugins/LayerMaskPlugin.js +17 -4
  171. package/lib/plugins/LayerModelPlugin.js +113 -68
  172. package/lib/plugins/LayerStylePlugin.js +14 -4
  173. package/lib/plugins/LightingPlugin.js +25 -12
  174. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  175. package/lib/plugins/PixelPickingPlugin.js +27 -12
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  177. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  178. package/lib/plugins/UpdateModelPlugin.js +10 -1
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  180. package/lib/point/index.js +83 -26
  181. package/lib/point/models/earthExtrude.js +113 -61
  182. package/lib/point/models/earthFill.js +117 -57
  183. package/lib/point/models/extrude.js +111 -60
  184. package/lib/point/models/fill.js +109 -68
  185. package/lib/point/models/fillmage.js +115 -61
  186. package/lib/point/models/image.js +98 -48
  187. package/lib/point/models/index.js +12 -1
  188. package/lib/point/models/normal.js +64 -30
  189. package/lib/point/models/radar.js +74 -40
  190. package/lib/point/models/simplePoint.js +79 -41
  191. package/lib/point/models/text.js +314 -202
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +103 -48
  195. package/lib/polygon/models/fill.js +98 -54
  196. package/lib/polygon/models/index.js +14 -2
  197. package/lib/polygon/models/ocean.js +88 -42
  198. package/lib/polygon/models/water.js +82 -37
  199. package/lib/raster/buffers/triangulation.js +7 -3
  200. package/lib/raster/index.js +40 -9
  201. package/lib/raster/models/index.js +5 -0
  202. package/lib/raster/models/raster.js +125 -80
  203. package/lib/raster/models/rasterRgb.js +139 -84
  204. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  205. package/lib/tile/interaction/getRasterData.js +25 -14
  206. package/lib/tile/interaction/utils.js +19 -7
  207. package/lib/tile/manager/base.js +104 -63
  208. package/lib/tile/service/TileLayerService.js +60 -33
  209. package/lib/tile/service/TilePickService.js +48 -26
  210. package/lib/tile/service/TileSourceService.js +16 -2
  211. package/lib/tile/style/utils.js +3 -0
  212. package/lib/tile/tileFactory/DebugTile.js +54 -29
  213. package/lib/tile/tileFactory/ImageTile.js +46 -20
  214. package/lib/tile/tileFactory/MaskTile.js +51 -22
  215. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  217. package/lib/tile/tileFactory/RasterTile.js +63 -30
  218. package/lib/tile/tileFactory/Tile.js +102 -63
  219. package/lib/tile/tileFactory/VectorTile.js +76 -41
  220. package/lib/tile/tileFactory/index.js +25 -0
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  222. package/lib/tile/tileFactory/util.js +9 -0
  223. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  224. package/lib/tile/utils.js +5 -1
  225. package/lib/utils/blend.js +5 -0
  226. package/lib/utils/collision-index.js +25 -9
  227. package/lib/utils/dataMappingStyle.js +19 -8
  228. package/lib/utils/extrude_polyline.js +181 -101
  229. package/lib/utils/grid-index.js +28 -2
  230. package/lib/utils/identityScale.js +9 -0
  231. package/lib/utils/layerData.js +49 -30
  232. package/lib/utils/multiPassRender.js +16 -11
  233. package/lib/utils/polylineNormal.js +66 -31
  234. package/lib/utils/simpleLine.js +21 -2
  235. package/lib/utils/stencil.js +4 -0
  236. package/lib/utils/symbol-layout.js +55 -27
  237. package/lib/wind/index.js +37 -9
  238. package/lib/wind/models/index.js +3 -0
  239. package/lib/wind/models/utils.js +62 -26
  240. package/lib/wind/models/wind.js +157 -101
  241. package/lib/wind/models/windRender.js +71 -53
  242. package/lib/wind/models/windShader.js +1 -0
  243. package/package.json +7 -7
@@ -6,10 +6,15 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
6
6
  import _inherits from "@babel/runtime/helpers/esm/inherits";
7
7
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
9
+
9
10
  var _dec, _class;
11
+
10
12
  import _regeneratorRuntime from "@babel/runtime/regenerator";
13
+
11
14
  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); }; }
15
+
12
16
  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; } }
17
+
13
18
  import { AttributeType, gl } from '@antv/l7-core';
14
19
  import { generateColorRamp, getCullFace } from '@antv/l7-utils';
15
20
  import { mat4 } from 'gl-matrix';
@@ -17,33 +22,44 @@ import { injectable } from 'inversify';
17
22
  import 'reflect-metadata';
18
23
  import BaseModel from "../../core/BaseModel";
19
24
  import { HeatmapTriangulation } from "../../core/triangulation";
25
+
20
26
  /* babel-plugin-inline-import '../shaders/heatmap_3d_frag.glsl' */
21
27
  var heatmap3DFrag = "uniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_opacity;\nvarying vec2 v_texCoord;\nvarying float v_intensity;\n\nvoid main(){\n \n float intensity = texture2D(u_texture, v_texCoord).r;\n vec4 color = texture2D(u_colorTexture,vec2(intensity, 0));\n gl_FragColor = color;\n // gl_FragColor.a = color.a * smoothstep(0.1,0.2,intensity)* u_opacity;\n gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;\n}\n";
28
+
22
29
  /* babel-plugin-inline-import '../shaders/heatmap_3d_vert.glsl' */
23
30
  var heatmap3DVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_InverseViewProjectionMatrix;\nuniform mat4 u_ViewProjectionMatrixUncentered;\nvarying float v_intensity;\n\n\nvec2 toBezier(float t, vec2 P0, vec2 P1, vec2 P2, vec2 P3) {\n float t2 = t * t;\n float one_minus_t = 1.0 - t;\n float one_minus_t2 = one_minus_t * one_minus_t;\n return (P0 * one_minus_t2 * one_minus_t + P1 * 3.0 * t * one_minus_t2 + P2 * 3.0 * t2 * one_minus_t + P3 * t2 * t);\n}\nvec2 toBezier(float t, vec4 p){\n return toBezier(t, vec2(0.0, 0.0), vec2(p.x, p.y), vec2(p.z, p.w), vec2(1.0, 1.0));\n}\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n\n vec2 pos = a_Uv * vec2(2.0) - vec2(1.0); // \u5C06\u539F\u672C 0 -> 1 \u7684 uv \u8F6C\u6362\u4E3A -1 -> 1 \u7684\u6807\u51C6\u5750\u6807\u7A7A\u95F4\uFF08NDC\uFF09\n\n vec4 p1 = vec4(pos, 0.0, 1.0); // x/y \u5E73\u9762\u4E0A\u7684\u70B9\uFF08z == 0\uFF09\u53EF\u4EE5\u8BA4\u4E3A\u662F\u4E09\u7EF4\u4E0A\u7684\u70B9\u88AB\u6295\u5F71\u5230\u5E73\u9762\u540E\u7684\u70B9\n\tvec4 p2 = vec4(pos, 1.0, 1.0); // \u5E73\u884C\u4E8Ex/y\u5E73\u9762\u3001z==1 \u7684\u5E73\u9762\u4E0A\u7684\u70B9\n\n\tvec4 inverseP1 = u_InverseViewProjectionMatrix * p1; // \u6839\u636E\u89C6\u56FE\u6295\u5F71\u77E9\u9635\u7684\u9006\u77E9\u9635\u5E73\u9762\u4E0A\u7684\u53CD\u7B97\u51FA\u4E09\u7EF4\u7A7A\u95F4\u4E2D\u7684\u70B9\uFF08p1\u5E73\u9762\u4E0A\u7684\u70B9\uFF09\n\tvec4 inverseP2 = u_InverseViewProjectionMatrix * p2;\n\n inverseP1 = inverseP1 / inverseP1.w; // \u5F52\u4E00\u5316\u64CD\u4F5C\uFF08\u5F52\u4E00\u5316\u540E\u4E3A\u4E16\u754C\u5750\u6807\uFF09\n\tinverseP2 = inverseP2 / inverseP2.w;\n\n\tfloat zPos = (0.0 - inverseP1.z) / (inverseP2.z - inverseP1.z); // ??\n\tvec4 position = inverseP1 + zPos * (inverseP2 - inverseP1);\n\n vec4 b= vec4(0.5000, 0.0, 1.0, 0.5000);\n float fh;\n\n v_intensity = texture2D(u_texture, v_texCoord).r;\n fh = toBezier(v_intensity, b).y;\n gl_Position = u_ViewProjectionMatrixUncentered * vec4(position.xy, fh * project_pixel(50.), 1.0);\n \n}\n"; // 绘制平面热力的 shader
31
+
24
32
  /* babel-plugin-inline-import '../shaders/heatmap_frag.glsl' */
25
33
  var heatmapColorFrag = "uniform sampler2D u_texture; // \u70ED\u529B\u5F3A\u5EA6\u56FE\nuniform sampler2D u_colorTexture; // \u6839\u636E\u5F3A\u5EA6\u5206\u5E03\u7684\u8272\u5E26\nuniform float u_opacity;\nvarying vec2 v_texCoord;\n\nuniform vec2 u_ViewportSize;\n\nfloat getBlurIndusty() {\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\n\nvoid main(){\n // float intensity = texture2D(u_texture, v_texCoord).r;\n float intensity = getBlurIndusty();\n vec4 color = texture2D(u_colorTexture, vec2(intensity, 0.0));\n\n gl_FragColor =color;\n gl_FragColor.a = color.a * smoothstep(0.,0.1,intensity) * u_opacity;\n\n}\n";
34
+
26
35
  /* babel-plugin-inline-import '../shaders/heatmap_vert.glsl' */
27
36
  var heatmapColorVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\nvoid main() {\n v_texCoord = a_Uv;\n\n gl_Position = vec4(a_Position.xy, 0, 1.);\n}\n";
37
+
28
38
  /* babel-plugin-inline-import '../shaders/heatmap_framebuffer_frag.glsl' */
29
39
  var heatmapFramebufferFrag = "precision highp float;\nuniform float u_intensity;\nvarying float v_weight;\nvarying vec2 v_extrude;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(){\n float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\n float val = v_weight * u_intensity * GAUSS_COEF * exp(d);\n gl_FragColor = vec4(val, 1., 1., 1.);\n}\n";
40
+
30
41
  /* babel-plugin-inline-import '../shaders/heatmap_framebuffer_vert.glsl' */
31
42
  var heatmapFramebufferVert = "precision highp float;\nattribute vec3 a_Position;\nattribute float a_Size;\nattribute vec2 a_Dir;\nuniform float u_intensity;\nuniform float u_radius;\nvarying vec2 v_extrude;\nvarying float v_weight;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\n#define GAUSS_COEF 0.3989422804014327\n\n#pragma include \"projection\"\n\nvoid main(){\n v_weight = a_Size;\n float ZERO = 1.0 / 255.0 / 16.0;\n float extrude_x = a_Dir.x * 2.0 -1.0;\n float extrude_y = a_Dir.y * 2.0 -1.0;\n vec2 extrude_dir = normalize(vec2(extrude_x,extrude_y));\n float S = sqrt(-2.0 * log(ZERO / a_Size / u_intensity / GAUSS_COEF)) / 2.5;\n v_extrude = extrude_dir * S;\n\n vec2 offset = project_pixel(v_extrude * u_radius);\n vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy + offset, 0.0, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n }\n}\n";
32
43
  import { heatMap3DTriangulation } from "../triangulation";
33
44
  var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_BaseModel) {
34
45
  _inherits(HeatMapModel, _BaseModel);
46
+
35
47
  var _super = _createSuper(HeatMapModel);
48
+
36
49
  function HeatMapModel() {
37
50
  _classCallCheck(this, HeatMapModel);
51
+
38
52
  return _super.apply(this, arguments);
39
53
  }
54
+
40
55
  _createClass(HeatMapModel, [{
41
56
  key: "render",
42
57
  value: function render(options) {
43
58
  var _this = this;
59
+
44
60
  var _this$rendererService = this.rendererService,
45
- clear = _this$rendererService.clear,
46
- useFramebuffer = _this$rendererService.useFramebuffer;
61
+ clear = _this$rendererService.clear,
62
+ useFramebuffer = _this$rendererService.useFramebuffer;
47
63
  useFramebuffer(this.heatmapFramerBuffer, function () {
48
64
  clear({
49
65
  color: [0, 0, 0, 0],
@@ -51,11 +67,14 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
51
67
  stencil: 0,
52
68
  framebuffer: _this.heatmapFramerBuffer
53
69
  });
70
+
54
71
  _this.drawIntensityMode();
55
72
  });
73
+
56
74
  if (this.layer.styleNeedUpdate) {
57
75
  this.updateColorTexture();
58
76
  }
77
+
59
78
  this.shapeType === 'heatmap' ? this.drawColorMode(options) : this.draw3DHeatMap(options);
60
79
  }
61
80
  }, {
@@ -68,45 +87,55 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
68
87
  value: function () {
69
88
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
70
89
  var _shapeAttr$scale;
90
+
71
91
  var _this$rendererService2, createFramebuffer, getViewportSize, createTexture2D, shapeAttr, shapeType, _getViewportSize, width, height;
92
+
72
93
  return _regeneratorRuntime.wrap(function _callee$(_context) {
73
- while (1) switch (_context.prev = _context.next) {
74
- case 0:
75
- _this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D;
76
- shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
77
- shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
78
- this.shapeType = shapeType;
79
- // 生成热力图密度图
80
- _context.next = 6;
81
- return this.buildHeatMapIntensity();
82
- case 6:
83
- this.intensityModel = _context.sent;
84
- // 渲染到屏幕
85
- this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() // 2D
86
- : this.build3dHeatMap(); // 3D
87
- _getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height; // 初始化密度图纹理
88
- this.heatmapFramerBuffer = createFramebuffer({
89
- color: createTexture2D({
90
- width: Math.floor(width / 4),
91
- height: Math.floor(height / 4),
92
- wrapS: gl.CLAMP_TO_EDGE,
93
- wrapT: gl.CLAMP_TO_EDGE,
94
- min: gl.LINEAR,
95
- mag: gl.LINEAR
96
- }),
97
- depth: false
98
- });
99
- this.updateColorTexture();
100
- return _context.abrupt("return", [this.intensityModel, this.colorModel]);
101
- case 12:
102
- case "end":
103
- return _context.stop();
94
+ while (1) {
95
+ switch (_context.prev = _context.next) {
96
+ case 0:
97
+ _this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D;
98
+ shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
99
+ shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
100
+ this.shapeType = shapeType; // 生成热力图密度图
101
+
102
+ _context.next = 6;
103
+ return this.buildHeatMapIntensity();
104
+
105
+ case 6:
106
+ this.intensityModel = _context.sent;
107
+ // 渲染到屏幕
108
+ this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() // 2D
109
+ : this.build3dHeatMap(); // 3D
110
+
111
+ _getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height; // 初始化密度图纹理
112
+
113
+ this.heatmapFramerBuffer = createFramebuffer({
114
+ color: createTexture2D({
115
+ width: Math.floor(width / 4),
116
+ height: Math.floor(height / 4),
117
+ wrapS: gl.CLAMP_TO_EDGE,
118
+ wrapT: gl.CLAMP_TO_EDGE,
119
+ min: gl.LINEAR,
120
+ mag: gl.LINEAR
121
+ }),
122
+ depth: false
123
+ });
124
+ this.updateColorTexture();
125
+ return _context.abrupt("return", [this.intensityModel, this.colorModel]);
126
+
127
+ case 12:
128
+ case "end":
129
+ return _context.stop();
130
+ }
104
131
  }
105
132
  }, _callee, this);
106
133
  }));
134
+
107
135
  function initModels() {
108
136
  return _initModels.apply(this, arguments);
109
137
  }
138
+
110
139
  return initModels;
111
140
  }()
112
141
  }, {
@@ -114,18 +143,23 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
114
143
  value: function () {
115
144
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
116
145
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
117
- while (1) switch (_context2.prev = _context2.next) {
118
- case 0:
119
- return _context2.abrupt("return", this.initModels());
120
- case 1:
121
- case "end":
122
- return _context2.stop();
146
+ while (1) {
147
+ switch (_context2.prev = _context2.next) {
148
+ case 0:
149
+ return _context2.abrupt("return", this.initModels());
150
+
151
+ case 1:
152
+ case "end":
153
+ return _context2.stop();
154
+ }
123
155
  }
124
156
  }, _callee2, this);
125
157
  }));
158
+
126
159
  function buildModels() {
127
160
  return _buildModels.apply(this, arguments);
128
161
  }
162
+
129
163
  return buildModels;
130
164
  }()
131
165
  }, {
@@ -161,7 +195,7 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
161
195
  size: 1,
162
196
  update: function update(feature) {
163
197
  var _feature$size = feature.size,
164
- size = _feature$size === void 0 ? 1 : _feature$size;
198
+ size = _feature$size === void 0 ? 1 : _feature$size;
165
199
  return [size];
166
200
  }
167
201
  }
@@ -173,35 +207,41 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
173
207
  var _buildHeatMapIntensity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
174
208
  var model;
175
209
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
176
- while (1) switch (_context3.prev = _context3.next) {
177
- case 0:
178
- this.layer.triangulation = HeatmapTriangulation;
179
- _context3.next = 3;
180
- return this.layer.buildLayerModel({
181
- moduleName: 'heatmapIntensity',
182
- vertexShader: heatmapFramebufferVert,
183
- fragmentShader: heatmapFramebufferFrag,
184
- triangulation: HeatmapTriangulation,
185
- depth: {
186
- enable: false
187
- },
188
- cull: {
189
- enable: true,
190
- face: getCullFace(this.mapService.version)
191
- }
192
- });
193
- case 3:
194
- model = _context3.sent;
195
- return _context3.abrupt("return", model);
196
- case 5:
197
- case "end":
198
- return _context3.stop();
210
+ while (1) {
211
+ switch (_context3.prev = _context3.next) {
212
+ case 0:
213
+ this.layer.triangulation = HeatmapTriangulation;
214
+ _context3.next = 3;
215
+ return this.layer.buildLayerModel({
216
+ moduleName: 'heatmapIntensity',
217
+ vertexShader: heatmapFramebufferVert,
218
+ fragmentShader: heatmapFramebufferFrag,
219
+ triangulation: HeatmapTriangulation,
220
+ depth: {
221
+ enable: false
222
+ },
223
+ cull: {
224
+ enable: true,
225
+ face: getCullFace(this.mapService.version)
226
+ }
227
+ });
228
+
229
+ case 3:
230
+ model = _context3.sent;
231
+ return _context3.abrupt("return", model);
232
+
233
+ case 5:
234
+ case "end":
235
+ return _context3.stop();
236
+ }
199
237
  }
200
238
  }, _callee3, this);
201
239
  }));
240
+
202
241
  function buildHeatMapIntensity() {
203
242
  return _buildHeatMapIntensity.apply(this, arguments);
204
243
  }
244
+
205
245
  return buildHeatMapIntensity;
206
246
  }()
207
247
  }, {
@@ -211,15 +251,17 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
211
251
  vs: heatmapColorVert,
212
252
  fs: heatmapColorFrag
213
253
  });
254
+
214
255
  var _this$shaderModuleSer = this.shaderModuleService.getModule('heatmapColor'),
215
- vs = _this$shaderModuleSer.vs,
216
- fs = _this$shaderModuleSer.fs,
217
- uniforms = _this$shaderModuleSer.uniforms;
256
+ vs = _this$shaderModuleSer.vs,
257
+ fs = _this$shaderModuleSer.fs,
258
+ uniforms = _this$shaderModuleSer.uniforms;
259
+
218
260
  var _this$rendererService3 = this.rendererService,
219
- createAttribute = _this$rendererService3.createAttribute,
220
- createElements = _this$rendererService3.createElements,
221
- createBuffer = _this$rendererService3.createBuffer,
222
- createModel = _this$rendererService3.createModel;
261
+ createAttribute = _this$rendererService3.createAttribute,
262
+ createElements = _this$rendererService3.createElements,
263
+ createBuffer = _this$rendererService3.createBuffer,
264
+ createModel = _this$rendererService3.createModel;
223
265
  return createModel({
224
266
  vs: vs,
225
267
  fs: fs,
@@ -254,15 +296,17 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
254
296
  key: "drawIntensityMode",
255
297
  value: function drawIntensityMode() {
256
298
  var _this$intensityModel;
299
+
257
300
  var _ref = this.layer.getLayerConfig(),
258
- opacity = _ref.opacity,
259
- _ref$intensity = _ref.intensity,
260
- intensity = _ref$intensity === void 0 ? 10 : _ref$intensity,
261
- _ref$radius = _ref.radius,
262
- radius = _ref$radius === void 0 ? 5 : _ref$radius;
301
+ opacity = _ref.opacity,
302
+ _ref$intensity = _ref.intensity,
303
+ intensity = _ref$intensity === void 0 ? 10 : _ref$intensity,
304
+ _ref$radius = _ref.radius,
305
+ radius = _ref$radius === void 0 ? 5 : _ref$radius;
306
+
263
307
  this.layerService.beforeRenderData(this.layer);
264
- this.layer.hooks.beforeRender.call();
265
- // 绘制密度图
308
+ this.layer.hooks.beforeRender.call(); // 绘制密度图
309
+
266
310
  (_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
267
311
  uniforms: {
268
312
  u_opacity: opacity || 1.0,
@@ -295,8 +339,10 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
295
339
  key: "drawColorMode",
296
340
  value: function drawColorMode(options) {
297
341
  var _this$colorModel;
342
+
298
343
  var _ref2 = this.layer.getLayerConfig(),
299
- opacity = _ref2.opacity;
344
+ opacity = _ref2.opacity;
345
+
300
346
  (_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
301
347
  uniforms: {
302
348
  u_opacity: opacity || 1.0,
@@ -311,16 +357,17 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
311
357
  key: "draw3DHeatMap",
312
358
  value: function draw3DHeatMap(options) {
313
359
  var _this$colorModel2;
314
- var _ref3 = this.layer.getLayerConfig(),
315
- opacity = _ref3.opacity;
316
360
 
317
- // const invert = mat4.invert(
361
+ var _ref3 = this.layer.getLayerConfig(),
362
+ opacity = _ref3.opacity; // const invert = mat4.invert(
318
363
  // mat4.create(),
319
364
  // mat4.fromValues(
320
365
  // // @ts-ignore
321
366
  // ...this.cameraService.getViewProjectionMatrixUncentered(),
322
367
  // ),
323
368
  // ) as mat4;
369
+
370
+
324
371
  var invert = mat4.create();
325
372
  mat4.invert(invert, this.cameraService.getViewProjectionMatrixUncentered());
326
373
  (_this$colorModel2 = this.colorModel) === null || _this$colorModel2 === void 0 ? void 0 : _this$colorModel2.draw({
@@ -347,23 +394,27 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
347
394
  key: "build3dHeatMap",
348
395
  value: function build3dHeatMap() {
349
396
  var getViewportSize = this.rendererService.getViewportSize;
397
+
350
398
  var _getViewportSize2 = getViewportSize(),
351
- width = _getViewportSize2.width,
352
- height = _getViewportSize2.height;
399
+ width = _getViewportSize2.width,
400
+ height = _getViewportSize2.height;
401
+
353
402
  var triangulation = heatMap3DTriangulation(width / 4.0, height / 4.0);
354
403
  this.shaderModuleService.registerModule('heatmap3dColor', {
355
404
  vs: heatmap3DVert,
356
405
  fs: heatmap3DFrag
357
406
  });
407
+
358
408
  var _this$shaderModuleSer2 = this.shaderModuleService.getModule('heatmap3dColor'),
359
- vs = _this$shaderModuleSer2.vs,
360
- fs = _this$shaderModuleSer2.fs,
361
- uniforms = _this$shaderModuleSer2.uniforms;
409
+ vs = _this$shaderModuleSer2.vs,
410
+ fs = _this$shaderModuleSer2.fs,
411
+ uniforms = _this$shaderModuleSer2.uniforms;
412
+
362
413
  var _this$rendererService4 = this.rendererService,
363
- createAttribute = _this$rendererService4.createAttribute,
364
- createElements = _this$rendererService4.createElements,
365
- createBuffer = _this$rendererService4.createBuffer,
366
- createModel = _this$rendererService4.createModel;
414
+ createAttribute = _this$rendererService4.createAttribute,
415
+ createElements = _this$rendererService4.createElements,
416
+ createBuffer = _this$rendererService4.createBuffer,
417
+ createModel = _this$rendererService4.createModel;
367
418
  return createModel({
368
419
  vs: vs,
369
420
  fs: fs,
@@ -413,11 +464,14 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
413
464
  key: "updateColorTexture",
414
465
  value: function updateColorTexture() {
415
466
  var createTexture2D = this.rendererService.createTexture2D;
467
+
416
468
  if (this.texture) {
417
469
  this.texture.destroy();
418
470
  }
471
+
419
472
  var _ref4 = this.layer.getLayerConfig(),
420
- rampColors = _ref4.rampColors;
473
+ rampColors = _ref4.rampColors;
474
+
421
475
  var imageData = generateColorRamp(rampColors);
422
476
  this.colorTexture = createTexture2D({
423
477
  data: new Uint8Array(imageData.data),
@@ -431,6 +485,7 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
431
485
  });
432
486
  }
433
487
  }]);
488
+
434
489
  return HeatMapModel;
435
490
  }(BaseModel)) || _class);
436
491
  export { HeatMapModel as default };
@@ -5,29 +5,40 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
+
8
9
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
+
9
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
+
10
13
  import { AttributeType, gl } from '@antv/l7-core';
11
14
  import BaseModel from "../../core/BaseModel";
12
15
  import { HeatmapGridTriangulation } from "../../core/triangulation";
16
+
13
17
  /* babel-plugin-inline-import '../shaders/hexagon_frag.glsl' */
14
18
  var heatmapGridFrag = "precision highp float;\nvarying vec4 v_color;\nuniform float u_opacity: 1;\n\n#pragma include \"picking\"\n\nvoid main() {\n gl_FragColor = v_color;\n gl_FragColor.a *= u_opacity;\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
19
+
15
20
  /* babel-plugin-inline-import '../shaders/hexagon_vert.glsl' */
16
21
  var heatmapGridVert = "precision highp float;\n// \u591A\u8FB9\u5F62\u9876\u70B9\u5750\u6807\nattribute vec3 a_Position;\n// \u591A\u8FB9\u5F62\u7ECF\u7EAC\u5EA6\u5750\u6807\nattribute vec3 a_Pos;\nattribute float a_Size;\nattribute vec4 a_Color;\nuniform vec2 u_radius;\nuniform float u_coverage: 0.9;\nuniform float u_angle: 0;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\n\nuniform vec2 u_SceneCenterMKT;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n#pragma include \"picking\"\n\nvoid main() {\n v_color = a_Color;\n \n mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));\n vec2 offset =(vec2(a_Position.xy * u_radius * rotationMatrix * u_coverage));\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\n \n // vec4 project_pos = project_position(vec4(lnglat, 0, 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 // gl_Position = u_Mvp * (vec4(a_Pos.xy + offset, 0., 1.0));\n vec2 customLnglat = customProject(lnglat) - u_SceneCenterMKT;\n vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));\n gl_Position = u_Mvp * vec4(project_pos.xy, 0.0, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n }\n setPickingColor(a_PickingColor);\n}\n";
22
+
17
23
  var HexagonModel = /*#__PURE__*/function (_BaseModel) {
18
24
  _inherits(HexagonModel, _BaseModel);
25
+
19
26
  var _super = _createSuper(HexagonModel);
27
+
20
28
  function HexagonModel() {
21
29
  _classCallCheck(this, HexagonModel);
30
+
22
31
  return _super.apply(this, arguments);
23
32
  }
33
+
24
34
  _createClass(HexagonModel, [{
25
35
  key: "getUninforms",
26
36
  value: function getUninforms() {
27
37
  var _ref = this.layer.getLayerConfig(),
28
- opacity = _ref.opacity,
29
- coverage = _ref.coverage,
30
- angle = _ref.angle;
38
+ opacity = _ref.opacity,
39
+ coverage = _ref.coverage,
40
+ angle = _ref.angle;
41
+
31
42
  return {
32
43
  u_opacity: opacity || 1.0,
33
44
  u_coverage: coverage || 0.9,
@@ -40,18 +51,23 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
40
51
  value: function () {
41
52
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
42
53
  return _regeneratorRuntime.wrap(function _callee$(_context) {
43
- while (1) switch (_context.prev = _context.next) {
44
- case 0:
45
- return _context.abrupt("return", this.buildModels());
46
- case 1:
47
- case "end":
48
- return _context.stop();
54
+ while (1) {
55
+ switch (_context.prev = _context.next) {
56
+ case 0:
57
+ return _context.abrupt("return", this.buildModels());
58
+
59
+ case 1:
60
+ case "end":
61
+ return _context.stop();
62
+ }
49
63
  }
50
64
  }, _callee, this);
51
65
  }));
66
+
52
67
  function initModels() {
53
68
  return _initModels.apply(this, arguments);
54
69
  }
70
+
55
71
  return initModels;
56
72
  }()
57
73
  }, {
@@ -60,31 +76,37 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
60
76
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
61
77
  var model;
62
78
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
63
- while (1) switch (_context2.prev = _context2.next) {
64
- case 0:
65
- _context2.next = 2;
66
- return this.layer.buildLayerModel({
67
- moduleName: 'heatmapHexagon',
68
- vertexShader: heatmapGridVert,
69
- fragmentShader: heatmapGridFrag,
70
- triangulation: HeatmapGridTriangulation,
71
- depth: {
72
- enable: false
73
- },
74
- primitive: gl.TRIANGLES
75
- });
76
- case 2:
77
- model = _context2.sent;
78
- return _context2.abrupt("return", [model]);
79
- case 4:
80
- case "end":
81
- return _context2.stop();
79
+ while (1) {
80
+ switch (_context2.prev = _context2.next) {
81
+ case 0:
82
+ _context2.next = 2;
83
+ return this.layer.buildLayerModel({
84
+ moduleName: 'heatmapHexagon',
85
+ vertexShader: heatmapGridVert,
86
+ fragmentShader: heatmapGridFrag,
87
+ triangulation: HeatmapGridTriangulation,
88
+ depth: {
89
+ enable: false
90
+ },
91
+ primitive: gl.TRIANGLES
92
+ });
93
+
94
+ case 2:
95
+ model = _context2.sent;
96
+ return _context2.abrupt("return", [model]);
97
+
98
+ case 4:
99
+ case "end":
100
+ return _context2.stop();
101
+ }
82
102
  }
83
103
  }, _callee2, this);
84
104
  }));
105
+
85
106
  function buildModels() {
86
107
  return _buildModels.apply(this, arguments);
87
108
  }
109
+
88
110
  return buildModels;
89
111
  }()
90
112
  }, {
@@ -110,6 +132,8 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
110
132
  });
111
133
  }
112
134
  }]);
135
+
113
136
  return HexagonModel;
114
137
  }(BaseModel);
138
+
115
139
  export { HexagonModel as default };
@@ -6,8 +6,10 @@ export function heatMap3DTriangulation(width, height) {
6
6
  var gridY1 = height + 1;
7
7
  var widthHalf = width / 2;
8
8
  var heightHalf = height / 2;
9
+
9
10
  for (var iy = 0; iy < gridY1; iy++) {
10
11
  var y = iy - heightHalf;
12
+
11
13
  for (var ix = 0; ix < gridX1; ix++) {
12
14
  var x = ix - widthHalf;
13
15
  vertices.push(x / widthHalf, -y / heightHalf, 0);
@@ -15,6 +17,7 @@ export function heatMap3DTriangulation(width, height) {
15
17
  uvs.push(1 - iy / height);
16
18
  }
17
19
  }
20
+
18
21
  for (var _iy = 0; _iy < height; _iy++) {
19
22
  for (var _ix = 0; _ix < width; _ix++) {
20
23
  var a = _ix + gridX1 * _iy;
@@ -25,6 +28,7 @@ export function heatMap3DTriangulation(width, height) {
25
28
  indices.push(b, c, d);
26
29
  }
27
30
  }
31
+
28
32
  return {
29
33
  vertices: vertices,
30
34
  indices: indices,