@antv/l7-layers 2.14.1 → 2.14.3

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 (122) hide show
  1. package/es/Geometry/models/billboard.js +3 -6
  2. package/es/Geometry/models/plane.js +3 -6
  3. package/es/core/BaseLayer.d.ts +7 -3
  4. package/es/core/BaseLayer.js +64 -20
  5. package/es/core/BaseModel.d.ts +3 -2
  6. package/es/core/BaseModel.js +39 -3
  7. package/es/core/LayerPickService.js +6 -30
  8. package/es/heatmap/index.d.ts +2 -2
  9. package/es/heatmap/index.js +5 -2
  10. package/es/heatmap/models/grid.js +5 -9
  11. package/es/heatmap/models/grid3d.js +5 -10
  12. package/es/heatmap/models/heatmap.d.ts +2 -2
  13. package/es/heatmap/models/heatmap.js +54 -46
  14. package/es/heatmap/models/hexagon.js +5 -10
  15. package/es/image/models/image.js +13 -16
  16. package/es/image/shaders/image_frag.glsl +2 -0
  17. package/es/index.js +6 -0
  18. package/es/line/models/arc.js +4 -6
  19. package/es/line/models/arc_3d.js +4 -6
  20. package/es/line/models/earthArc_3d.js +4 -6
  21. package/es/line/models/great_circle.js +9 -13
  22. package/es/line/models/half.js +4 -6
  23. package/es/line/models/line.js +3 -5
  24. package/es/line/models/linearline.js +4 -6
  25. package/es/line/models/simpleLine.js +5 -8
  26. package/es/mask/models/fill.js +1 -17
  27. package/es/plugins/LayerMaskPlugin.d.ts +8 -0
  28. package/es/plugins/LayerMaskPlugin.js +42 -0
  29. package/es/plugins/LayerStylePlugin.js +2 -1
  30. package/es/point/models/extrude.js +0 -1
  31. package/es/point/models/fill.js +4 -6
  32. package/es/point/models/fillmage.js +8 -12
  33. package/es/point/models/image.js +9 -14
  34. package/es/point/models/normal.js +4 -9
  35. package/es/point/models/radar.js +5 -10
  36. package/es/point/models/simplePoint.js +5 -10
  37. package/es/point/models/text.js +10 -16
  38. package/es/point/shaders/fill_frag.glsl +4 -0
  39. package/es/point/shaders/image_frag.glsl +4 -0
  40. package/es/point/shaders/text_frag.glsl +4 -0
  41. package/es/polygon/index.js +1 -1
  42. package/es/polygon/models/extrude.js +11 -13
  43. package/es/polygon/models/fill.js +3 -5
  44. package/es/polygon/models/ocean.js +6 -9
  45. package/es/polygon/models/water.js +7 -11
  46. package/es/raster/models/raster.js +9 -11
  47. package/es/raster/models/rasterRgb.js +8 -11
  48. package/es/raster/models/rasterTerrainRgb.js +9 -13
  49. package/es/raster/shaders/raster_2d_frag.glsl +6 -3
  50. package/es/raster/shaders/raster_frag.glsl +2 -0
  51. package/es/raster/shaders/raster_rgb_frag.glsl +2 -0
  52. package/es/raster/shaders/raster_terrain_rgb_frag.glsl +2 -0
  53. package/es/tile/service/TileLayerService.js +5 -4
  54. package/es/tile/style/constants.js +1 -1
  55. package/es/tile/tileFactory/Tile.d.ts +8 -0
  56. package/es/tile/tileFactory/Tile.js +102 -14
  57. package/es/tile/tileFactory/VectorTile.d.ts +0 -1
  58. package/es/tile/tileFactory/VectorTile.js +6 -46
  59. package/es/tile/tileLayer/BaseLayer.d.ts +2 -1
  60. package/es/tile/tileLayer/BaseLayer.js +68 -62
  61. package/es/utils/stencil.d.ts +7 -0
  62. package/es/utils/stencil.js +50 -0
  63. package/es/wind/index.d.ts +2 -1
  64. package/es/wind/index.js +3 -1
  65. package/es/wind/models/wind.d.ts +2 -2
  66. package/es/wind/models/wind.js +12 -10
  67. package/lib/Geometry/models/billboard.js +3 -7
  68. package/lib/Geometry/models/plane.js +2 -6
  69. package/lib/core/BaseLayer.js +64 -20
  70. package/lib/core/BaseModel.js +40 -2
  71. package/lib/core/LayerPickService.js +6 -32
  72. package/lib/heatmap/index.js +5 -2
  73. package/lib/heatmap/models/grid.js +5 -10
  74. package/lib/heatmap/models/grid3d.js +5 -11
  75. package/lib/heatmap/models/heatmap.js +53 -45
  76. package/lib/heatmap/models/hexagon.js +5 -11
  77. package/lib/image/models/image.js +12 -15
  78. package/lib/image/shaders/image_frag.glsl +2 -0
  79. package/lib/index.js +8 -0
  80. package/lib/line/models/arc.js +3 -5
  81. package/lib/line/models/arc_3d.js +3 -5
  82. package/lib/line/models/earthArc_3d.js +3 -5
  83. package/lib/line/models/great_circle.js +8 -12
  84. package/lib/line/models/half.js +3 -5
  85. package/lib/line/models/line.js +2 -4
  86. package/lib/line/models/linearline.js +3 -5
  87. package/lib/line/models/simpleLine.js +4 -7
  88. package/lib/mask/models/fill.js +1 -18
  89. package/lib/plugins/LayerMaskPlugin.js +54 -0
  90. package/lib/plugins/LayerStylePlugin.js +2 -1
  91. package/lib/point/models/extrude.js +0 -1
  92. package/lib/point/models/fill.js +3 -5
  93. package/lib/point/models/fillmage.js +7 -11
  94. package/lib/point/models/image.js +9 -15
  95. package/lib/point/models/normal.js +4 -10
  96. package/lib/point/models/radar.js +5 -11
  97. package/lib/point/models/simplePoint.js +5 -11
  98. package/lib/point/models/text.js +9 -15
  99. package/lib/point/shaders/fill_frag.glsl +4 -0
  100. package/lib/point/shaders/image_frag.glsl +4 -0
  101. package/lib/point/shaders/text_frag.glsl +4 -0
  102. package/lib/polygon/index.js +1 -1
  103. package/lib/polygon/models/extrude.js +10 -12
  104. package/lib/polygon/models/fill.js +2 -4
  105. package/lib/polygon/models/ocean.js +5 -8
  106. package/lib/polygon/models/water.js +7 -12
  107. package/lib/raster/models/raster.js +8 -10
  108. package/lib/raster/models/rasterRgb.js +8 -12
  109. package/lib/raster/models/rasterTerrainRgb.js +8 -12
  110. package/lib/raster/shaders/raster_2d_frag.glsl +6 -3
  111. package/lib/raster/shaders/raster_frag.glsl +2 -0
  112. package/lib/raster/shaders/raster_rgb_frag.glsl +2 -0
  113. package/lib/raster/shaders/raster_terrain_rgb_frag.glsl +2 -0
  114. package/lib/tile/service/TileLayerService.js +5 -4
  115. package/lib/tile/style/constants.js +1 -1
  116. package/lib/tile/tileFactory/Tile.js +102 -14
  117. package/lib/tile/tileFactory/VectorTile.js +6 -47
  118. package/lib/tile/tileLayer/BaseLayer.js +67 -62
  119. package/lib/utils/stencil.js +60 -0
  120. package/lib/wind/index.js +3 -1
  121. package/lib/wind/models/wind.js +11 -9
  122. package/package.json +7 -7
@@ -16,7 +16,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
16
16
  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; } }
17
17
 
18
18
  import { AttributeType, gl } from '@antv/l7-core';
19
- import { generateColorRamp, getCullFace, getMask } from '@antv/l7-utils';
19
+ import { generateColorRamp, getCullFace } from '@antv/l7-utils';
20
20
  import { mat4 } from 'gl-matrix';
21
21
  import { injectable } from 'inversify';
22
22
  import 'reflect-metadata';
@@ -54,7 +54,7 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
54
54
 
55
55
  _createClass(HeatMapModel, [{
56
56
  key: "render",
57
- value: function render() {
57
+ value: function render(options) {
58
58
  var _this = this;
59
59
 
60
60
  var _this$rendererService = this.rendererService,
@@ -75,7 +75,7 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
75
75
  this.updateColorTexture();
76
76
  }
77
77
 
78
- this.shapeType === 'heatmap' ? this.drawColorMode() : this.draw3DHeatMap();
78
+ this.shapeType === 'heatmap' ? this.drawColorMode(options) : this.draw3DHeatMap(options);
79
79
  }
80
80
  }, {
81
81
  key: "getUninforms",
@@ -223,15 +223,6 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
223
223
  cull: {
224
224
  enable: true,
225
225
  face: getCullFace(this.mapService.version)
226
- },
227
- blend: {
228
- enable: true,
229
- func: {
230
- srcRGB: gl.ONE,
231
- srcAlpha: 1,
232
- dstRGB: gl.ONE,
233
- dstAlpha: 1
234
- }
235
226
  }
236
227
  });
237
228
 
@@ -256,12 +247,6 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
256
247
  }, {
257
248
  key: "buildHeatmapColor",
258
249
  value: function buildHeatmapColor() {
259
- var _ref = this.layer.getLayerConfig(),
260
- _ref$mask = _ref.mask,
261
- mask = _ref$mask === void 0 ? false : _ref$mask,
262
- _ref$maskInside = _ref.maskInside,
263
- maskInside = _ref$maskInside === void 0 ? true : _ref$maskInside;
264
-
265
250
  this.shaderModuleService.registerModule('heatmapColor', {
266
251
  vs: heatmapColorVert,
267
252
  fs: heatmapColorFrag
@@ -300,13 +285,11 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
300
285
  depth: {
301
286
  enable: false
302
287
  },
303
- blend: this.getBlend(),
304
288
  elements: createElements({
305
289
  data: [0, 2, 1, 2, 3, 1],
306
290
  type: gl.UNSIGNED_INT,
307
291
  count: 6
308
- }),
309
- stencil: getMask(mask, maskInside)
292
+ })
310
293
  });
311
294
  }
312
295
  }, {
@@ -314,47 +297,69 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
314
297
  value: function drawIntensityMode() {
315
298
  var _this$intensityModel;
316
299
 
317
- var _ref2 = this.layer.getLayerConfig(),
318
- opacity = _ref2.opacity,
319
- _ref2$intensity = _ref2.intensity,
320
- intensity = _ref2$intensity === void 0 ? 10 : _ref2$intensity,
321
- _ref2$radius = _ref2.radius,
322
- radius = _ref2$radius === void 0 ? 5 : _ref2$radius;
300
+ var _ref = this.layer.getLayerConfig(),
301
+ opacity = _ref.opacity,
302
+ _ref$intensity = _ref.intensity,
303
+ intensity = _ref$intensity === void 0 ? 10 : _ref$intensity,
304
+ _ref$radius = _ref.radius,
305
+ radius = _ref$radius === void 0 ? 5 : _ref$radius;
323
306
 
324
307
  this.layerService.beforeRenderData(this.layer);
325
- this.layer.hooks.beforeRender.call();
308
+ this.layer.hooks.beforeRender.call(); // 绘制密度图
309
+
326
310
  (_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
327
311
  uniforms: {
328
312
  u_opacity: opacity || 1.0,
329
313
  u_radius: radius,
330
314
  u_intensity: intensity
315
+ },
316
+ blend: {
317
+ enable: true,
318
+ func: {
319
+ srcRGB: gl.ONE,
320
+ srcAlpha: 1,
321
+ dstRGB: gl.ONE,
322
+ dstAlpha: 1
323
+ }
324
+ },
325
+ stencil: {
326
+ enable: false,
327
+ mask: 0xff,
328
+ func: {
329
+ cmp: 514,
330
+ // gl.EQUAL,
331
+ ref: 1,
332
+ mask: 0xff
333
+ }
331
334
  }
332
335
  });
333
336
  this.layer.hooks.afterRender.call();
334
337
  }
335
338
  }, {
336
339
  key: "drawColorMode",
337
- value: function drawColorMode() {
340
+ value: function drawColorMode(options) {
338
341
  var _this$colorModel;
339
342
 
340
- var _ref3 = this.layer.getLayerConfig(),
341
- opacity = _ref3.opacity;
343
+ var _ref2 = this.layer.getLayerConfig(),
344
+ opacity = _ref2.opacity;
342
345
 
343
346
  (_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
344
347
  uniforms: {
345
348
  u_opacity: opacity || 1.0,
346
349
  u_colorTexture: this.colorTexture,
347
350
  u_texture: this.heatmapFramerBuffer
348
- }
351
+ },
352
+ blend: this.getBlend(),
353
+ stencil: this.getStencil(options)
349
354
  });
350
355
  }
351
356
  }, {
352
357
  key: "draw3DHeatMap",
353
- value: function draw3DHeatMap() {
358
+ value: function draw3DHeatMap(options) {
354
359
  var _this$colorModel2;
355
360
 
356
- var _ref4 = this.layer.getLayerConfig(),
357
- opacity = _ref4.opacity; // const invert = mat4.invert(
361
+ var _ref3 = this.layer.getLayerConfig(),
362
+ opacity = _ref3.opacity; // const invert = mat4.invert(
358
363
  // mat4.create(),
359
364
  // mat4.fromValues(
360
365
  // // @ts-ignore
@@ -372,18 +377,22 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
372
377
  u_texture: this.heatmapFramerBuffer,
373
378
  u_ViewProjectionMatrixUncentered: this.cameraService.getViewProjectionMatrixUncentered(),
374
379
  u_InverseViewProjectionMatrix: _toConsumableArray(invert)
375
- }
380
+ },
381
+ blend: {
382
+ enable: true,
383
+ func: {
384
+ srcRGB: gl.SRC_ALPHA,
385
+ srcAlpha: 1,
386
+ dstRGB: gl.ONE_MINUS_SRC_ALPHA,
387
+ dstAlpha: 1
388
+ }
389
+ },
390
+ stencil: this.getStencil(options)
376
391
  });
377
392
  }
378
393
  }, {
379
394
  key: "build3dHeatMap",
380
395
  value: function build3dHeatMap() {
381
- var _ref5 = this.layer.getLayerConfig(),
382
- _ref5$mask = _ref5.mask,
383
- mask = _ref5$mask === void 0 ? false : _ref5$mask,
384
- _ref5$maskInside = _ref5.maskInside,
385
- maskInside = _ref5$maskInside === void 0 ? true : _ref5$maskInside;
386
-
387
396
  var getViewportSize = this.rendererService.getViewportSize;
388
397
 
389
398
  var _getViewportSize2 = getViewportSize(),
@@ -443,8 +452,7 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
443
452
  data: triangulation.indices,
444
453
  type: gl.UNSIGNED_INT,
445
454
  count: triangulation.indices.length
446
- }),
447
- stencil: getMask(mask, maskInside)
455
+ })
448
456
  });
449
457
  }
450
458
  }, {
@@ -461,8 +469,8 @@ var HeatMapModel = (_dec = injectable(), _dec(_class = /*#__PURE__*/function (_B
461
469
  this.texture.destroy();
462
470
  }
463
471
 
464
- var _ref6 = this.layer.getLayerConfig(),
465
- rampColors = _ref6.rampColors;
472
+ var _ref4 = this.layer.getLayerConfig(),
473
+ rampColors = _ref4.rampColors;
466
474
 
467
475
  var imageData = generateColorRamp(rampColors);
468
476
  this.colorTexture = createTexture2D({
@@ -11,7 +11,6 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
13
  import { AttributeType, gl } from '@antv/l7-core';
14
- import { getMask } from '@antv/l7-utils';
15
14
  import BaseModel from "../../core/BaseModel";
16
15
  import { HeatmapGridTriangulation } from "../../core/triangulation";
17
16
 
@@ -75,14 +74,12 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
75
74
  key: "buildModels",
76
75
  value: function () {
77
76
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
78
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
79
-
77
+ var model;
80
78
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
81
79
  while (1) {
82
80
  switch (_context2.prev = _context2.next) {
83
81
  case 0:
84
- _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
85
- _context2.next = 3;
82
+ _context2.next = 2;
86
83
  return this.layer.buildLayerModel({
87
84
  moduleName: 'heatmapHexagon',
88
85
  vertexShader: heatmapGridVert,
@@ -91,16 +88,14 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
91
88
  depth: {
92
89
  enable: false
93
90
  },
94
- primitive: gl.TRIANGLES,
95
- blend: this.getBlend(),
96
- stencil: getMask(mask, maskInside)
91
+ primitive: gl.TRIANGLES
97
92
  });
98
93
 
99
- case 3:
94
+ case 2:
100
95
  model = _context2.sent;
101
96
  return _context2.abrupt("return", [model]);
102
97
 
103
- case 5:
98
+ case 4:
104
99
  case "end":
105
100
  return _context2.stop();
106
101
  }
@@ -11,12 +11,12 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
13
  import { AttributeType, gl } from '@antv/l7-core';
14
- import { getMask, isMini } from '@antv/l7-utils';
14
+ import { isMini } from '@antv/l7-utils';
15
15
  import BaseModel from "../../core/BaseModel";
16
16
  import { RasterImageTriangulation } from "../../core/triangulation";
17
17
 
18
18
  /* babel-plugin-inline-import '../shaders/image_frag.glsl' */
19
- 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}\n";
19
+ 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";
20
20
 
21
21
  /* babel-plugin-inline-import '../shaders/image_vert.glsl' */
22
22
  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";
@@ -49,13 +49,11 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
49
49
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
50
50
  var _this = this;
51
51
 
52
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, canvas, img, imageData, model;
53
-
52
+ var source, createTexture2D, canvas, img, imageData, model;
54
53
  return _regeneratorRuntime.wrap(function _callee$(_context) {
55
54
  while (1) {
56
55
  switch (_context.prev = _context.next) {
57
56
  case 0:
58
- _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
59
57
  source = this.layer.getSource();
60
58
  createTexture2D = this.rendererService.createTexture2D;
61
59
  this.texture = createTexture2D({
@@ -64,7 +62,7 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
64
62
  });
65
63
 
66
64
  if (!isMini) {
67
- _context.next = 12;
65
+ _context.next = 11;
68
66
  break;
69
67
  }
70
68
 
@@ -84,14 +82,14 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
84
82
  _this.layerService.reRender();
85
83
  };
86
84
 
87
- _context.next = 16;
85
+ _context.next = 15;
88
86
  break;
89
87
 
90
- case 12:
91
- _context.next = 14;
88
+ case 11:
89
+ _context.next = 13;
92
90
  return source.data.images;
93
91
 
94
- case 14:
92
+ case 13:
95
93
  imageData = _context.sent;
96
94
  this.texture = createTexture2D({
97
95
  data: imageData[0],
@@ -101,8 +99,8 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
101
99
  min: gl.LINEAR
102
100
  });
103
101
 
104
- case 16:
105
- _context.next = 18;
102
+ case 15:
103
+ _context.next = 17;
106
104
  return this.layer.buildLayerModel({
107
105
  moduleName: 'rasterImage',
108
106
  vertexShader: ImageVert,
@@ -115,15 +113,14 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
115
113
  },
116
114
  depth: {
117
115
  enable: false
118
- },
119
- stencil: getMask(mask, maskInside)
116
+ }
120
117
  });
121
118
 
122
- case 18:
119
+ case 17:
123
120
  model = _context.sent;
124
121
  return _context.abrupt("return", [model]);
125
122
 
126
- case 20:
123
+ case 19:
127
124
  case "end":
128
125
  return _context.stop();
129
126
  }
@@ -6,4 +6,6 @@ void main() {
6
6
  vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));
7
7
  gl_FragColor = color;
8
8
  gl_FragColor.a *= u_opacity;
9
+ if(gl_FragColor.a < 0.01)
10
+ discard;
9
11
  }
package/es/index.js CHANGED
@@ -20,6 +20,7 @@ import DataMappingPlugin from "./plugins/DataMappingPlugin";
20
20
  import DataSourcePlugin from "./plugins/DataSourcePlugin";
21
21
  import FeatureScalePlugin from "./plugins/FeatureScalePlugin";
22
22
  import LayerAnimateStylePlugin from "./plugins/LayerAnimateStylePlugin";
23
+ import LayerMaskPlugin from "./plugins/LayerMaskPlugin";
23
24
  import LayerModelPlugin from "./plugins/LayerModelPlugin";
24
25
  import LayerStylePlugin from "./plugins/LayerStylePlugin";
25
26
  import LightingPlugin from "./plugins/LightingPlugin";
@@ -63,6 +64,11 @@ container.bind(TYPES.ILayerPlugin).to(DataMappingPlugin).inRequestScope();
63
64
  */
64
65
 
65
66
  container.bind(TYPES.ILayerPlugin).to(LayerStylePlugin).inRequestScope();
67
+ /**
68
+ * 初始化地图 Mask
69
+ */
70
+
71
+ container.bind(TYPES.ILayerPlugin).to(LayerMaskPlugin).inRequestScope();
66
72
  /**
67
73
  * 负责属性更新
68
74
  */
@@ -13,7 +13,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
14
 
15
15
  import { AttributeType, gl } from '@antv/l7-core';
16
- import { getMask, rgb2arr } from '@antv/l7-utils';
16
+ import { rgb2arr } from '@antv/l7-utils';
17
17
  import { isNumber } from 'lodash';
18
18
  import BaseModel from "../../core/BaseModel";
19
19
  import { LineArcTriangulation } from "../../core/triangulation"; // arc dash line
@@ -268,13 +268,13 @@ var ArcModel = /*#__PURE__*/function (_BaseModel) {
268
268
  key: "buildModels",
269
269
  value: function () {
270
270
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
271
- var _ref4, _ref4$segmentNumber, segmentNumber, _ref4$mask, mask, _ref4$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
271
+ var _ref4, _ref4$segmentNumber, segmentNumber, _this$getShaders, frag, vert, type, model;
272
272
 
273
273
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
274
274
  while (1) {
275
275
  switch (_context2.prev = _context2.next) {
276
276
  case 0:
277
- _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber, _ref4$mask = _ref4.mask, mask = _ref4$mask === void 0 ? false : _ref4$mask, _ref4$maskInside = _ref4.maskInside, maskInside = _ref4$maskInside === void 0 ? true : _ref4$maskInside;
277
+ _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber;
278
278
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type; //
279
279
 
280
280
  _context2.next = 4;
@@ -286,9 +286,7 @@ var ArcModel = /*#__PURE__*/function (_BaseModel) {
286
286
  depth: {
287
287
  enable: false
288
288
  },
289
- blend: this.getBlend(),
290
- segmentNumber: segmentNumber,
291
- stencil: getMask(mask, maskInside)
289
+ segmentNumber: segmentNumber
292
290
  });
293
291
 
294
292
  case 4:
@@ -13,7 +13,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
14
 
15
15
  import { AttributeType, gl } from '@antv/l7-core';
16
- import { getMask, rgb2arr } from '@antv/l7-utils';
16
+ import { rgb2arr } from '@antv/l7-utils';
17
17
  import { isNumber } from 'lodash';
18
18
  import BaseModel from "../../core/BaseModel";
19
19
  import { LineArcTriangulation } from "../../core/triangulation";
@@ -250,13 +250,13 @@ var Arc3DModel = /*#__PURE__*/function (_BaseModel) {
250
250
  key: "buildModels",
251
251
  value: function () {
252
252
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
253
- var _ref4, _ref4$segmentNumber, segmentNumber, _ref4$mask, mask, _ref4$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
253
+ var _ref4, _ref4$segmentNumber, segmentNumber, _this$getShaders, frag, vert, type, model;
254
254
 
255
255
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
256
256
  while (1) {
257
257
  switch (_context2.prev = _context2.next) {
258
258
  case 0:
259
- _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber, _ref4$mask = _ref4.mask, mask = _ref4$mask === void 0 ? false : _ref4$mask, _ref4$maskInside = _ref4.maskInside, maskInside = _ref4$maskInside === void 0 ? true : _ref4$maskInside;
259
+ _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber;
260
260
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
261
261
  _context2.next = 4;
262
262
  return this.layer.buildLayerModel({
@@ -264,9 +264,7 @@ var Arc3DModel = /*#__PURE__*/function (_BaseModel) {
264
264
  vertexShader: vert,
265
265
  fragmentShader: frag,
266
266
  triangulation: LineArcTriangulation,
267
- blend: this.getBlend(),
268
- segmentNumber: segmentNumber,
269
- stencil: getMask(mask, maskInside)
267
+ segmentNumber: segmentNumber
270
268
  });
271
269
 
272
270
  case 4:
@@ -13,7 +13,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
14
 
15
15
  import { AttributeType, gl } from '@antv/l7-core';
16
- import { getMask, rgb2arr } from '@antv/l7-utils';
16
+ import { rgb2arr } from '@antv/l7-utils';
17
17
  import { isNumber } from 'lodash';
18
18
  import BaseModel from "../../core/BaseModel";
19
19
  import { LineArcTriangulation } from "../../core/triangulation";
@@ -250,13 +250,13 @@ var Arc3DModel = /*#__PURE__*/function (_BaseModel) {
250
250
  key: "buildModels",
251
251
  value: function () {
252
252
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
253
- var _ref4, _ref4$segmentNumber, segmentNumber, _ref4$mask, mask, _ref4$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
253
+ var _ref4, _ref4$segmentNumber, segmentNumber, _this$getShaders, frag, vert, type, model;
254
254
 
255
255
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
256
256
  while (1) {
257
257
  switch (_context2.prev = _context2.next) {
258
258
  case 0:
259
- _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber, _ref4$mask = _ref4.mask, mask = _ref4$mask === void 0 ? false : _ref4$mask, _ref4$maskInside = _ref4.maskInside, maskInside = _ref4$maskInside === void 0 ? true : _ref4$maskInside;
259
+ _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber;
260
260
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
261
261
  _context2.next = 4;
262
262
  return this.layer.buildLayerModel({
@@ -267,9 +267,7 @@ var Arc3DModel = /*#__PURE__*/function (_BaseModel) {
267
267
  depth: {
268
268
  enable: true
269
269
  },
270
- blend: this.getBlend(),
271
- segmentNumber: segmentNumber,
272
- stencil: getMask(mask, maskInside)
270
+ segmentNumber: segmentNumber
273
271
  });
274
272
 
275
273
  case 4:
@@ -13,7 +13,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
14
 
15
15
  import { AttributeType, gl } from '@antv/l7-core';
16
- import { getMask, rgb2arr } from '@antv/l7-utils';
16
+ import { rgb2arr } from '@antv/l7-utils';
17
17
  import { isNumber } from 'lodash';
18
18
  import BaseModel from "../../core/BaseModel";
19
19
  import { LineArcTriangulation } from "../../core/triangulation";
@@ -215,14 +215,12 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
215
215
  key: "buildModels",
216
216
  value: function () {
217
217
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
218
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, model;
219
-
218
+ var model;
220
219
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
221
220
  while (1) {
222
221
  switch (_context2.prev = _context2.next) {
223
222
  case 0:
224
- _ref3 = this.layer.getLayerConfig(), _ref3$mask = _ref3.mask, mask = _ref3$mask === void 0 ? false : _ref3$mask, _ref3$maskInside = _ref3.maskInside, maskInside = _ref3$maskInside === void 0 ? true : _ref3$maskInside;
225
- _context2.next = 3;
223
+ _context2.next = 2;
226
224
  return this.layer.buildLayerModel({
227
225
  moduleName: 'lineGreatCircle',
228
226
  vertexShader: line_arc2d_vert,
@@ -230,16 +228,14 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
230
228
  triangulation: LineArcTriangulation,
231
229
  depth: {
232
230
  enable: false
233
- },
234
- blend: this.getBlend(),
235
- stencil: getMask(mask, maskInside)
231
+ }
236
232
  });
237
233
 
238
- case 3:
234
+ case 2:
239
235
  model = _context2.sent;
240
236
  return _context2.abrupt("return", [model]);
241
237
 
242
- case 5:
238
+ case 4:
243
239
  case "end":
244
240
  return _context2.stop();
245
241
  }
@@ -311,12 +307,12 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
311
307
 
312
308
  var texture = feature.texture; // console.log('icon feature', feature)
313
309
 
314
- var _ref4 = iconMap[texture] || {
310
+ var _ref3 = iconMap[texture] || {
315
311
  x: 0,
316
312
  y: 0
317
313
  },
318
- x = _ref4.x,
319
- y = _ref4.y;
314
+ x = _ref3.x,
315
+ y = _ref3.y;
320
316
 
321
317
  return [x, y];
322
318
  }
@@ -11,7 +11,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
13
  import { AttributeType, gl } from '@antv/l7-core';
14
- import { getMask, rgb2arr } from '@antv/l7-utils';
14
+ import { rgb2arr } from '@antv/l7-utils';
15
15
  import { isNumber } from 'lodash';
16
16
  import BaseModel from "../../core/BaseModel";
17
17
  import { LineTriangulation } from "../../core/triangulation";
@@ -144,13 +144,13 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
144
144
  key: "buildModels",
145
145
  value: function () {
146
146
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
147
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, _ref2$depth, depth, _this$getShaders, frag, vert, model;
147
+ var _ref2, _ref2$depth, depth, _this$getShaders, frag, vert, model;
148
148
 
149
149
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
150
150
  while (1) {
151
151
  switch (_context2.prev = _context2.next) {
152
152
  case 0:
153
- _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside, _ref2$depth = _ref2.depth, depth = _ref2$depth === void 0 ? false : _ref2$depth;
153
+ _ref2 = this.layer.getLayerConfig(), _ref2$depth = _ref2.depth, depth = _ref2$depth === void 0 ? false : _ref2$depth;
154
154
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert;
155
155
  this.layer.triangulation = LineTriangulation;
156
156
  _context2.next = 5;
@@ -161,9 +161,7 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
161
161
  triangulation: LineTriangulation,
162
162
  depth: {
163
163
  enable: depth
164
- },
165
- blend: this.getBlend(),
166
- stencil: getMask(mask, maskInside)
164
+ }
167
165
  });
168
166
 
169
167
  case 5:
@@ -13,7 +13,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
14
 
15
15
  import { AttributeType, gl } from '@antv/l7-core';
16
- import { getMask, LineTriangulation, rgb2arr } from '@antv/l7-utils';
16
+ import { LineTriangulation, rgb2arr } from '@antv/l7-utils';
17
17
  import { isNumber } from 'lodash';
18
18
  import BaseModel from "../../core/BaseModel";
19
19
  import { LinearDir, TextureBlend } from "../../core/interface"; // import { LineTriangulation } from '../../core/triangulation';
@@ -275,13 +275,13 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
275
275
  key: "buildModels",
276
276
  value: function () {
277
277
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
278
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, _ref3$depth, depth, _ref3$workerEnabled, workerEnabled, enablePicking, _this$getShaders, frag, vert, type, model;
278
+ var _ref3, _ref3$depth, depth, _ref3$workerEnabled, workerEnabled, enablePicking, _this$getShaders, frag, vert, type, model;
279
279
 
280
280
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
281
281
  while (1) {
282
282
  switch (_context2.prev = _context2.next) {
283
283
  case 0:
284
- _ref3 = this.layer.getLayerConfig(), _ref3$mask = _ref3.mask, mask = _ref3$mask === void 0 ? false : _ref3$mask, _ref3$maskInside = _ref3.maskInside, maskInside = _ref3$maskInside === void 0 ? true : _ref3$maskInside, _ref3$depth = _ref3.depth, depth = _ref3$depth === void 0 ? false : _ref3$depth, _ref3$workerEnabled = _ref3.workerEnabled, workerEnabled = _ref3$workerEnabled === void 0 ? false : _ref3$workerEnabled, enablePicking = _ref3.enablePicking;
284
+ _ref3 = this.layer.getLayerConfig(), _ref3$depth = _ref3.depth, depth = _ref3$depth === void 0 ? false : _ref3$depth, _ref3$workerEnabled = _ref3.workerEnabled, workerEnabled = _ref3$workerEnabled === void 0 ? false : _ref3$workerEnabled, enablePicking = _ref3.enablePicking;
285
285
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type; // console.log(frag)
286
286
 
287
287
  this.layer.triangulation = LineTriangulation;
@@ -294,8 +294,6 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
294
294
  depth: {
295
295
  enable: depth
296
296
  },
297
- blend: this.getBlend(),
298
- stencil: getMask(mask, maskInside),
299
297
  workerEnabled: workerEnabled,
300
298
  workerOptions: {
301
299
  modelType: 'line' + type,
@@ -13,7 +13,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
14
 
15
15
  import { AttributeType, gl } from '@antv/l7-core';
16
- import { generateColorRamp, getMask } from '@antv/l7-utils';
16
+ import { generateColorRamp } from '@antv/l7-utils';
17
17
  import { isNumber } from 'lodash';
18
18
  import BaseModel from "../../core/BaseModel";
19
19
  import { LinearDir } from "../../core/interface";
@@ -171,13 +171,13 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
171
171
  key: "buildModels",
172
172
  value: function () {
173
173
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
174
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, _ref3$depth, depth, model;
174
+ var _ref3, _ref3$depth, depth, model;
175
175
 
176
176
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
177
177
  while (1) {
178
178
  switch (_context2.prev = _context2.next) {
179
179
  case 0:
180
- _ref3 = this.layer.getLayerConfig(), _ref3$mask = _ref3.mask, mask = _ref3$mask === void 0 ? false : _ref3$mask, _ref3$maskInside = _ref3.maskInside, maskInside = _ref3$maskInside === void 0 ? true : _ref3$maskInside, _ref3$depth = _ref3.depth, depth = _ref3$depth === void 0 ? false : _ref3$depth;
180
+ _ref3 = this.layer.getLayerConfig(), _ref3$depth = _ref3.depth, depth = _ref3$depth === void 0 ? false : _ref3$depth;
181
181
  this.layer.triangulation = LineTriangulation;
182
182
  _context2.next = 4;
183
183
  return this.layer.buildLayerModel({
@@ -187,9 +187,7 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
187
187
  triangulation: LineTriangulation,
188
188
  depth: {
189
189
  enable: depth
190
- },
191
- blend: this.getBlend(),
192
- stencil: getMask(mask, maskInside)
190
+ }
193
191
  });
194
192
 
195
193
  case 4: