@antv/l7-layers 2.17.4 → 2.17.5

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 (250) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.js +325 -483
  10. package/es/core/BaseModel.js +51 -80
  11. package/es/core/CommonStyleAttribute.js +2 -5
  12. package/es/core/LayerPickService.js +21 -32
  13. package/es/core/TextureService.js +0 -13
  14. package/es/core/interface.js +17 -24
  15. package/es/core/shape/Path.js +13 -20
  16. package/es/core/shape/extrude.js +27 -39
  17. package/es/core/triangulation.js +99 -136
  18. package/es/earth/index.js +9 -33
  19. package/es/earth/models/atmosphere.js +30 -54
  20. package/es/earth/models/base.js +47 -85
  21. package/es/earth/models/bloomsphere.js +30 -54
  22. package/es/earth/utils.js +9 -13
  23. package/es/heatmap/index.js +10 -40
  24. package/es/heatmap/models/grid.js +28 -52
  25. package/es/heatmap/models/grid3d.js +28 -52
  26. package/es/heatmap/models/heatmap.js +92 -149
  27. package/es/heatmap/models/hexagon.js +28 -52
  28. package/es/heatmap/triangulation.js +0 -4
  29. package/es/image/index.js +9 -28
  30. package/es/image/models/image.js +66 -100
  31. package/es/index.js +9 -17
  32. package/es/line/index.js +9 -35
  33. package/es/line/models/arc.js +63 -112
  34. package/es/line/models/arc_3d.js +58 -102
  35. package/es/line/models/earthArc_3d.js +60 -105
  36. package/es/line/models/flow.js +36 -60
  37. package/es/line/models/great_circle.js +53 -94
  38. package/es/line/models/line.js +92 -144
  39. package/es/line/models/linearline.js +42 -74
  40. package/es/line/models/simpleLine.js +38 -67
  41. package/es/line/models/wall.js +52 -92
  42. package/es/line/shaders/dash/line_dash_vert.glsl +1 -2
  43. package/es/line/shaders/line_frag.glsl +1 -3
  44. package/es/line/shaders/line_vert.glsl +2 -0
  45. package/es/line/shaders/linear/line_linear_frag.glsl +1 -1
  46. package/es/mask/index.js +9 -28
  47. package/es/mask/models/fill.js +29 -54
  48. package/es/plugins/DataMappingPlugin.js +78 -114
  49. package/es/plugins/DataSourcePlugin.js +45 -68
  50. package/es/plugins/FeatureScalePlugin.js +67 -122
  51. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  52. package/es/plugins/LayerMaskPlugin.js +3 -11
  53. package/es/plugins/LayerModelPlugin.js +69 -118
  54. package/es/plugins/LayerStylePlugin.js +4 -9
  55. package/es/plugins/LightingPlugin.js +12 -18
  56. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  57. package/es/plugins/PixelPickingPlugin.js +12 -21
  58. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  59. package/es/plugins/ShaderUniformPlugin.js +13 -27
  60. package/es/plugins/UpdateModelPlugin.js +0 -5
  61. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  62. package/es/point/index.js +26 -78
  63. package/es/point/models/earthExtrude.js +58 -95
  64. package/es/point/models/earthFill.js +52 -80
  65. package/es/point/models/extrude.js +57 -94
  66. package/es/point/models/fill.js +56 -81
  67. package/es/point/models/fillmage.js +60 -100
  68. package/es/point/models/image.js +47 -83
  69. package/es/point/models/index.js +2 -2
  70. package/es/point/models/normal.js +30 -54
  71. package/es/point/models/radar.js +38 -63
  72. package/es/point/models/simplePoint.js +38 -62
  73. package/es/point/models/text.js +199 -296
  74. package/es/point/shape/extrude.js +4 -13
  75. package/es/polygon/index.js +11 -41
  76. package/es/polygon/models/extrude.js +87 -135
  77. package/es/polygon/models/fill.js +50 -79
  78. package/es/polygon/models/index.js +3 -2
  79. package/es/polygon/models/ocean.js +42 -76
  80. package/es/polygon/models/water.js +37 -71
  81. package/es/raster/buffers/triangulation.js +2 -4
  82. package/es/raster/index.js +9 -32
  83. package/es/raster/models/raster.js +80 -116
  84. package/es/raster/models/rasterRgb.js +84 -127
  85. package/es/raster/models/rasterTerrainRgb.js +56 -84
  86. package/es/tile/interaction/getRasterData.js +14 -20
  87. package/es/tile/interaction/utils.js +7 -9
  88. package/es/tile/manager/base.js +63 -96
  89. package/es/tile/service/TileLayerService.js +33 -55
  90. package/es/tile/service/TilePickService.js +26 -40
  91. package/es/tile/service/TileSourceService.js +3 -7
  92. package/es/tile/tileFactory/DebugTile.js +29 -46
  93. package/es/tile/tileFactory/ImageTile.js +20 -38
  94. package/es/tile/tileFactory/MaskTile.js +22 -43
  95. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  96. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  97. package/es/tile/tileFactory/RasterTile.js +30 -53
  98. package/es/tile/tileFactory/Tile.js +63 -97
  99. package/es/tile/tileFactory/VectorTile.js +41 -68
  100. package/es/tile/tileFactory/index.js +0 -11
  101. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  102. package/es/tile/tileFactory/util.js +0 -3
  103. package/es/tile/tileLayer/BaseLayer.js +105 -146
  104. package/es/tile/utils.js +1 -1
  105. package/es/utils/blend.js +0 -2
  106. package/es/utils/collision-index.js +9 -16
  107. package/es/utils/extrude_polyline.js +101 -149
  108. package/es/utils/grid-index.js +2 -27
  109. package/es/utils/identityScale.js +0 -8
  110. package/es/utils/layerData.js +30 -44
  111. package/es/utils/multiPassRender.js +11 -13
  112. package/es/utils/polylineNormal.js +31 -37
  113. package/es/utils/simpleLine.js +2 -16
  114. package/es/utils/stencil.js +2 -3
  115. package/es/utils/symbol-layout.js +27 -53
  116. package/es/wind/index.js +9 -29
  117. package/es/wind/models/utils.js +26 -51
  118. package/es/wind/models/wind.js +101 -147
  119. package/es/wind/models/windRender.js +53 -66
  120. package/lib/Geometry/index.js +9 -38
  121. package/lib/Geometry/models/billboard.js +51 -97
  122. package/lib/Geometry/models/index.js +0 -5
  123. package/lib/Geometry/models/plane.js +79 -151
  124. package/lib/Geometry/models/sprite.js +60 -127
  125. package/lib/canvas/index.js +10 -40
  126. package/lib/canvas/models/canvas.js +41 -101
  127. package/lib/canvas/models/index.js +0 -3
  128. package/lib/citybuliding/building.js +8 -35
  129. package/lib/citybuliding/models/build.js +57 -92
  130. package/lib/core/BaseLayer.js +325 -474
  131. package/lib/core/BaseModel.js +51 -90
  132. package/lib/core/CommonStyleAttribute.js +2 -7
  133. package/lib/core/LayerPickService.js +21 -37
  134. package/lib/core/TextureService.js +0 -16
  135. package/lib/core/interface.js +21 -31
  136. package/lib/core/schema.js +0 -1
  137. package/lib/core/shape/Path.js +14 -31
  138. package/lib/core/shape/extrude.js +27 -62
  139. package/lib/core/triangulation.js +98 -177
  140. package/lib/earth/index.js +9 -43
  141. package/lib/earth/models/atmosphere.js +30 -63
  142. package/lib/earth/models/base.js +47 -90
  143. package/lib/earth/models/bloomsphere.js +30 -63
  144. package/lib/earth/utils.js +7 -31
  145. package/lib/heatmap/index.js +10 -48
  146. package/lib/heatmap/models/grid.js +28 -60
  147. package/lib/heatmap/models/grid3d.js +28 -60
  148. package/lib/heatmap/models/heatmap.js +92 -166
  149. package/lib/heatmap/models/hexagon.js +28 -60
  150. package/lib/heatmap/models/index.js +0 -6
  151. package/lib/heatmap/triangulation.js +0 -5
  152. package/lib/image/index.js +9 -36
  153. package/lib/image/models/image.js +66 -109
  154. package/lib/image/models/index.js +0 -3
  155. package/lib/index.js +7 -61
  156. package/lib/line/index.js +9 -40
  157. package/lib/line/models/arc.js +61 -122
  158. package/lib/line/models/arc_3d.js +56 -113
  159. package/lib/line/models/earthArc_3d.js +58 -115
  160. package/lib/line/models/flow.js +36 -70
  161. package/lib/line/models/great_circle.js +53 -104
  162. package/lib/line/models/index.js +0 -11
  163. package/lib/line/models/line.js +90 -152
  164. package/lib/line/models/linearline.js +42 -86
  165. package/lib/line/models/simpleLine.js +38 -77
  166. package/lib/line/models/wall.js +52 -103
  167. package/lib/line/shaders/dash/line_dash_vert.glsl +1 -2
  168. package/lib/line/shaders/line_frag.glsl +1 -3
  169. package/lib/line/shaders/line_vert.glsl +2 -0
  170. package/lib/line/shaders/linear/line_linear_frag.glsl +1 -1
  171. package/lib/mask/index.js +9 -36
  172. package/lib/mask/models/fill.js +29 -63
  173. package/lib/mask/models/index.js +0 -3
  174. package/lib/plugins/DataMappingPlugin.js +78 -125
  175. package/lib/plugins/DataSourcePlugin.js +45 -76
  176. package/lib/plugins/FeatureScalePlugin.js +67 -138
  177. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  178. package/lib/plugins/LayerMaskPlugin.js +4 -17
  179. package/lib/plugins/LayerModelPlugin.js +70 -127
  180. package/lib/plugins/LayerStylePlugin.js +5 -14
  181. package/lib/plugins/LightingPlugin.js +12 -25
  182. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  183. package/lib/plugins/PixelPickingPlugin.js +12 -27
  184. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  185. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  186. package/lib/plugins/UpdateModelPlugin.js +1 -10
  187. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  188. package/lib/point/index.js +26 -83
  189. package/lib/point/models/earthExtrude.js +58 -106
  190. package/lib/point/models/earthFill.js +52 -110
  191. package/lib/point/models/extrude.js +57 -103
  192. package/lib/point/models/fill.js +54 -90
  193. package/lib/point/models/fillmage.js +58 -107
  194. package/lib/point/models/image.js +47 -92
  195. package/lib/point/models/index.js +1 -12
  196. package/lib/point/models/normal.js +30 -64
  197. package/lib/point/models/radar.js +38 -72
  198. package/lib/point/models/simplePoint.js +38 -72
  199. package/lib/point/models/text.js +199 -305
  200. package/lib/point/shape/extrude.js +4 -20
  201. package/lib/polygon/index.js +11 -48
  202. package/lib/polygon/models/extrude.js +87 -146
  203. package/lib/polygon/models/fill.js +50 -89
  204. package/lib/polygon/models/index.js +2 -14
  205. package/lib/polygon/models/ocean.js +42 -88
  206. package/lib/polygon/models/water.js +37 -82
  207. package/lib/raster/buffers/triangulation.js +3 -7
  208. package/lib/raster/index.js +9 -40
  209. package/lib/raster/models/index.js +0 -5
  210. package/lib/raster/models/raster.js +80 -125
  211. package/lib/raster/models/rasterRgb.js +84 -139
  212. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  213. package/lib/tile/interaction/getRasterData.js +14 -25
  214. package/lib/tile/interaction/utils.js +7 -19
  215. package/lib/tile/manager/base.js +63 -104
  216. package/lib/tile/service/TileLayerService.js +33 -60
  217. package/lib/tile/service/TilePickService.js +26 -48
  218. package/lib/tile/service/TileSourceService.js +2 -16
  219. package/lib/tile/style/utils.js +0 -3
  220. package/lib/tile/tileFactory/DebugTile.js +29 -54
  221. package/lib/tile/tileFactory/ImageTile.js +20 -46
  222. package/lib/tile/tileFactory/MaskTile.js +22 -51
  223. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  224. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  225. package/lib/tile/tileFactory/RasterTile.js +30 -63
  226. package/lib/tile/tileFactory/Tile.js +63 -102
  227. package/lib/tile/tileFactory/VectorTile.js +41 -76
  228. package/lib/tile/tileFactory/index.js +0 -25
  229. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  230. package/lib/tile/tileFactory/util.js +0 -9
  231. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  232. package/lib/tile/utils.js +1 -5
  233. package/lib/utils/blend.js +0 -5
  234. package/lib/utils/collision-index.js +9 -25
  235. package/lib/utils/extrude_polyline.js +101 -181
  236. package/lib/utils/grid-index.js +2 -28
  237. package/lib/utils/identityScale.js +0 -9
  238. package/lib/utils/layerData.js +30 -49
  239. package/lib/utils/multiPassRender.js +11 -16
  240. package/lib/utils/polylineNormal.js +31 -66
  241. package/lib/utils/simpleLine.js +2 -21
  242. package/lib/utils/stencil.js +0 -4
  243. package/lib/utils/symbol-layout.js +27 -55
  244. package/lib/wind/index.js +9 -37
  245. package/lib/wind/models/index.js +0 -3
  246. package/lib/wind/models/utils.js +26 -62
  247. package/lib/wind/models/wind.js +101 -157
  248. package/lib/wind/models/windRender.js +53 -71
  249. package/lib/wind/models/windShader.js +0 -1
  250. package/package.json +7 -7
@@ -7,52 +7,36 @@ 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
-
11
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); }; }
12
-
13
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; } }
14
-
15
12
  import { AttributeType, gl } from '@antv/l7-core';
16
13
  import { rgb2arr } from '@antv/l7-utils';
17
14
  import { isNumber } from 'lodash';
18
15
  import BaseModel from "../../core/BaseModel";
19
16
  import { LineTriangulation } from "../../core/triangulation";
20
-
21
17
  /* babel-plugin-inline-import '../shaders/wall/wall_frag.glsl' */
22
18
  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
-
24
19
  /* babel-plugin-inline-import '../shaders/wall/wall_vert.glsl' */
25
20
  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
-
27
21
  var LineWallModel = /*#__PURE__*/function (_BaseModel) {
28
22
  _inherits(LineWallModel, _BaseModel);
29
-
30
23
  var _super = _createSuper(LineWallModel);
31
-
32
24
  function LineWallModel() {
33
25
  var _this;
34
-
35
26
  _classCallCheck(this, LineWallModel);
36
-
37
27
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
38
28
  args[_key] = arguments[_key];
39
29
  }
40
-
41
30
  _this = _super.call.apply(_super, [this].concat(args));
42
-
43
31
  _defineProperty(_assertThisInitialized(_this), "updateTexture", function () {
44
32
  var createTexture2D = _this.rendererService.createTexture2D;
45
-
46
33
  if (_this.texture) {
47
34
  _this.texture.update({
48
35
  data: _this.iconService.getCanvas()
49
36
  });
50
-
51
37
  _this.layer.render();
52
-
53
38
  return;
54
39
  }
55
-
56
40
  _this.texture = createTexture2D({
57
41
  data: _this.iconService.getCanvas(),
58
42
  mag: gl.NEAREST,
@@ -62,45 +46,39 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
62
46
  height: _this.iconService.canvasHeight || 128
63
47
  });
64
48
  });
65
-
66
49
  return _this;
67
50
  }
68
-
69
51
  _createClass(LineWallModel, [{
70
52
  key: "getUninforms",
71
53
  value: function getUninforms() {
72
54
  var _ref = this.layer.getLayerConfig(),
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
-
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;
88
69
  if (this.rendererService.getDirty()) {
89
70
  this.texture.bind();
90
- } // 转化渐变色
91
-
71
+ }
92
72
 
73
+ // 转化渐变色
93
74
  var useLinearColor = 0; // 默认不生效
94
-
95
75
  var sourceColorArr = [0, 0, 0, 0];
96
76
  var targetColorArr = [0, 0, 0, 0];
97
-
98
77
  if (sourceColor && targetColor) {
99
78
  sourceColorArr = rgb2arr(sourceColor);
100
79
  targetColorArr = rgb2arr(targetColor);
101
80
  useLinearColor = 1;
102
81
  }
103
-
104
82
  return {
105
83
  u_heightfixed: Number(heightfixed),
106
84
  u_opacity: isNumber(opacity) ? opacity : 1.0,
@@ -123,8 +101,7 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
123
101
  key: "getAnimateUniforms",
124
102
  value: function getAnimateUniforms() {
125
103
  var _ref2 = this.layer.getLayerConfig(),
126
- animateOption = _ref2.animateOption;
127
-
104
+ animateOption = _ref2.animateOption;
128
105
  return {
129
106
  u_animate: this.animateOption2Array(animateOption),
130
107
  u_time: this.layer.getLayerAnimateTime()
@@ -135,32 +112,26 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
135
112
  value: function () {
136
113
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
137
114
  return _regeneratorRuntime.wrap(function _callee$(_context) {
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
- }
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();
149
123
  }
150
124
  }, _callee, this);
151
125
  }));
152
-
153
126
  function initModels() {
154
127
  return _initModels.apply(this, arguments);
155
128
  }
156
-
157
129
  return initModels;
158
130
  }()
159
131
  }, {
160
132
  key: "clearModels",
161
133
  value: function clearModels() {
162
134
  var _this$texture;
163
-
164
135
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
165
136
  this.iconService.off('imageUpdate', this.updateTexture);
166
137
  }
@@ -170,44 +141,37 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
170
141
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
171
142
  var model;
172
143
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
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
- }
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();
196
163
  }
197
164
  }, _callee2, this);
198
165
  }));
199
-
200
166
  function buildModels() {
201
167
  return _buildModels.apply(this, arguments);
202
168
  }
203
-
204
169
  return buildModels;
205
170
  }()
206
171
  }, {
207
172
  key: "registerBuiltinAttributes",
208
173
  value: function registerBuiltinAttributes() {
209
174
  var _this2 = this;
210
-
211
175
  this.styleAttributeService.registerStyleAttribute({
212
176
  name: 'distance',
213
177
  type: AttributeType.Attribute,
@@ -256,12 +220,13 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
256
220
  size: 2,
257
221
  update: function update(feature) {
258
222
  var _feature$size = feature.size,
259
- size = _feature$size === void 0 ? 1 : _feature$size;
223
+ size = _feature$size === void 0 ? 1 : _feature$size;
260
224
  return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
261
225
  }
262
226
  }
263
- }); // point layer size;
227
+ });
264
228
 
229
+ // point layer size;
265
230
  this.styleAttributeService.registerStyleAttribute({
266
231
  name: 'normal',
267
232
  type: AttributeType.Attribute,
@@ -311,24 +276,19 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
311
276
  size: 2,
312
277
  update: function update(feature) {
313
278
  var iconMap = _this2.iconService.getIconMap();
314
-
315
279
  var texture = feature.texture;
316
-
317
280
  var _ref3 = iconMap[texture] || {
318
- x: 0,
319
- y: 0
320
- },
321
- x = _ref3.x,
322
- y = _ref3.y;
323
-
281
+ x: 0,
282
+ y: 0
283
+ },
284
+ x = _ref3.x,
285
+ y = _ref3.y;
324
286
  return [x, y];
325
287
  }
326
288
  }
327
289
  });
328
290
  }
329
291
  }]);
330
-
331
292
  return LineWallModel;
332
293
  }(BaseModel);
333
-
334
294
  export { LineWallModel as default };
@@ -27,12 +27,11 @@ varying vec4 v_color;
27
27
  varying vec4 v_dash_array;
28
28
  varying float v_d_distance_ratio;
29
29
 
30
- uniform float u_opacity: 1.0;
31
30
 
32
31
  void main() {
33
32
 
34
33
  v_dash_array = pow(2.0, 20.0 - u_Zoom) * u_dash_array / a_Total_Distance;
35
- v_color = vec4(a_Color.xyz, a_Color.w * u_opacity);
34
+ v_color = vec4(a_Color.xyz, a_Color.w * opacity);
36
35
 
37
36
  vec3 size = a_Miter * setPickingSize(a_Size.x) * reverse_offset_normal(a_Normal);
38
37
  vec2 offset = project_pixel(size.xy);
@@ -1,7 +1,6 @@
1
1
  #extension GL_OES_standard_derivatives : enable
2
2
  #define Animate 0.0
3
3
  #define LineTexture 1.0
4
- uniform float u_opacity : 1.0;
5
4
  uniform float u_textureBlend;
6
5
 
7
6
  uniform float u_borderWidth: 0.0;
@@ -29,7 +28,6 @@ void main() {
29
28
  gl_FragColor = v_color;
30
29
  // anti-alias
31
30
  // float blur = 1.0 - smoothstep(u_blur, 1., length(v_normal.xy));
32
- gl_FragColor.a *= u_opacity; // 全局透明度
33
31
  if(u_animate.x == Animate) {
34
32
  animateSpeed = u_time / u_animate.y;
35
33
  float alpha =1.0 - fract( mod(1.0- d_distance_ratio, u_animate.z)* (1.0/ u_animate.z) + animateSpeed);
@@ -52,7 +50,7 @@ void main() {
52
50
  pattern.a = 0.0;
53
51
  gl_FragColor += pattern;
54
52
  } else { // replace
55
- pattern.a *= u_opacity;
53
+ pattern.a *= v_color.a;
56
54
  if(gl_FragColor.a <= 0.0) {
57
55
  pattern.a = 0.0;
58
56
  }
@@ -83,6 +83,7 @@ vec2 calculateArrow(vec2 offset) {
83
83
 
84
84
  void main() {
85
85
  // cal style mapping - 数据纹理映射部分的计算
86
+
86
87
 
87
88
  float d_texPixelLen; // 贴图的像素长度,根据地图层级缩放
88
89
 
@@ -93,6 +94,7 @@ void main() {
93
94
  }
94
95
 
95
96
  v_color = a_Color;
97
+ v_color.a *= opacity;
96
98
 
97
99
  vec3 size = a_Miter * setPickingSize(a_Size.x) * reverse_offset_normal(a_Normal);
98
100
 
@@ -17,10 +17,10 @@ void main() {
17
17
 
18
18
  if(u_linearColor == 1.0) { // 使用渐变颜色
19
19
  gl_FragColor = mix(u_sourceColor, u_targetColor, linearRadio);
20
+ gl_FragColor.a *= v_color.a;
20
21
  } else { // 使用 color 方法传入的颜色
21
22
  gl_FragColor = v_color;
22
23
  }
23
24
 
24
- gl_FragColor.a *= u_opacity; // 全局透明度
25
25
  gl_FragColor = filterColor(gl_FragColor);
26
26
  }
package/es/mask/index.js CHANGED
@@ -7,61 +7,44 @@ 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
-
11
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); }; }
12
-
13
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; } }
14
-
15
12
  import BaseLayer from "../core/BaseLayer";
16
13
  import MaskModels from "./models";
17
-
18
14
  var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
19
15
  _inherits(MaskLayer, _BaseLayer);
20
-
21
16
  var _super = _createSuper(MaskLayer);
22
-
23
17
  function MaskLayer() {
24
18
  var _this;
25
-
26
19
  _classCallCheck(this, MaskLayer);
27
-
28
20
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29
21
  args[_key] = arguments[_key];
30
22
  }
31
-
32
23
  _this = _super.call.apply(_super, [this].concat(args));
33
-
34
24
  _defineProperty(_assertThisInitialized(_this), "type", 'MaskLayer');
35
-
36
25
  return _this;
37
26
  }
38
-
39
27
  _createClass(MaskLayer, [{
40
28
  key: "buildModels",
41
29
  value: function () {
42
30
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
43
31
  var shape;
44
32
  return _regeneratorRuntime.wrap(function _callee$(_context) {
45
- while (1) {
46
- switch (_context.prev = _context.next) {
47
- case 0:
48
- shape = this.getModelType();
49
- this.layerModel = new MaskModels[shape](this);
50
- _context.next = 4;
51
- return this.initLayerModels();
52
-
53
- case 4:
54
- case "end":
55
- return _context.stop();
56
- }
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();
57
42
  }
58
43
  }, _callee, this);
59
44
  }));
60
-
61
45
  function buildModels() {
62
46
  return _buildModels.apply(this, arguments);
63
47
  }
64
-
65
48
  return buildModels;
66
49
  }()
67
50
  }, {
@@ -70,8 +53,6 @@ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
70
53
  return 'fill';
71
54
  }
72
55
  }]);
73
-
74
56
  return MaskLayer;
75
57
  }(BaseLayer);
76
-
77
58
  export { MaskLayer as default };
@@ -5,42 +5,31 @@ 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
-
9
8
  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
-
11
9
  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
-
13
10
  import { rgb2arr } from '@antv/l7-utils';
14
11
  import { isNumber } from 'lodash';
15
12
  import BaseModel from "../../core/BaseModel";
16
13
  import { polygonTriangulation } from "../../core/triangulation";
17
-
18
14
  /* babel-plugin-inline-import '../../shader/minify_frag.glsl' */
19
15
  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
-
21
16
  /* babel-plugin-inline-import '../shaders/mask_vert.glsl' */
22
17
  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
-
24
18
  var MaskModel = /*#__PURE__*/function (_BaseModel) {
25
19
  _inherits(MaskModel, _BaseModel);
26
-
27
20
  var _super = _createSuper(MaskModel);
28
-
29
21
  function MaskModel() {
30
22
  _classCallCheck(this, MaskModel);
31
-
32
23
  return _super.apply(this, arguments);
33
24
  }
34
-
35
25
  _createClass(MaskModel, [{
36
26
  key: "getUninforms",
37
27
  value: function getUninforms() {
38
28
  var _ref = this.layer.getLayerConfig(),
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
-
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;
44
33
  return {
45
34
  u_opacity: isNumber(opacity) ? opacity : 0.0,
46
35
  u_color: rgb2arr(color)
@@ -51,23 +40,18 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
51
40
  value: function () {
52
41
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
53
42
  return _regeneratorRuntime.wrap(function _callee$(_context) {
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
- }
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();
63
49
  }
64
50
  }, _callee, this);
65
51
  }));
66
-
67
52
  function initModels() {
68
53
  return _initModels.apply(this, arguments);
69
54
  }
70
-
71
55
  return initModels;
72
56
  }()
73
57
  }, {
@@ -76,44 +60,37 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
76
60
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
77
61
  var model;
78
62
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
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
- }
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();
102
82
  }
103
83
  }, _callee2, this);
104
84
  }));
105
-
106
85
  function buildModels() {
107
86
  return _buildModels.apply(this, arguments);
108
87
  }
109
-
110
88
  return buildModels;
111
89
  }()
112
90
  }, {
113
91
  key: "clearModels",
114
92
  value: function clearModels() {
115
93
  var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
116
-
117
94
  if (refresh) {
118
95
  this.layerService.clear();
119
96
  }
@@ -124,8 +101,6 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
124
101
  return '';
125
102
  }
126
103
  }]);
127
-
128
104
  return MaskModel;
129
105
  }(BaseModel);
130
-
131
106
  export { MaskModel as default };