@antv/l7-layers 2.14.0 → 2.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
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,
|
|
@@ -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
|
}, {
|
|
@@ -50,7 +50,9 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
50
50
|
while (1) {
|
|
51
51
|
switch (_context.prev = _context.next) {
|
|
52
52
|
case 0:
|
|
53
|
-
m.render(
|
|
53
|
+
m.render({
|
|
54
|
+
isStencil: true
|
|
55
|
+
});
|
|
54
56
|
|
|
55
57
|
case 1:
|
|
56
58
|
case "end":
|
|
@@ -66,7 +68,9 @@ var BaseLayerPickService = /*#__PURE__*/function () {
|
|
|
66
68
|
}());
|
|
67
69
|
}
|
|
68
70
|
|
|
69
|
-
layer.renderModels(
|
|
71
|
+
layer.renderModels({
|
|
72
|
+
ispick: true
|
|
73
|
+
});
|
|
70
74
|
layer.hooks.afterPickingEncode.call();
|
|
71
75
|
}
|
|
72
76
|
}, {
|
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
|
}
|
|
@@ -76,7 +76,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
76
76
|
|
|
77
77
|
(0, _createClass2.default)(HeatMapModel, [{
|
|
78
78
|
key: "render",
|
|
79
|
-
value: function render() {
|
|
79
|
+
value: function render(options) {
|
|
80
80
|
var _this = this;
|
|
81
81
|
|
|
82
82
|
var _this$rendererService = this.rendererService,
|
|
@@ -97,7 +97,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
97
97
|
this.updateColorTexture();
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
this.shapeType === 'heatmap' ? this.drawColorMode() : this.draw3DHeatMap();
|
|
100
|
+
this.shapeType === 'heatmap' ? this.drawColorMode(options) : this.draw3DHeatMap(options);
|
|
101
101
|
}
|
|
102
102
|
}, {
|
|
103
103
|
key: "getUninforms",
|
|
@@ -245,15 +245,6 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
245
245
|
cull: {
|
|
246
246
|
enable: true,
|
|
247
247
|
face: (0, _l7Utils.getCullFace)(this.mapService.version)
|
|
248
|
-
},
|
|
249
|
-
blend: {
|
|
250
|
-
enable: true,
|
|
251
|
-
func: {
|
|
252
|
-
srcRGB: _l7Core.gl.ONE,
|
|
253
|
-
srcAlpha: 1,
|
|
254
|
-
dstRGB: _l7Core.gl.ONE,
|
|
255
|
-
dstAlpha: 1
|
|
256
|
-
}
|
|
257
248
|
}
|
|
258
249
|
});
|
|
259
250
|
|
|
@@ -278,12 +269,6 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
278
269
|
}, {
|
|
279
270
|
key: "buildHeatmapColor",
|
|
280
271
|
value: function buildHeatmapColor() {
|
|
281
|
-
var _ref = this.layer.getLayerConfig(),
|
|
282
|
-
_ref$mask = _ref.mask,
|
|
283
|
-
mask = _ref$mask === void 0 ? false : _ref$mask,
|
|
284
|
-
_ref$maskInside = _ref.maskInside,
|
|
285
|
-
maskInside = _ref$maskInside === void 0 ? true : _ref$maskInside;
|
|
286
|
-
|
|
287
272
|
this.shaderModuleService.registerModule('heatmapColor', {
|
|
288
273
|
vs: heatmapColorVert,
|
|
289
274
|
fs: heatmapColorFrag
|
|
@@ -322,13 +307,11 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
322
307
|
depth: {
|
|
323
308
|
enable: false
|
|
324
309
|
},
|
|
325
|
-
blend: this.getBlend(),
|
|
326
310
|
elements: createElements({
|
|
327
311
|
data: [0, 2, 1, 2, 3, 1],
|
|
328
312
|
type: _l7Core.gl.UNSIGNED_INT,
|
|
329
313
|
count: 6
|
|
330
|
-
})
|
|
331
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
314
|
+
})
|
|
332
315
|
});
|
|
333
316
|
}
|
|
334
317
|
}, {
|
|
@@ -336,47 +319,69 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
336
319
|
value: function drawIntensityMode() {
|
|
337
320
|
var _this$intensityModel;
|
|
338
321
|
|
|
339
|
-
var
|
|
340
|
-
opacity =
|
|
341
|
-
|
|
342
|
-
intensity =
|
|
343
|
-
|
|
344
|
-
radius =
|
|
322
|
+
var _ref = this.layer.getLayerConfig(),
|
|
323
|
+
opacity = _ref.opacity,
|
|
324
|
+
_ref$intensity = _ref.intensity,
|
|
325
|
+
intensity = _ref$intensity === void 0 ? 10 : _ref$intensity,
|
|
326
|
+
_ref$radius = _ref.radius,
|
|
327
|
+
radius = _ref$radius === void 0 ? 5 : _ref$radius;
|
|
345
328
|
|
|
346
329
|
this.layerService.beforeRenderData(this.layer);
|
|
347
|
-
this.layer.hooks.beforeRender.call();
|
|
330
|
+
this.layer.hooks.beforeRender.call(); // 绘制密度图
|
|
331
|
+
|
|
348
332
|
(_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
|
|
349
333
|
uniforms: {
|
|
350
334
|
u_opacity: opacity || 1.0,
|
|
351
335
|
u_radius: radius,
|
|
352
336
|
u_intensity: intensity
|
|
337
|
+
},
|
|
338
|
+
blend: {
|
|
339
|
+
enable: true,
|
|
340
|
+
func: {
|
|
341
|
+
srcRGB: _l7Core.gl.ONE,
|
|
342
|
+
srcAlpha: 1,
|
|
343
|
+
dstRGB: _l7Core.gl.ONE,
|
|
344
|
+
dstAlpha: 1
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
stencil: {
|
|
348
|
+
enable: false,
|
|
349
|
+
mask: 0xff,
|
|
350
|
+
func: {
|
|
351
|
+
cmp: 514,
|
|
352
|
+
// gl.EQUAL,
|
|
353
|
+
ref: 1,
|
|
354
|
+
mask: 0xff
|
|
355
|
+
}
|
|
353
356
|
}
|
|
354
357
|
});
|
|
355
358
|
this.layer.hooks.afterRender.call();
|
|
356
359
|
}
|
|
357
360
|
}, {
|
|
358
361
|
key: "drawColorMode",
|
|
359
|
-
value: function drawColorMode() {
|
|
362
|
+
value: function drawColorMode(options) {
|
|
360
363
|
var _this$colorModel;
|
|
361
364
|
|
|
362
|
-
var
|
|
363
|
-
opacity =
|
|
365
|
+
var _ref2 = this.layer.getLayerConfig(),
|
|
366
|
+
opacity = _ref2.opacity;
|
|
364
367
|
|
|
365
368
|
(_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
|
|
366
369
|
uniforms: {
|
|
367
370
|
u_opacity: opacity || 1.0,
|
|
368
371
|
u_colorTexture: this.colorTexture,
|
|
369
372
|
u_texture: this.heatmapFramerBuffer
|
|
370
|
-
}
|
|
373
|
+
},
|
|
374
|
+
blend: this.getBlend(),
|
|
375
|
+
stencil: this.getStencil(options)
|
|
371
376
|
});
|
|
372
377
|
}
|
|
373
378
|
}, {
|
|
374
379
|
key: "draw3DHeatMap",
|
|
375
|
-
value: function draw3DHeatMap() {
|
|
380
|
+
value: function draw3DHeatMap(options) {
|
|
376
381
|
var _this$colorModel2;
|
|
377
382
|
|
|
378
|
-
var
|
|
379
|
-
opacity =
|
|
383
|
+
var _ref3 = this.layer.getLayerConfig(),
|
|
384
|
+
opacity = _ref3.opacity; // const invert = mat4.invert(
|
|
380
385
|
// mat4.create(),
|
|
381
386
|
// mat4.fromValues(
|
|
382
387
|
// // @ts-ignore
|
|
@@ -396,18 +401,22 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
396
401
|
u_texture: this.heatmapFramerBuffer,
|
|
397
402
|
u_ViewProjectionMatrixUncentered: this.cameraService.getViewProjectionMatrixUncentered(),
|
|
398
403
|
u_InverseViewProjectionMatrix: (0, _toConsumableArray2.default)(invert)
|
|
399
|
-
}
|
|
404
|
+
},
|
|
405
|
+
blend: {
|
|
406
|
+
enable: true,
|
|
407
|
+
func: {
|
|
408
|
+
srcRGB: _l7Core.gl.SRC_ALPHA,
|
|
409
|
+
srcAlpha: 1,
|
|
410
|
+
dstRGB: _l7Core.gl.ONE_MINUS_SRC_ALPHA,
|
|
411
|
+
dstAlpha: 1
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
stencil: this.getStencil(options)
|
|
400
415
|
});
|
|
401
416
|
}
|
|
402
417
|
}, {
|
|
403
418
|
key: "build3dHeatMap",
|
|
404
419
|
value: function build3dHeatMap() {
|
|
405
|
-
var _ref5 = this.layer.getLayerConfig(),
|
|
406
|
-
_ref5$mask = _ref5.mask,
|
|
407
|
-
mask = _ref5$mask === void 0 ? false : _ref5$mask,
|
|
408
|
-
_ref5$maskInside = _ref5.maskInside,
|
|
409
|
-
maskInside = _ref5$maskInside === void 0 ? true : _ref5$maskInside;
|
|
410
|
-
|
|
411
420
|
var getViewportSize = this.rendererService.getViewportSize;
|
|
412
421
|
|
|
413
422
|
var _getViewportSize2 = getViewportSize(),
|
|
@@ -467,8 +476,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
467
476
|
data: triangulation.indices,
|
|
468
477
|
type: _l7Core.gl.UNSIGNED_INT,
|
|
469
478
|
count: triangulation.indices.length
|
|
470
|
-
})
|
|
471
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
479
|
+
})
|
|
472
480
|
});
|
|
473
481
|
}
|
|
474
482
|
}, {
|
|
@@ -485,8 +493,8 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE
|
|
|
485
493
|
this.texture.destroy();
|
|
486
494
|
}
|
|
487
495
|
|
|
488
|
-
var
|
|
489
|
-
rampColors =
|
|
496
|
+
var _ref4 = this.layer.getLayerConfig(),
|
|
497
|
+
rampColors = _ref4.rampColors;
|
|
490
498
|
|
|
491
499
|
var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
|
|
492
500
|
this.colorTexture = createTexture2D({
|
|
@@ -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 HexagonModel = /*#__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: 'heatmapHexagon',
|
|
105
101
|
vertexShader: heatmapGridVert,
|
|
@@ -108,16 +104,14 @@ var HexagonModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
108
104
|
depth: {
|
|
109
105
|
enable: false
|
|
110
106
|
},
|
|
111
|
-
primitive: _l7Core.gl.TRIANGLES
|
|
112
|
-
blend: this.getBlend(),
|
|
113
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
107
|
+
primitive: _l7Core.gl.TRIANGLES
|
|
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
|
}
|