@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
@@ -76,7 +76,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
76
76
 
77
77
  (0, _createClass2.default)(HeatMapModel, [{
78
78
  key: "render",
79
- value: function render() {
79
+ value: function render(options) {
80
80
  var _this = this;
81
81
 
82
82
  var _this$rendererService = this.rendererService,
@@ -97,7 +97,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
97
97
  this.updateColorTexture();
98
98
  }
99
99
 
100
- this.shapeType === 'heatmap' ? this.drawColorMode() : this.draw3DHeatMap();
100
+ this.shapeType === 'heatmap' ? this.drawColorMode(options) : this.draw3DHeatMap(options);
101
101
  }
102
102
  }, {
103
103
  key: "getUninforms",
@@ -245,15 +245,6 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
245
245
  cull: {
246
246
  enable: true,
247
247
  face: (0, _l7Utils.getCullFace)(this.mapService.version)
248
- },
249
- blend: {
250
- enable: true,
251
- func: {
252
- srcRGB: _l7Core.gl.ONE,
253
- srcAlpha: 1,
254
- dstRGB: _l7Core.gl.ONE,
255
- dstAlpha: 1
256
- }
257
248
  }
258
249
  });
259
250
 
@@ -278,12 +269,6 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
278
269
  }, {
279
270
  key: "buildHeatmapColor",
280
271
  value: function buildHeatmapColor() {
281
- var _ref = this.layer.getLayerConfig(),
282
- _ref$mask = _ref.mask,
283
- mask = _ref$mask === void 0 ? false : _ref$mask,
284
- _ref$maskInside = _ref.maskInside,
285
- maskInside = _ref$maskInside === void 0 ? true : _ref$maskInside;
286
-
287
272
  this.shaderModuleService.registerModule('heatmapColor', {
288
273
  vs: heatmapColorVert,
289
274
  fs: heatmapColorFrag
@@ -322,13 +307,11 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
322
307
  depth: {
323
308
  enable: false
324
309
  },
325
- blend: this.getBlend(),
326
310
  elements: createElements({
327
311
  data: [0, 2, 1, 2, 3, 1],
328
312
  type: _l7Core.gl.UNSIGNED_INT,
329
313
  count: 6
330
- }),
331
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
314
+ })
332
315
  });
333
316
  }
334
317
  }, {
@@ -336,47 +319,69 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
336
319
  value: function drawIntensityMode() {
337
320
  var _this$intensityModel;
338
321
 
339
- var _ref2 = this.layer.getLayerConfig(),
340
- opacity = _ref2.opacity,
341
- _ref2$intensity = _ref2.intensity,
342
- intensity = _ref2$intensity === void 0 ? 10 : _ref2$intensity,
343
- _ref2$radius = _ref2.radius,
344
- radius = _ref2$radius === void 0 ? 5 : _ref2$radius;
322
+ var _ref = this.layer.getLayerConfig(),
323
+ opacity = _ref.opacity,
324
+ _ref$intensity = _ref.intensity,
325
+ intensity = _ref$intensity === void 0 ? 10 : _ref$intensity,
326
+ _ref$radius = _ref.radius,
327
+ radius = _ref$radius === void 0 ? 5 : _ref$radius;
345
328
 
346
329
  this.layerService.beforeRenderData(this.layer);
347
- this.layer.hooks.beforeRender.call();
330
+ this.layer.hooks.beforeRender.call(); // 绘制密度图
331
+
348
332
  (_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
349
333
  uniforms: {
350
334
  u_opacity: opacity || 1.0,
351
335
  u_radius: radius,
352
336
  u_intensity: intensity
337
+ },
338
+ blend: {
339
+ enable: true,
340
+ func: {
341
+ srcRGB: _l7Core.gl.ONE,
342
+ srcAlpha: 1,
343
+ dstRGB: _l7Core.gl.ONE,
344
+ dstAlpha: 1
345
+ }
346
+ },
347
+ stencil: {
348
+ enable: false,
349
+ mask: 0xff,
350
+ func: {
351
+ cmp: 514,
352
+ // gl.EQUAL,
353
+ ref: 1,
354
+ mask: 0xff
355
+ }
353
356
  }
354
357
  });
355
358
  this.layer.hooks.afterRender.call();
356
359
  }
357
360
  }, {
358
361
  key: "drawColorMode",
359
- value: function drawColorMode() {
362
+ value: function drawColorMode(options) {
360
363
  var _this$colorModel;
361
364
 
362
- var _ref3 = this.layer.getLayerConfig(),
363
- opacity = _ref3.opacity;
365
+ var _ref2 = this.layer.getLayerConfig(),
366
+ opacity = _ref2.opacity;
364
367
 
365
368
  (_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
366
369
  uniforms: {
367
370
  u_opacity: opacity || 1.0,
368
371
  u_colorTexture: this.colorTexture,
369
372
  u_texture: this.heatmapFramerBuffer
370
- }
373
+ },
374
+ blend: this.getBlend(),
375
+ stencil: this.getStencil(options)
371
376
  });
372
377
  }
373
378
  }, {
374
379
  key: "draw3DHeatMap",
375
- value: function draw3DHeatMap() {
380
+ value: function draw3DHeatMap(options) {
376
381
  var _this$colorModel2;
377
382
 
378
- var _ref4 = this.layer.getLayerConfig(),
379
- opacity = _ref4.opacity; // const invert = mat4.invert(
383
+ var _ref3 = this.layer.getLayerConfig(),
384
+ opacity = _ref3.opacity; // const invert = mat4.invert(
380
385
  // mat4.create(),
381
386
  // mat4.fromValues(
382
387
  // // @ts-ignore
@@ -396,18 +401,22 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
396
401
  u_texture: this.heatmapFramerBuffer,
397
402
  u_ViewProjectionMatrixUncentered: this.cameraService.getViewProjectionMatrixUncentered(),
398
403
  u_InverseViewProjectionMatrix: (0, _toConsumableArray2.default)(invert)
399
- }
404
+ },
405
+ blend: {
406
+ enable: true,
407
+ func: {
408
+ srcRGB: _l7Core.gl.SRC_ALPHA,
409
+ srcAlpha: 1,
410
+ dstRGB: _l7Core.gl.ONE_MINUS_SRC_ALPHA,
411
+ dstAlpha: 1
412
+ }
413
+ },
414
+ stencil: this.getStencil(options)
400
415
  });
401
416
  }
402
417
  }, {
403
418
  key: "build3dHeatMap",
404
419
  value: function build3dHeatMap() {
405
- var _ref5 = this.layer.getLayerConfig(),
406
- _ref5$mask = _ref5.mask,
407
- mask = _ref5$mask === void 0 ? false : _ref5$mask,
408
- _ref5$maskInside = _ref5.maskInside,
409
- maskInside = _ref5$maskInside === void 0 ? true : _ref5$maskInside;
410
-
411
420
  var getViewportSize = this.rendererService.getViewportSize;
412
421
 
413
422
  var _getViewportSize2 = getViewportSize(),
@@ -467,8 +476,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
467
476
  data: triangulation.indices,
468
477
  type: _l7Core.gl.UNSIGNED_INT,
469
478
  count: triangulation.indices.length
470
- }),
471
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
479
+ })
472
480
  });
473
481
  }
474
482
  }, {
@@ -485,8 +493,8 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
485
493
  this.texture.destroy();
486
494
  }
487
495
 
488
- var _ref6 = this.layer.getLayerConfig(),
489
- rampColors = _ref6.rampColors;
496
+ var _ref4 = this.layer.getLayerConfig(),
497
+ rampColors = _ref4.rampColors;
490
498
 
491
499
  var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
492
500
  this.colorTexture = createTexture2D({
@@ -23,8 +23,6 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
23
 
24
24
  var _l7Core = require("@antv/l7-core");
25
25
 
26
- var _l7Utils = require("@antv/l7-utils");
27
-
28
26
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
29
27
 
30
28
  var _triangulation = require("../../core/triangulation");
@@ -92,14 +90,12 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
92
90
  key: "buildModels",
93
91
  value: function () {
94
92
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
95
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
96
-
93
+ var model;
97
94
  return _regenerator.default.wrap(function _callee2$(_context2) {
98
95
  while (1) {
99
96
  switch (_context2.prev = _context2.next) {
100
97
  case 0:
101
- _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;
102
- _context2.next = 3;
98
+ _context2.next = 2;
103
99
  return this.layer.buildLayerModel({
104
100
  moduleName: 'heatmapHexagon',
105
101
  vertexShader: heatmapGridVert,
@@ -108,16 +104,14 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
108
104
  depth: {
109
105
  enable: false
110
106
  },
111
- primitive: _l7Core.gl.TRIANGLES,
112
- blend: this.getBlend(),
113
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
107
+ primitive: _l7Core.gl.TRIANGLES
114
108
  });
115
109
 
116
- case 3:
110
+ case 2:
117
111
  model = _context2.sent;
118
112
  return _context2.abrupt("return", [model]);
119
113
 
120
- case 5:
114
+ case 4:
121
115
  case "end":
122
116
  return _context2.stop();
123
117
  }
@@ -34,7 +34,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
34
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
35
 
36
36
  /* babel-plugin-inline-import '../shaders/image_frag.glsl' */
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}\n";
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
38
 
39
39
  /* babel-plugin-inline-import '../shaders/image_vert.glsl' */
40
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";
@@ -66,13 +66,11 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
66
66
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
67
67
  var _this = this;
68
68
 
69
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, canvas, img, imageData, model;
70
-
69
+ var source, createTexture2D, canvas, img, imageData, model;
71
70
  return _regenerator.default.wrap(function _callee$(_context) {
72
71
  while (1) {
73
72
  switch (_context.prev = _context.next) {
74
73
  case 0:
75
- _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;
76
74
  source = this.layer.getSource();
77
75
  createTexture2D = this.rendererService.createTexture2D;
78
76
  this.texture = createTexture2D({
@@ -81,7 +79,7 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
81
79
  });
82
80
 
83
81
  if (!_l7Utils.isMini) {
84
- _context.next = 12;
82
+ _context.next = 11;
85
83
  break;
86
84
  }
87
85
 
@@ -101,14 +99,14 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
101
99
  _this.layerService.reRender();
102
100
  };
103
101
 
104
- _context.next = 16;
102
+ _context.next = 15;
105
103
  break;
106
104
 
107
- case 12:
108
- _context.next = 14;
105
+ case 11:
106
+ _context.next = 13;
109
107
  return source.data.images;
110
108
 
111
- case 14:
109
+ case 13:
112
110
  imageData = _context.sent;
113
111
  this.texture = createTexture2D({
114
112
  data: imageData[0],
@@ -118,8 +116,8 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
118
116
  min: _l7Core.gl.LINEAR
119
117
  });
120
118
 
121
- case 16:
122
- _context.next = 18;
119
+ case 15:
120
+ _context.next = 17;
123
121
  return this.layer.buildLayerModel({
124
122
  moduleName: 'rasterImage',
125
123
  vertexShader: ImageVert,
@@ -132,15 +130,14 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
132
130
  },
133
131
  depth: {
134
132
  enable: false
135
- },
136
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
133
+ }
137
134
  });
138
135
 
139
- case 18:
136
+ case 17:
140
137
  model = _context.sent;
141
138
  return _context.abrupt("return", [model]);
142
139
 
143
- case 20:
140
+ case 19:
144
141
  case "end":
145
142
  return _context.stop();
146
143
  }
@@ -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/lib/index.js CHANGED
@@ -153,6 +153,8 @@ var _FeatureScalePlugin = _interopRequireDefault(require("./plugins/FeatureScale
153
153
 
154
154
  var _LayerAnimateStylePlugin = _interopRequireDefault(require("./plugins/LayerAnimateStylePlugin"));
155
155
 
156
+ var _LayerMaskPlugin = _interopRequireDefault(require("./plugins/LayerMaskPlugin"));
157
+
156
158
  var _LayerModelPlugin = _interopRequireDefault(require("./plugins/LayerModelPlugin"));
157
159
 
158
160
  var _LayerStylePlugin = _interopRequireDefault(require("./plugins/LayerStylePlugin"));
@@ -225,6 +227,12 @@ _l7Core.container.bind(_l7Core.TYPES.ILayerPlugin).to(_DataMappingPlugin.default
225
227
 
226
228
 
227
229
  _l7Core.container.bind(_l7Core.TYPES.ILayerPlugin).to(_LayerStylePlugin.default).inRequestScope();
230
+ /**
231
+ * 初始化地图 Mask
232
+ */
233
+
234
+
235
+ _l7Core.container.bind(_l7Core.TYPES.ILayerPlugin).to(_LayerMaskPlugin.default).inRequestScope();
228
236
  /**
229
237
  * 负责属性更新
230
238
  */
@@ -288,13 +288,13 @@ var ArcModel = /*#__PURE__*/function (_BaseModel) {
288
288
  key: "buildModels",
289
289
  value: function () {
290
290
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
291
- var _ref4, _ref4$segmentNumber, segmentNumber, _ref4$mask, mask, _ref4$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
291
+ var _ref4, _ref4$segmentNumber, segmentNumber, _this$getShaders, frag, vert, type, model;
292
292
 
293
293
  return _regenerator.default.wrap(function _callee2$(_context2) {
294
294
  while (1) {
295
295
  switch (_context2.prev = _context2.next) {
296
296
  case 0:
297
- _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;
297
+ _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber;
298
298
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type; //
299
299
 
300
300
  _context2.next = 4;
@@ -306,9 +306,7 @@ var ArcModel = /*#__PURE__*/function (_BaseModel) {
306
306
  depth: {
307
307
  enable: false
308
308
  },
309
- blend: this.getBlend(),
310
- segmentNumber: segmentNumber,
311
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
309
+ segmentNumber: segmentNumber
312
310
  });
313
311
 
314
312
  case 4:
@@ -271,13 +271,13 @@ var Arc3DModel = /*#__PURE__*/function (_BaseModel) {
271
271
  key: "buildModels",
272
272
  value: function () {
273
273
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
274
- var _ref4, _ref4$segmentNumber, segmentNumber, _ref4$mask, mask, _ref4$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
274
+ var _ref4, _ref4$segmentNumber, segmentNumber, _this$getShaders, frag, vert, type, model;
275
275
 
276
276
  return _regenerator.default.wrap(function _callee2$(_context2) {
277
277
  while (1) {
278
278
  switch (_context2.prev = _context2.next) {
279
279
  case 0:
280
- _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;
280
+ _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber;
281
281
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
282
282
  _context2.next = 4;
283
283
  return this.layer.buildLayerModel({
@@ -285,9 +285,7 @@ var Arc3DModel = /*#__PURE__*/function (_BaseModel) {
285
285
  vertexShader: vert,
286
286
  fragmentShader: frag,
287
287
  triangulation: _triangulation.LineArcTriangulation,
288
- blend: this.getBlend(),
289
- segmentNumber: segmentNumber,
290
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
288
+ segmentNumber: segmentNumber
291
289
  });
292
290
 
293
291
  case 4:
@@ -271,13 +271,13 @@ var Arc3DModel = /*#__PURE__*/function (_BaseModel) {
271
271
  key: "buildModels",
272
272
  value: function () {
273
273
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
274
- var _ref4, _ref4$segmentNumber, segmentNumber, _ref4$mask, mask, _ref4$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
274
+ var _ref4, _ref4$segmentNumber, segmentNumber, _this$getShaders, frag, vert, type, model;
275
275
 
276
276
  return _regenerator.default.wrap(function _callee2$(_context2) {
277
277
  while (1) {
278
278
  switch (_context2.prev = _context2.next) {
279
279
  case 0:
280
- _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;
280
+ _ref4 = this.layer.getLayerConfig(), _ref4$segmentNumber = _ref4.segmentNumber, segmentNumber = _ref4$segmentNumber === void 0 ? 30 : _ref4$segmentNumber;
281
281
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
282
282
  _context2.next = 4;
283
283
  return this.layer.buildLayerModel({
@@ -288,9 +288,7 @@ var Arc3DModel = /*#__PURE__*/function (_BaseModel) {
288
288
  depth: {
289
289
  enable: true
290
290
  },
291
- blend: this.getBlend(),
292
- segmentNumber: segmentNumber,
293
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
291
+ segmentNumber: segmentNumber
294
292
  });
295
293
 
296
294
  case 4:
@@ -234,14 +234,12 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
234
234
  key: "buildModels",
235
235
  value: function () {
236
236
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
237
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, model;
238
-
237
+ var model;
239
238
  return _regenerator.default.wrap(function _callee2$(_context2) {
240
239
  while (1) {
241
240
  switch (_context2.prev = _context2.next) {
242
241
  case 0:
243
- _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;
244
- _context2.next = 3;
242
+ _context2.next = 2;
245
243
  return this.layer.buildLayerModel({
246
244
  moduleName: 'lineGreatCircle',
247
245
  vertexShader: line_arc2d_vert,
@@ -249,16 +247,14 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
249
247
  triangulation: _triangulation.LineArcTriangulation,
250
248
  depth: {
251
249
  enable: false
252
- },
253
- blend: this.getBlend(),
254
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
250
+ }
255
251
  });
256
252
 
257
- case 3:
253
+ case 2:
258
254
  model = _context2.sent;
259
255
  return _context2.abrupt("return", [model]);
260
256
 
261
- case 5:
257
+ case 4:
262
258
  case "end":
263
259
  return _context2.stop();
264
260
  }
@@ -330,12 +326,12 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
330
326
 
331
327
  var texture = feature.texture; // console.log('icon feature', feature)
332
328
 
333
- var _ref4 = iconMap[texture] || {
329
+ var _ref3 = iconMap[texture] || {
334
330
  x: 0,
335
331
  y: 0
336
332
  },
337
- x = _ref4.x,
338
- y = _ref4.y;
333
+ x = _ref3.x,
334
+ y = _ref3.y;
339
335
 
340
336
  return [x, y];
341
337
  }
@@ -162,13 +162,13 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
162
162
  key: "buildModels",
163
163
  value: function () {
164
164
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
165
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, _ref2$depth, depth, _this$getShaders, frag, vert, model;
165
+ var _ref2, _ref2$depth, depth, _this$getShaders, frag, vert, model;
166
166
 
167
167
  return _regenerator.default.wrap(function _callee2$(_context2) {
168
168
  while (1) {
169
169
  switch (_context2.prev = _context2.next) {
170
170
  case 0:
171
- _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;
171
+ _ref2 = this.layer.getLayerConfig(), _ref2$depth = _ref2.depth, depth = _ref2$depth === void 0 ? false : _ref2$depth;
172
172
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert;
173
173
  this.layer.triangulation = _triangulation.LineTriangulation;
174
174
  _context2.next = 5;
@@ -179,9 +179,7 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
179
179
  triangulation: _triangulation.LineTriangulation,
180
180
  depth: {
181
181
  enable: depth
182
- },
183
- blend: this.getBlend(),
184
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
182
+ }
185
183
  });
186
184
 
187
185
  case 5:
@@ -293,13 +293,13 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
293
293
  key: "buildModels",
294
294
  value: function () {
295
295
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
296
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, _ref3$depth, depth, _ref3$workerEnabled, workerEnabled, enablePicking, _this$getShaders, frag, vert, type, model;
296
+ var _ref3, _ref3$depth, depth, _ref3$workerEnabled, workerEnabled, enablePicking, _this$getShaders, frag, vert, type, model;
297
297
 
298
298
  return _regenerator.default.wrap(function _callee2$(_context2) {
299
299
  while (1) {
300
300
  switch (_context2.prev = _context2.next) {
301
301
  case 0:
302
- _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;
302
+ _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;
303
303
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type; // console.log(frag)
304
304
 
305
305
  this.layer.triangulation = _l7Utils.LineTriangulation;
@@ -312,8 +312,6 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
312
312
  depth: {
313
313
  enable: depth
314
314
  },
315
- blend: this.getBlend(),
316
- stencil: (0, _l7Utils.getMask)(mask, maskInside),
317
315
  workerEnabled: workerEnabled,
318
316
  workerOptions: {
319
317
  modelType: 'line' + type,
@@ -191,13 +191,13 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
191
191
  key: "buildModels",
192
192
  value: function () {
193
193
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
194
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, _ref3$depth, depth, model;
194
+ var _ref3, _ref3$depth, depth, model;
195
195
 
196
196
  return _regenerator.default.wrap(function _callee2$(_context2) {
197
197
  while (1) {
198
198
  switch (_context2.prev = _context2.next) {
199
199
  case 0:
200
- _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;
200
+ _ref3 = this.layer.getLayerConfig(), _ref3$depth = _ref3.depth, depth = _ref3$depth === void 0 ? false : _ref3$depth;
201
201
  this.layer.triangulation = _triangulation.LineTriangulation;
202
202
  _context2.next = 4;
203
203
  return this.layer.buildLayerModel({
@@ -207,9 +207,7 @@ var LinearLineModel = /*#__PURE__*/function (_BaseModel) {
207
207
  triangulation: _triangulation.LineTriangulation,
208
208
  depth: {
209
209
  enable: depth
210
- },
211
- blend: this.getBlend(),
212
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
210
+ }
213
211
  });
214
212
 
215
213
  case 4:
@@ -179,15 +179,14 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
179
179
  key: "buildModels",
180
180
  value: function () {
181
181
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
182
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
182
+ var _this$getShaders, frag, vert, type, model;
183
183
 
184
184
  return _regenerator.default.wrap(function _callee2$(_context2) {
185
185
  while (1) {
186
186
  switch (_context2.prev = _context2.next) {
187
187
  case 0:
188
- _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;
189
188
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
190
- _context2.next = 4;
189
+ _context2.next = 3;
191
190
  return this.layer.buildLayerModel({
192
191
  moduleName: type,
193
192
  vertexShader: vert,
@@ -197,16 +196,14 @@ var SimpleLineModel = /*#__PURE__*/function (_BaseModel) {
197
196
  depth: {
198
197
  enable: false
199
198
  },
200
- blend: this.getBlend(),
201
- stencil: (0, _l7Utils.getMask)(mask, maskInside),
202
199
  pick: false
203
200
  });
204
201
 
205
- case 4:
202
+ case 3:
206
203
  model = _context2.sent;
207
204
  return _context2.abrupt("return", [model]);
208
205
 
209
- case 6:
206
+ case 5:
210
207
  case "end":
211
208
  return _context2.stop();
212
209
  }
@@ -21,8 +21,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
21
21
 
22
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
23
 
24
- var _l7Core = require("@antv/l7-core");
25
-
26
24
  var _l7Utils = require("@antv/l7-utils");
27
25
 
28
26
  var _lodash = require("lodash");
@@ -56,7 +54,7 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
56
54
  value: function getUninforms() {
57
55
  var _ref = this.layer.getLayerConfig(),
58
56
  _ref$opacity = _ref.opacity,
59
- opacity = _ref$opacity === void 0 ? 0 : _ref$opacity,
57
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
60
58
  _ref$color = _ref.color,
61
59
  color = _ref$color === void 0 ? '#000' : _ref$color;
62
60
 
@@ -107,21 +105,6 @@ var MaskModel = /*#__PURE__*/function (_BaseModel) {
107
105
  depth: {
108
106
  enable: false
109
107
  },
110
- blend: this.getBlend(),
111
- stencil: {
112
- enable: true,
113
- mask: 0xff,
114
- func: {
115
- cmp: _l7Core.gl.ALWAYS,
116
- ref: 1,
117
- mask: 0xff
118
- },
119
- opFront: {
120
- fail: _l7Core.gl.REPLACE,
121
- zfail: _l7Core.gl.REPLACE,
122
- zpass: _l7Core.gl.REPLACE
123
- }
124
- },
125
108
  pick: false
126
109
  });
127
110