@antv/l7-layers 2.17.3 → 2.17.4

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 +478 -313
  10. package/es/core/BaseModel.js +80 -51
  11. package/es/core/CommonStyleAttribute.js +5 -2
  12. package/es/core/LayerPickService.js +32 -21
  13. package/es/core/TextureService.js +13 -0
  14. package/es/core/interface.js +24 -17
  15. package/es/core/shape/Path.js +20 -13
  16. package/es/core/shape/extrude.js +39 -27
  17. package/es/core/triangulation.js +136 -99
  18. package/es/earth/index.js +33 -9
  19. package/es/earth/models/atmosphere.js +54 -30
  20. package/es/earth/models/base.js +85 -47
  21. package/es/earth/models/bloomsphere.js +54 -30
  22. package/es/earth/utils.js +13 -9
  23. package/es/heatmap/index.js +40 -10
  24. package/es/heatmap/models/grid.js +52 -28
  25. package/es/heatmap/models/grid3d.js +52 -28
  26. package/es/heatmap/models/heatmap.js +149 -92
  27. package/es/heatmap/models/hexagon.js +52 -28
  28. package/es/heatmap/triangulation.js +4 -0
  29. package/es/image/index.js +28 -9
  30. package/es/image/models/image.js +100 -66
  31. package/es/index.js +17 -9
  32. package/es/line/index.js +35 -9
  33. package/es/line/models/arc.js +112 -63
  34. package/es/line/models/arc_3d.js +102 -58
  35. package/es/line/models/earthArc_3d.js +105 -60
  36. package/es/line/models/flow.js +60 -36
  37. package/es/line/models/great_circle.js +94 -53
  38. package/es/line/models/line.js +136 -85
  39. package/es/line/models/linearline.js +74 -42
  40. package/es/line/models/simpleLine.js +67 -38
  41. package/es/line/models/wall.js +92 -52
  42. package/es/mask/index.js +28 -9
  43. package/es/mask/models/fill.js +54 -29
  44. package/es/plugins/DataMappingPlugin.js +114 -78
  45. package/es/plugins/DataSourcePlugin.js +68 -45
  46. package/es/plugins/FeatureScalePlugin.js +122 -67
  47. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  48. package/es/plugins/LayerMaskPlugin.js +11 -3
  49. package/es/plugins/LayerModelPlugin.js +108 -69
  50. package/es/plugins/LayerStylePlugin.js +9 -3
  51. package/es/plugins/LightingPlugin.js +18 -12
  52. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  53. package/es/plugins/PixelPickingPlugin.js +21 -12
  54. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  55. package/es/plugins/ShaderUniformPlugin.js +27 -13
  56. package/es/plugins/UpdateModelPlugin.js +5 -0
  57. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  58. package/es/point/index.js +78 -26
  59. package/es/point/models/earthExtrude.js +95 -58
  60. package/es/point/models/earthFill.js +80 -52
  61. package/es/point/models/extrude.js +94 -57
  62. package/es/point/models/fill.js +81 -56
  63. package/es/point/models/fillmage.js +100 -60
  64. package/es/point/models/image.js +83 -47
  65. package/es/point/models/index.js +2 -2
  66. package/es/point/models/normal.js +54 -30
  67. package/es/point/models/radar.js +63 -38
  68. package/es/point/models/simplePoint.js +62 -38
  69. package/es/point/models/text.js +296 -199
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +41 -11
  72. package/es/polygon/models/extrude.js +135 -87
  73. package/es/polygon/models/fill.js +79 -50
  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/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 +469 -313
  127. package/lib/core/BaseModel.js +90 -51
  128. package/lib/core/CommonStyleAttribute.js +7 -2
  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 +62 -27
  135. package/lib/core/triangulation.js +177 -98
  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 +166 -92
  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 +122 -61
  154. package/lib/line/models/arc_3d.js +113 -56
  155. package/lib/line/models/earthArc_3d.js +115 -58
  156. package/lib/line/models/flow.js +70 -36
  157. package/lib/line/models/great_circle.js +104 -53
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +144 -83
  160. package/lib/line/models/linearline.js +86 -42
  161. package/lib/line/models/simpleLine.js +77 -38
  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 +125 -78
  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 +117 -70
  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 +106 -58
  182. package/lib/point/models/earthFill.js +110 -52
  183. package/lib/point/models/extrude.js +103 -57
  184. package/lib/point/models/fill.js +90 -54
  185. package/lib/point/models/fillmage.js +107 -58
  186. package/lib/point/models/image.js +92 -47
  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 +72 -38
  190. package/lib/point/models/simplePoint.js +72 -38
  191. package/lib/point/models/text.js +305 -199
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +146 -87
  195. package/lib/polygon/models/fill.js +89 -50
  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/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
@@ -1,48 +1,77 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
13
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
14
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
15
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
16
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
17
28
  var _l7Core = require("@antv/l7-core");
29
+
18
30
  var _l7Utils = require("@antv/l7-utils");
31
+
19
32
  var _lodash = require("lodash");
33
+
20
34
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
35
+
21
36
  var _interface = require("../../core/interface");
37
+
22
38
  var _triangulation = require("../../core/triangulation");
39
+
23
40
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
41
+
24
42
  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; } }
43
+
25
44
  /* babel-plugin-inline-import '../shaders/linearLine/line_linear_frag.glsl' */
26
45
  var linear_line_frag = "\nvarying vec4 v_Color;\n#pragma include \"picking\"\nvoid main() {\n\n gl_FragColor = v_Color; // \u5168\u5C40\u900F\u660E\u5EA6\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
46
+
27
47
  /* babel-plugin-inline-import '../shaders/linearLine/line_linear_vert.glsl' */
28
48
  var linear_line_vert = "\nattribute float a_Miter;\nattribute vec2 a_Size;\nattribute vec3 a_Normal;\nattribute vec3 a_Position;\n\n// dash line\nattribute float a_Total_Distance;\nattribute vec2 a_DistanceAndIndex;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nuniform float u_heightfixed: 0.0;\nuniform float u_vertexScale: 1.0;\nuniform float u_raisingHeight: 0.0;\nuniform float u_opacity : 1.0;\nuniform sampler2D u_texture;\nuniform float u_linearDir: 1.0;\nvarying vec4 v_Color;\n\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\n\nvoid main() {\n\n\n vec3 size = a_Miter * setPickingSize(a_Size.x) * reverse_offset_normal(a_Normal);\n \n vec2 offset = project_pixel(size.xy);\n\n float lineDistance = a_DistanceAndIndex.x;\n float currentLinePointRatio = lineDistance / a_Total_Distance;\n \n\n float lineOffsetWidth = length(offset + offset * sign(a_Miter)); // \u7EBF\u6A2A\u5411\u504F\u79FB\u7684\u8DDD\u79BB\uFF08\u5411\u4E24\u4FA7\u504F\u79FB\u7684\u548C\uFF09\n float linePixelSize = project_pixel(a_Size.x) * 2.0; // \u5B9A\u70B9\u4F4D\u7F6E\u504F\u79FB\uFF0C\u6309\u5730\u56FE\u7B49\u7EA7\u7F29\u653E\u540E\u7684\u8DDD\u79BB \u5355\u4FA7 * 2\n float texV = lineOffsetWidth/linePixelSize; // \u7EBF\u56FE\u5C42\u8D34\u56FE\u90E8\u5206\u7684 v \u5750\u6807\u503C\n\n float linearRadio =currentLinePointRatio; // \u5F53\u524D\u70B9\u4F4D\u8DDD\u79BB\u5360\u7EBF\u603B\u957F\u7684\u6BD4\u4F8B\n if(u_linearDir < 1.0) {\n linearRadio = texV;\n }\n\n v_Color = texture2D(u_texture, vec2(linearRadio, 0.5));\n\n v_Color.a *= u_opacity; // \u5168\u5C40\u900F\u660E\u5EA6\n\n\n\n vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));\n\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, a_Size.y, 1.0));\n\n float h = float(a_Position.z) * u_vertexScale; // \u7EBF\u9876\u70B9\u7684\u9AD8\u5EA6 - \u517C\u5BB9\u4E0D\u5B58\u5728\u7B2C\u4E09\u4E2A\u6570\u503C\u7684\u60C5\u51B5 vertex height\n float lineHeight = a_Size.y; // size \u7B2C\u4E8C\u4E2A\u53C2\u6570\u4EE3\u8868\u7684\u9AD8\u5EA6 [linewidth, lineheight]\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n lineHeight *= 0.2; // \u4FDD\u6301\u548C amap/mapbox \u4E00\u81F4\u7684\u6548\u679C\n h *= 0.2;\n if(u_heightfixed < 1.0) {\n lineHeight = project_pixel(a_Size.y);\n }\n gl_Position = u_Mvp * (vec4(project_pos.xy + offset, lineHeight + h + u_raisingHeight, 1.0));\n } else {\n // mapbox - amap\n \n // \u517C\u5BB9 mapbox \u5728\u7EBF\u9AD8\u5EA6\u4E0A\u7684\u6548\u679C\u8868\u73B0\u57FA\u672C\u4E00\u81F4\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n // mapbox\n // \u4FDD\u6301\u9AD8\u5EA6\u76F8\u5BF9\u4E0D\u53D8\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n h *= mapboxZoomScale;\n h += u_raisingHeight * mapboxZoomScale;\n if(u_heightfixed > 0.0) {\n lineHeight *= mapboxZoomScale;\n }\n \n } else {\n // amap\n h += u_raisingHeight;\n // lineHeight \u9876\u70B9\u504F\u79FB\u9AD8\u5EA6\n if(u_heightfixed < 1.0) {\n lineHeight *= pow(2.0, 20.0 - u_Zoom);\n }\n }\n\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, lineHeight + h, 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
49
+
29
50
  var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
30
51
  (0, _inherits2.default)(LinearLineModel, _BaseModel);
52
+
31
53
  var _super = _createSuper(LinearLineModel);
54
+
32
55
  function LinearLineModel() {
33
56
  var _this;
57
+
34
58
  (0, _classCallCheck2.default)(this, LinearLineModel);
59
+
35
60
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
61
  args[_key] = arguments[_key];
37
62
  }
63
+
38
64
  _this = _super.call.apply(_super, [this].concat(args));
39
65
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateTexture", function () {
40
66
  var createTexture2D = _this.rendererService.createTexture2D;
67
+
41
68
  if (_this.colorTexture) {
42
69
  _this.colorTexture.destroy();
43
70
  }
71
+
44
72
  var _ref = _this.layer.getLayerConfig(),
45
- rampColors = _ref.rampColors;
73
+ rampColors = _ref.rampColors;
74
+
46
75
  var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
47
76
  _this.colorTexture = createTexture2D({
48
77
  data: new Uint8Array(imageData.data),
@@ -57,30 +86,32 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
57
86
  });
58
87
  return _this;
59
88
  }
89
+
60
90
  (0, _createClass2.default)(LinearLineModel, [{
61
91
  key: "getUninforms",
62
92
  value: function getUninforms() {
63
93
  var _ref2 = this.layer.getLayerConfig(),
64
- _ref2$opacity = _ref2.opacity,
65
- opacity = _ref2$opacity === void 0 ? 1 : _ref2$opacity,
66
- _ref2$vertexHeightSca = _ref2.vertexHeightScale,
67
- vertexHeightScale = _ref2$vertexHeightSca === void 0 ? 20.0 : _ref2$vertexHeightSca,
68
- _ref2$raisingHeight = _ref2.raisingHeight,
69
- raisingHeight = _ref2$raisingHeight === void 0 ? 0 : _ref2$raisingHeight,
70
- _ref2$heightfixed = _ref2.heightfixed,
71
- heightfixed = _ref2$heightfixed === void 0 ? false : _ref2$heightfixed,
72
- _ref2$linearDir = _ref2.linearDir,
73
- linearDir = _ref2$linearDir === void 0 ? _interface.LinearDir.VERTICAL : _ref2$linearDir;
94
+ _ref2$opacity = _ref2.opacity,
95
+ opacity = _ref2$opacity === void 0 ? 1 : _ref2$opacity,
96
+ _ref2$vertexHeightSca = _ref2.vertexHeightScale,
97
+ vertexHeightScale = _ref2$vertexHeightSca === void 0 ? 20.0 : _ref2$vertexHeightSca,
98
+ _ref2$raisingHeight = _ref2.raisingHeight,
99
+ raisingHeight = _ref2$raisingHeight === void 0 ? 0 : _ref2$raisingHeight,
100
+ _ref2$heightfixed = _ref2.heightfixed,
101
+ heightfixed = _ref2$heightfixed === void 0 ? false : _ref2$heightfixed,
102
+ _ref2$linearDir = _ref2.linearDir,
103
+ linearDir = _ref2$linearDir === void 0 ? _interface.LinearDir.VERTICAL : _ref2$linearDir;
104
+
74
105
  if (this.rendererService.getDirty()) {
75
106
  this.colorTexture.bind();
76
107
  }
108
+
77
109
  return {
78
110
  u_linearDir: linearDir === _interface.LinearDir.VERTICAL ? 1.0 : 0.0,
79
111
  u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1,
80
112
  // 纹理支持参数
81
113
  u_texture: this.colorTexture,
82
114
  // 贴图
83
-
84
115
  // 是否固定高度
85
116
  u_heightfixed: Number(heightfixed),
86
117
  // 顶点高度 scale
@@ -93,25 +124,31 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
93
124
  value: function () {
94
125
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
95
126
  return _regenerator.default.wrap(function _callee$(_context) {
96
- while (1) switch (_context.prev = _context.next) {
97
- case 0:
98
- this.updateTexture();
99
- return _context.abrupt("return", this.buildModels());
100
- case 2:
101
- case "end":
102
- return _context.stop();
127
+ while (1) {
128
+ switch (_context.prev = _context.next) {
129
+ case 0:
130
+ this.updateTexture();
131
+ return _context.abrupt("return", this.buildModels());
132
+
133
+ case 2:
134
+ case "end":
135
+ return _context.stop();
136
+ }
103
137
  }
104
138
  }, _callee, this);
105
139
  }));
140
+
106
141
  function initModels() {
107
142
  return _initModels.apply(this, arguments);
108
143
  }
144
+
109
145
  return initModels;
110
146
  }()
111
147
  }, {
112
148
  key: "clearModels",
113
149
  value: function clearModels() {
114
150
  var _this$colorTexture;
151
+
115
152
  (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
116
153
  }
117
154
  }, {
@@ -119,33 +156,40 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
119
156
  value: function () {
120
157
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
121
158
  var _ref3, _ref3$depth, depth, model;
159
+
122
160
  return _regenerator.default.wrap(function _callee2$(_context2) {
123
- while (1) switch (_context2.prev = _context2.next) {
124
- case 0:
125
- _ref3 = this.layer.getLayerConfig(), _ref3$depth = _ref3.depth, depth = _ref3$depth === void 0 ? false : _ref3$depth;
126
- this.layer.triangulation = _triangulation.LineTriangulation;
127
- _context2.next = 4;
128
- return this.layer.buildLayerModel({
129
- moduleName: 'lineRampColors',
130
- vertexShader: linear_line_vert,
131
- fragmentShader: linear_line_frag,
132
- triangulation: _triangulation.LineTriangulation,
133
- depth: {
134
- enable: depth
135
- }
136
- });
137
- case 4:
138
- model = _context2.sent;
139
- return _context2.abrupt("return", [model]);
140
- case 6:
141
- case "end":
142
- return _context2.stop();
161
+ while (1) {
162
+ switch (_context2.prev = _context2.next) {
163
+ case 0:
164
+ _ref3 = this.layer.getLayerConfig(), _ref3$depth = _ref3.depth, depth = _ref3$depth === void 0 ? false : _ref3$depth;
165
+ this.layer.triangulation = _triangulation.LineTriangulation;
166
+ _context2.next = 4;
167
+ return this.layer.buildLayerModel({
168
+ moduleName: 'lineRampColors',
169
+ vertexShader: linear_line_vert,
170
+ fragmentShader: linear_line_frag,
171
+ triangulation: _triangulation.LineTriangulation,
172
+ depth: {
173
+ enable: depth
174
+ }
175
+ });
176
+
177
+ case 4:
178
+ model = _context2.sent;
179
+ return _context2.abrupt("return", [model]);
180
+
181
+ case 6:
182
+ case "end":
183
+ return _context2.stop();
184
+ }
143
185
  }
144
186
  }, _callee2, this);
145
187
  }));
188
+
146
189
  function buildModels() {
147
190
  return _buildModels.apply(this, arguments);
148
191
  }
192
+
149
193
  return buildModels;
150
194
  }()
151
195
  }, {
@@ -199,13 +243,12 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
199
243
  size: 2,
200
244
  update: function update(feature) {
201
245
  var _feature$size = feature.size,
202
- size = _feature$size === void 0 ? 1 : _feature$size;
246
+ size = _feature$size === void 0 ? 1 : _feature$size;
203
247
  return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
204
248
  }
205
249
  }
206
- });
250
+ }); // point layer size;
207
251
 
208
- // point layer size;
209
252
  this.styleAttributeService.registerStyleAttribute({
210
253
  name: 'normal',
211
254
  type: _l7Core.AttributeType.Attribute,
@@ -244,4 +287,5 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
244
287
  }]);
245
288
  return LinearLineModel;
246
289
  }(_BaseModel2.default);
290
+
247
291
  exports.default = LinearLineModel;
@@ -1,57 +1,82 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
13
20
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
14
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
15
24
  var _l7Core = require("@antv/l7-core");
25
+
16
26
  var _l7Utils = require("@antv/l7-utils");
27
+
17
28
  var _lodash = require("lodash");
29
+
18
30
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
31
+
19
32
  var _triangulation = require("../../core/triangulation");
33
+
20
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
35
+
21
36
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
+
22
38
  /* babel-plugin-inline-import '../shaders/simple/simpleline_frag.glsl' */
23
39
  var simple_line_frag = "\nvarying vec4 v_color;\nvoid main() {\n gl_FragColor = v_color;\n\n}\n"; // linear simple line shader
40
+
24
41
  /* babel-plugin-inline-import '../shaders/simple/simpleline_linear_frag.glsl' */
25
42
  var simle_linear_frag = "uniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float opacity;\nvoid main() {\n gl_FragColor = mix(u_sourceColor, u_targetColor, v_distanceScale);\n gl_FragColor.a *= opacity; // \u5168\u5C40\u900F\u660E\u5EA6\n}\n";
43
+
26
44
  /* babel-plugin-inline-import '../shaders/simple/simpleline_vert.glsl' */
27
45
  var simple_line_vert = "attribute vec4 a_Color;\nattribute vec2 a_Size;\nattribute vec3 a_Position;\n\nattribute float a_Total_Distance;\nattribute float a_Distance;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nuniform float u_opacity: 1.0;\nuniform float u_vertexScale: 1.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\n\n\n\n#pragma include \"projection\"\n\nvarying vec4 v_color;\nvarying float v_distanceScale;\n\nvoid main() {\n\n v_color = a_Color; \n v_distanceScale = a_Distance / a_Total_Distance;\n v_color = vec4(a_Color.xyz, a_Color.w * u_opacity); \n vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));\n\n float h = float(a_Position.z) * u_vertexScale; // \u7EBF\u9876\u70B9\u7684\u9AD8\u5EA6 - \u517C\u5BB9\u4E0D\u5B58\u5728\u7B2C\u4E09\u4E2A\u6570\u503C\u7684\u60C5\u51B5\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy, project_pixel(a_Size.y) + h * 0.2, 1.0));\n } else {\n float lineHeight = a_Size.y;\n // \u517C\u5BB9 mapbox \u5728\u7EBF\u9AD8\u5EA6\u4E0A\u7684\u6548\u679C\u8868\u73B0\u57FA\u672C\u4E00\u81F4\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n // \u4FDD\u6301\u9AD8\u5EA6\u76F8\u5BF9\u4E0D\u53D8\n h *= 2.0/pow(2.0, 20.0 - u_Zoom);\n }\n\n // #define COORDINATE_SYSTEM_P20 5.0\n // #define COORDINATE_SYSTEM_P20_OFFSET 6.0\n // amap1.x\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20 || u_CoordinateSystem == COORDINATE_SYSTEM_P20_OFFSET) {\n // \u4FDD\u6301\u9AD8\u5EA6\u76F8\u5BF9\u4E0D\u53D8\n lineHeight *= pow(2.0, 20.0 - u_Zoom);\n }\n\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, lineHeight + h, 1.0));\n gl_PointSize = 10.0;\n }\n}\n";
46
+
28
47
  var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
29
48
  (0, _inherits2.default)(SimpleLineModel, _BaseModel);
49
+
30
50
  var _super = _createSuper(SimpleLineModel);
51
+
31
52
  function SimpleLineModel() {
32
53
  (0, _classCallCheck2.default)(this, SimpleLineModel);
33
54
  return _super.apply(this, arguments);
34
55
  }
56
+
35
57
  (0, _createClass2.default)(SimpleLineModel, [{
36
58
  key: "getUninforms",
37
59
  value: function getUninforms() {
38
60
  var _ref = this.layer.getLayerConfig(),
39
- _ref$opacity = _ref.opacity,
40
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
41
- sourceColor = _ref.sourceColor,
42
- targetColor = _ref.targetColor,
43
- _ref$vertexHeightScal = _ref.vertexHeightScale,
44
- vertexHeightScale = _ref$vertexHeightScal === void 0 ? 20.0 : _ref$vertexHeightScal;
45
-
46
- // 转化渐变色
61
+ _ref$opacity = _ref.opacity,
62
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
63
+ sourceColor = _ref.sourceColor,
64
+ targetColor = _ref.targetColor,
65
+ _ref$vertexHeightScal = _ref.vertexHeightScale,
66
+ vertexHeightScale = _ref$vertexHeightScal === void 0 ? 20.0 : _ref$vertexHeightScal; // 转化渐变色
67
+
68
+
47
69
  var useLinearColor = 0; // 默认不生效
70
+
48
71
  var sourceColorArr = [0, 0, 0, 0];
49
72
  var targetColorArr = [0, 0, 0, 0];
73
+
50
74
  if (sourceColor && targetColor) {
51
75
  sourceColorArr = (0, _l7Utils.rgb2arr)(sourceColor);
52
76
  targetColorArr = (0, _l7Utils.rgb2arr)(targetColor);
53
77
  useLinearColor = 1;
54
78
  }
79
+
55
80
  return {
56
81
  u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1,
57
82
  // 渐变色支持参数
@@ -67,26 +92,32 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
67
92
  value: function () {
68
93
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
69
94
  return _regenerator.default.wrap(function _callee$(_context) {
70
- while (1) switch (_context.prev = _context.next) {
71
- case 0:
72
- return _context.abrupt("return", this.buildModels());
73
- case 1:
74
- case "end":
75
- return _context.stop();
95
+ while (1) {
96
+ switch (_context.prev = _context.next) {
97
+ case 0:
98
+ return _context.abrupt("return", this.buildModels());
99
+
100
+ case 1:
101
+ case "end":
102
+ return _context.stop();
103
+ }
76
104
  }
77
105
  }, _callee, this);
78
106
  }));
107
+
79
108
  function initModels() {
80
109
  return _initModels.apply(this, arguments);
81
110
  }
111
+
82
112
  return initModels;
83
113
  }()
84
114
  }, {
85
115
  key: "getShaders",
86
116
  value: function getShaders() {
87
117
  var _ref2 = this.layer.getLayerConfig(),
88
- sourceColor = _ref2.sourceColor,
89
- targetColor = _ref2.targetColor;
118
+ sourceColor = _ref2.sourceColor,
119
+ targetColor = _ref2.targetColor;
120
+
90
121
  if (sourceColor && targetColor) {
91
122
  // 分离 linear 功能
92
123
  return {
@@ -107,34 +138,41 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
107
138
  value: function () {
108
139
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
109
140
  var _this$getShaders, frag, vert, type, model;
141
+
110
142
  return _regenerator.default.wrap(function _callee2$(_context2) {
111
- while (1) switch (_context2.prev = _context2.next) {
112
- case 0:
113
- _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
114
- _context2.next = 3;
115
- return this.layer.buildLayerModel({
116
- moduleName: type,
117
- vertexShader: vert,
118
- fragmentShader: frag,
119
- triangulation: _triangulation.SimpleLineTriangulation,
120
- primitive: _l7Core.gl.LINES,
121
- depth: {
122
- enable: false
123
- },
124
- pick: false
125
- });
126
- case 3:
127
- model = _context2.sent;
128
- return _context2.abrupt("return", [model]);
129
- case 5:
130
- case "end":
131
- return _context2.stop();
143
+ while (1) {
144
+ switch (_context2.prev = _context2.next) {
145
+ case 0:
146
+ _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
147
+ _context2.next = 3;
148
+ return this.layer.buildLayerModel({
149
+ moduleName: type,
150
+ vertexShader: vert,
151
+ fragmentShader: frag,
152
+ triangulation: _triangulation.SimpleLineTriangulation,
153
+ primitive: _l7Core.gl.LINES,
154
+ depth: {
155
+ enable: false
156
+ },
157
+ pick: false
158
+ });
159
+
160
+ case 3:
161
+ model = _context2.sent;
162
+ return _context2.abrupt("return", [model]);
163
+
164
+ case 5:
165
+ case "end":
166
+ return _context2.stop();
167
+ }
132
168
  }
133
169
  }, _callee2, this);
134
170
  }));
171
+
135
172
  function buildModels() {
136
173
  return _buildModels.apply(this, arguments);
137
174
  }
175
+
138
176
  return buildModels;
139
177
  }()
140
178
  }, {
@@ -188,7 +226,7 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
188
226
  size: 2,
189
227
  update: function update(feature) {
190
228
  var _feature$size = feature.size,
191
- size = _feature$size === void 0 ? 1 : _feature$size;
229
+ size = _feature$size === void 0 ? 1 : _feature$size;
192
230
  return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
193
231
  }
194
232
  }
@@ -197,4 +235,5 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
197
235
  }]);
198
236
  return SimpleLineModel;
199
237
  }(_BaseModel2.default);
238
+
200
239
  exports.default = SimpleLineModel;