@antv/l7-layers 2.14.0 → 2.14.2

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 +62 -18
  5. package/es/core/BaseModel.d.ts +3 -2
  6. package/es/core/BaseModel.js +39 -3
  7. package/es/core/LayerPickService.js +6 -2
  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 +1 -0
  60. package/es/tile/tileLayer/BaseLayer.js +5 -0
  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 +62 -18
  70. package/lib/core/BaseModel.js +40 -2
  71. package/lib/core/LayerPickService.js +6 -2
  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 +5 -0
  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
@@ -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
 
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _inversify = require("inversify");
17
+
18
+ require("reflect-metadata");
19
+
20
+ var _dec, _class;
21
+
22
+ var LayerStylePlugin = (
23
+ /**
24
+ * 更新图层样式,初始图层相关配置
25
+ */
26
+ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
27
+ function LayerStylePlugin() {
28
+ (0, _classCallCheck2.default)(this, LayerStylePlugin);
29
+ }
30
+
31
+ (0, _createClass2.default)(LayerStylePlugin, [{
32
+ key: "apply",
33
+ value: function apply(layer) {
34
+ layer.hooks.afterInit.tap('LayerMaskPlugin', function () {
35
+ var _layer$getLayerConfig = layer.getLayerConfig(),
36
+ maskLayers = _layer$getLayerConfig.maskLayers,
37
+ enableMask = _layer$getLayerConfig.enableMask; // mask 初始化
38
+
39
+
40
+ if (!layer.tileLayer && maskLayers && maskLayers.length > 0) {
41
+ var _layer$masks;
42
+
43
+ (_layer$masks = layer.masks).push.apply(_layer$masks, (0, _toConsumableArray2.default)(maskLayers));
44
+
45
+ layer.updateLayerConfig({
46
+ mask: true && enableMask
47
+ });
48
+ }
49
+ });
50
+ }
51
+ }]);
52
+ return LayerStylePlugin;
53
+ }()) || _class);
54
+ exports.default = LayerStylePlugin;
@@ -32,7 +32,8 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
32
32
  layer.hooks.afterInit.tap('LayerStylePlugin', function () {
33
33
  var _layer$getLayerConfig = layer.getLayerConfig(),
34
34
  autoFit = _layer$getLayerConfig.autoFit,
35
- fitBoundsOptions = _layer$getLayerConfig.fitBoundsOptions;
35
+ fitBoundsOptions = _layer$getLayerConfig.fitBoundsOptions; // mask 初始化
36
+
36
37
 
37
38
  if (autoFit) {
38
39
  layer.fitBounds(fitBoundsOptions);
@@ -216,7 +216,6 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
216
216
  vertexShader: pointExtrudeVert,
217
217
  fragmentShader: pointExtrudeFrag,
218
218
  triangulation: _triangulation.PointExtrudeTriangulation,
219
- blend: this.getBlend(),
220
219
  cull: {
221
220
  enable: true,
222
221
  face: (0, _l7Utils.getCullFace)(this.mapService.version)
@@ -40,7 +40,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
40
40
  var waveFillFrag = "\nuniform float u_additive;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nuniform float u_time;\nuniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ];\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\nvoid main() {\n\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n float opacity = styleMappingMat[0][0];\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius);\n\n float outer_df;\n float inner_df;\n // 'circle', 'triangle', 'square', 'pentagon', 'hexagon', 'octogon', 'hexagram', 'rhombus', 'vesica'\n \n outer_df = sdCircle(v_data.xy, 1.0);\n inner_df = sdCircle(v_data.xy, r);\n\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n float PI = 3.14159;\n float N_RINGS = 3.0;\n float FREQ = 1.0;\n\n gl_FragColor = vec4(v_color.rgb, v_color.a * opacity);\n\n float d = length(v_data.xy);\n if(d > 0.5) {\n discard;\n }\n float intensity = clamp(cos(d * PI), 0.0, 1.0) * clamp(cos(2.0 * PI * (d * 2.0 * u_animate.z - u_animate.y * u_time)), 0.0, 1.0);\n \n // \u6839\u636E\u53E0\u52A0\u6A21\u5F0F\u9009\u62E9\u6548\u679C\n if(u_additive > 0.0) {\n gl_FragColor *= intensity;\n // \u4F18\u5316\u6C34\u6CE2\u70B9 blend additive \u6A21\u5F0F\u4E0B\u6709\u7684\u62FE\u53D6\u6548\u679C \n gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);\n } else {\n gl_FragColor = vec4(gl_FragColor.xyz, gl_FragColor.a * intensity);\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n"; // static pointLayer shader - not support animate
41
41
 
42
42
  /* babel-plugin-inline-import '../shaders/fill_frag.glsl' */
43
- var pointFillFrag = "uniform float u_additive;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\n\nvoid main() {\n int shape = int(floor(v_data.w + 0.5));\n\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n float opacity = styleMappingMat[0][0];\n float stroke_opacity = styleMappingMat[0][1];\n float strokeWidth = styleMappingMat[0][2];\n vec4 strokeColor = textrueStroke == vec4(0) ? v_color : textrueStroke;\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius + strokeWidth);\n\n float outer_df;\n float inner_df;\n // 'circle', 'triangle', 'square', 'pentagon', 'hexagon', 'octogon', 'hexagram', 'rhombus', 'vesica'\n if (shape == 0) {\n outer_df = sdCircle(v_data.xy, 1.0);\n inner_df = sdCircle(v_data.xy, r);\n } else if (shape == 1) {\n outer_df = sdEquilateralTriangle(1.1 * v_data.xy);\n inner_df = sdEquilateralTriangle(1.1 / r * v_data.xy);\n } else if (shape == 2) {\n outer_df = sdBox(v_data.xy, vec2(1.));\n inner_df = sdBox(v_data.xy, vec2(r));\n } else if (shape == 3) {\n outer_df = sdPentagon(v_data.xy, 0.8);\n inner_df = sdPentagon(v_data.xy, r * 0.8);\n } else if (shape == 4) {\n outer_df = sdHexagon(v_data.xy, 0.8);\n inner_df = sdHexagon(v_data.xy, r * 0.8);\n } else if (shape == 5) {\n outer_df = sdOctogon(v_data.xy, 1.0);\n inner_df = sdOctogon(v_data.xy, r);\n } else if (shape == 6) {\n outer_df = sdHexagram(v_data.xy, 0.52);\n inner_df = sdHexagram(v_data.xy, r * 0.52);\n } else if (shape == 7) {\n outer_df = sdRhombus(v_data.xy, vec2(1.0));\n inner_df = sdRhombus(v_data.xy, vec2(r));\n } else if (shape == 8) {\n outer_df = sdVesica(v_data.xy, 1.1, 0.8);\n inner_df = sdVesica(v_data.xy, r * 1.1, r * 0.8);\n }\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = strokeWidth < 0.01 ? 0.0 : smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n\n if(strokeWidth < 0.01) {\n gl_FragColor = vec4(v_color.rgb, v_color.a * opacity);\n } else {\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), strokeColor * stroke_opacity, color_t);\n }\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);\n } else {\n gl_FragColor.a *= opacity_t;\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n";
43
+ var pointFillFrag = "uniform float u_additive;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\n\nvoid main() {\n int shape = int(floor(v_data.w + 0.5));\n\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n float opacity = styleMappingMat[0][0];\n float stroke_opacity = styleMappingMat[0][1];\n float strokeWidth = styleMappingMat[0][2];\n vec4 strokeColor = textrueStroke == vec4(0) ? v_color : textrueStroke;\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius + strokeWidth);\n\n float outer_df;\n float inner_df;\n // 'circle', 'triangle', 'square', 'pentagon', 'hexagon', 'octogon', 'hexagram', 'rhombus', 'vesica'\n if (shape == 0) {\n outer_df = sdCircle(v_data.xy, 1.0);\n inner_df = sdCircle(v_data.xy, r);\n } else if (shape == 1) {\n outer_df = sdEquilateralTriangle(1.1 * v_data.xy);\n inner_df = sdEquilateralTriangle(1.1 / r * v_data.xy);\n } else if (shape == 2) {\n outer_df = sdBox(v_data.xy, vec2(1.));\n inner_df = sdBox(v_data.xy, vec2(r));\n } else if (shape == 3) {\n outer_df = sdPentagon(v_data.xy, 0.8);\n inner_df = sdPentagon(v_data.xy, r * 0.8);\n } else if (shape == 4) {\n outer_df = sdHexagon(v_data.xy, 0.8);\n inner_df = sdHexagon(v_data.xy, r * 0.8);\n } else if (shape == 5) {\n outer_df = sdOctogon(v_data.xy, 1.0);\n inner_df = sdOctogon(v_data.xy, r);\n } else if (shape == 6) {\n outer_df = sdHexagram(v_data.xy, 0.52);\n inner_df = sdHexagram(v_data.xy, r * 0.52);\n } else if (shape == 7) {\n outer_df = sdRhombus(v_data.xy, vec2(1.0));\n inner_df = sdRhombus(v_data.xy, vec2(r));\n } else if (shape == 8) {\n outer_df = sdVesica(v_data.xy, 1.1, 0.8);\n inner_df = sdVesica(v_data.xy, r * 1.1, r * 0.8);\n }\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = strokeWidth < 0.01 ? 0.0 : smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n\n if(strokeWidth < 0.01) {\n gl_FragColor = vec4(v_color.rgb, v_color.a * opacity);\n } else {\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), strokeColor * stroke_opacity, color_t);\n }\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);\n } else {\n gl_FragColor.a *= opacity_t;\n gl_FragColor = filterColor(gl_FragColor);\n }\n // \u4F5C\u4E3A mask \u6A21\u677F\u65F6\u9700\u8981\u4E22\u5F03\u900F\u660E\u7684\u50CF\u7D20\n if(gl_FragColor.a < 0.01) {\n discard;\n } \n}\n";
44
44
 
45
45
  /* babel-plugin-inline-import '../shaders/fill_vert.glsl' */
46
46
  var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\n\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform int u_Size_Unit;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\nuniform float u_opacity : 1;\nuniform float u_stroke_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\nuniform vec2 u_offsets;\n\nuniform float u_blur : 0.0;\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n#pragma include \"styleMappingCalStrokeOpacity\"\n#pragma include \"styleMappingCalStrokeWidth\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float shape_type = a_Shape;\n /*\n * setPickingSize \u8BBE\u7F6E\u62FE\u53D6\u5927\u5C0F\n * u_meter2coord \u5728\u7B49\u9762\u79EF\u5927\u5C0F\u7684\u65F6\u5019\u8BBE\u7F6E\u5355\u4F4D\n */\n float newSize = setPickingSize(a_Size);\n // float newSize = setPickingSize(a_Size) * 0.00001038445708445579;\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n\n vec2 strokeOpacityAndOffset = calStrokeOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][1] = strokeOpacityAndOffset.r;\n textureOffset = strokeOpacityAndOffset.g;\n\n vec2 strokeWidthAndOffset = calStrokeWidthAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][2] = strokeWidthAndOffset.r;\n textureOffset = strokeWidthAndOffset.g;\n\n vec4 textrueStroke = vec4(-1.0, -1.0, -1.0, -1.0);\n if(hasStroke()) {\n vec2 valueRPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][0] = pos2value(valueRPos, columnWidth, rowHeight); // R\n textureOffset += 1.0;\n\n vec2 valueGPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][1] = pos2value(valueGPos, columnWidth, rowHeight); // G\n textureOffset += 1.0;\n\n vec2 valueBPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][2] = pos2value(valueBPos, columnWidth, rowHeight); // B\n textureOffset += 1.0;\n\n vec2 valueAPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][3] = pos2value(valueAPos, columnWidth, rowHeight); // A\n textureOffset += 1.0;\n } else {\n if(u_stroke_color == vec4(0.0)) {\n styleMappingMat[1][0] = v_color.r;\n styleMappingMat[1][1] = v_color.g;\n styleMappingMat[1][2] = v_color.b;\n styleMappingMat[1][3] = v_color.a;\n } else {\n styleMappingMat[1][0] = u_stroke_color.r;\n styleMappingMat[1][1] = u_stroke_color.g;\n styleMappingMat[1][2] = u_stroke_color.b;\n styleMappingMat[1][3] = u_stroke_color.a;\n }\n }\n\n vec2 textrueOffsets = vec2(0.0, 0.0);\n if(hasOffsets()) {\n vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n\n vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n } else {\n textrueOffsets = u_offsets;\n }\n\n // cal style mapping\n\n // unpack color(vec2)\n v_color = a_Color;\nif(u_Size_Unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n\n v_radius = newSize;\n\n // anti-alias\n // float antialiased_blur = -max(u_blur, antialiasblur);\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / newSize, u_blur);\n\n vec2 offset = (extrude.xy * (newSize + u_stroke_width) + textrueOffsets);\n vec3 aPosition = a_Position;\n\n offset = project_pixel(offset);\n \n // TODP: /abs(extrude.x) \u662F\u4E3A\u4E86\u517C\u5BB9\u5730\u7403\u6A21\u5F0F\n v_data = vec4(extrude.x/abs(extrude.x), extrude.y/abs(extrude.y), antialiasblur,shape_type);\n\n\n // vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n\n float raisingHeight = u_raisingHeight;\n\n if(u_heightfixed < 1.0) { // false\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n \n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
@@ -183,13 +183,13 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
183
183
  key: "buildModels",
184
184
  value: function () {
185
185
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
186
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, _ref3$animateOption, animateOption, _ref3$workerEnabled, workerEnabled, enablePicking, shape2d, _this$getShaders, frag, vert, type, model;
186
+ var _ref3, _ref3$animateOption, animateOption, _ref3$workerEnabled, workerEnabled, enablePicking, shape2d, _this$getShaders, frag, vert, type, model;
187
187
 
188
188
  return _regenerator.default.wrap(function _callee2$(_context2) {
189
189
  while (1) {
190
190
  switch (_context2.prev = _context2.next) {
191
191
  case 0:
192
- _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$animateOption = _ref3.animateOption, animateOption = _ref3$animateOption === void 0 ? {
192
+ _ref3 = this.layer.getLayerConfig(), _ref3$animateOption = _ref3.animateOption, animateOption = _ref3$animateOption === void 0 ? {
193
193
  enable: false
194
194
  } : _ref3$animateOption, _ref3$workerEnabled = _ref3.workerEnabled, workerEnabled = _ref3$workerEnabled === void 0 ? false : _ref3$workerEnabled, enablePicking = _ref3.enablePicking, shape2d = _ref3.shape2d;
195
195
  _this$getShaders = this.getShaders(animateOption), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
@@ -203,8 +203,6 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
203
203
  depth: {
204
204
  enable: false
205
205
  },
206
- blend: this.getBlend(),
207
- stencil: (0, _l7Utils.getMask)(mask, maskInside),
208
206
  workerEnabled: workerEnabled,
209
207
  workerOptions: {
210
208
  modelType: type,
@@ -218,14 +218,12 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
218
218
  key: "buildModels",
219
219
  value: function () {
220
220
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
221
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
222
-
221
+ var model;
223
222
  return _regenerator.default.wrap(function _callee2$(_context2) {
224
223
  while (1) {
225
224
  switch (_context2.prev = _context2.next) {
226
225
  case 0:
227
- _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;
228
- _context2.next = 3;
226
+ _context2.next = 2;
229
227
  return this.layer.buildLayerModel({
230
228
  moduleName: 'pointFillImage',
231
229
  vertexShader: pointFillVert,
@@ -234,19 +232,17 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
234
232
  depth: {
235
233
  enable: false
236
234
  },
237
- blend: this.getBlend(),
238
- stencil: (0, _l7Utils.getMask)(mask, maskInside),
239
235
  cull: {
240
236
  enable: true,
241
237
  face: (0, _l7Utils.getCullFace)(this.mapService.version)
242
238
  }
243
239
  });
244
240
 
245
- case 3:
241
+ case 2:
246
242
  model = _context2.sent;
247
243
  return _context2.abrupt("return", [model]);
248
244
 
249
- case 5:
245
+ case 4:
250
246
  case "end":
251
247
  return _context2.stop();
252
248
  }
@@ -310,12 +306,12 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
310
306
 
311
307
  var shape = feature.shape;
312
308
 
313
- var _ref3 = iconMap[shape] || {
309
+ var _ref2 = iconMap[shape] || {
314
310
  x: -64,
315
311
  y: -64
316
312
  },
317
- x = _ref3.x,
318
- y = _ref3.y;
313
+ x = _ref2.x,
314
+ y = _ref2.y;
319
315
 
320
316
  return [x, y];
321
317
  }