@antv/l7-layers 2.17.2 → 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 +114 -64
  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 +138 -86
  39. package/es/line/models/linearline.js +76 -43
  40. package/es/line/models/simpleLine.js +69 -39
  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 +124 -62
  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 +146 -84
  160. package/lib/line/models/linearline.js +88 -43
  161. package/lib/line/models/simpleLine.js +79 -39
  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,47 +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
+
32
+ var _lodash = require("lodash");
33
+
19
34
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
35
+
20
36
  var _interface = require("../../core/interface");
37
+
21
38
  var _triangulation = require("../../core/triangulation");
39
+
22
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
+
23
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
+
24
44
  /* babel-plugin-inline-import '../shaders/linearLine/line_linear_frag.glsl' */
25
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
+
26
47
  /* babel-plugin-inline-import '../shaders/linearLine/line_linear_vert.glsl' */
27
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
+
28
50
  var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
29
51
  (0, _inherits2.default)(LinearLineModel, _BaseModel);
52
+
30
53
  var _super = _createSuper(LinearLineModel);
54
+
31
55
  function LinearLineModel() {
32
56
  var _this;
57
+
33
58
  (0, _classCallCheck2.default)(this, LinearLineModel);
59
+
34
60
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35
61
  args[_key] = arguments[_key];
36
62
  }
63
+
37
64
  _this = _super.call.apply(_super, [this].concat(args));
38
65
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateTexture", function () {
39
66
  var createTexture2D = _this.rendererService.createTexture2D;
67
+
40
68
  if (_this.colorTexture) {
41
69
  _this.colorTexture.destroy();
42
70
  }
71
+
43
72
  var _ref = _this.layer.getLayerConfig(),
44
- rampColors = _ref.rampColors;
73
+ rampColors = _ref.rampColors;
74
+
45
75
  var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
46
76
  _this.colorTexture = createTexture2D({
47
77
  data: new Uint8Array(imageData.data),
@@ -56,30 +86,32 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
56
86
  });
57
87
  return _this;
58
88
  }
89
+
59
90
  (0, _createClass2.default)(LinearLineModel, [{
60
91
  key: "getUninforms",
61
92
  value: function getUninforms() {
62
93
  var _ref2 = this.layer.getLayerConfig(),
63
- _ref2$opacity = _ref2.opacity,
64
- opacity = _ref2$opacity === void 0 ? 1 : _ref2$opacity,
65
- _ref2$vertexHeightSca = _ref2.vertexHeightScale,
66
- vertexHeightScale = _ref2$vertexHeightSca === void 0 ? 20.0 : _ref2$vertexHeightSca,
67
- _ref2$raisingHeight = _ref2.raisingHeight,
68
- raisingHeight = _ref2$raisingHeight === void 0 ? 0 : _ref2$raisingHeight,
69
- _ref2$heightfixed = _ref2.heightfixed,
70
- heightfixed = _ref2$heightfixed === void 0 ? false : _ref2$heightfixed,
71
- _ref2$linearDir = _ref2.linearDir,
72
- 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
+
73
105
  if (this.rendererService.getDirty()) {
74
106
  this.colorTexture.bind();
75
107
  }
108
+
76
109
  return {
77
110
  u_linearDir: linearDir === _interface.LinearDir.VERTICAL ? 1.0 : 0.0,
78
- u_opacity: opacity,
111
+ u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1,
79
112
  // 纹理支持参数
80
113
  u_texture: this.colorTexture,
81
114
  // 贴图
82
-
83
115
  // 是否固定高度
84
116
  u_heightfixed: Number(heightfixed),
85
117
  // 顶点高度 scale
@@ -92,25 +124,31 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
92
124
  value: function () {
93
125
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
94
126
  return _regenerator.default.wrap(function _callee$(_context) {
95
- while (1) switch (_context.prev = _context.next) {
96
- case 0:
97
- this.updateTexture();
98
- return _context.abrupt("return", this.buildModels());
99
- case 2:
100
- case "end":
101
- 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
+ }
102
137
  }
103
138
  }, _callee, this);
104
139
  }));
140
+
105
141
  function initModels() {
106
142
  return _initModels.apply(this, arguments);
107
143
  }
144
+
108
145
  return initModels;
109
146
  }()
110
147
  }, {
111
148
  key: "clearModels",
112
149
  value: function clearModels() {
113
150
  var _this$colorTexture;
151
+
114
152
  (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
115
153
  }
116
154
  }, {
@@ -118,33 +156,40 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
118
156
  value: function () {
119
157
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
120
158
  var _ref3, _ref3$depth, depth, model;
159
+
121
160
  return _regenerator.default.wrap(function _callee2$(_context2) {
122
- while (1) switch (_context2.prev = _context2.next) {
123
- case 0:
124
- _ref3 = this.layer.getLayerConfig(), _ref3$depth = _ref3.depth, depth = _ref3$depth === void 0 ? false : _ref3$depth;
125
- this.layer.triangulation = _triangulation.LineTriangulation;
126
- _context2.next = 4;
127
- return this.layer.buildLayerModel({
128
- moduleName: 'lineRampColors',
129
- vertexShader: linear_line_vert,
130
- fragmentShader: linear_line_frag,
131
- triangulation: _triangulation.LineTriangulation,
132
- depth: {
133
- enable: depth
134
- }
135
- });
136
- case 4:
137
- model = _context2.sent;
138
- return _context2.abrupt("return", [model]);
139
- case 6:
140
- case "end":
141
- 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
+ }
142
185
  }
143
186
  }, _callee2, this);
144
187
  }));
188
+
145
189
  function buildModels() {
146
190
  return _buildModels.apply(this, arguments);
147
191
  }
192
+
148
193
  return buildModels;
149
194
  }()
150
195
  }, {
@@ -198,13 +243,12 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
198
243
  size: 2,
199
244
  update: function update(feature) {
200
245
  var _feature$size = feature.size,
201
- size = _feature$size === void 0 ? 1 : _feature$size;
246
+ size = _feature$size === void 0 ? 1 : _feature$size;
202
247
  return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
203
248
  }
204
249
  }
205
- });
250
+ }); // point layer size;
206
251
 
207
- // point layer size;
208
252
  this.styleAttributeService.registerStyleAttribute({
209
253
  name: 'normal',
210
254
  type: _l7Core.AttributeType.Attribute,
@@ -243,4 +287,5 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
243
287
  }]);
244
288
  return LinearLineModel;
245
289
  }(_BaseModel2.default);
290
+
246
291
  exports.default = LinearLineModel;
@@ -1,58 +1,84 @@
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
+
28
+ var _lodash = require("lodash");
29
+
17
30
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
31
+
18
32
  var _triangulation = require("../../core/triangulation");
33
+
19
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
+
20
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
+
21
38
  /* babel-plugin-inline-import '../shaders/simple/simpleline_frag.glsl' */
22
39
  var simple_line_frag = "\nvarying vec4 v_color;\nvoid main() {\n gl_FragColor = v_color;\n\n}\n"; // linear simple line shader
40
+
23
41
  /* babel-plugin-inline-import '../shaders/simple/simpleline_linear_frag.glsl' */
24
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
+
25
44
  /* babel-plugin-inline-import '../shaders/simple/simpleline_vert.glsl' */
26
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
+
27
47
  var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
28
48
  (0, _inherits2.default)(SimpleLineModel, _BaseModel);
49
+
29
50
  var _super = _createSuper(SimpleLineModel);
51
+
30
52
  function SimpleLineModel() {
31
53
  (0, _classCallCheck2.default)(this, SimpleLineModel);
32
54
  return _super.apply(this, arguments);
33
55
  }
56
+
34
57
  (0, _createClass2.default)(SimpleLineModel, [{
35
58
  key: "getUninforms",
36
59
  value: function getUninforms() {
37
60
  var _ref = this.layer.getLayerConfig(),
38
- _ref$opacity = _ref.opacity,
39
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
40
- sourceColor = _ref.sourceColor,
41
- targetColor = _ref.targetColor,
42
- _ref$vertexHeightScal = _ref.vertexHeightScale,
43
- vertexHeightScale = _ref$vertexHeightScal === void 0 ? 20.0 : _ref$vertexHeightScal;
44
-
45
- // 转化渐变色
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
+
46
69
  var useLinearColor = 0; // 默认不生效
70
+
47
71
  var sourceColorArr = [0, 0, 0, 0];
48
72
  var targetColorArr = [0, 0, 0, 0];
73
+
49
74
  if (sourceColor && targetColor) {
50
75
  sourceColorArr = (0, _l7Utils.rgb2arr)(sourceColor);
51
76
  targetColorArr = (0, _l7Utils.rgb2arr)(targetColor);
52
77
  useLinearColor = 1;
53
78
  }
79
+
54
80
  return {
55
- u_opacity: opacity,
81
+ u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1,
56
82
  // 渐变色支持参数
57
83
  u_linearColor: useLinearColor,
58
84
  u_sourceColor: sourceColorArr,
@@ -66,26 +92,32 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
66
92
  value: function () {
67
93
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
68
94
  return _regenerator.default.wrap(function _callee$(_context) {
69
- while (1) switch (_context.prev = _context.next) {
70
- case 0:
71
- return _context.abrupt("return", this.buildModels());
72
- case 1:
73
- case "end":
74
- 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
+ }
75
104
  }
76
105
  }, _callee, this);
77
106
  }));
107
+
78
108
  function initModels() {
79
109
  return _initModels.apply(this, arguments);
80
110
  }
111
+
81
112
  return initModels;
82
113
  }()
83
114
  }, {
84
115
  key: "getShaders",
85
116
  value: function getShaders() {
86
117
  var _ref2 = this.layer.getLayerConfig(),
87
- sourceColor = _ref2.sourceColor,
88
- targetColor = _ref2.targetColor;
118
+ sourceColor = _ref2.sourceColor,
119
+ targetColor = _ref2.targetColor;
120
+
89
121
  if (sourceColor && targetColor) {
90
122
  // 分离 linear 功能
91
123
  return {
@@ -106,34 +138,41 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
106
138
  value: function () {
107
139
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
108
140
  var _this$getShaders, frag, vert, type, model;
141
+
109
142
  return _regenerator.default.wrap(function _callee2$(_context2) {
110
- while (1) switch (_context2.prev = _context2.next) {
111
- case 0:
112
- _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
113
- _context2.next = 3;
114
- return this.layer.buildLayerModel({
115
- moduleName: type,
116
- vertexShader: vert,
117
- fragmentShader: frag,
118
- triangulation: _triangulation.SimpleLineTriangulation,
119
- primitive: _l7Core.gl.LINES,
120
- depth: {
121
- enable: false
122
- },
123
- pick: false
124
- });
125
- case 3:
126
- model = _context2.sent;
127
- return _context2.abrupt("return", [model]);
128
- case 5:
129
- case "end":
130
- 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
+ }
131
168
  }
132
169
  }, _callee2, this);
133
170
  }));
171
+
134
172
  function buildModels() {
135
173
  return _buildModels.apply(this, arguments);
136
174
  }
175
+
137
176
  return buildModels;
138
177
  }()
139
178
  }, {
@@ -187,7 +226,7 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
187
226
  size: 2,
188
227
  update: function update(feature) {
189
228
  var _feature$size = feature.size,
190
- size = _feature$size === void 0 ? 1 : _feature$size;
229
+ size = _feature$size === void 0 ? 1 : _feature$size;
191
230
  return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
192
231
  }
193
232
  }
@@ -196,4 +235,5 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
196
235
  }]);
197
236
  return SimpleLineModel;
198
237
  }(_BaseModel2.default);
238
+
199
239
  exports.default = SimpleLineModel;