@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,40 +1,60 @@
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 _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
27
+
17
28
  var _triangulation = require("../../core/triangulation");
29
+
18
30
  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); }; }
31
+
19
32
  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; } }
33
+
20
34
  /* babel-plugin-inline-import '../shaders/hexagon_frag.glsl' */
21
35
  var heatmapGridFrag = "precision highp float;\nvarying vec4 v_color;\nuniform float u_opacity: 1;\n\n#pragma include \"picking\"\n\nvoid main() {\n gl_FragColor = v_color;\n gl_FragColor.a *= u_opacity;\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
36
+
22
37
  /* babel-plugin-inline-import '../shaders/hexagon_vert.glsl' */
23
38
  var heatmapGridVert = "precision highp float;\n// \u591A\u8FB9\u5F62\u9876\u70B9\u5750\u6807\nattribute vec3 a_Position;\n// \u591A\u8FB9\u5F62\u7ECF\u7EAC\u5EA6\u5750\u6807\nattribute vec3 a_Pos;\nattribute float a_Size;\nattribute vec4 a_Color;\nuniform vec2 u_radius;\nuniform float u_coverage: 0.9;\nuniform float u_angle: 0;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\n\nuniform vec2 u_sceneCenterMercator;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n#pragma include \"picking\"\n\nvoid main() {\n v_color = a_Color;\n \n mat2 rotationMatrix = mat2(cos(u_angle), sin(u_angle), -sin(u_angle), cos(u_angle));\n vec2 offset =(vec2(a_Position.xy * u_radius * rotationMatrix * u_coverage));\n vec2 lnglat = unProjectFlat(a_Pos.xy + offset);\n \n // vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xy, 0., 1.0));\n // gl_Position = u_Mvp * (vec4(a_Pos.xy + offset, 0., 1.0));\n vec2 customLnglat = customProject(lnglat) - u_sceneCenterMercator;\n vec4 project_pos = project_position(vec4(customLnglat, 0, 1.0));\n gl_Position = u_Mvp * vec4(project_pos.xy, 0.0, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(lnglat, 0, 1.0));\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, 0., 1.0));\n }\n setPickingColor(a_PickingColor);\n}\n";
39
+
24
40
  var HexagonModel = /*#__PURE__*/function (_BaseModel) {
25
41
  (0, _inherits2.default)(HexagonModel, _BaseModel);
42
+
26
43
  var _super = _createSuper(HexagonModel);
44
+
27
45
  function HexagonModel() {
28
46
  (0, _classCallCheck2.default)(this, HexagonModel);
29
47
  return _super.apply(this, arguments);
30
48
  }
49
+
31
50
  (0, _createClass2.default)(HexagonModel, [{
32
51
  key: "getUninforms",
33
52
  value: function getUninforms() {
34
53
  var _ref = this.layer.getLayerConfig(),
35
- opacity = _ref.opacity,
36
- coverage = _ref.coverage,
37
- angle = _ref.angle;
54
+ opacity = _ref.opacity,
55
+ coverage = _ref.coverage,
56
+ angle = _ref.angle;
57
+
38
58
  return {
39
59
  u_opacity: opacity || 1.0,
40
60
  u_coverage: coverage || 0.9,
@@ -47,18 +67,23 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
47
67
  value: function () {
48
68
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
49
69
  return _regenerator.default.wrap(function _callee$(_context) {
50
- while (1) switch (_context.prev = _context.next) {
51
- case 0:
52
- return _context.abrupt("return", this.buildModels());
53
- case 1:
54
- case "end":
55
- return _context.stop();
70
+ while (1) {
71
+ switch (_context.prev = _context.next) {
72
+ case 0:
73
+ return _context.abrupt("return", this.buildModels());
74
+
75
+ case 1:
76
+ case "end":
77
+ return _context.stop();
78
+ }
56
79
  }
57
80
  }, _callee, this);
58
81
  }));
82
+
59
83
  function initModels() {
60
84
  return _initModels.apply(this, arguments);
61
85
  }
86
+
62
87
  return initModels;
63
88
  }()
64
89
  }, {
@@ -67,31 +92,37 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
67
92
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
68
93
  var model;
69
94
  return _regenerator.default.wrap(function _callee2$(_context2) {
70
- while (1) switch (_context2.prev = _context2.next) {
71
- case 0:
72
- _context2.next = 2;
73
- return this.layer.buildLayerModel({
74
- moduleName: 'heatmapHexagon',
75
- vertexShader: heatmapGridVert,
76
- fragmentShader: heatmapGridFrag,
77
- triangulation: _triangulation.HeatmapGridTriangulation,
78
- depth: {
79
- enable: false
80
- },
81
- primitive: _l7Core.gl.TRIANGLES
82
- });
83
- case 2:
84
- model = _context2.sent;
85
- return _context2.abrupt("return", [model]);
86
- case 4:
87
- case "end":
88
- return _context2.stop();
95
+ while (1) {
96
+ switch (_context2.prev = _context2.next) {
97
+ case 0:
98
+ _context2.next = 2;
99
+ return this.layer.buildLayerModel({
100
+ moduleName: 'heatmapHexagon',
101
+ vertexShader: heatmapGridVert,
102
+ fragmentShader: heatmapGridFrag,
103
+ triangulation: _triangulation.HeatmapGridTriangulation,
104
+ depth: {
105
+ enable: false
106
+ },
107
+ primitive: _l7Core.gl.TRIANGLES
108
+ });
109
+
110
+ case 2:
111
+ model = _context2.sent;
112
+ return _context2.abrupt("return", [model]);
113
+
114
+ case 4:
115
+ case "end":
116
+ return _context2.stop();
117
+ }
89
118
  }
90
119
  }, _callee2, this);
91
120
  }));
121
+
92
122
  function buildModels() {
93
123
  return _buildModels.apply(this, arguments);
94
124
  }
125
+
95
126
  return buildModels;
96
127
  }()
97
128
  }, {
@@ -119,4 +150,5 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
119
150
  }]);
120
151
  return HexagonModel;
121
152
  }(_BaseModel2.default);
153
+
122
154
  exports.default = HexagonModel;
@@ -1,14 +1,20 @@
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 _grid = _interopRequireDefault(require("./grid"));
11
+
9
12
  var _grid3d = _interopRequireDefault(require("./grid3d"));
13
+
10
14
  var _heatmap = _interopRequireDefault(require("./heatmap"));
15
+
11
16
  var _hexagon = _interopRequireDefault(require("./hexagon"));
17
+
12
18
  var HeatMapModels = {
13
19
  heatmap: _heatmap.default,
14
20
  heatmap3d: _heatmap.default,
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.heatMap3DTriangulation = heatMap3DTriangulation;
7
+
7
8
  function heatMap3DTriangulation(width, height) {
8
9
  var indices = [];
9
10
  var vertices = [];
@@ -12,8 +13,10 @@ function heatMap3DTriangulation(width, height) {
12
13
  var gridY1 = height + 1;
13
14
  var widthHalf = width / 2;
14
15
  var heightHalf = height / 2;
16
+
15
17
  for (var iy = 0; iy < gridY1; iy++) {
16
18
  var y = iy - heightHalf;
19
+
17
20
  for (var ix = 0; ix < gridX1; ix++) {
18
21
  var x = ix - widthHalf;
19
22
  vertices.push(x / widthHalf, -y / heightHalf, 0);
@@ -21,6 +24,7 @@ function heatMap3DTriangulation(width, height) {
21
24
  uvs.push(1 - iy / height);
22
25
  }
23
26
  }
27
+
24
28
  for (var _iy = 0; _iy < height; _iy++) {
25
29
  for (var _ix = 0; _ix < width; _ix++) {
26
30
  var a = _ix + gridX1 * _iy;
@@ -31,6 +35,7 @@ function heatMap3DTriangulation(width, height) {
31
35
  indices.push(b, c, d);
32
36
  }
33
37
  }
38
+
34
39
  return {
35
40
  vertices: vertices,
36
41
  indices: indices,
@@ -1,57 +1,83 @@
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 _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
29
+
18
30
  var _index = _interopRequireDefault(require("./models/index"));
31
+
19
32
  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); }; }
33
+
20
34
  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; } }
35
+
21
36
  var ImageLayer = /*#__PURE__*/function (_BaseLayer) {
22
37
  (0, _inherits2.default)(ImageLayer, _BaseLayer);
38
+
23
39
  var _super = _createSuper(ImageLayer);
40
+
24
41
  function ImageLayer() {
25
42
  var _this;
43
+
26
44
  (0, _classCallCheck2.default)(this, ImageLayer);
45
+
27
46
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
47
  args[_key] = arguments[_key];
29
48
  }
49
+
30
50
  _this = _super.call.apply(_super, [this].concat(args));
31
51
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'ImageLayer');
32
52
  return _this;
33
53
  }
54
+
34
55
  (0, _createClass2.default)(ImageLayer, [{
35
56
  key: "buildModels",
36
57
  value: function () {
37
58
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
38
59
  var modelType;
39
60
  return _regenerator.default.wrap(function _callee$(_context) {
40
- while (1) switch (_context.prev = _context.next) {
41
- case 0:
42
- modelType = this.getModelType();
43
- this.layerModel = new _index.default[modelType](this);
44
- _context.next = 4;
45
- return this.initLayerModels();
46
- case 4:
47
- case "end":
48
- return _context.stop();
61
+ while (1) {
62
+ switch (_context.prev = _context.next) {
63
+ case 0:
64
+ modelType = this.getModelType();
65
+ this.layerModel = new _index.default[modelType](this);
66
+ _context.next = 4;
67
+ return this.initLayerModels();
68
+
69
+ case 4:
70
+ case "end":
71
+ return _context.stop();
72
+ }
49
73
  }
50
74
  }, _callee, this);
51
75
  }));
76
+
52
77
  function buildModels() {
53
78
  return _buildModels.apply(this, arguments);
54
79
  }
80
+
55
81
  return buildModels;
56
82
  }()
57
83
  }, {
@@ -71,4 +97,5 @@ var ImageLayer = /*#__PURE__*/function (_BaseLayer) {
71
97
  }]);
72
98
  return ImageLayer;
73
99
  }(_BaseLayer2.default);
100
+
74
101
  exports.default = ImageLayer;
@@ -1,39 +1,60 @@
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 _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
29
+
18
30
  var _triangulation = require("../../core/triangulation");
31
+
19
32
  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); }; }
33
+
20
34
  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; } }
35
+
21
36
  /* babel-plugin-inline-import '../shaders/image_frag.glsl' */
22
37
  var ImageFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nvoid main() {\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n gl_FragColor = color;\n gl_FragColor.a *= u_opacity;\n if(gl_FragColor.a < 0.01)\n discard;\n}\n";
38
+
23
39
  /* babel-plugin-inline-import '../shaders/image_vert.glsl' */
24
40
  var ImageVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
41
+
25
42
  var ImageModel = /*#__PURE__*/function (_BaseModel) {
26
43
  (0, _inherits2.default)(ImageModel, _BaseModel);
44
+
27
45
  var _super = _createSuper(ImageModel);
46
+
28
47
  function ImageModel() {
29
48
  (0, _classCallCheck2.default)(this, ImageModel);
30
49
  return _super.apply(this, arguments);
31
50
  }
51
+
32
52
  (0, _createClass2.default)(ImageModel, [{
33
53
  key: "getUninforms",
34
54
  value: function getUninforms() {
35
55
  var _ref = this.layer.getLayerConfig(),
36
- opacity = _ref.opacity;
56
+ opacity = _ref.opacity;
57
+
37
58
  return {
38
59
  u_opacity: opacity || 1,
39
60
  u_texture: this.texture
@@ -44,81 +65,97 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
44
65
  value: function () {
45
66
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
46
67
  var _this = this;
68
+
47
69
  var source, createTexture2D, canvas, img, imageData, model;
48
70
  return _regenerator.default.wrap(function _callee$(_context) {
49
- while (1) switch (_context.prev = _context.next) {
50
- case 0:
51
- source = this.layer.getSource();
52
- createTexture2D = this.rendererService.createTexture2D;
53
- this.texture = createTexture2D({
54
- height: 0,
55
- width: 0
56
- });
57
- if (!_l7Utils.isMini) {
58
- _context.next = 11;
59
- break;
60
- }
61
- // @ts-ignore
62
- canvas = this.layerService.sceneService.getSceneConfig().canvas;
63
- img = canvas.createImage();
64
- img.crossOrigin = 'anonymous';
65
- img.src = source.data.originData;
66
- img.onload = function () {
67
- _this.texture = createTexture2D({
68
- data: img,
69
- width: img.width,
70
- height: img.height
71
+ while (1) {
72
+ switch (_context.prev = _context.next) {
73
+ case 0:
74
+ source = this.layer.getSource();
75
+ createTexture2D = this.rendererService.createTexture2D;
76
+ this.texture = createTexture2D({
77
+ height: 0,
78
+ width: 0
71
79
  });
72
- _this.layerService.reRender();
73
- };
74
- _context.next = 15;
75
- break;
76
- case 11:
77
- _context.next = 13;
78
- return source.data.images;
79
- case 13:
80
- imageData = _context.sent;
81
- this.texture = createTexture2D({
82
- data: imageData[0],
83
- width: imageData[0].width,
84
- height: imageData[0].height,
85
- mag: _l7Core.gl.LINEAR,
86
- min: _l7Core.gl.LINEAR
87
- });
88
- case 15:
89
- _context.next = 17;
90
- return this.layer.buildLayerModel({
91
- moduleName: 'rasterImage',
92
- vertexShader: ImageVert,
93
- fragmentShader: ImageFrag,
94
- triangulation: _triangulation.RasterImageTriangulation,
95
- primitive: _l7Core.gl.TRIANGLES,
96
- blend: {
97
- // Tip: 优化显示效果
98
- enable: true
99
- },
100
- depth: {
101
- enable: false
80
+
81
+ if (!_l7Utils.isMini) {
82
+ _context.next = 11;
83
+ break;
102
84
  }
103
- });
104
- case 17:
105
- model = _context.sent;
106
- return _context.abrupt("return", [model]);
107
- case 19:
108
- case "end":
109
- return _context.stop();
85
+
86
+ // @ts-ignore
87
+ canvas = this.layerService.sceneService.getSceneConfig().canvas;
88
+ img = canvas.createImage();
89
+ img.crossOrigin = 'anonymous';
90
+ img.src = source.data.originData;
91
+
92
+ img.onload = function () {
93
+ _this.texture = createTexture2D({
94
+ data: img,
95
+ width: img.width,
96
+ height: img.height
97
+ });
98
+
99
+ _this.layerService.reRender();
100
+ };
101
+
102
+ _context.next = 15;
103
+ break;
104
+
105
+ case 11:
106
+ _context.next = 13;
107
+ return source.data.images;
108
+
109
+ case 13:
110
+ imageData = _context.sent;
111
+ this.texture = createTexture2D({
112
+ data: imageData[0],
113
+ width: imageData[0].width,
114
+ height: imageData[0].height,
115
+ mag: _l7Core.gl.LINEAR,
116
+ min: _l7Core.gl.LINEAR
117
+ });
118
+
119
+ case 15:
120
+ _context.next = 17;
121
+ return this.layer.buildLayerModel({
122
+ moduleName: 'rasterImage',
123
+ vertexShader: ImageVert,
124
+ fragmentShader: ImageFrag,
125
+ triangulation: _triangulation.RasterImageTriangulation,
126
+ primitive: _l7Core.gl.TRIANGLES,
127
+ blend: {
128
+ // Tip: 优化显示效果
129
+ enable: true
130
+ },
131
+ depth: {
132
+ enable: false
133
+ }
134
+ });
135
+
136
+ case 17:
137
+ model = _context.sent;
138
+ return _context.abrupt("return", [model]);
139
+
140
+ case 19:
141
+ case "end":
142
+ return _context.stop();
143
+ }
110
144
  }
111
145
  }, _callee, this);
112
146
  }));
147
+
113
148
  function initModels() {
114
149
  return _initModels.apply(this, arguments);
115
150
  }
151
+
116
152
  return initModels;
117
153
  }()
118
154
  }, {
119
155
  key: "clearModels",
120
156
  value: function clearModels() {
121
157
  var _this$texture;
158
+
122
159
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
123
160
  }
124
161
  }, {
@@ -126,18 +163,23 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
126
163
  value: function () {
127
164
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
128
165
  return _regenerator.default.wrap(function _callee2$(_context2) {
129
- while (1) switch (_context2.prev = _context2.next) {
130
- case 0:
131
- return _context2.abrupt("return", this.initModels());
132
- case 1:
133
- case "end":
134
- return _context2.stop();
166
+ while (1) {
167
+ switch (_context2.prev = _context2.next) {
168
+ case 0:
169
+ return _context2.abrupt("return", this.initModels());
170
+
171
+ case 1:
172
+ case "end":
173
+ return _context2.stop();
174
+ }
135
175
  }
136
176
  }, _callee2, this);
137
177
  }));
178
+
138
179
  function buildModels() {
139
180
  return _buildModels.apply(this, arguments);
140
181
  }
182
+
141
183
  return buildModels;
142
184
  }()
143
185
  }, {
@@ -163,4 +205,5 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
163
205
  }]);
164
206
  return ImageModel;
165
207
  }(_BaseModel2.default);
208
+
166
209
  exports.default = ImageModel;
@@ -1,11 +1,14 @@
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 _image = _interopRequireDefault(require("./image"));
11
+
9
12
  var ImageModels = {
10
13
  image: _image.default
11
14
  };