@antv/l7-layers 2.14.1 → 2.14.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +64 -20
- package/es/core/BaseModel.d.ts +3 -2
- package/es/core/BaseModel.js +39 -3
- package/es/core/LayerPickService.js +6 -30
- 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 +2 -1
- package/es/tile/tileLayer/BaseLayer.js +68 -62
- 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 +64 -20
- package/lib/core/BaseModel.js +40 -2
- package/lib/core/LayerPickService.js +6 -32
- 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 +67 -62
- 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
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;
|
package/lib/core/BaseLayer.js
CHANGED
|
@@ -175,10 +175,41 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
(0, _createClass2.default)(BaseLayer, [{
|
|
178
|
+
key: "addMask",
|
|
179
|
+
value: function addMask(layer) {
|
|
180
|
+
this.masks.push(layer);
|
|
181
|
+
this.enableMask();
|
|
182
|
+
}
|
|
183
|
+
}, {
|
|
184
|
+
key: "removeMask",
|
|
185
|
+
value: function removeMask(layer) {
|
|
186
|
+
var layerIndex = this.masks.indexOf(layer);
|
|
187
|
+
|
|
188
|
+
if (layerIndex > -1) {
|
|
189
|
+
this.masks.splice(layerIndex, 1);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}, {
|
|
193
|
+
key: "disableMask",
|
|
194
|
+
value: function disableMask() {
|
|
195
|
+
this.updateLayerConfig({
|
|
196
|
+
enableMask: false
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}, {
|
|
200
|
+
key: "enableMask",
|
|
201
|
+
value: function enableMask() {
|
|
202
|
+
this.updateLayerConfig({
|
|
203
|
+
enableMask: true
|
|
204
|
+
});
|
|
205
|
+
} // 将废弃
|
|
206
|
+
|
|
207
|
+
}, {
|
|
178
208
|
key: "addMaskLayer",
|
|
179
209
|
value: function addMaskLayer(maskLayer) {
|
|
180
210
|
this.masks.push(maskLayer);
|
|
181
|
-
}
|
|
211
|
+
} // 将废弃
|
|
212
|
+
|
|
182
213
|
}, {
|
|
183
214
|
key: "removeMaskLayer",
|
|
184
215
|
value: function removeMaskLayer(maskLayer) {
|
|
@@ -354,7 +385,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
354
385
|
|
|
355
386
|
case 31:
|
|
356
387
|
this.log(_l7Core.IDebugLog.LayerInitEnd);
|
|
357
|
-
this.inited = true; //
|
|
388
|
+
this.inited = true; // add mask layer
|
|
389
|
+
// 触发初始化完成事件;
|
|
358
390
|
|
|
359
391
|
this.emit('inited', {
|
|
360
392
|
target: this,
|
|
@@ -494,7 +526,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
494
526
|
key: "filter",
|
|
495
527
|
value: function filter(field, values, updateOptions) {
|
|
496
528
|
var flag = this.updateStyleAttribute('filter', field, values, updateOptions);
|
|
497
|
-
this.dataState.dataSourceNeedUpdate = flag;
|
|
529
|
+
this.dataState.dataSourceNeedUpdate = flag && this.inited;
|
|
498
530
|
return this;
|
|
499
531
|
}
|
|
500
532
|
}, {
|
|
@@ -505,7 +537,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
505
537
|
values: values
|
|
506
538
|
};
|
|
507
539
|
var flag = this.updateStyleAttribute('shape', field, values, updateOptions);
|
|
508
|
-
this.dataState.dataSourceNeedUpdate = flag;
|
|
540
|
+
this.dataState.dataSourceNeedUpdate = flag && this.inited;
|
|
509
541
|
return this;
|
|
510
542
|
}
|
|
511
543
|
}, {
|
|
@@ -650,6 +682,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
650
682
|
}, {
|
|
651
683
|
key: "render",
|
|
652
684
|
value: function render() {
|
|
685
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
686
|
+
|
|
653
687
|
if (this.tileLayer) {
|
|
654
688
|
// 瓦片图层执行单独的 render 渲染队列
|
|
655
689
|
this.tileLayer.render();
|
|
@@ -663,7 +697,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
663
697
|
} // Tip: this.getEncodedData().length !== 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
|
|
664
698
|
|
|
665
699
|
|
|
666
|
-
this.renderModels();
|
|
700
|
+
this.renderModels(options);
|
|
667
701
|
return this;
|
|
668
702
|
}
|
|
669
703
|
/**
|
|
@@ -835,8 +869,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
835
869
|
value: function setBlend(type) {
|
|
836
870
|
this.updateLayerConfig({
|
|
837
871
|
blend: type
|
|
838
|
-
});
|
|
839
|
-
|
|
872
|
+
}); // this.layerModelNeedUpdate = true;
|
|
873
|
+
|
|
840
874
|
this.reRender();
|
|
841
875
|
return this;
|
|
842
876
|
}
|
|
@@ -1021,12 +1055,18 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1021
1055
|
this.layerChildren.map(function (child) {
|
|
1022
1056
|
return child.destroy(false);
|
|
1023
1057
|
});
|
|
1024
|
-
this.layerChildren = []; // remove mask list
|
|
1058
|
+
this.layerChildren = []; // remove mask list maskfence 掩膜需要销毁
|
|
1059
|
+
|
|
1060
|
+
var _this$getLayerConfig10 = this.getLayerConfig(),
|
|
1061
|
+
maskfence = _this$getLayerConfig10.maskfence;
|
|
1062
|
+
|
|
1063
|
+
if (maskfence) {
|
|
1064
|
+
this.masks.map(function (mask) {
|
|
1065
|
+
return mask.destroy(false);
|
|
1066
|
+
});
|
|
1067
|
+
this.masks = [];
|
|
1068
|
+
}
|
|
1025
1069
|
|
|
1026
|
-
this.masks.map(function (mask) {
|
|
1027
|
-
return mask.destroy(false);
|
|
1028
|
-
});
|
|
1029
|
-
this.masks = [];
|
|
1030
1070
|
this.hooks.beforeDestroy.call(); // 清除sources事件
|
|
1031
1071
|
|
|
1032
1072
|
this.layerSource.off('update', this.sourceEvent);
|
|
@@ -1362,11 +1402,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1362
1402
|
}, {
|
|
1363
1403
|
key: "needPick",
|
|
1364
1404
|
value: function needPick(type) {
|
|
1365
|
-
var _this$
|
|
1366
|
-
_this$
|
|
1367
|
-
enableHighlight = _this$
|
|
1368
|
-
_this$
|
|
1369
|
-
enableSelect = _this$
|
|
1405
|
+
var _this$getLayerConfig11 = this.getLayerConfig(),
|
|
1406
|
+
_this$getLayerConfig12 = _this$getLayerConfig11.enableHighlight,
|
|
1407
|
+
enableHighlight = _this$getLayerConfig12 === void 0 ? true : _this$getLayerConfig12,
|
|
1408
|
+
_this$getLayerConfig13 = _this$getLayerConfig11.enableSelect,
|
|
1409
|
+
enableSelect = _this$getLayerConfig13 === void 0 ? true : _this$getLayerConfig13; // 判断layer是否监听事件;
|
|
1370
1410
|
|
|
1371
1411
|
|
|
1372
1412
|
var isPick = this.eventNames().indexOf(type) !== -1 || this.eventNames().indexOf('un' + type) !== -1;
|
|
@@ -1457,9 +1497,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1457
1497
|
}()
|
|
1458
1498
|
}, {
|
|
1459
1499
|
key: "renderModels",
|
|
1460
|
-
value: function renderModels(
|
|
1500
|
+
value: function renderModels() {
|
|
1461
1501
|
var _this11 = this;
|
|
1462
1502
|
|
|
1503
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1504
|
+
|
|
1463
1505
|
// TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
|
|
1464
1506
|
if (this.encodeDataLength <= 0 && !this.forceRender) {
|
|
1465
1507
|
return this;
|
|
@@ -1468,8 +1510,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
1468
1510
|
this.hooks.beforeRender.call();
|
|
1469
1511
|
this.models.forEach(function (model) {
|
|
1470
1512
|
model.draw({
|
|
1471
|
-
uniforms: _this11.layerModel.getUninforms()
|
|
1472
|
-
|
|
1513
|
+
uniforms: _this11.layerModel.getUninforms(),
|
|
1514
|
+
blend: _this11.layerModel.getBlend(),
|
|
1515
|
+
stencil: _this11.layerModel.getStencil(options)
|
|
1516
|
+
}, (options === null || options === void 0 ? void 0 : options.ispick) || false);
|
|
1473
1517
|
});
|
|
1474
1518
|
this.hooks.afterRender.call();
|
|
1475
1519
|
return this;
|
package/lib/core/BaseModel.js
CHANGED
|
@@ -11,6 +11,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
|
|
12
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
13
|
|
|
14
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
|
+
|
|
14
16
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
17
|
|
|
16
18
|
var _initializerDefineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerDefineProperty"));
|
|
@@ -35,6 +37,8 @@ var _lodash = require("lodash");
|
|
|
35
37
|
|
|
36
38
|
var _blend = require("../utils/blend");
|
|
37
39
|
|
|
40
|
+
var _stencil = require("../utils/stencil");
|
|
41
|
+
|
|
38
42
|
var _dec, _class, _descriptor;
|
|
39
43
|
|
|
40
44
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
@@ -431,6 +435,39 @@ var BaseModel = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
431
435
|
|
|
432
436
|
return _blend.BlendTypes[_l7Core.BlendType[blend]];
|
|
433
437
|
}
|
|
438
|
+
}, {
|
|
439
|
+
key: "getStencil",
|
|
440
|
+
value: function getStencil(option) {
|
|
441
|
+
var _this$layer$getLayerC3 = this.layer.getLayerConfig(),
|
|
442
|
+
_this$layer$getLayerC4 = _this$layer$getLayerC3.mask,
|
|
443
|
+
mask = _this$layer$getLayerC4 === void 0 ? false : _this$layer$getLayerC4,
|
|
444
|
+
_this$layer$getLayerC5 = _this$layer$getLayerC3.maskInside,
|
|
445
|
+
maskInside = _this$layer$getLayerC5 === void 0 ? true : _this$layer$getLayerC5,
|
|
446
|
+
enableMask = _this$layer$getLayerC3.enableMask,
|
|
447
|
+
_this$layer$getLayerC6 = _this$layer$getLayerC3.maskOperation,
|
|
448
|
+
maskOperation = _this$layer$getLayerC6 === void 0 ? _l7Core.MaskOperation.AND : _this$layer$getLayerC6; // TODO 临时处理,后期移除MaskLayer
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
if (this.layer.type === 'MaskLayer') {
|
|
452
|
+
return (0, _stencil.getStencilMask)({
|
|
453
|
+
isStencil: true,
|
|
454
|
+
stencilType: _l7Core.StencilType.SINGLE
|
|
455
|
+
}); // 用于遮罩的stencil 参数
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
if (option.isStencil) {
|
|
459
|
+
return (0, _stencil.getStencilMask)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, option), {}, {
|
|
460
|
+
maskOperation: maskOperation
|
|
461
|
+
})); // 用于遮罩的stencil 参数
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
var maskflag = mask || // mask 兼容历史写法
|
|
465
|
+
enableMask && this.layer.masks.length !== 0 || // 外部图层的mask
|
|
466
|
+
this.layer.tileMask !== undefined; // 瓦片图层
|
|
467
|
+
// !!(mask || enableMask || this.layer.tileMask);
|
|
468
|
+
|
|
469
|
+
return (0, _stencil.getStencil)(maskflag, maskInside);
|
|
470
|
+
}
|
|
434
471
|
}, {
|
|
435
472
|
key: "getDefaultStyle",
|
|
436
473
|
value: function getDefaultStyle() {
|
|
@@ -531,10 +568,11 @@ var BaseModel = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
|
|
|
531
568
|
key: "getAttribute",
|
|
532
569
|
value: function getAttribute() {
|
|
533
570
|
throw new Error('Method not implemented.');
|
|
534
|
-
}
|
|
571
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
572
|
+
|
|
535
573
|
}, {
|
|
536
574
|
key: "render",
|
|
537
|
-
value: function render() {
|
|
575
|
+
value: function render(renderOptions) {
|
|
538
576
|
throw new Error('Method not implemented.');
|
|
539
577
|
}
|
|
540
578
|
}, {
|
|
@@ -7,14 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
11
|
|
|
14
12
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
13
|
|
|
16
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
15
|
|
|
20
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -32,6 +28,8 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
32
28
|
(0, _createClass2.default)(BaseLayerPickService, [{
|
|
33
29
|
key: "pickRender",
|
|
34
30
|
value: function pickRender(target) {
|
|
31
|
+
var container = this.layer.getContainer();
|
|
32
|
+
var layerService = container.get(_l7Core.TYPES.ILayerService);
|
|
35
33
|
var layer = this.layer; // 瓦片图层的拾取绘制
|
|
36
34
|
|
|
37
35
|
if (layer.tileLayer) {
|
|
@@ -39,34 +37,10 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
39
37
|
}
|
|
40
38
|
|
|
41
39
|
layer.hooks.beforePickingEncode.call();
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return mask.inited;
|
|
47
|
-
}).forEach( /*#__PURE__*/function () {
|
|
48
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(m) {
|
|
49
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
50
|
-
while (1) {
|
|
51
|
-
switch (_context.prev = _context.next) {
|
|
52
|
-
case 0:
|
|
53
|
-
m.render();
|
|
54
|
-
|
|
55
|
-
case 1:
|
|
56
|
-
case "end":
|
|
57
|
-
return _context.stop();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}, _callee);
|
|
61
|
-
}));
|
|
62
|
-
|
|
63
|
-
return function (_x) {
|
|
64
|
-
return _ref.apply(this, arguments);
|
|
65
|
-
};
|
|
66
|
-
}());
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
layer.renderModels(true);
|
|
40
|
+
layerService.renderTileLayerMask(layer);
|
|
41
|
+
layer.renderModels({
|
|
42
|
+
ispick: true
|
|
43
|
+
});
|
|
70
44
|
layer.hooks.afterPickingEncode.call();
|
|
71
45
|
}
|
|
72
46
|
}, {
|
package/lib/heatmap/index.js
CHANGED
|
@@ -85,11 +85,12 @@ var HeatMapLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
85
85
|
value: function renderModels() {
|
|
86
86
|
var _this2 = this;
|
|
87
87
|
|
|
88
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
88
89
|
var shape = this.getModelType();
|
|
89
90
|
|
|
90
91
|
if (shape === 'heatmap') {
|
|
91
92
|
if (this.layerModel) {
|
|
92
|
-
this.layerModel.render(); // 独立的渲染流程
|
|
93
|
+
this.layerModel.render(options); // 独立的渲染流程
|
|
93
94
|
}
|
|
94
95
|
|
|
95
96
|
return this;
|
|
@@ -102,7 +103,9 @@ var HeatMapLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
102
103
|
this.hooks.beforeRender.call();
|
|
103
104
|
this.models.forEach(function (model) {
|
|
104
105
|
return model.draw({
|
|
105
|
-
uniforms: _this2.layerModel.getUninforms()
|
|
106
|
+
uniforms: _this2.layerModel.getUninforms(),
|
|
107
|
+
blend: _this2.layerModel.getBlend(),
|
|
108
|
+
stencil: _this2.layerModel.getStencil(options)
|
|
106
109
|
});
|
|
107
110
|
});
|
|
108
111
|
this.hooks.afterRender.call();
|
|
@@ -23,8 +23,6 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
23
23
|
|
|
24
24
|
var _l7Core = require("@antv/l7-core");
|
|
25
25
|
|
|
26
|
-
var _l7Utils = require("@antv/l7-utils");
|
|
27
|
-
|
|
28
26
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
29
27
|
|
|
30
28
|
var _triangulation = require("../../core/triangulation");
|
|
@@ -92,14 +90,12 @@ var GridModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
92
90
|
key: "buildModels",
|
|
93
91
|
value: function () {
|
|
94
92
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
95
|
-
var
|
|
96
|
-
|
|
93
|
+
var model;
|
|
97
94
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
98
95
|
while (1) {
|
|
99
96
|
switch (_context2.prev = _context2.next) {
|
|
100
97
|
case 0:
|
|
101
|
-
|
|
102
|
-
_context2.next = 3;
|
|
98
|
+
_context2.next = 2;
|
|
103
99
|
return this.layer.buildLayerModel({
|
|
104
100
|
moduleName: 'heatmapGrid',
|
|
105
101
|
vertexShader: heatmapGridVert,
|
|
@@ -108,15 +104,14 @@ var GridModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
108
104
|
primitive: _l7Core.gl.TRIANGLES,
|
|
109
105
|
depth: {
|
|
110
106
|
enable: false
|
|
111
|
-
}
|
|
112
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
107
|
+
}
|
|
113
108
|
});
|
|
114
109
|
|
|
115
|
-
case
|
|
110
|
+
case 2:
|
|
116
111
|
model = _context2.sent;
|
|
117
112
|
return _context2.abrupt("return", [model]);
|
|
118
113
|
|
|
119
|
-
case
|
|
114
|
+
case 4:
|
|
120
115
|
case "end":
|
|
121
116
|
return _context2.stop();
|
|
122
117
|
}
|
|
@@ -23,8 +23,6 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
23
23
|
|
|
24
24
|
var _l7Core = require("@antv/l7-core");
|
|
25
25
|
|
|
26
|
-
var _l7Utils = require("@antv/l7-utils");
|
|
27
|
-
|
|
28
26
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
29
27
|
|
|
30
28
|
var _triangulation = require("../../core/triangulation");
|
|
@@ -92,14 +90,12 @@ var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
92
90
|
key: "buildModels",
|
|
93
91
|
value: function () {
|
|
94
92
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
95
|
-
var
|
|
96
|
-
|
|
93
|
+
var model;
|
|
97
94
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
98
95
|
while (1) {
|
|
99
96
|
switch (_context2.prev = _context2.next) {
|
|
100
97
|
case 0:
|
|
101
|
-
|
|
102
|
-
_context2.next = 3;
|
|
98
|
+
_context2.next = 2;
|
|
103
99
|
return this.layer.buildLayerModel({
|
|
104
100
|
moduleName: 'heatmapGrid3d',
|
|
105
101
|
vertexShader: heatmapGrid3dVert,
|
|
@@ -108,16 +104,14 @@ var Grid3DModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
108
104
|
primitive: _l7Core.gl.TRIANGLES,
|
|
109
105
|
depth: {
|
|
110
106
|
enable: true
|
|
111
|
-
}
|
|
112
|
-
blend: this.getBlend(),
|
|
113
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
107
|
+
}
|
|
114
108
|
});
|
|
115
109
|
|
|
116
|
-
case
|
|
110
|
+
case 2:
|
|
117
111
|
model = _context2.sent;
|
|
118
112
|
return _context2.abrupt("return", [model]);
|
|
119
113
|
|
|
120
|
-
case
|
|
114
|
+
case 4:
|
|
121
115
|
case "end":
|
|
122
116
|
return _context2.stop();
|
|
123
117
|
}
|