@antv/l7-layers 2.16.0 → 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 (242) 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 +485 -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.js +301 -198
  69. package/es/point/shape/extrude.js +13 -4
  70. package/es/polygon/index.js +40 -11
  71. package/es/polygon/models/extrude.js +92 -48
  72. package/es/polygon/models/fill.js +88 -54
  73. package/es/polygon/models/index.js +2 -3
  74. package/es/polygon/models/ocean.js +76 -42
  75. package/es/polygon/models/water.js +71 -37
  76. package/es/raster/buffers/triangulation.js +4 -2
  77. package/es/raster/index.js +32 -9
  78. package/es/raster/models/raster.js +116 -80
  79. package/es/raster/models/rasterRgb.js +127 -84
  80. package/es/raster/models/rasterTerrainRgb.js +84 -56
  81. package/es/tile/interaction/getRasterData.js +20 -14
  82. package/es/tile/interaction/utils.js +9 -7
  83. package/es/tile/manager/base.js +96 -63
  84. package/es/tile/service/TileLayerService.js +55 -33
  85. package/es/tile/service/TilePickService.js +40 -26
  86. package/es/tile/service/TileSourceService.js +7 -3
  87. package/es/tile/tileFactory/DebugTile.js +46 -29
  88. package/es/tile/tileFactory/ImageTile.js +38 -20
  89. package/es/tile/tileFactory/MaskTile.js +43 -22
  90. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  91. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  92. package/es/tile/tileFactory/RasterTile.js +53 -30
  93. package/es/tile/tileFactory/Tile.js +97 -63
  94. package/es/tile/tileFactory/VectorTile.js +68 -41
  95. package/es/tile/tileFactory/index.js +11 -0
  96. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  97. package/es/tile/tileFactory/util.js +3 -0
  98. package/es/tile/tileLayer/BaseLayer.js +146 -105
  99. package/es/tile/utils.js +1 -1
  100. package/es/utils/blend.js +2 -0
  101. package/es/utils/collision-index.js +16 -9
  102. package/es/utils/dataMappingStyle.js +18 -8
  103. package/es/utils/extrude_polyline.js +149 -101
  104. package/es/utils/grid-index.js +27 -2
  105. package/es/utils/identityScale.js +8 -0
  106. package/es/utils/layerData.js +44 -30
  107. package/es/utils/multiPassRender.js +13 -11
  108. package/es/utils/polylineNormal.js +37 -31
  109. package/es/utils/simpleLine.js +16 -2
  110. package/es/utils/stencil.js +3 -2
  111. package/es/utils/symbol-layout.js +53 -27
  112. package/es/wind/index.js +29 -9
  113. package/es/wind/models/utils.js +51 -26
  114. package/es/wind/models/wind.js +147 -101
  115. package/es/wind/models/windRender.js +66 -53
  116. package/lib/Geometry/index.js +38 -9
  117. package/lib/Geometry/models/billboard.js +97 -51
  118. package/lib/Geometry/models/index.js +5 -0
  119. package/lib/Geometry/models/plane.js +151 -79
  120. package/lib/Geometry/models/sprite.js +127 -60
  121. package/lib/canvas/index.js +40 -10
  122. package/lib/canvas/models/canvas.js +101 -41
  123. package/lib/canvas/models/index.js +3 -0
  124. package/lib/citybuliding/building.js +35 -8
  125. package/lib/citybuliding/models/build.js +92 -57
  126. package/lib/core/BaseLayer.js +479 -321
  127. package/lib/core/BaseModel.js +139 -97
  128. package/lib/core/LayerPickService.js +37 -21
  129. package/lib/core/TextureService.js +16 -0
  130. package/lib/core/interface.js +31 -21
  131. package/lib/core/schema.js +1 -0
  132. package/lib/core/shape/Path.js +31 -14
  133. package/lib/core/shape/extrude.js +54 -10
  134. package/lib/core/triangulation.js +153 -53
  135. package/lib/earth/index.js +43 -9
  136. package/lib/earth/models/atmosphere.js +63 -30
  137. package/lib/earth/models/base.js +90 -47
  138. package/lib/earth/models/bloomsphere.js +63 -30
  139. package/lib/earth/utils.js +31 -7
  140. package/lib/heatmap/index.js +48 -10
  141. package/lib/heatmap/models/grid.js +60 -28
  142. package/lib/heatmap/models/grid3d.js +60 -28
  143. package/lib/heatmap/models/heatmap.js +162 -91
  144. package/lib/heatmap/models/hexagon.js +60 -28
  145. package/lib/heatmap/models/index.js +6 -0
  146. package/lib/heatmap/triangulation.js +5 -0
  147. package/lib/image/index.js +36 -9
  148. package/lib/image/models/image.js +109 -66
  149. package/lib/image/models/index.js +3 -0
  150. package/lib/index.js +61 -7
  151. package/lib/line/index.js +40 -9
  152. package/lib/line/models/arc.js +128 -64
  153. package/lib/line/models/arc_3d.js +119 -58
  154. package/lib/line/models/earthArc_3d.js +122 -61
  155. package/lib/line/models/great_circle.js +111 -56
  156. package/lib/line/models/half.js +87 -46
  157. package/lib/line/models/index.js +11 -0
  158. package/lib/line/models/line.js +156 -92
  159. package/lib/line/models/linearline.js +92 -45
  160. package/lib/line/models/simpleLine.js +84 -41
  161. package/lib/line/models/wall.js +103 -52
  162. package/lib/mask/index.js +36 -9
  163. package/lib/mask/models/fill.js +63 -29
  164. package/lib/mask/models/index.js +3 -0
  165. package/lib/plugins/DataMappingPlugin.js +128 -80
  166. package/lib/plugins/DataSourcePlugin.js +76 -45
  167. package/lib/plugins/FeatureScalePlugin.js +138 -67
  168. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  169. package/lib/plugins/LayerMaskPlugin.js +17 -4
  170. package/lib/plugins/LayerModelPlugin.js +113 -68
  171. package/lib/plugins/LayerStylePlugin.js +14 -4
  172. package/lib/plugins/LightingPlugin.js +25 -12
  173. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  174. package/lib/plugins/PixelPickingPlugin.js +27 -12
  175. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  176. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  177. package/lib/plugins/UpdateModelPlugin.js +10 -1
  178. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  179. package/lib/point/index.js +83 -26
  180. package/lib/point/models/earthExtrude.js +113 -61
  181. package/lib/point/models/earthFill.js +117 -57
  182. package/lib/point/models/extrude.js +111 -60
  183. package/lib/point/models/fill.js +109 -68
  184. package/lib/point/models/fillmage.js +115 -61
  185. package/lib/point/models/image.js +98 -48
  186. package/lib/point/models/index.js +12 -1
  187. package/lib/point/models/normal.js +64 -30
  188. package/lib/point/models/radar.js +74 -40
  189. package/lib/point/models/simplePoint.js +79 -41
  190. package/lib/point/models/text.js +309 -198
  191. package/lib/point/shape/extrude.js +20 -4
  192. package/lib/polygon/index.js +48 -11
  193. package/lib/polygon/models/extrude.js +103 -48
  194. package/lib/polygon/models/fill.js +98 -54
  195. package/lib/polygon/models/index.js +14 -2
  196. package/lib/polygon/models/ocean.js +88 -42
  197. package/lib/polygon/models/water.js +82 -37
  198. package/lib/raster/buffers/triangulation.js +7 -3
  199. package/lib/raster/index.js +40 -9
  200. package/lib/raster/models/index.js +5 -0
  201. package/lib/raster/models/raster.js +125 -80
  202. package/lib/raster/models/rasterRgb.js +139 -84
  203. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  204. package/lib/tile/interaction/getRasterData.js +25 -14
  205. package/lib/tile/interaction/utils.js +19 -7
  206. package/lib/tile/manager/base.js +104 -63
  207. package/lib/tile/service/TileLayerService.js +60 -33
  208. package/lib/tile/service/TilePickService.js +48 -26
  209. package/lib/tile/service/TileSourceService.js +16 -2
  210. package/lib/tile/style/utils.js +3 -0
  211. package/lib/tile/tileFactory/DebugTile.js +54 -29
  212. package/lib/tile/tileFactory/ImageTile.js +46 -20
  213. package/lib/tile/tileFactory/MaskTile.js +51 -22
  214. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  215. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  216. package/lib/tile/tileFactory/RasterTile.js +63 -30
  217. package/lib/tile/tileFactory/Tile.js +102 -63
  218. package/lib/tile/tileFactory/VectorTile.js +76 -41
  219. package/lib/tile/tileFactory/index.js +25 -0
  220. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  221. package/lib/tile/tileFactory/util.js +9 -0
  222. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  223. package/lib/tile/utils.js +5 -1
  224. package/lib/utils/blend.js +5 -0
  225. package/lib/utils/collision-index.js +25 -9
  226. package/lib/utils/dataMappingStyle.js +19 -8
  227. package/lib/utils/extrude_polyline.js +181 -101
  228. package/lib/utils/grid-index.js +28 -2
  229. package/lib/utils/identityScale.js +9 -0
  230. package/lib/utils/layerData.js +49 -30
  231. package/lib/utils/multiPassRender.js +16 -11
  232. package/lib/utils/polylineNormal.js +66 -31
  233. package/lib/utils/simpleLine.js +21 -2
  234. package/lib/utils/stencil.js +4 -0
  235. package/lib/utils/symbol-layout.js +55 -27
  236. package/lib/wind/index.js +37 -9
  237. package/lib/wind/models/index.js +3 -0
  238. package/lib/wind/models/utils.js +62 -26
  239. package/lib/wind/models/wind.js +157 -101
  240. package/lib/wind/models/windRender.js +71 -53
  241. package/lib/wind/models/windShader.js +1 -0
  242. package/package.json +7 -7
@@ -7,36 +7,52 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
+
10
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
+
11
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
+
12
15
  import { AttributeType, gl } from '@antv/l7-core';
13
16
  import { rgb2arr } from '@antv/l7-utils';
14
17
  import { isNumber } from 'lodash';
15
18
  import BaseModel from "../../core/BaseModel";
16
19
  import { LineTriangulation } from "../../core/triangulation";
20
+
17
21
  /* babel-plugin-inline-import '../shaders/wall/wall_frag.glsl' */
18
22
  var line_frag = "#define Animate 0.0\n#define LineTexture 1.0\n\n// line texture\nuniform float u_line_texture;\nuniform sampler2D u_texture;\nuniform vec2 u_textSize;\nuniform float u_linearColor: 0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_opacity : 1.0;\nuniform float u_textureBlend;\nuniform float u_iconStepCount;\nuniform float u_time;\nuniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ]; // \u63A7\u5236\u8FD0\u52A8\n\nvarying vec2 v_iconMapUV;\nvarying float v_blur;\nvarying float v_radio;\nvarying vec4 v_color;\nvarying vec4 v_dataset;\n\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = u_opacity;\n float animateSpeed = 0.0; // \u8FD0\u52A8\u901F\u5EA6\n float d_distance_ratio = v_dataset.r; // \u5F53\u524D\u70B9\u4F4D\u8DDD\u79BB\u5360\u7EBF\u603B\u957F\u7684\u6BD4\u4F8B\n float v = v_dataset.a;\n\n if(u_linearColor == 1.0) { // \u4F7F\u7528\u6E10\u53D8\u989C\u8272\n gl_FragColor = mix(u_sourceColor, u_targetColor, v);\n } else { // \u4F7F\u7528 color \u65B9\u6CD5\u4F20\u5165\u7684\u989C\u8272\n gl_FragColor = v_color;\n }\n\n gl_FragColor.a *= opacity; // \u5168\u5C40\u900F\u660E\u5EA6\n if(u_animate.x == Animate) {\n animateSpeed = u_time / u_animate.y;\n float alpha =1.0 - fract( mod(1.0- d_distance_ratio, u_animate.z)* (1.0/ u_animate.z) + animateSpeed);\n alpha = (alpha + u_animate.w -1.0) / u_animate.w;\n alpha = smoothstep(0., 1., alpha);\n gl_FragColor.a *= alpha;\n }\n\n if(u_line_texture == LineTexture) { // while load texture\n float aDistance = v_dataset.g; // \u5F53\u524D\u9876\u70B9\u7684\u8DDD\u79BB\n float d_texPixelLen = v_dataset.b; // \u8D34\u56FE\u7684\u50CF\u7D20\u957F\u5EA6\uFF0C\u6839\u636E\u5730\u56FE\u5C42\u7EA7\u7F29\u653E\n float u = fract(mod(aDistance, d_texPixelLen)/d_texPixelLen - animateSpeed);\n float v = v_dataset.a; // \u7EBF\u56FE\u5C42\u8D34\u56FE\u90E8\u5206\u7684 v \u5750\u6807\u503C\n\n // \u8BA1\u7B97\u7EB9\u7406\u95F4\u9694 start\n float flag = 0.0;\n if(u > 1.0/u_iconStepCount) {\n flag = 1.0;\n }\n u = fract(u*u_iconStepCount);\n // \u8BA1\u7B97\u7EB9\u7406\u95F4\u9694 end\n\n vec2 uv= v_iconMapUV / u_textSize + vec2(u, v) / u_textSize * 64.;\n vec4 pattern = texture2D(u_texture, uv);\n\n // Tip: \u5224\u65AD\u7EB9\u7406\u95F4\u9694\n if(flag > 0.0) {\n pattern = vec4(0.0);\n }\n\n if(u_textureBlend == 0.0) { // normal\n pattern.a = 0.0;\n gl_FragColor = filterColor(gl_FragColor + pattern);\n } else { // replace\n pattern.a *= opacity;\n if(gl_FragColor.a <= 0.0) {\n pattern.a = 0.0;\n }\n gl_FragColor = filterColor(pattern);\n }\n }\n \n\n // blur - AA\n if(v < v_blur) {\n gl_FragColor.a = mix(0.0, gl_FragColor.a, v/v_blur);\n } else if(v > 1.0 - v_blur) {\n gl_FragColor.a = mix(gl_FragColor.a, 0.0, (v - (1.0 - v_blur))/v_blur);\n }\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
23
+
19
24
  /* babel-plugin-inline-import '../shaders/wall/wall_vert.glsl' */
20
25
  var line_vert = "#define Animate 0.0\n\nattribute float a_Miter;\nattribute vec4 a_Color;\nattribute vec2 a_Size;\nattribute vec3 a_Normal;\nattribute vec3 a_Position;\nattribute vec2 a_iconMapUV;\nattribute float a_Total_Distance;\nattribute float a_Distance;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ];\nuniform float u_icon_step: 100;\nuniform float u_heightfixed;\nuniform float u_linearColor: 0;\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\n// texV \u7EBF\u56FE\u5C42 - \u8D34\u56FE\u90E8\u5206\u7684 v \u5750\u6807\uFF08\u7EBF\u7684\u5BBD\u5EA6\u65B9\u5411\uFF09\nvarying vec2 v_iconMapUV;\nvarying vec4 v_color;\nvarying float v_blur;\nvarying float v_radio;\nvarying vec4 v_dataset;\n\nvoid main() {\n\n\n float d_distance_ratio; // \u5F53\u524D\u70B9\u4F4D\u8DDD\u79BB\u5360\u7EBF\u603B\u957F\u7684\u6BD4\u4F8B\n float d_texPixelLen; // \u8D34\u56FE\u7684\u50CF\u7D20\u957F\u5EA6\uFF0C\u6839\u636E\u5730\u56FE\u5C42\u7EA7\u7F29\u653E\n\n v_iconMapUV = a_iconMapUV;\n if(u_heightfixed < 1.0) { // \u9AD8\u5EA6\u968F zoom \u8C03\u6574\n d_texPixelLen = project_pixel(u_icon_step);\n } else {\n d_texPixelLen = u_icon_step;\n }\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) {\n d_texPixelLen *= 10.0;\n }\n\n if(u_animate.x == Animate || u_linearColor == 1.0) {\n d_distance_ratio = a_Distance / a_Total_Distance;\n }\n\n float miter = (a_Miter + 1.0)/2.0;\n // \u8BBE\u7F6E\u6570\u636E\u96C6\u7684\u53C2\u6570\n v_dataset[0] = d_distance_ratio; // \u5F53\u524D\u70B9\u4F4D\u8DDD\u79BB\u5360\u7EBF\u603B\u957F\u7684\u6BD4\u4F8B\n v_dataset[1] = a_Distance; // \u5F53\u524D\u9876\u70B9\u7684\u8DDD\u79BB\n v_dataset[2] = d_texPixelLen; // \u8D34\u56FE\u7684\u50CF\u7D20\u957F\u5EA6\uFF0C\u6839\u636E\u5730\u56FE\u5C42\u7EA7\u7F29\u653E\n v_dataset[3] = miter; // \u7EBF\u56FE\u5C42\u8D34\u56FE\u90E8\u5206\u7684 v \u5750\u6807\u503C 0 - 1\n\n vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));\n\n float originSize = a_Size.x; // \u56FA\u5B9A\u9AD8\u5EA6\n if(u_heightfixed < 1.0) { // \u9AD8\u5EA6\u968F zoom \u8C03\u6574\n originSize = project_float_pixel(a_Size.x);\n }\n\n float wallHeight = originSize * miter;\n float lightWeight = calc_lighting(vec4(project_pos.xy, wallHeight, 1.0));\n\n v_blur = min(project_float_pixel(2.0) / originSize, 0.05);\n v_color = vec4(a_Color.rgb * lightWeight, a_Color.w);\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy, wallHeight, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, wallHeight, 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
26
+
21
27
  var LineWallModel = /*#__PURE__*/function (_BaseModel) {
22
28
  _inherits(LineWallModel, _BaseModel);
29
+
23
30
  var _super = _createSuper(LineWallModel);
31
+
24
32
  function LineWallModel() {
25
33
  var _this;
34
+
26
35
  _classCallCheck(this, LineWallModel);
36
+
27
37
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
38
  args[_key] = arguments[_key];
29
39
  }
40
+
30
41
  _this = _super.call.apply(_super, [this].concat(args));
42
+
31
43
  _defineProperty(_assertThisInitialized(_this), "updateTexture", function () {
32
44
  var createTexture2D = _this.rendererService.createTexture2D;
45
+
33
46
  if (_this.texture) {
34
47
  _this.texture.update({
35
48
  data: _this.iconService.getCanvas()
36
49
  });
50
+
37
51
  _this.layer.render();
52
+
38
53
  return;
39
54
  }
55
+
40
56
  _this.texture = createTexture2D({
41
57
  data: _this.iconService.getCanvas(),
42
58
  mag: gl.NEAREST,
@@ -46,39 +62,45 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
46
62
  height: _this.iconService.canvasHeight || 128
47
63
  });
48
64
  });
65
+
49
66
  return _this;
50
67
  }
68
+
51
69
  _createClass(LineWallModel, [{
52
70
  key: "getUninforms",
53
71
  value: function getUninforms() {
54
72
  var _ref = this.layer.getLayerConfig(),
55
- _ref$opacity = _ref.opacity,
56
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
57
- sourceColor = _ref.sourceColor,
58
- targetColor = _ref.targetColor,
59
- _ref$textureBlend = _ref.textureBlend,
60
- textureBlend = _ref$textureBlend === void 0 ? 'normal' : _ref$textureBlend,
61
- _ref$heightfixed = _ref.heightfixed,
62
- heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
63
- _ref$lineTexture = _ref.lineTexture,
64
- lineTexture = _ref$lineTexture === void 0 ? false : _ref$lineTexture,
65
- _ref$iconStep = _ref.iconStep,
66
- iconStep = _ref$iconStep === void 0 ? 100 : _ref$iconStep,
67
- _ref$iconStepCount = _ref.iconStepCount,
68
- iconStepCount = _ref$iconStepCount === void 0 ? 1 : _ref$iconStepCount;
73
+ _ref$opacity = _ref.opacity,
74
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
75
+ sourceColor = _ref.sourceColor,
76
+ targetColor = _ref.targetColor,
77
+ _ref$textureBlend = _ref.textureBlend,
78
+ textureBlend = _ref$textureBlend === void 0 ? 'normal' : _ref$textureBlend,
79
+ _ref$heightfixed = _ref.heightfixed,
80
+ heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
81
+ _ref$lineTexture = _ref.lineTexture,
82
+ lineTexture = _ref$lineTexture === void 0 ? false : _ref$lineTexture,
83
+ _ref$iconStep = _ref.iconStep,
84
+ iconStep = _ref$iconStep === void 0 ? 100 : _ref$iconStep,
85
+ _ref$iconStepCount = _ref.iconStepCount,
86
+ iconStepCount = _ref$iconStepCount === void 0 ? 1 : _ref$iconStepCount;
87
+
69
88
  if (this.rendererService.getDirty()) {
70
89
  this.texture.bind();
71
- }
90
+ } // 转化渐变色
91
+
72
92
 
73
- // 转化渐变色
74
93
  var useLinearColor = 0; // 默认不生效
94
+
75
95
  var sourceColorArr = [0, 0, 0, 0];
76
96
  var targetColorArr = [0, 0, 0, 0];
97
+
77
98
  if (sourceColor && targetColor) {
78
99
  sourceColorArr = rgb2arr(sourceColor);
79
100
  targetColorArr = rgb2arr(targetColor);
80
101
  useLinearColor = 1;
81
102
  }
103
+
82
104
  return {
83
105
  u_heightfixed: Number(heightfixed),
84
106
  u_opacity: isNumber(opacity) ? opacity : 1.0,
@@ -101,7 +123,8 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
101
123
  key: "getAnimateUniforms",
102
124
  value: function getAnimateUniforms() {
103
125
  var _ref2 = this.layer.getLayerConfig(),
104
- animateOption = _ref2.animateOption;
126
+ animateOption = _ref2.animateOption;
127
+
105
128
  return {
106
129
  u_animate: this.animateOption2Array(animateOption),
107
130
  u_time: this.layer.getLayerAnimateTime()
@@ -112,26 +135,32 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
112
135
  value: function () {
113
136
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
114
137
  return _regeneratorRuntime.wrap(function _callee$(_context) {
115
- while (1) switch (_context.prev = _context.next) {
116
- case 0:
117
- this.updateTexture();
118
- this.iconService.on('imageUpdate', this.updateTexture);
119
- return _context.abrupt("return", this.buildModels());
120
- case 3:
121
- case "end":
122
- return _context.stop();
138
+ while (1) {
139
+ switch (_context.prev = _context.next) {
140
+ case 0:
141
+ this.updateTexture();
142
+ this.iconService.on('imageUpdate', this.updateTexture);
143
+ return _context.abrupt("return", this.buildModels());
144
+
145
+ case 3:
146
+ case "end":
147
+ return _context.stop();
148
+ }
123
149
  }
124
150
  }, _callee, this);
125
151
  }));
152
+
126
153
  function initModels() {
127
154
  return _initModels.apply(this, arguments);
128
155
  }
156
+
129
157
  return initModels;
130
158
  }()
131
159
  }, {
132
160
  key: "clearModels",
133
161
  value: function clearModels() {
134
162
  var _this$texture;
163
+
135
164
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
136
165
  this.iconService.off('imageUpdate', this.updateTexture);
137
166
  }
@@ -141,37 +170,44 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
141
170
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
142
171
  var model;
143
172
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
144
- while (1) switch (_context2.prev = _context2.next) {
145
- case 0:
146
- _context2.next = 2;
147
- return this.layer.buildLayerModel({
148
- moduleName: 'lineWall',
149
- vertexShader: line_vert,
150
- fragmentShader: line_frag,
151
- triangulation: LineTriangulation,
152
- depth: {
153
- enable: false
154
- },
155
- blend: this.getBlend()
156
- });
157
- case 2:
158
- model = _context2.sent;
159
- return _context2.abrupt("return", [model]);
160
- case 4:
161
- case "end":
162
- return _context2.stop();
173
+ while (1) {
174
+ switch (_context2.prev = _context2.next) {
175
+ case 0:
176
+ _context2.next = 2;
177
+ return this.layer.buildLayerModel({
178
+ moduleName: 'lineWall',
179
+ vertexShader: line_vert,
180
+ fragmentShader: line_frag,
181
+ triangulation: LineTriangulation,
182
+ depth: {
183
+ enable: false
184
+ },
185
+ blend: this.getBlend()
186
+ });
187
+
188
+ case 2:
189
+ model = _context2.sent;
190
+ return _context2.abrupt("return", [model]);
191
+
192
+ case 4:
193
+ case "end":
194
+ return _context2.stop();
195
+ }
163
196
  }
164
197
  }, _callee2, this);
165
198
  }));
199
+
166
200
  function buildModels() {
167
201
  return _buildModels.apply(this, arguments);
168
202
  }
203
+
169
204
  return buildModels;
170
205
  }()
171
206
  }, {
172
207
  key: "registerBuiltinAttributes",
173
208
  value: function registerBuiltinAttributes() {
174
209
  var _this2 = this;
210
+
175
211
  this.styleAttributeService.registerStyleAttribute({
176
212
  name: 'distance',
177
213
  type: AttributeType.Attribute,
@@ -220,13 +256,12 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
220
256
  size: 2,
221
257
  update: function update(feature) {
222
258
  var _feature$size = feature.size,
223
- size = _feature$size === void 0 ? 1 : _feature$size;
259
+ size = _feature$size === void 0 ? 1 : _feature$size;
224
260
  return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
225
261
  }
226
262
  }
227
- });
263
+ }); // point layer size;
228
264
 
229
- // point layer size;
230
265
  this.styleAttributeService.registerStyleAttribute({
231
266
  name: 'normal',
232
267
  type: AttributeType.Attribute,
@@ -276,19 +311,24 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
276
311
  size: 2,
277
312
  update: function update(feature) {
278
313
  var iconMap = _this2.iconService.getIconMap();
314
+
279
315
  var texture = feature.texture;
316
+
280
317
  var _ref3 = iconMap[texture] || {
281
- x: 0,
282
- y: 0
283
- },
284
- x = _ref3.x,
285
- y = _ref3.y;
318
+ x: 0,
319
+ y: 0
320
+ },
321
+ x = _ref3.x,
322
+ y = _ref3.y;
323
+
286
324
  return [x, y];
287
325
  }
288
326
  }
289
327
  });
290
328
  }
291
329
  }]);
330
+
292
331
  return LineWallModel;
293
332
  }(BaseModel);
333
+
294
334
  export { LineWallModel as default };
package/es/mask/index.js CHANGED
@@ -7,44 +7,61 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
+
10
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
+
11
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
+
12
15
  import BaseLayer from "../core/BaseLayer";
13
16
  import MaskModels from "./models";
17
+
14
18
  var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
15
19
  _inherits(MaskLayer, _BaseLayer);
20
+
16
21
  var _super = _createSuper(MaskLayer);
22
+
17
23
  function MaskLayer() {
18
24
  var _this;
25
+
19
26
  _classCallCheck(this, MaskLayer);
27
+
20
28
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21
29
  args[_key] = arguments[_key];
22
30
  }
31
+
23
32
  _this = _super.call.apply(_super, [this].concat(args));
33
+
24
34
  _defineProperty(_assertThisInitialized(_this), "type", 'MaskLayer');
35
+
25
36
  return _this;
26
37
  }
38
+
27
39
  _createClass(MaskLayer, [{
28
40
  key: "buildModels",
29
41
  value: function () {
30
42
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
31
43
  var shape;
32
44
  return _regeneratorRuntime.wrap(function _callee$(_context) {
33
- while (1) switch (_context.prev = _context.next) {
34
- case 0:
35
- shape = this.getModelType();
36
- this.layerModel = new MaskModels[shape](this);
37
- _context.next = 4;
38
- return this.initLayerModels();
39
- case 4:
40
- case "end":
41
- return _context.stop();
45
+ while (1) {
46
+ switch (_context.prev = _context.next) {
47
+ case 0:
48
+ shape = this.getModelType();
49
+ this.layerModel = new MaskModels[shape](this);
50
+ _context.next = 4;
51
+ return this.initLayerModels();
52
+
53
+ case 4:
54
+ case "end":
55
+ return _context.stop();
56
+ }
42
57
  }
43
58
  }, _callee, this);
44
59
  }));
60
+
45
61
  function buildModels() {
46
62
  return _buildModels.apply(this, arguments);
47
63
  }
64
+
48
65
  return buildModels;
49
66
  }()
50
67
  }, {
@@ -53,6 +70,8 @@ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
53
70
  return 'fill';
54
71
  }
55
72
  }]);
73
+
56
74
  return MaskLayer;
57
75
  }(BaseLayer);
76
+
58
77
  export { MaskLayer as default };
@@ -5,31 +5,42 @@ 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 { rgb2arr } from '@antv/l7-utils';
11
14
  import { isNumber } from 'lodash';
12
15
  import BaseModel from "../../core/BaseModel";
13
16
  import { polygonTriangulation } from "../../core/triangulation";
17
+
14
18
  /* babel-plugin-inline-import '../../shader/minify_frag.glsl' */
15
19
  var mask_frag = "uniform float u_opacity : 1.0;\nuniform vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n gl_FragColor.a *= u_opacity;\n}\n";
20
+
16
21
  /* babel-plugin-inline-import '../shaders/mask_vert.glsl' */
17
22
  var mask_vert = "attribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\n#pragma include \"projection\"\n\nvoid main() {\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n}\n\n";
23
+
18
24
  var MaskModel = /*#__PURE__*/function (_BaseModel) {
19
25
  _inherits(MaskModel, _BaseModel);
26
+
20
27
  var _super = _createSuper(MaskModel);
28
+
21
29
  function MaskModel() {
22
30
  _classCallCheck(this, MaskModel);
31
+
23
32
  return _super.apply(this, arguments);
24
33
  }
34
+
25
35
  _createClass(MaskModel, [{
26
36
  key: "getUninforms",
27
37
  value: function getUninforms() {
28
38
  var _ref = this.layer.getLayerConfig(),
29
- _ref$opacity = _ref.opacity,
30
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
31
- _ref$color = _ref.color,
32
- color = _ref$color === void 0 ? '#000' : _ref$color;
39
+ _ref$opacity = _ref.opacity,
40
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
41
+ _ref$color = _ref.color,
42
+ color = _ref$color === void 0 ? '#000' : _ref$color;
43
+
33
44
  return {
34
45
  u_opacity: isNumber(opacity) ? opacity : 0.0,
35
46
  u_color: rgb2arr(color)
@@ -40,18 +51,23 @@ var MaskModel = /*#__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,37 +76,44 @@ var MaskModel = /*#__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: 'mask',
68
- vertexShader: mask_vert,
69
- fragmentShader: mask_frag,
70
- triangulation: polygonTriangulation,
71
- depth: {
72
- enable: false
73
- },
74
- pick: false
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: 'mask',
85
+ vertexShader: mask_vert,
86
+ fragmentShader: mask_frag,
87
+ triangulation: polygonTriangulation,
88
+ depth: {
89
+ enable: false
90
+ },
91
+ pick: false
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
  }, {
91
113
  key: "clearModels",
92
114
  value: function clearModels() {
93
115
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
116
+
94
117
  if (refresh) {
95
118
  this.layerService.clear();
96
119
  }
@@ -101,6 +124,8 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
101
124
  return '';
102
125
  }
103
126
  }]);
127
+
104
128
  return MaskModel;
105
129
  }(BaseModel);
130
+
106
131
  export { MaskModel as default };