@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.
- package/es/Geometry/models/billboard.js +3 -6
- package/es/Geometry/models/plane.js +3 -6
- package/es/core/BaseLayer.d.ts +7 -3
- package/es/core/BaseLayer.js +62 -18
- package/es/core/BaseModel.d.ts +3 -2
- package/es/core/BaseModel.js +39 -3
- package/es/core/LayerPickService.js +6 -2
- package/es/heatmap/index.d.ts +2 -2
- package/es/heatmap/index.js +5 -2
- package/es/heatmap/models/grid.js +5 -9
- package/es/heatmap/models/grid3d.js +5 -10
- package/es/heatmap/models/heatmap.d.ts +2 -2
- package/es/heatmap/models/heatmap.js +54 -46
- package/es/heatmap/models/hexagon.js +5 -10
- package/es/image/models/image.js +13 -16
- package/es/image/shaders/image_frag.glsl +2 -0
- package/es/index.js +6 -0
- package/es/line/models/arc.js +4 -6
- package/es/line/models/arc_3d.js +4 -6
- package/es/line/models/earthArc_3d.js +4 -6
- package/es/line/models/great_circle.js +9 -13
- package/es/line/models/half.js +4 -6
- package/es/line/models/line.js +3 -5
- package/es/line/models/linearline.js +4 -6
- package/es/line/models/simpleLine.js +5 -8
- package/es/mask/models/fill.js +1 -17
- package/es/plugins/LayerMaskPlugin.d.ts +8 -0
- package/es/plugins/LayerMaskPlugin.js +42 -0
- package/es/plugins/LayerStylePlugin.js +2 -1
- package/es/point/models/extrude.js +0 -1
- package/es/point/models/fill.js +4 -6
- package/es/point/models/fillmage.js +8 -12
- package/es/point/models/image.js +9 -14
- package/es/point/models/normal.js +4 -9
- package/es/point/models/radar.js +5 -10
- package/es/point/models/simplePoint.js +5 -10
- package/es/point/models/text.js +10 -16
- package/es/point/shaders/fill_frag.glsl +4 -0
- package/es/point/shaders/image_frag.glsl +4 -0
- package/es/point/shaders/text_frag.glsl +4 -0
- package/es/polygon/index.js +1 -1
- package/es/polygon/models/extrude.js +11 -13
- package/es/polygon/models/fill.js +3 -5
- package/es/polygon/models/ocean.js +6 -9
- package/es/polygon/models/water.js +7 -11
- package/es/raster/models/raster.js +9 -11
- package/es/raster/models/rasterRgb.js +8 -11
- package/es/raster/models/rasterTerrainRgb.js +9 -13
- package/es/raster/shaders/raster_2d_frag.glsl +6 -3
- package/es/raster/shaders/raster_frag.glsl +2 -0
- package/es/raster/shaders/raster_rgb_frag.glsl +2 -0
- package/es/raster/shaders/raster_terrain_rgb_frag.glsl +2 -0
- package/es/tile/service/TileLayerService.js +5 -4
- package/es/tile/style/constants.js +1 -1
- package/es/tile/tileFactory/Tile.d.ts +8 -0
- package/es/tile/tileFactory/Tile.js +102 -14
- package/es/tile/tileFactory/VectorTile.d.ts +0 -1
- package/es/tile/tileFactory/VectorTile.js +6 -46
- package/es/tile/tileLayer/BaseLayer.d.ts +1 -0
- package/es/tile/tileLayer/BaseLayer.js +5 -0
- package/es/utils/stencil.d.ts +7 -0
- package/es/utils/stencil.js +50 -0
- package/es/wind/index.d.ts +2 -1
- package/es/wind/index.js +3 -1
- package/es/wind/models/wind.d.ts +2 -2
- package/es/wind/models/wind.js +12 -10
- package/lib/Geometry/models/billboard.js +3 -7
- package/lib/Geometry/models/plane.js +2 -6
- package/lib/core/BaseLayer.js +62 -18
- package/lib/core/BaseModel.js +40 -2
- package/lib/core/LayerPickService.js +6 -2
- package/lib/heatmap/index.js +5 -2
- package/lib/heatmap/models/grid.js +5 -10
- package/lib/heatmap/models/grid3d.js +5 -11
- package/lib/heatmap/models/heatmap.js +53 -45
- package/lib/heatmap/models/hexagon.js +5 -11
- package/lib/image/models/image.js +12 -15
- package/lib/image/shaders/image_frag.glsl +2 -0
- package/lib/index.js +8 -0
- package/lib/line/models/arc.js +3 -5
- package/lib/line/models/arc_3d.js +3 -5
- package/lib/line/models/earthArc_3d.js +3 -5
- package/lib/line/models/great_circle.js +8 -12
- package/lib/line/models/half.js +3 -5
- package/lib/line/models/line.js +2 -4
- package/lib/line/models/linearline.js +3 -5
- package/lib/line/models/simpleLine.js +4 -7
- package/lib/mask/models/fill.js +1 -18
- package/lib/plugins/LayerMaskPlugin.js +54 -0
- package/lib/plugins/LayerStylePlugin.js +2 -1
- package/lib/point/models/extrude.js +0 -1
- package/lib/point/models/fill.js +3 -5
- package/lib/point/models/fillmage.js +7 -11
- package/lib/point/models/image.js +9 -15
- package/lib/point/models/normal.js +4 -10
- package/lib/point/models/radar.js +5 -11
- package/lib/point/models/simplePoint.js +5 -11
- package/lib/point/models/text.js +9 -15
- package/lib/point/shaders/fill_frag.glsl +4 -0
- package/lib/point/shaders/image_frag.glsl +4 -0
- package/lib/point/shaders/text_frag.glsl +4 -0
- package/lib/polygon/index.js +1 -1
- package/lib/polygon/models/extrude.js +10 -12
- package/lib/polygon/models/fill.js +2 -4
- package/lib/polygon/models/ocean.js +5 -8
- package/lib/polygon/models/water.js +7 -12
- package/lib/raster/models/raster.js +8 -10
- package/lib/raster/models/rasterRgb.js +8 -12
- package/lib/raster/models/rasterTerrainRgb.js +8 -12
- package/lib/raster/shaders/raster_2d_frag.glsl +6 -3
- package/lib/raster/shaders/raster_frag.glsl +2 -0
- package/lib/raster/shaders/raster_rgb_frag.glsl +2 -0
- package/lib/raster/shaders/raster_terrain_rgb_frag.glsl +2 -0
- package/lib/tile/service/TileLayerService.js +5 -4
- package/lib/tile/style/constants.js +1 -1
- package/lib/tile/tileFactory/Tile.js +102 -14
- package/lib/tile/tileFactory/VectorTile.js +6 -47
- package/lib/tile/tileLayer/BaseLayer.js +5 -0
- package/lib/utils/stencil.js +60 -0
- package/lib/wind/index.js +3 -1
- package/lib/wind/models/wind.js +11 -9
- 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
|
-
|
|
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: "
|
|
97
|
+
key: "addTileMask",
|
|
64
98
|
value: function () {
|
|
65
|
-
var
|
|
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 =
|
|
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
|
|
181
|
+
var _addLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(layer) {
|
|
97
182
|
var container;
|
|
98
|
-
return _regeneratorRuntime.wrap(function
|
|
183
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
99
184
|
while (1) {
|
|
100
|
-
switch (
|
|
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
|
-
|
|
192
|
+
_context3.next = 6;
|
|
108
193
|
return layer.init();
|
|
109
194
|
|
|
110
195
|
case 6:
|
|
111
196
|
case "end":
|
|
112
|
-
return
|
|
197
|
+
return _context3.stop();
|
|
113
198
|
}
|
|
114
199
|
}
|
|
115
|
-
},
|
|
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
|
});
|
|
@@ -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
|
-
|
|
63
|
-
|
|
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.
|
|
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
|
+
}
|
package/es/wind/index.d.ts
CHANGED
|
@@ -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;
|
package/es/wind/models/wind.d.ts
CHANGED
|
@@ -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(): {
|
package/es/wind/models/wind.js
CHANGED
|
@@ -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
|
|
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,
|
|
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
|
|
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,
|
|
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(),
|
|
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,
|
|
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(),
|
|
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;
|