@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
@@ -6,6 +6,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
6
6
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  import { createLayerContainer } from '@antv/l7-core';
9
+ import PolygonLayer from "../../polygon";
9
10
  import { isNeedMask } from "./util";
10
11
 
11
12
  var Tile = /*#__PURE__*/function () {
@@ -18,6 +19,8 @@ var Tile = /*#__PURE__*/function () {
18
19
 
19
20
  _defineProperty(this, "isLoaded", false);
20
21
 
22
+ _defineProperty(this, "tileMaskLayers", []);
23
+
21
24
  this.parent = parent;
22
25
  this.sourceTile = sourceTile;
23
26
  this.x = sourceTile.x;
@@ -53,30 +56,80 @@ var Tile = /*#__PURE__*/function () {
53
56
  }, {
54
57
  key: "getLayerOptions",
55
58
  value: function getLayerOptions() {
59
+ var _options$maskLayers;
60
+
56
61
  var options = this.parent.getLayerConfig();
57
62
  return _objectSpread(_objectSpread({}, options), {}, {
58
63
  autoFit: false,
59
- mask: isNeedMask(this.parent.type) || options.mask
64
+ maskLayers: this.getMaskLayer(),
65
+ tileMask: isNeedMask(this.parent.type),
66
+ mask: options.mask || ((_options$maskLayers = options.maskLayers) === null || _options$maskLayers === void 0 ? void 0 : _options$maskLayers.length) !== 0 && options.enableMask
67
+ });
68
+ } // 获取Mask 图层
69
+
70
+ }, {
71
+ key: "getMaskLayer",
72
+ value: function getMaskLayer() {
73
+ var _this = this;
74
+
75
+ var _this$parent$getLayer = this.parent.getLayerConfig(),
76
+ maskLayers = _this$parent$getLayer.maskLayers;
77
+
78
+ var layers = [];
79
+ maskLayers === null || maskLayers === void 0 ? void 0 : maskLayers.forEach(function (layer) {
80
+ if (!layer.tileLayer) {
81
+ // 非瓦片图层返回图层本身,瓦片图层返回对应的行列号图层
82
+ layers.push(layer);
83
+ return layer;
84
+ }
85
+
86
+ var tileLayer = layer.tileLayer;
87
+ var tile = tileLayer.getTile(_this.sourceTile.key);
88
+ var l = tile === null || tile === void 0 ? void 0 : tile.getLayers()[0];
89
+
90
+ if (l) {
91
+ layers.push(l);
92
+ }
60
93
  });
94
+ return layers;
61
95
  }
62
96
  }, {
63
- key: "addMask",
97
+ key: "addTileMask",
64
98
  value: function () {
65
- var _addMask = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(layer, mask) {
66
- var container;
99
+ var _addTileMask = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
100
+ var mask, container, mainLayer;
67
101
  return _regeneratorRuntime.wrap(function _callee$(_context) {
68
102
  while (1) {
69
103
  switch (_context.prev = _context.next) {
70
104
  case 0:
105
+ mask = new PolygonLayer({
106
+ visible: false,
107
+ enablePicking: false
108
+ }).source({
109
+ type: 'FeatureCollection',
110
+ features: [this.sourceTile.bboxPolygon]
111
+ }, {
112
+ parser: {
113
+ type: 'geojson',
114
+ featureId: 'id'
115
+ }
116
+ }).shape('fill');
71
117
  container = createLayerContainer(this.parent.sceneContainer);
72
118
  mask.setContainer(container, this.parent.sceneContainer);
73
- _context.next = 4;
119
+ _context.next = 5;
74
120
  return mask.init();
75
121
 
76
- case 4:
77
- layer.addMaskLayer(mask);
78
-
79
122
  case 5:
123
+ this.tileMask = mask;
124
+ mainLayer = this.getMainLayer();
125
+
126
+ if (mainLayer !== undefined) {
127
+ mainLayer.tileMask = mask;
128
+ }
129
+
130
+ return _context.abrupt("return", mask);
131
+
132
+ case 9:
80
133
  case "end":
81
134
  return _context.stop();
82
135
  }
@@ -84,6 +137,38 @@ var Tile = /*#__PURE__*/function () {
84
137
  }, _callee, this);
85
138
  }));
86
139
 
140
+ function addTileMask() {
141
+ return _addTileMask.apply(this, arguments);
142
+ }
143
+
144
+ return addTileMask;
145
+ }()
146
+ }, {
147
+ key: "addMask",
148
+ value: function () {
149
+ var _addMask = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(layer, mask) {
150
+ var container;
151
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
152
+ while (1) {
153
+ switch (_context2.prev = _context2.next) {
154
+ case 0:
155
+ container = createLayerContainer(this.parent.sceneContainer);
156
+ mask.setContainer(container, this.parent.sceneContainer);
157
+ _context2.next = 4;
158
+ return mask.init();
159
+
160
+ case 4:
161
+ layer.addMask(mask);
162
+ this.tileMaskLayers.push(mask);
163
+
164
+ case 6:
165
+ case "end":
166
+ return _context2.stop();
167
+ }
168
+ }
169
+ }, _callee2, this);
170
+ }));
171
+
87
172
  function addMask(_x, _x2) {
88
173
  return _addMask.apply(this, arguments);
89
174
  }
@@ -93,26 +178,26 @@ var Tile = /*#__PURE__*/function () {
93
178
  }, {
94
179
  key: "addLayer",
95
180
  value: function () {
96
- var _addLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(layer) {
181
+ var _addLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(layer) {
97
182
  var container;
98
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
183
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
99
184
  while (1) {
100
- switch (_context2.prev = _context2.next) {
185
+ switch (_context3.prev = _context3.next) {
101
186
  case 0:
102
187
  // set flag
103
188
  layer.isTileLayer = true;
104
189
  container = createLayerContainer(this.parent.sceneContainer);
105
190
  layer.setContainer(container, this.parent.sceneContainer);
106
191
  this.layers.push(layer);
107
- _context2.next = 6;
192
+ _context3.next = 6;
108
193
  return layer.init();
109
194
 
110
195
  case 6:
111
196
  case "end":
112
- return _context2.stop();
197
+ return _context3.stop();
113
198
  }
114
199
  }
115
- }, _callee2, this);
200
+ }, _callee3, this);
116
201
  }));
117
202
 
118
203
  function addLayer(_x3) {
@@ -162,6 +247,9 @@ var Tile = /*#__PURE__*/function () {
162
247
  }, {
163
248
  key: "destroy",
164
249
  value: function destroy() {
250
+ var _this$tileMask;
251
+
252
+ (_this$tileMask = this.tileMask) === null || _this$tileMask === void 0 ? void 0 : _this$tileMask.destroy();
165
253
  this.layers.forEach(function (layer) {
166
254
  return layer.destroy();
167
255
  });
@@ -2,7 +2,6 @@ import { ILayer } from '@antv/l7-core';
2
2
  import Tile from './Tile';
3
3
  export default class VectorTile extends Tile {
4
4
  initTileLayer(): Promise<void>;
5
- protected addTileMask(layer: ILayer): Promise<void>;
6
5
  protected getSourceOption(): {
7
6
  data: {
8
7
  type: string;
@@ -11,7 +11,6 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
 
12
12
  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; } }
13
13
 
14
- import MaskLayer from "../../mask";
15
14
  import Tile from "./Tile";
16
15
  import { getTileLayer } from "./util";
17
16
 
@@ -58,18 +57,17 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
58
57
 
59
58
  layer[attr]((_attributes$attr = attributes[attr]) === null || _attributes$attr === void 0 ? void 0 : _attributes$attr.field, (_attributes$attr2 = attributes[attr]) === null || _attributes$attr2 === void 0 ? void 0 : _attributes$attr2.values);
60
59
  });
60
+ _context.next = 11;
61
+ return this.addLayer(layer);
61
62
 
62
- if (!layerOptions.mask) {
63
- _context.next = 12;
63
+ case 11:
64
+ if (!layerOptions.tileMask) {
65
+ _context.next = 14;
64
66
  break;
65
67
  }
66
68
 
67
- _context.next = 12;
68
- return this.addTileMask(layer);
69
-
70
- case 12:
71
69
  _context.next = 14;
72
- return this.addLayer(layer);
70
+ return this.addTileMask();
73
71
 
74
72
  case 14:
75
73
  this.setLayerMinMaxZoom(layer);
@@ -88,44 +86,6 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
88
86
  }
89
87
 
90
88
  return initTileLayer;
91
- }() // Todo 校验数据有效性
92
-
93
- }, {
94
- key: "addTileMask",
95
- value: function () {
96
- var _addTileMask = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(layer) {
97
- var mask;
98
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
99
- while (1) {
100
- switch (_context2.prev = _context2.next) {
101
- case 0:
102
- mask = new MaskLayer({
103
- layerType: 'MaskLayer'
104
- }).source({
105
- type: 'FeatureCollection',
106
- features: [this.sourceTile.bboxPolygon]
107
- }, {
108
- parser: {
109
- type: 'geojson',
110
- featureId: 'id'
111
- }
112
- });
113
- _context2.next = 3;
114
- return this.addMask(layer, mask);
115
-
116
- case 3:
117
- case "end":
118
- return _context2.stop();
119
- }
120
- }
121
- }, _callee2, this);
122
- }));
123
-
124
- function addTileMask(_x) {
125
- return _addTileMask.apply(this, arguments);
126
- }
127
-
128
- return addTileMask;
129
89
  }()
130
90
  }, {
131
91
  key: "getSourceOption",
@@ -27,6 +27,7 @@ export default class BaseTileLayer {
27
27
  render(): void;
28
28
  getLayers(): ILayer[];
29
29
  getTiles(): import("@antv/l7-core").ITile[];
30
+ getTile(key: string): import("@antv/l7-core").ITile | undefined;
30
31
  viewchange: import("lodash").DebouncedFunc<() => void>;
31
32
  tileLoaded(tile: SourceTile): void;
32
33
  tileError(error: Error): void;
@@ -155,6 +155,11 @@ var BaseTileLayer = /*#__PURE__*/function () {
155
155
  key: "getTiles",
156
156
  value: function getTiles() {
157
157
  return this.tileLayerService.getTiles();
158
+ }
159
+ }, {
160
+ key: "getTile",
161
+ value: function getTile(key) {
162
+ return this.tileLayerService.getTile(key);
158
163
  } // 防抖操作
159
164
 
160
165
  }, {
@@ -0,0 +1,7 @@
1
+ import { IRenderOptions, IStencilOptions, MaskOperationType } from '@antv/l7-core';
2
+ export declare function getStencil(mask: boolean, maskInside: boolean): Partial<IStencilOptions>;
3
+ interface IStencilMaskOptions extends IRenderOptions {
4
+ maskOperation?: MaskOperationType;
5
+ }
6
+ export declare function getStencilMask(option: Partial<IStencilMaskOptions>): Partial<IStencilOptions>;
7
+ export {};
@@ -0,0 +1,50 @@
1
+ import { gl, MaskOperation, StencilType } from '@antv/l7-core'; // 掩膜配置
2
+
3
+ export function getStencil(mask, maskInside) {
4
+ return {
5
+ enable: mask,
6
+ mask: 0xff,
7
+ func: {
8
+ cmp: gl.EQUAL,
9
+ // gl.EQUAL,
10
+ ref: maskInside ? 1 : 0,
11
+ mask: 1
12
+ }
13
+ };
14
+ }
15
+ // 模版配置
16
+ export function getStencilMask(option) {
17
+ if (option.maskOperation === MaskOperation.OR) {
18
+ return {
19
+ enable: true,
20
+ mask: 0xff,
21
+ func: {
22
+ cmp: gl.ALWAYS,
23
+ ref: 1,
24
+ mask: 0xff
25
+ },
26
+ opFront: {
27
+ fail: gl.KEEP,
28
+ zfail: gl.REPLACE,
29
+ zpass: gl.REPLACE
30
+ }
31
+ };
32
+ }
33
+
34
+ return {
35
+ enable: true,
36
+ mask: 0xff,
37
+ func: {
38
+ cmp: option.stencilType === StencilType.SINGLE // 单层
39
+ ? gl.ALWAYS : option.stencilIndex === 0 // 多层
40
+ ? gl.ALWAYS : gl.LESS,
41
+ ref: option.stencilType === StencilType.SINGLE ? 1 : option.stencilIndex === 0 ? 2 : 1,
42
+ mask: 0xff
43
+ },
44
+ opFront: {
45
+ fail: gl.KEEP,
46
+ zfail: gl.REPLACE,
47
+ zpass: gl.REPLACE
48
+ }
49
+ };
50
+ }
@@ -1,10 +1,11 @@
1
+ import { IRenderOptions } from '@antv/l7-core';
1
2
  import BaseLayer from '../core/BaseLayer';
2
3
  import { IWindLayerStyleOptions } from '../core/interface';
3
4
  import { WindModelType } from './models';
4
5
  export default class WindLayer extends BaseLayer<IWindLayerStyleOptions> {
5
6
  type: string;
6
7
  buildModels(): Promise<void>;
7
- renderModels(): this;
8
+ renderModels(options?: Partial<IRenderOptions>): this;
8
9
  protected getDefaultConfig(): {};
9
10
  getModelType(): WindModelType;
10
11
  }
package/es/wind/index.js CHANGED
@@ -67,8 +67,10 @@ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
67
67
  }, {
68
68
  key: "renderModels",
69
69
  value: function renderModels() {
70
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
71
+
70
72
  if (this.layerModel) {
71
- this.layerModel.render(); // 独立的渲染流程
73
+ this.layerModel.render(options); // 独立的渲染流程
72
74
  }
73
75
 
74
76
  return this;
@@ -1,4 +1,4 @@
1
- import { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
1
+ import { IModel, IModelUniform, IRenderOptions, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class WindModel extends BaseModel {
4
4
  protected texture: ITexture2D;
@@ -8,7 +8,7 @@ export default class WindModel extends BaseModel {
8
8
  private sizeScale;
9
9
  private frequency;
10
10
  private cacheZoom;
11
- render(): void;
11
+ render(options: Partial<IRenderOptions>): void;
12
12
  getUninforms(): IModelUniform;
13
13
  initModels(): Promise<IModel[]>;
14
14
  getWindSize(): {
@@ -13,7 +13,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
14
 
15
15
  import { AttributeType, gl } from '@antv/l7-core';
16
- import { FrequencyController, getMask } from '@antv/l7-utils';
16
+ import { FrequencyController } from '@antv/l7-utils';
17
17
  import BaseModel from "../../core/BaseModel";
18
18
  import { RasterImageTriangulation } from "../../core/triangulation";
19
19
 
@@ -59,14 +59,14 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
59
59
 
60
60
  _createClass(WindModel, [{
61
61
  key: "render",
62
- value: function render() {
62
+ value: function render(options) {
63
63
  var _this2 = this;
64
64
 
65
- // Tip: 控制风场的平均更新频率
65
+ this.drawColorMode(options); // Tip: 控制风场的平均更新频率
66
+
66
67
  this.frequency.run(function () {
67
68
  _this2.drawWind();
68
69
  });
69
- this.drawColorMode();
70
70
  }
71
71
  }, {
72
72
  key: "getUninforms",
@@ -82,13 +82,13 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
82
82
  _source$data2$images,
83
83
  _this3 = this;
84
84
 
85
- var _ref, _ref$uMin, uMin, _ref$uMax, uMax, _ref$vMin, vMin, _ref$vMax, vMax, _ref$fadeOpacity, fadeOpacity, _ref$speedFactor, speedFactor, _ref$dropRate, dropRate, _ref$dropRateBump, dropRateBump, _ref$rampColors, rampColors, _ref$sizeScale, sizeScale, _ref$mask, mask, _ref$maskInside, maskInside, createTexture2D, source, glContext, model;
85
+ var _ref, _ref$uMin, uMin, _ref$uMax, uMax, _ref$vMin, vMin, _ref$vMax, vMax, _ref$fadeOpacity, fadeOpacity, _ref$speedFactor, speedFactor, _ref$dropRate, dropRate, _ref$dropRateBump, dropRateBump, _ref$rampColors, rampColors, _ref$sizeScale, sizeScale, createTexture2D, source, glContext, model;
86
86
 
87
87
  return _regeneratorRuntime.wrap(function _callee$(_context) {
88
88
  while (1) {
89
89
  switch (_context.prev = _context.next) {
90
90
  case 0:
91
- _ref = this.layer.getLayerConfig(), _ref$uMin = _ref.uMin, uMin = _ref$uMin === void 0 ? -21.32 : _ref$uMin, _ref$uMax = _ref.uMax, uMax = _ref$uMax === void 0 ? 26.8 : _ref$uMax, _ref$vMin = _ref.vMin, vMin = _ref$vMin === void 0 ? -21.57 : _ref$vMin, _ref$vMax = _ref.vMax, vMax = _ref$vMax === void 0 ? 21.42 : _ref$vMax, _ref$fadeOpacity = _ref.fadeOpacity, fadeOpacity = _ref$fadeOpacity === void 0 ? 0.996 : _ref$fadeOpacity, _ref$speedFactor = _ref.speedFactor, speedFactor = _ref$speedFactor === void 0 ? 0.25 : _ref$speedFactor, _ref$dropRate = _ref.dropRate, dropRate = _ref$dropRate === void 0 ? 0.003 : _ref$dropRate, _ref$dropRateBump = _ref.dropRateBump, dropRateBump = _ref$dropRateBump === void 0 ? 0.01 : _ref$dropRateBump, _ref$rampColors = _ref.rampColors, rampColors = _ref$rampColors === void 0 ? defaultRampColors : _ref$rampColors, _ref$sizeScale = _ref.sizeScale, sizeScale = _ref$sizeScale === void 0 ? 0.5 : _ref$sizeScale, _ref$mask = _ref.mask, mask = _ref$mask === void 0 ? false : _ref$mask, _ref$maskInside = _ref.maskInside, maskInside = _ref$maskInside === void 0 ? true : _ref$maskInside;
91
+ _ref = this.layer.getLayerConfig(), _ref$uMin = _ref.uMin, uMin = _ref$uMin === void 0 ? -21.32 : _ref$uMin, _ref$uMax = _ref.uMax, uMax = _ref$uMax === void 0 ? 26.8 : _ref$uMax, _ref$vMin = _ref.vMin, vMin = _ref$vMin === void 0 ? -21.57 : _ref$vMin, _ref$vMax = _ref.vMax, vMax = _ref$vMax === void 0 ? 21.42 : _ref$vMax, _ref$fadeOpacity = _ref.fadeOpacity, fadeOpacity = _ref$fadeOpacity === void 0 ? 0.996 : _ref$fadeOpacity, _ref$speedFactor = _ref.speedFactor, speedFactor = _ref$speedFactor === void 0 ? 0.25 : _ref$speedFactor, _ref$dropRate = _ref.dropRate, dropRate = _ref$dropRate === void 0 ? 0.003 : _ref$dropRate, _ref$dropRateBump = _ref.dropRateBump, dropRateBump = _ref$dropRateBump === void 0 ? 0.01 : _ref$dropRateBump, _ref$rampColors = _ref.rampColors, rampColors = _ref$rampColors === void 0 ? defaultRampColors : _ref$rampColors, _ref$sizeScale = _ref.sizeScale, sizeScale = _ref$sizeScale === void 0 ? 0.5 : _ref$sizeScale;
92
92
  createTexture2D = this.rendererService.createTexture2D;
93
93
  source = this.layer.getSource();
94
94
  this.texture = createTexture2D({
@@ -144,9 +144,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
144
144
  primitive: gl.TRIANGLES,
145
145
  depth: {
146
146
  enable: false
147
- },
148
- stencil: getMask(mask, maskInside),
149
- blend: this.getBlend()
147
+ }
150
148
  });
151
149
 
152
150
  case 10:
@@ -310,6 +308,8 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
310
308
  value: function drawColorMode() {
311
309
  var _this$colorModel;
312
310
 
311
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
312
+
313
313
  var _ref3 = this.layer.getLayerConfig(),
314
314
  opacity = _ref3.opacity;
315
315
 
@@ -320,7 +320,9 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
320
320
  uniforms: {
321
321
  u_opacity: opacity || 1.0,
322
322
  u_texture: this.texture
323
- }
323
+ },
324
+ blend: this.getBlend(),
325
+ stencil: this.getStencil(options)
324
326
  });
325
327
  this.layer.hooks.afterRender.call();
326
328
  }
@@ -29,8 +29,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
29
29
 
30
30
  var _l7Core = require("@antv/l7-core");
31
31
 
32
- var _l7Utils = require("@antv/l7-utils");
33
-
34
32
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
35
33
 
36
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -121,13 +119,13 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
121
119
  key: "initModels",
122
120
  value: function () {
123
121
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
124
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, drawCanvas, createTexture2D, model;
122
+ var _ref3, drawCanvas, createTexture2D, model;
125
123
 
126
124
  return _regenerator.default.wrap(function _callee$(_context) {
127
125
  while (1) {
128
126
  switch (_context.prev = _context.next) {
129
127
  case 0:
130
- _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, drawCanvas = _ref3.drawCanvas;
128
+ _ref3 = this.layer.getLayerConfig(), drawCanvas = _ref3.drawCanvas;
131
129
  createTexture2D = this.rendererService.createTexture2D;
132
130
  this.texture = createTexture2D({
133
131
  height: 0,
@@ -147,9 +145,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
147
145
  primitive: _l7Core.gl.TRIANGLES,
148
146
  depth: {
149
147
  enable: true
150
- },
151
- blend: this.getBlend(),
152
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
148
+ }
153
149
  });
154
150
 
155
151
  case 6:
@@ -33,8 +33,6 @@ var _l7Core = require("@antv/l7-core");
33
33
 
34
34
  var _l7Maps = require("@antv/l7-maps");
35
35
 
36
- var _l7Utils = require("@antv/l7-utils");
37
-
38
36
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
39
37
 
40
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -197,13 +195,13 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
197
195
  key: "initModels",
198
196
  value: function () {
199
197
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
200
- var _ref5, _ref5$mask, mask, _ref5$maskInside, maskInside, mapTexture, createTexture2D, model;
198
+ var _ref5, mapTexture, createTexture2D, model;
201
199
 
202
200
  return _regenerator.default.wrap(function _callee$(_context) {
203
201
  while (1) {
204
202
  switch (_context.prev = _context.next) {
205
203
  case 0:
206
- _ref5 = this.layer.getLayerConfig(), _ref5$mask = _ref5.mask, mask = _ref5$mask === void 0 ? false : _ref5$mask, _ref5$maskInside = _ref5.maskInside, maskInside = _ref5$maskInside === void 0 ? true : _ref5$maskInside, mapTexture = _ref5.mapTexture;
204
+ _ref5 = this.layer.getLayerConfig(), mapTexture = _ref5.mapTexture;
207
205
  this.mapTexture = mapTexture;
208
206
  createTexture2D = this.rendererService.createTexture2D;
209
207
  this.texture = createTexture2D({
@@ -221,8 +219,6 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
221
219
  depth: {
222
220
  enable: true
223
221
  },
224
- stencil: (0, _l7Utils.getMask)(mask, maskInside),
225
- blend: this.getBlend(),
226
222
  cull: {
227
223
  enable: true,
228
224
  face: _l7Core.gl.BACK // gl.FRONT | gl.BACK;