@antv/l7-layers 2.14.1 → 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
@@ -27,8 +27,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
27
27
 
28
28
  var _l7Core = require("@antv/l7-core");
29
29
 
30
- var _l7Utils = require("@antv/l7-utils");
31
-
32
30
  var _lodash = require("lodash");
33
31
 
34
32
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
@@ -40,7 +38,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
40
38
  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; } }
41
39
 
42
40
  /* babel-plugin-inline-import '../shaders/image_frag.glsl' */
43
- var pointImageFrag = "\nuniform sampler2D u_texture;\nvarying vec4 v_color;\nvarying vec2 v_uv;\nuniform vec2 u_textSize;\nuniform float u_opacity : 1;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"picking\"\n\nvoid main(){\n float opacity = styleMappingMat[0][0];\n float size = styleMappingMat[1][0];\n vec2 pos = v_uv / u_textSize + gl_PointCoord / u_textSize * 64.;\n vec4 textureColor;\n\n // Y = 0.299R + 0.587G + 0.114B // \u4EAE\u5EA6\u63D0\u53D6\n \n textureColor = texture2D(u_texture, pos);\n\n // Tip: \u53BB\u9664\u8FB9\u7F18\u90E8\u5206 mipmap \u5BFC\u81F4\u7684\u6DF7\u5408\u53D8\u6697\n float fragmengTocenter = distance(vec2(0.5), gl_PointCoord);\n if(fragmengTocenter >= 0.5) {\n float luma = 0.299 * textureColor.r + 0.587 * textureColor.g + 0.114 * textureColor.b;\n textureColor.a *= luma;\n }\n \n \n\n if(all(lessThan(v_color, vec4(1.0+0.00001))) && all(greaterThan(v_color, vec4(1.0-0.00001))) || v_color==vec4(1.0)){\n gl_FragColor= textureColor;\n }else {\n gl_FragColor= step(0.01, textureColor.z) * v_color;\n }\n\n gl_FragColor.a = gl_FragColor.a * opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
41
+ var pointImageFrag = "\nuniform sampler2D u_texture;\nvarying vec4 v_color;\nvarying vec2 v_uv;\nuniform vec2 u_textSize;\nuniform float u_opacity : 1;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"picking\"\n\nvoid main(){\n float opacity = styleMappingMat[0][0];\n float size = styleMappingMat[1][0];\n vec2 pos = v_uv / u_textSize + gl_PointCoord / u_textSize * 64.;\n vec4 textureColor;\n\n // Y = 0.299R + 0.587G + 0.114B // \u4EAE\u5EA6\u63D0\u53D6\n \n textureColor = texture2D(u_texture, pos);\n\n // Tip: \u53BB\u9664\u8FB9\u7F18\u90E8\u5206 mipmap \u5BFC\u81F4\u7684\u6DF7\u5408\u53D8\u6697\n float fragmengTocenter = distance(vec2(0.5), gl_PointCoord);\n if(fragmengTocenter >= 0.5) {\n float luma = 0.299 * textureColor.r + 0.587 * textureColor.g + 0.114 * textureColor.b;\n textureColor.a *= luma;\n }\n \n \n\n if(all(lessThan(v_color, vec4(1.0+0.00001))) && all(greaterThan(v_color, vec4(1.0-0.00001))) || v_color==vec4(1.0)){\n gl_FragColor= textureColor;\n }else {\n gl_FragColor= step(0.01, textureColor.z) * v_color;\n }\n\n gl_FragColor.a = gl_FragColor.a * opacity;\n \n if (gl_FragColor.a < 0.01) {\n discard;\n }\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
44
42
 
45
43
  /* babel-plugin-inline-import '../shaders/image_vert.glsl' */
46
44
  var pointImageVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec4 a_Color;\nattribute vec2 a_Uv;\nattribute float a_Size;\nvarying vec4 v_color;\nvarying vec2 v_uv;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform vec2 u_offsets;\n\nuniform float u_opacity : 1;\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\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\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\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 styleMappingMat[1][0] = a_Size;\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 - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n v_color = a_Color;\n v_uv = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n \n vec2 offset = project_pixel(textrueOffsets);\n\n float raisingHeight = u_raisingHeight;\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 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_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n setPickingColor(a_PickingColor);\n}\n";
@@ -195,14 +193,12 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
195
193
  key: "buildModels",
196
194
  value: function () {
197
195
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
198
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
199
-
196
+ var model;
200
197
  return _regenerator.default.wrap(function _callee2$(_context2) {
201
198
  while (1) {
202
199
  switch (_context2.prev = _context2.next) {
203
200
  case 0:
204
- _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;
205
- _context2.next = 3;
201
+ _context2.next = 2;
206
202
  return this.layer.buildLayerModel({
207
203
  moduleName: 'pointImage',
208
204
  vertexShader: pointImageVert,
@@ -211,16 +207,14 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
211
207
  depth: {
212
208
  enable: false
213
209
  },
214
- primitive: _l7Core.gl.POINTS,
215
- blend: this.getBlend(),
216
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
210
+ primitive: _l7Core.gl.POINTS
217
211
  });
218
212
 
219
- case 3:
213
+ case 2:
220
214
  model = _context2.sent;
221
215
  return _context2.abrupt("return", [model]);
222
216
 
223
- case 5:
217
+ case 4:
224
218
  case "end":
225
219
  return _context2.stop();
226
220
  }
@@ -277,12 +271,12 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
277
271
 
278
272
  var shape = feature.shape;
279
273
 
280
- var _ref3 = iconMap[shape] || {
274
+ var _ref2 = iconMap[shape] || {
281
275
  x: -64,
282
276
  y: -64
283
277
  },
284
- x = _ref3.x,
285
- y = _ref3.y; // 非画布区域,默认的图标改为透明
278
+ x = _ref2.x,
279
+ y = _ref2.y; // 非画布区域,默认的图标改为透明
286
280
 
287
281
 
288
282
  return [x, y];
@@ -26,8 +26,6 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
26
26
 
27
27
  var _l7Core = require("@antv/l7-core");
28
28
 
29
- var _l7Utils = require("@antv/l7-utils");
30
-
31
29
  var _lodash = require("lodash");
32
30
 
33
31
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
@@ -107,15 +105,13 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
107
105
  key: "buildModels",
108
106
  value: function () {
109
107
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
110
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
111
-
108
+ var model;
112
109
  return _regenerator.default.wrap(function _callee2$(_context2) {
113
110
  while (1) {
114
111
  switch (_context2.prev = _context2.next) {
115
112
  case 0:
116
- _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;
117
113
  this.layer.triangulation = PointTriangulation;
118
- _context2.next = 4;
114
+ _context2.next = 3;
119
115
  return this.layer.buildLayerModel({
120
116
  moduleName: 'pointNormal',
121
117
  vertexShader: normalVert,
@@ -125,16 +121,14 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
125
121
  enable: false
126
122
  },
127
123
  primitive: _l7Core.gl.POINTS,
128
- blend: this.getBlend(),
129
- stencil: (0, _l7Utils.getMask)(mask, maskInside),
130
124
  pick: false
131
125
  });
132
126
 
133
- case 4:
127
+ case 3:
134
128
  model = _context2.sent;
135
129
  return _context2.abrupt("return", [model]);
136
130
 
137
- case 6:
131
+ case 5:
138
132
  case "end":
139
133
  return _context2.stop();
140
134
  }
@@ -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 _lodash = require("lodash");
29
27
 
30
28
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
@@ -119,14 +117,12 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
119
117
  key: "buildModels",
120
118
  value: function () {
121
119
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
122
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, model;
123
-
120
+ var model;
124
121
  return _regenerator.default.wrap(function _callee2$(_context2) {
125
122
  while (1) {
126
123
  switch (_context2.prev = _context2.next) {
127
124
  case 0:
128
- _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;
129
- _context2.next = 3;
125
+ _context2.next = 2;
130
126
  return this.layer.buildLayerModel({
131
127
  moduleName: 'pointRadar',
132
128
  vertexShader: pointFillVert,
@@ -134,16 +130,14 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
134
130
  triangulation: _triangulation.PointFillTriangulation,
135
131
  depth: {
136
132
  enable: false
137
- },
138
- blend: this.getBlend(),
139
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
133
+ }
140
134
  });
141
135
 
142
- case 3:
136
+ case 2:
143
137
  model = _context2.sent;
144
138
  return _context2.abrupt("return", [model]);
145
139
 
146
- case 5:
140
+ case 4:
147
141
  case "end":
148
142
  return _context2.stop();
149
143
  }
@@ -26,8 +26,6 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
26
26
 
27
27
  var _l7Core = require("@antv/l7-core");
28
28
 
29
- var _l7Utils = require("@antv/l7-utils");
30
-
31
29
  var _lodash = require("lodash");
32
30
 
33
31
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
@@ -159,15 +157,13 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
159
157
  key: "buildModels",
160
158
  value: function () {
161
159
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
162
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
163
-
160
+ var model;
164
161
  return _regenerator.default.wrap(function _callee2$(_context2) {
165
162
  while (1) {
166
163
  switch (_context2.prev = _context2.next) {
167
164
  case 0:
168
- _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;
169
165
  this.layer.triangulation = PointTriangulation;
170
- _context2.next = 4;
166
+ _context2.next = 3;
171
167
  return this.layer.buildLayerModel({
172
168
  moduleName: 'pointSimple',
173
169
  vertexShader: simplePointVert,
@@ -176,16 +172,14 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
176
172
  depth: {
177
173
  enable: false
178
174
  },
179
- primitive: _l7Core.gl.POINTS,
180
- blend: this.getBlend(),
181
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
175
+ primitive: _l7Core.gl.POINTS
182
176
  });
183
177
 
184
- case 4:
178
+ case 3:
185
179
  model = _context2.sent;
186
180
  return _context2.abrupt("return", [model]);
187
181
 
188
- case 6:
182
+ case 5:
189
183
  case "end":
190
184
  return _context2.stop();
191
185
  }
@@ -51,7 +51,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
51
51
  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; } }
52
52
 
53
53
  /* babel-plugin-inline-import '../shaders/text_frag.glsl' */
54
- var textFrag = "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105\n#define FONT_SIZE 48.0\nuniform sampler2D u_sdf_map;\nuniform float u_gamma_scale : 0.5;\n// uniform float u_font_size : 24.0;\nuniform float u_opacity : 1.0;\nuniform vec4 u_stroke_color : [0, 0, 0, 1];\nuniform float u_stroke_width : 2.0;\nuniform float u_halo_blur : 0.5;\nuniform float u_DevicePixelRatio;\n\nvarying vec4 v_color;\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying float v_fontScale;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"picking\"\nvoid main() {\n // get style data mapping\n float opacity = styleMappingMat[0][0];\n float strokeWidth = styleMappingMat[0][2];\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n // get sdf from atlas\n float dist = texture2D(u_sdf_map, v_uv).a;\n\n // float fontScale = u_font_size / FONT_SIZE;\n\n // lowp float buff = (6.0 - u_stroke_width / v_fontScale) / SDF_PX;\n lowp float buff = (6.0 - strokeWidth / v_fontScale) / SDF_PX;\n highp float gamma = (u_halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (v_fontScale * u_gamma_scale) / 1.0;\n\n highp float gamma_scaled = gamma * v_gamma_scale;\n\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n // gl_FragColor = mix(vec4(v_color.rgb, v_color.a * u_opacity), vec4(u_stroke_color.rgb, u_stroke_color.a * u_opacity), smoothstep(0., 0.5, 1. - dist));\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), vec4(textrueStroke.rgb, textrueStroke.a * opacity), smoothstep(0., 0.5, 1. - dist));\n gl_FragColor.a= gl_FragColor.a * alpha;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
54
+ var textFrag = "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105\n#define FONT_SIZE 48.0\nuniform sampler2D u_sdf_map;\nuniform float u_gamma_scale : 0.5;\n// uniform float u_font_size : 24.0;\nuniform float u_opacity : 1.0;\nuniform vec4 u_stroke_color : [0, 0, 0, 1];\nuniform float u_stroke_width : 2.0;\nuniform float u_halo_blur : 0.5;\nuniform float u_DevicePixelRatio;\n\nvarying vec4 v_color;\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying float v_fontScale;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"picking\"\nvoid main() {\n // get style data mapping\n float opacity = styleMappingMat[0][0];\n float strokeWidth = styleMappingMat[0][2];\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n // get sdf from atlas\n float dist = texture2D(u_sdf_map, v_uv).a;\n\n // float fontScale = u_font_size / FONT_SIZE;\n\n // lowp float buff = (6.0 - u_stroke_width / v_fontScale) / SDF_PX;\n lowp float buff = (6.0 - strokeWidth / v_fontScale) / SDF_PX;\n highp float gamma = (u_halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (v_fontScale * u_gamma_scale) / 1.0;\n\n highp float gamma_scaled = gamma * v_gamma_scale;\n\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n // gl_FragColor = mix(vec4(v_color.rgb, v_color.a * u_opacity), vec4(u_stroke_color.rgb, u_stroke_color.a * u_opacity), smoothstep(0., 0.5, 1. - dist));\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), vec4(textrueStroke.rgb, textrueStroke.a * opacity), smoothstep(0., 0.5, 1. - dist));\n gl_FragColor.a= gl_FragColor.a * alpha;\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 gl_FragColor = filterColor(gl_FragColor);\n}\n";
55
55
 
56
56
  /* babel-plugin-inline-import '../shaders/text_vert.glsl' */
57
57
  var textVert = "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105\n#define FONT_SIZE 24.0\nattribute vec3 a_Position;\nattribute vec2 a_tex;\nattribute vec2 a_textOffsets;\nattribute vec4 a_Color;\nattribute float a_Size;\nattribute float a_Rotate;\n\nuniform vec2 u_sdf_map_size;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform float u_raisingHeight: 0.0;\n\nvarying vec2 v_uv;\nvarying float v_gamma_scale;\nvarying vec4 v_color;\nvarying float v_fontScale;\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 float u_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n#pragma include \"styleMappingCalStrokeWidth\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\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 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 // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n\n v_color = a_Color;\n v_uv = a_tex / u_sdf_map_size;\n\n // \u6587\u672C\u7F29\u653E\u6BD4\u4F8B\n float fontScale = a_Size / FONT_SIZE;\n v_fontScale = fontScale;\n\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // vec4 projected_position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n highp float angle_sin = sin(a_Rotate);\n highp float angle_cos = cos(a_Rotate);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n \n // gl_Position = vec4(projected_position.xy / projected_position.w + rotation_matrix * a_textOffsets * fontScale / u_ViewportSize * 2.0 * u_DevicePixelRatio, 0.0, 1.0);\n\n float raiseHeight = u_raisingHeight;\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 raiseHeight = u_raisingHeight * mapboxZoomScale;\n }\n\n vec4 projected_position;\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n projected_position = u_Mvp *(vec4(a_Position.xyz + vec3(0.0, 0.0, raiseHeight), 1.0));\n } else { // else\n projected_position = project_common_position_to_clipspace(vec4(project_pos.xyz + vec3(0.0, 0.0, raiseHeight), 1.0));\n }\n\n gl_Position = vec4(\n projected_position.xy / projected_position.w + rotation_matrix * a_textOffsets * fontScale / u_ViewportSize * 2.0 * u_DevicePixelRatio, 0.0, 1.0);\n v_gamma_scale = gl_Position.w;\n setPickingColor(a_PickingColor);\n\n}\n";
@@ -240,13 +240,13 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
240
240
  key: "buildModels",
241
241
  value: function () {
242
242
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
243
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, _ref3$textAllowOverla, textAllowOverlap, model;
243
+ var _ref3, _ref3$textAllowOverla, textAllowOverlap, model;
244
244
 
245
245
  return _regenerator.default.wrap(function _callee3$(_context3) {
246
246
  while (1) {
247
247
  switch (_context3.prev = _context3.next) {
248
248
  case 0:
249
- _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$textAllowOverla = _ref3.textAllowOverlap, textAllowOverlap = _ref3$textAllowOverla === void 0 ? false : _ref3$textAllowOverla; // this.mapping(); 重复调用
249
+ _ref3 = this.layer.getLayerConfig(), _ref3$textAllowOverla = _ref3.textAllowOverlap, textAllowOverlap = _ref3$textAllowOverla === void 0 ? false : _ref3$textAllowOverla; // this.mapping(); 重复调用
250
250
 
251
251
  this.initGlyph(); //
252
252
 
@@ -264,9 +264,7 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
264
264
  triangulation: TextTriangulation.bind(this),
265
265
  depth: {
266
266
  enable: false
267
- },
268
- blend: this.getBlend(),
269
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
267
+ }
270
268
  });
271
269
 
272
270
  case 6:
@@ -716,15 +714,13 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
716
714
  key: "reBuildModel",
717
715
  value: function () {
718
716
  var _reBuildModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
719
- var _ref8, _ref8$mask, mask, _ref8$maskInside, maskInside, model;
720
-
717
+ var model;
721
718
  return _regenerator.default.wrap(function _callee5$(_context5) {
722
719
  while (1) {
723
720
  switch (_context5.prev = _context5.next) {
724
721
  case 0:
725
- _ref8 = this.layer.getLayerConfig(), _ref8$mask = _ref8.mask, mask = _ref8$mask === void 0 ? false : _ref8$mask, _ref8$maskInside = _ref8.maskInside, maskInside = _ref8$maskInside === void 0 ? true : _ref8$maskInside;
726
722
  this.filterGlyphs();
727
- _context5.next = 4;
723
+ _context5.next = 3;
728
724
  return this.layer.buildLayerModel({
729
725
  moduleName: 'pointText',
730
726
  vertexShader: textVert,
@@ -732,17 +728,15 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
732
728
  triangulation: TextTriangulation.bind(this),
733
729
  depth: {
734
730
  enable: false
735
- },
736
- blend: this.getBlend(),
737
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
731
+ }
738
732
  });
739
733
 
740
- case 4:
734
+ case 3:
741
735
  model = _context5.sent;
742
736
  // TODO 渲染流程待修改
743
737
  this.layer.models = [model];
744
738
 
745
- case 6:
739
+ case 5:
746
740
  case "end":
747
741
  return _context5.stop();
748
742
  }
@@ -81,4 +81,8 @@ void main() {
81
81
  gl_FragColor.a *= opacity_t;
82
82
  gl_FragColor = filterColor(gl_FragColor);
83
83
  }
84
+ // 作为 mask 模板时需要丢弃透明的像素
85
+ if(gl_FragColor.a < 0.01) {
86
+ discard;
87
+ }
84
88
  }
@@ -35,5 +35,9 @@ void main(){
35
35
  }
36
36
 
37
37
  gl_FragColor.a = gl_FragColor.a * opacity;
38
+
39
+ if (gl_FragColor.a < 0.01) {
40
+ discard;
41
+ }
38
42
  gl_FragColor = filterColor(gl_FragColor);
39
43
  }
@@ -44,5 +44,9 @@ void main() {
44
44
  // gl_FragColor = mix(vec4(v_color.rgb, v_color.a * u_opacity), vec4(u_stroke_color.rgb, u_stroke_color.a * u_opacity), smoothstep(0., 0.5, 1. - dist));
45
45
  gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), vec4(textrueStroke.rgb, textrueStroke.a * opacity), smoothstep(0., 0.5, 1. - dist));
46
46
  gl_FragColor.a= gl_FragColor.a * alpha;
47
+ // 作为 mask 模板时需要丢弃透明的像素
48
+ if (gl_FragColor.a < 0.01) {
49
+ discard;
50
+ }
47
51
  gl_FragColor = filterColor(gl_FragColor);
48
52
  }
@@ -88,7 +88,7 @@ var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
88
88
  var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
89
89
  var shape = shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field;
90
90
 
91
- if (shape === 'fill') {
91
+ if (shape === 'fill' || !shape) {
92
92
  return 'fill';
93
93
  } else if (shape === 'extrude') {
94
94
  return 'extrude';
@@ -172,28 +172,26 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
172
172
  key: "buildModels",
173
173
  value: function () {
174
174
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
175
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, _this$getShaders, frag, vert, type, model;
175
+ var _this$getShaders, frag, vert, type, model;
176
176
 
177
177
  return _regenerator.default.wrap(function _callee2$(_context2) {
178
178
  while (1) {
179
179
  switch (_context2.prev = _context2.next) {
180
180
  case 0:
181
- _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;
182
181
  _this$getShaders = this.getShaders(), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
183
- _context2.next = 4;
182
+ _context2.next = 3;
184
183
  return this.layer.buildLayerModel({
185
184
  moduleName: type,
186
185
  vertexShader: vert,
187
186
  fragmentShader: frag,
188
- triangulation: _triangulation.PolygonExtrudeTriangulation,
189
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
187
+ triangulation: _triangulation.PolygonExtrudeTriangulation
190
188
  });
191
189
 
192
- case 4:
190
+ case 3:
193
191
  model = _context2.sent;
194
192
  return _context2.abrupt("return", [model]);
195
193
 
196
- case 6:
194
+ case 5:
197
195
  case "end":
198
196
  return _context2.stop();
199
197
  }
@@ -210,9 +208,9 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
210
208
  }, {
211
209
  key: "getShaders",
212
210
  value: function getShaders() {
213
- var _ref3 = this.layer.getLayerConfig(),
214
- pickLight = _ref3.pickLight,
215
- mapTexture = _ref3.mapTexture;
211
+ var _ref2 = this.layer.getLayerConfig(),
212
+ pickLight = _ref2.pickLight,
213
+ mapTexture = _ref2.mapTexture;
216
214
 
217
215
  if (mapTexture) {
218
216
  return {
@@ -317,8 +315,8 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
317
315
  value: function loadTexture() {
318
316
  var _this = this;
319
317
 
320
- var _ref4 = this.layer.getLayerConfig(),
321
- mapTexture = _ref4.mapTexture;
318
+ var _ref3 = this.layer.getLayerConfig(),
319
+ mapTexture = _ref3.mapTexture;
322
320
 
323
321
  var createTexture2D = this.rendererService.createTexture2D;
324
322
  this.texture = createTexture2D({
@@ -141,14 +141,14 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
141
141
  key: "buildModels",
142
142
  value: function () {
143
143
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
144
- var _this$getModelParams, frag, vert, triangulation, type, _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, _ref2$workerEnabled, workerEnabled, enablePicking, model;
144
+ var _this$getModelParams, frag, vert, triangulation, type, _ref2, _ref2$workerEnabled, workerEnabled, enablePicking, model;
145
145
 
146
146
  return _regenerator.default.wrap(function _callee2$(_context2) {
147
147
  while (1) {
148
148
  switch (_context2.prev = _context2.next) {
149
149
  case 0:
150
150
  _this$getModelParams = this.getModelParams(), frag = _this$getModelParams.frag, vert = _this$getModelParams.vert, triangulation = _this$getModelParams.triangulation, type = _this$getModelParams.type;
151
- _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$workerEnabled = _ref2.workerEnabled, workerEnabled = _ref2$workerEnabled === void 0 ? false : _ref2$workerEnabled, enablePicking = _ref2.enablePicking;
151
+ _ref2 = this.layer.getLayerConfig(), _ref2$workerEnabled = _ref2.workerEnabled, workerEnabled = _ref2$workerEnabled === void 0 ? false : _ref2$workerEnabled, enablePicking = _ref2.enablePicking;
152
152
  this.layer.triangulation = triangulation;
153
153
  _context2.next = 5;
154
154
  return this.layer.buildLayerModel({
@@ -160,8 +160,6 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
160
160
  depth: {
161
161
  enable: false
162
162
  },
163
- blend: this.getBlend(),
164
- stencil: (0, _l7Utils.getMask)(mask, maskInside),
165
163
  workerEnabled: workerEnabled,
166
164
  workerOptions: {
167
165
  modelType: type,
@@ -111,14 +111,12 @@ var OceanModel = /*#__PURE__*/function (_BaseModel) {
111
111
  key: "buildModels",
112
112
  value: function () {
113
113
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
114
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
115
-
114
+ var model;
116
115
  return _regenerator.default.wrap(function _callee2$(_context2) {
117
116
  while (1) {
118
117
  switch (_context2.prev = _context2.next) {
119
118
  case 0:
120
- _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;
121
- _context2.next = 3;
119
+ _context2.next = 2;
122
120
  return this.layer.buildLayerModel({
123
121
  moduleName: 'polygonOcean',
124
122
  vertexShader: ocean_vert,
@@ -127,15 +125,14 @@ var OceanModel = /*#__PURE__*/function (_BaseModel) {
127
125
  primitive: _l7Core.gl.TRIANGLES,
128
126
  depth: {
129
127
  enable: false
130
- },
131
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
128
+ }
132
129
  });
133
130
 
134
- case 3:
131
+ case 2:
135
132
  model = _context2.sent;
136
133
  return _context2.abrupt("return", [model]);
137
134
 
138
- case 5:
135
+ case 4:
139
136
  case "end":
140
137
  return _context2.stop();
141
138
  }
@@ -27,8 +27,6 @@ var _l7Core = require("@antv/l7-core");
27
27
 
28
28
  var _l7Maps = require("@antv/l7-maps");
29
29
 
30
- var _l7Utils = require("@antv/l7-utils");
31
-
32
30
  var _lodash = require("lodash");
33
31
 
34
32
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
@@ -106,14 +104,12 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
106
104
  key: "buildModels",
107
105
  value: function () {
108
106
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
109
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
110
-
107
+ var model;
111
108
  return _regenerator.default.wrap(function _callee2$(_context2) {
112
109
  while (1) {
113
110
  switch (_context2.prev = _context2.next) {
114
111
  case 0:
115
- _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;
116
- _context2.next = 3;
112
+ _context2.next = 2;
117
113
  return this.layer.buildLayerModel({
118
114
  moduleName: 'polygonWater',
119
115
  vertexShader: water_vert,
@@ -122,15 +118,14 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
122
118
  primitive: _l7Core.gl.TRIANGLES,
123
119
  depth: {
124
120
  enable: false
125
- },
126
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
121
+ }
127
122
  });
128
123
 
129
- case 3:
124
+ case 2:
130
125
  model = _context2.sent;
131
126
  return _context2.abrupt("return", [model]);
132
127
 
133
- case 5:
128
+ case 4:
134
129
  case "end":
135
130
  return _context2.stop();
136
131
  }
@@ -193,8 +188,8 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
193
188
  value: function loadTexture() {
194
189
  var _this = this;
195
190
 
196
- var _ref3 = this.layer.getLayerConfig(),
197
- waterTexture = _ref3.waterTexture;
191
+ var _ref2 = this.layer.getLayerConfig(),
192
+ waterTexture = _ref2.waterTexture;
198
193
 
199
194
  var createTexture2D = this.rendererService.createTexture2D;
200
195
  this.texture = createTexture2D({
@@ -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/raster_2d_frag.glsl' */
37
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\nbool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }\n\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue || isnan_emu(value))\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n \n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
37
+ var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\nbool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }\n\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue || isnan_emu(value))\n discard;\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n discard;\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n \n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n if(gl_FragColor.a < 0.01)\n discard;\n \n }\n}\n";
38
38
 
39
39
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
40
40
  var rasterVert = "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\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";
@@ -130,20 +130,19 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
130
130
  key: "initModels",
131
131
  value: function () {
132
132
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
133
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
133
+ var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
134
134
 
135
135
  return _regenerator.default.wrap(function _callee2$(_context2) {
136
136
  while (1) {
137
137
  switch (_context2.prev = _context2.next) {
138
138
  case 0:
139
- _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;
140
139
  source = this.layer.getSource();
141
140
  createTexture2D = this.rendererService.createTexture2D;
142
141
  parserDataItem = source.data.dataArray[0];
143
- _context2.next = 6;
142
+ _context2.next = 5;
144
143
  return this.getRasterData(parserDataItem);
145
144
 
146
- case 6:
145
+ case 5:
147
146
  _yield$this$getRaster = _context2.sent;
148
147
  data = _yield$this$getRaster.data;
149
148
  width = _yield$this$getRaster.width;
@@ -156,7 +155,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
156
155
  type: _l7Core.gl.FLOAT // aniso: 4,
157
156
 
158
157
  });
159
- _context2.next = 13;
158
+ _context2.next = 12;
160
159
  return this.layer.buildLayerModel({
161
160
  moduleName: 'rasterImageData',
162
161
  vertexShader: rasterVert,
@@ -165,15 +164,14 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
165
164
  primitive: _l7Core.gl.TRIANGLES,
166
165
  depth: {
167
166
  enable: false
168
- },
169
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
167
+ }
170
168
  });
171
169
 
172
- case 13:
170
+ case 12:
173
171
  model = _context2.sent;
174
172
  return _context2.abrupt("return", [model]);
175
173
 
176
- case 15:
174
+ case 14:
177
175
  case "end":
178
176
  return _context2.stop();
179
177
  }