@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
|
@@ -31,8 +31,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
31
31
|
|
|
32
32
|
var _l7Core = require("@antv/l7-core");
|
|
33
33
|
|
|
34
|
-
var _l7Utils = require("@antv/l7-utils");
|
|
35
|
-
|
|
36
34
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
37
35
|
|
|
38
36
|
var _triangulation = require("../../core/triangulation");
|
|
@@ -48,7 +46,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
48
46
|
var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
|
|
49
47
|
|
|
50
48
|
/* babel-plugin-inline-import '../shaders/raster_rgb_frag.glsl' */
|
|
51
|
-
var rasterFrag = "precision mediump float;\nuniform vec2 u_rminmax: vec2(0,255); \nuniform vec2 u_gminmax: vec2(0,255);\nuniform vec2 u_bminmax: vec2(0,255);\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform float u_noDataValue : 0.0;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;\n if(rgb == vec3(u_noDataValue)) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n gl_FragColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);\n }\n \n}";
|
|
49
|
+
var rasterFrag = "precision mediump float;\nuniform vec2 u_rminmax: vec2(0,255); \nuniform vec2 u_gminmax: vec2(0,255);\nuniform vec2 u_bminmax: vec2(0,255);\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform float u_noDataValue : 0.0;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;\n if(rgb == vec3(u_noDataValue)) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n gl_FragColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);\n }\n if(gl_FragColor.a < 0.01)\n discard;\n \n}";
|
|
52
50
|
|
|
53
51
|
var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
54
52
|
(0, _inherits2.default)(RasterModel, _BaseModel);
|
|
@@ -154,20 +152,19 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
154
152
|
key: "initModels",
|
|
155
153
|
value: function () {
|
|
156
154
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
157
|
-
var
|
|
155
|
+
var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
|
|
158
156
|
|
|
159
157
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
160
158
|
while (1) {
|
|
161
159
|
switch (_context2.prev = _context2.next) {
|
|
162
160
|
case 0:
|
|
163
|
-
_ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
164
161
|
source = this.layer.getSource();
|
|
165
162
|
createTexture2D = this.rendererService.createTexture2D;
|
|
166
163
|
parserDataItem = source.data.dataArray[0];
|
|
167
|
-
_context2.next =
|
|
164
|
+
_context2.next = 5;
|
|
168
165
|
return this.getRasterData(parserDataItem);
|
|
169
166
|
|
|
170
|
-
case
|
|
167
|
+
case 5:
|
|
171
168
|
_yield$this$getRaster = _context2.sent;
|
|
172
169
|
data = _yield$this$getRaster.data;
|
|
173
170
|
width = _yield$this$getRaster.width;
|
|
@@ -180,7 +177,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
180
177
|
format: _l7Core.gl.RGB,
|
|
181
178
|
type: _l7Core.gl.FLOAT
|
|
182
179
|
});
|
|
183
|
-
_context2.next =
|
|
180
|
+
_context2.next = 12;
|
|
184
181
|
return this.layer.buildLayerModel({
|
|
185
182
|
moduleName: 'rasterImageDataRGBA',
|
|
186
183
|
vertexShader: rasterVert,
|
|
@@ -189,15 +186,14 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
189
186
|
primitive: _l7Core.gl.TRIANGLES,
|
|
190
187
|
depth: {
|
|
191
188
|
enable: false
|
|
192
|
-
}
|
|
193
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
189
|
+
}
|
|
194
190
|
});
|
|
195
191
|
|
|
196
|
-
case
|
|
192
|
+
case 12:
|
|
197
193
|
model = _context2.sent;
|
|
198
194
|
return _context2.abrupt("return", [model]);
|
|
199
195
|
|
|
200
|
-
case
|
|
196
|
+
case 14:
|
|
201
197
|
case "end":
|
|
202
198
|
return _context2.stop();
|
|
203
199
|
}
|
|
@@ -34,7 +34,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
34
34
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
35
35
|
|
|
36
36
|
/* babel-plugin-inline-import '../shaders/raster_terrain_rgb_frag.glsl' */
|
|
37
|
-
var Raster_terrainFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\n\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\n\nvarying vec2 v_texCoord;\n\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\n\nvoid main() {\n vec4 baseColor = texture2D(u_texture, vec2(v_texCoord.x, v_texCoord.y)) * 256.0;\n float r = baseColor.r * 256.0 * 256.0;\n float g = baseColor.g * 256.0;\n float b = baseColor.b;\n float value = (r + g + b) * 0.1 - 10000.0;\n \n if (value == u_noDataValue) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] - u_domain[0]);\n vec4 color = texture2D(u_colorTexture, vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
|
|
37
|
+
var Raster_terrainFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\n\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\n\nvarying vec2 v_texCoord;\n\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\n\nvoid main() {\n vec4 baseColor = texture2D(u_texture, vec2(v_texCoord.x, v_texCoord.y)) * 256.0;\n float r = baseColor.r * 256.0 * 256.0;\n float g = baseColor.g * 256.0;\n float b = baseColor.b;\n float value = (r + g + b) * 0.1 - 10000.0;\n \n if (value == u_noDataValue) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] - u_domain[0]);\n vec4 color = texture2D(u_colorTexture, vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n if(gl_FragColor.a < 0.01)\n discard;\n }\n}\n";
|
|
38
38
|
|
|
39
39
|
/* babel-plugin-inline-import '../shaders/rater_terrain_rgb_vert.glsl' */
|
|
40
40
|
var Raster_terrainVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
|
|
@@ -87,26 +87,24 @@ var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
|
|
|
87
87
|
key: "initModels",
|
|
88
88
|
value: function () {
|
|
89
89
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
90
|
-
var
|
|
91
|
-
|
|
90
|
+
var source, createTexture2D, imageData, model;
|
|
92
91
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
93
92
|
while (1) {
|
|
94
93
|
switch (_context.prev = _context.next) {
|
|
95
94
|
case 0:
|
|
96
|
-
_ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
97
95
|
source = this.layer.getSource();
|
|
98
96
|
createTexture2D = this.rendererService.createTexture2D;
|
|
99
|
-
_context.next =
|
|
97
|
+
_context.next = 4;
|
|
100
98
|
return source.data.images;
|
|
101
99
|
|
|
102
|
-
case
|
|
100
|
+
case 4:
|
|
103
101
|
imageData = _context.sent;
|
|
104
102
|
this.texture = createTexture2D({
|
|
105
103
|
data: imageData[0],
|
|
106
104
|
width: imageData[0].width,
|
|
107
105
|
height: imageData[0].height
|
|
108
106
|
});
|
|
109
|
-
_context.next =
|
|
107
|
+
_context.next = 8;
|
|
110
108
|
return this.layer.buildLayerModel({
|
|
111
109
|
moduleName: 'RasterTileDataImage',
|
|
112
110
|
vertexShader: Raster_terrainVert,
|
|
@@ -115,16 +113,14 @@ var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
|
|
|
115
113
|
primitive: _l7Core.gl.TRIANGLES,
|
|
116
114
|
depth: {
|
|
117
115
|
enable: false
|
|
118
|
-
}
|
|
119
|
-
blend: this.getBlend(),
|
|
120
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
116
|
+
}
|
|
121
117
|
});
|
|
122
118
|
|
|
123
|
-
case
|
|
119
|
+
case 8:
|
|
124
120
|
model = _context.sent;
|
|
125
121
|
return _context.abrupt("return", [model]);
|
|
126
122
|
|
|
127
|
-
case
|
|
123
|
+
case 10:
|
|
128
124
|
case "end":
|
|
129
125
|
return _context.stop();
|
|
130
126
|
}
|
|
@@ -16,14 +16,17 @@ void main() {
|
|
|
16
16
|
|
|
17
17
|
float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;
|
|
18
18
|
if (value == u_noDataValue || isnan_emu(value))
|
|
19
|
-
|
|
19
|
+
discard;
|
|
20
20
|
else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))
|
|
21
|
-
|
|
21
|
+
discard;
|
|
22
22
|
else {
|
|
23
|
-
|
|
24
23
|
float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);
|
|
25
24
|
vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));
|
|
25
|
+
|
|
26
26
|
gl_FragColor = color;
|
|
27
27
|
gl_FragColor.a = gl_FragColor.a * u_opacity ;
|
|
28
|
+
if(gl_FragColor.a < 0.01)
|
|
29
|
+
discard;
|
|
30
|
+
|
|
28
31
|
}
|
|
29
32
|
}
|
|
@@ -145,20 +145,20 @@ var TileLayerService = /*#__PURE__*/function () {
|
|
|
145
145
|
var _render = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
146
146
|
var _this2 = this;
|
|
147
147
|
|
|
148
|
-
var layers;
|
|
148
|
+
var layers, renders;
|
|
149
149
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
150
150
|
while (1) {
|
|
151
151
|
switch (_context2.prev = _context2.next) {
|
|
152
152
|
case 0:
|
|
153
153
|
layers = this.getRenderLayers();
|
|
154
|
-
layers.map( /*#__PURE__*/function () {
|
|
154
|
+
renders = layers.map( /*#__PURE__*/function () {
|
|
155
155
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
|
|
156
156
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
157
157
|
while (1) {
|
|
158
158
|
switch (_context.prev = _context.next) {
|
|
159
159
|
case 0:
|
|
160
160
|
_context.next = 2;
|
|
161
|
-
return _this2.layerService.
|
|
161
|
+
return _this2.layerService.renderTileLayer(layer);
|
|
162
162
|
|
|
163
163
|
case 2:
|
|
164
164
|
case "end":
|
|
@@ -172,8 +172,9 @@ var TileLayerService = /*#__PURE__*/function () {
|
|
|
172
172
|
return _ref2.apply(this, arguments);
|
|
173
173
|
};
|
|
174
174
|
}());
|
|
175
|
+
Promise.all(renders);
|
|
175
176
|
|
|
176
|
-
case
|
|
177
|
+
case 3:
|
|
177
178
|
case "end":
|
|
178
179
|
return _context2.stop();
|
|
179
180
|
}
|
|
@@ -11,5 +11,5 @@ var ProxyFuncs = [
|
|
|
11
11
|
* 1. 需要作用到所属子图层才会生效的方法
|
|
12
12
|
* 2. 不需要主动重新创建 model 的方法
|
|
13
13
|
*/
|
|
14
|
-
'shape', 'color', 'size', 'style', 'animate', 'filter', 'rotate', 'scale', 'setBlend', 'setSelect', 'setActive'];
|
|
14
|
+
'shape', 'color', 'size', 'style', 'animate', 'filter', 'rotate', 'scale', 'setBlend', 'setSelect', 'setActive', 'disableMask', 'enableMask'];
|
|
15
15
|
exports.ProxyFuncs = ProxyFuncs;
|
|
@@ -23,6 +23,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
23
23
|
|
|
24
24
|
var _l7Core = require("@antv/l7-core");
|
|
25
25
|
|
|
26
|
+
var _polygon = _interopRequireDefault(require("../../polygon"));
|
|
27
|
+
|
|
26
28
|
var _util = require("./util");
|
|
27
29
|
|
|
28
30
|
var Tile = /*#__PURE__*/function () {
|
|
@@ -31,6 +33,7 @@ var Tile = /*#__PURE__*/function () {
|
|
|
31
33
|
(0, _defineProperty2.default)(this, "visible", true);
|
|
32
34
|
(0, _defineProperty2.default)(this, "layers", []);
|
|
33
35
|
(0, _defineProperty2.default)(this, "isLoaded", false);
|
|
36
|
+
(0, _defineProperty2.default)(this, "tileMaskLayers", []);
|
|
34
37
|
this.parent = parent;
|
|
35
38
|
this.sourceTile = sourceTile;
|
|
36
39
|
this.x = sourceTile.x;
|
|
@@ -66,30 +69,80 @@ var Tile = /*#__PURE__*/function () {
|
|
|
66
69
|
}, {
|
|
67
70
|
key: "getLayerOptions",
|
|
68
71
|
value: function getLayerOptions() {
|
|
72
|
+
var _options$maskLayers;
|
|
73
|
+
|
|
69
74
|
var options = this.parent.getLayerConfig();
|
|
70
75
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, options), {}, {
|
|
71
76
|
autoFit: false,
|
|
72
|
-
|
|
77
|
+
maskLayers: this.getMaskLayer(),
|
|
78
|
+
tileMask: (0, _util.isNeedMask)(this.parent.type),
|
|
79
|
+
mask: options.mask || ((_options$maskLayers = options.maskLayers) === null || _options$maskLayers === void 0 ? void 0 : _options$maskLayers.length) !== 0 && options.enableMask
|
|
80
|
+
});
|
|
81
|
+
} // 获取Mask 图层
|
|
82
|
+
|
|
83
|
+
}, {
|
|
84
|
+
key: "getMaskLayer",
|
|
85
|
+
value: function getMaskLayer() {
|
|
86
|
+
var _this = this;
|
|
87
|
+
|
|
88
|
+
var _this$parent$getLayer = this.parent.getLayerConfig(),
|
|
89
|
+
maskLayers = _this$parent$getLayer.maskLayers;
|
|
90
|
+
|
|
91
|
+
var layers = [];
|
|
92
|
+
maskLayers === null || maskLayers === void 0 ? void 0 : maskLayers.forEach(function (layer) {
|
|
93
|
+
if (!layer.tileLayer) {
|
|
94
|
+
// 非瓦片图层返回图层本身,瓦片图层返回对应的行列号图层
|
|
95
|
+
layers.push(layer);
|
|
96
|
+
return layer;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
var tileLayer = layer.tileLayer;
|
|
100
|
+
var tile = tileLayer.getTile(_this.sourceTile.key);
|
|
101
|
+
var l = tile === null || tile === void 0 ? void 0 : tile.getLayers()[0];
|
|
102
|
+
|
|
103
|
+
if (l) {
|
|
104
|
+
layers.push(l);
|
|
105
|
+
}
|
|
73
106
|
});
|
|
107
|
+
return layers;
|
|
74
108
|
}
|
|
75
109
|
}, {
|
|
76
|
-
key: "
|
|
110
|
+
key: "addTileMask",
|
|
77
111
|
value: function () {
|
|
78
|
-
var
|
|
79
|
-
var container;
|
|
112
|
+
var _addTileMask = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
113
|
+
var mask, container, mainLayer;
|
|
80
114
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
81
115
|
while (1) {
|
|
82
116
|
switch (_context.prev = _context.next) {
|
|
83
117
|
case 0:
|
|
118
|
+
mask = new _polygon.default({
|
|
119
|
+
visible: false,
|
|
120
|
+
enablePicking: false
|
|
121
|
+
}).source({
|
|
122
|
+
type: 'FeatureCollection',
|
|
123
|
+
features: [this.sourceTile.bboxPolygon]
|
|
124
|
+
}, {
|
|
125
|
+
parser: {
|
|
126
|
+
type: 'geojson',
|
|
127
|
+
featureId: 'id'
|
|
128
|
+
}
|
|
129
|
+
}).shape('fill');
|
|
84
130
|
container = (0, _l7Core.createLayerContainer)(this.parent.sceneContainer);
|
|
85
131
|
mask.setContainer(container, this.parent.sceneContainer);
|
|
86
|
-
_context.next =
|
|
132
|
+
_context.next = 5;
|
|
87
133
|
return mask.init();
|
|
88
134
|
|
|
89
|
-
case 4:
|
|
90
|
-
layer.addMaskLayer(mask);
|
|
91
|
-
|
|
92
135
|
case 5:
|
|
136
|
+
this.tileMask = mask;
|
|
137
|
+
mainLayer = this.getMainLayer();
|
|
138
|
+
|
|
139
|
+
if (mainLayer !== undefined) {
|
|
140
|
+
mainLayer.tileMask = mask;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return _context.abrupt("return", mask);
|
|
144
|
+
|
|
145
|
+
case 9:
|
|
93
146
|
case "end":
|
|
94
147
|
return _context.stop();
|
|
95
148
|
}
|
|
@@ -97,6 +150,38 @@ var Tile = /*#__PURE__*/function () {
|
|
|
97
150
|
}, _callee, this);
|
|
98
151
|
}));
|
|
99
152
|
|
|
153
|
+
function addTileMask() {
|
|
154
|
+
return _addTileMask.apply(this, arguments);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return addTileMask;
|
|
158
|
+
}()
|
|
159
|
+
}, {
|
|
160
|
+
key: "addMask",
|
|
161
|
+
value: function () {
|
|
162
|
+
var _addMask = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(layer, mask) {
|
|
163
|
+
var container;
|
|
164
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
165
|
+
while (1) {
|
|
166
|
+
switch (_context2.prev = _context2.next) {
|
|
167
|
+
case 0:
|
|
168
|
+
container = (0, _l7Core.createLayerContainer)(this.parent.sceneContainer);
|
|
169
|
+
mask.setContainer(container, this.parent.sceneContainer);
|
|
170
|
+
_context2.next = 4;
|
|
171
|
+
return mask.init();
|
|
172
|
+
|
|
173
|
+
case 4:
|
|
174
|
+
layer.addMask(mask);
|
|
175
|
+
this.tileMaskLayers.push(mask);
|
|
176
|
+
|
|
177
|
+
case 6:
|
|
178
|
+
case "end":
|
|
179
|
+
return _context2.stop();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}, _callee2, this);
|
|
183
|
+
}));
|
|
184
|
+
|
|
100
185
|
function addMask(_x, _x2) {
|
|
101
186
|
return _addMask.apply(this, arguments);
|
|
102
187
|
}
|
|
@@ -106,26 +191,26 @@ var Tile = /*#__PURE__*/function () {
|
|
|
106
191
|
}, {
|
|
107
192
|
key: "addLayer",
|
|
108
193
|
value: function () {
|
|
109
|
-
var _addLayer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
194
|
+
var _addLayer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(layer) {
|
|
110
195
|
var container;
|
|
111
|
-
return _regenerator.default.wrap(function
|
|
196
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
112
197
|
while (1) {
|
|
113
|
-
switch (
|
|
198
|
+
switch (_context3.prev = _context3.next) {
|
|
114
199
|
case 0:
|
|
115
200
|
// set flag
|
|
116
201
|
layer.isTileLayer = true;
|
|
117
202
|
container = (0, _l7Core.createLayerContainer)(this.parent.sceneContainer);
|
|
118
203
|
layer.setContainer(container, this.parent.sceneContainer);
|
|
119
204
|
this.layers.push(layer);
|
|
120
|
-
|
|
205
|
+
_context3.next = 6;
|
|
121
206
|
return layer.init();
|
|
122
207
|
|
|
123
208
|
case 6:
|
|
124
209
|
case "end":
|
|
125
|
-
return
|
|
210
|
+
return _context3.stop();
|
|
126
211
|
}
|
|
127
212
|
}
|
|
128
|
-
},
|
|
213
|
+
}, _callee3, this);
|
|
129
214
|
}));
|
|
130
215
|
|
|
131
216
|
function addLayer(_x3) {
|
|
@@ -175,6 +260,9 @@ var Tile = /*#__PURE__*/function () {
|
|
|
175
260
|
}, {
|
|
176
261
|
key: "destroy",
|
|
177
262
|
value: function destroy() {
|
|
263
|
+
var _this$tileMask;
|
|
264
|
+
|
|
265
|
+
(_this$tileMask = this.tileMask) === null || _this$tileMask === void 0 ? void 0 : _this$tileMask.destroy();
|
|
178
266
|
this.layers.forEach(function (layer) {
|
|
179
267
|
return layer.destroy();
|
|
180
268
|
});
|
|
@@ -23,8 +23,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
23
23
|
|
|
24
24
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
25
|
|
|
26
|
-
var _mask = _interopRequireDefault(require("../../mask"));
|
|
27
|
-
|
|
28
26
|
var _Tile2 = _interopRequireDefault(require("./Tile"));
|
|
29
27
|
|
|
30
28
|
var _util = require("./util");
|
|
@@ -75,18 +73,17 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
|
|
|
75
73
|
|
|
76
74
|
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);
|
|
77
75
|
});
|
|
76
|
+
_context.next = 11;
|
|
77
|
+
return this.addLayer(layer);
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
case 11:
|
|
80
|
+
if (!layerOptions.tileMask) {
|
|
81
|
+
_context.next = 14;
|
|
81
82
|
break;
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
_context.next = 12;
|
|
85
|
-
return this.addTileMask(layer);
|
|
86
|
-
|
|
87
|
-
case 12:
|
|
88
85
|
_context.next = 14;
|
|
89
|
-
return this.
|
|
86
|
+
return this.addTileMask();
|
|
90
87
|
|
|
91
88
|
case 14:
|
|
92
89
|
this.setLayerMinMaxZoom(layer);
|
|
@@ -105,44 +102,6 @@ var VectorTile = /*#__PURE__*/function (_Tile) {
|
|
|
105
102
|
}
|
|
106
103
|
|
|
107
104
|
return initTileLayer;
|
|
108
|
-
}() // Todo 校验数据有效性
|
|
109
|
-
|
|
110
|
-
}, {
|
|
111
|
-
key: "addTileMask",
|
|
112
|
-
value: function () {
|
|
113
|
-
var _addTileMask = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(layer) {
|
|
114
|
-
var mask;
|
|
115
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
116
|
-
while (1) {
|
|
117
|
-
switch (_context2.prev = _context2.next) {
|
|
118
|
-
case 0:
|
|
119
|
-
mask = new _mask.default({
|
|
120
|
-
layerType: 'MaskLayer'
|
|
121
|
-
}).source({
|
|
122
|
-
type: 'FeatureCollection',
|
|
123
|
-
features: [this.sourceTile.bboxPolygon]
|
|
124
|
-
}, {
|
|
125
|
-
parser: {
|
|
126
|
-
type: 'geojson',
|
|
127
|
-
featureId: 'id'
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
_context2.next = 3;
|
|
131
|
-
return this.addMask(layer, mask);
|
|
132
|
-
|
|
133
|
-
case 3:
|
|
134
|
-
case "end":
|
|
135
|
-
return _context2.stop();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}, _callee2, this);
|
|
139
|
-
}));
|
|
140
|
-
|
|
141
|
-
function addTileMask(_x) {
|
|
142
|
-
return _addTileMask.apply(this, arguments);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
return addTileMask;
|
|
146
105
|
}()
|
|
147
106
|
}, {
|
|
148
107
|
key: "getSourceOption",
|
|
@@ -171,6 +171,11 @@ var BaseTileLayer = /*#__PURE__*/function () {
|
|
|
171
171
|
key: "getTiles",
|
|
172
172
|
value: function getTiles() {
|
|
173
173
|
return this.tileLayerService.getTiles();
|
|
174
|
+
}
|
|
175
|
+
}, {
|
|
176
|
+
key: "getTile",
|
|
177
|
+
value: function getTile(key) {
|
|
178
|
+
return this.tileLayerService.getTile(key);
|
|
174
179
|
} // 防抖操作
|
|
175
180
|
|
|
176
181
|
}, {
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getStencil = getStencil;
|
|
7
|
+
exports.getStencilMask = getStencilMask;
|
|
8
|
+
|
|
9
|
+
var _l7Core = require("@antv/l7-core");
|
|
10
|
+
|
|
11
|
+
// 掩膜配置
|
|
12
|
+
function getStencil(mask, maskInside) {
|
|
13
|
+
return {
|
|
14
|
+
enable: mask,
|
|
15
|
+
mask: 0xff,
|
|
16
|
+
func: {
|
|
17
|
+
cmp: _l7Core.gl.EQUAL,
|
|
18
|
+
// gl.EQUAL,
|
|
19
|
+
ref: maskInside ? 1 : 0,
|
|
20
|
+
mask: 1
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// 模版配置
|
|
26
|
+
function getStencilMask(option) {
|
|
27
|
+
if (option.maskOperation === _l7Core.MaskOperation.OR) {
|
|
28
|
+
return {
|
|
29
|
+
enable: true,
|
|
30
|
+
mask: 0xff,
|
|
31
|
+
func: {
|
|
32
|
+
cmp: _l7Core.gl.ALWAYS,
|
|
33
|
+
ref: 1,
|
|
34
|
+
mask: 0xff
|
|
35
|
+
},
|
|
36
|
+
opFront: {
|
|
37
|
+
fail: _l7Core.gl.KEEP,
|
|
38
|
+
zfail: _l7Core.gl.REPLACE,
|
|
39
|
+
zpass: _l7Core.gl.REPLACE
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
enable: true,
|
|
46
|
+
mask: 0xff,
|
|
47
|
+
func: {
|
|
48
|
+
cmp: option.stencilType === _l7Core.StencilType.SINGLE // 单层
|
|
49
|
+
? _l7Core.gl.ALWAYS : option.stencilIndex === 0 // 多层
|
|
50
|
+
? _l7Core.gl.ALWAYS : _l7Core.gl.LESS,
|
|
51
|
+
ref: option.stencilType === _l7Core.StencilType.SINGLE ? 1 : option.stencilIndex === 0 ? 2 : 1,
|
|
52
|
+
mask: 0xff
|
|
53
|
+
},
|
|
54
|
+
opFront: {
|
|
55
|
+
fail: _l7Core.gl.KEEP,
|
|
56
|
+
zfail: _l7Core.gl.REPLACE,
|
|
57
|
+
zpass: _l7Core.gl.REPLACE
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
package/lib/wind/index.js
CHANGED
|
@@ -83,8 +83,10 @@ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
83
83
|
}, {
|
|
84
84
|
key: "renderModels",
|
|
85
85
|
value: function renderModels() {
|
|
86
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
87
|
+
|
|
86
88
|
if (this.layerModel) {
|
|
87
|
-
this.layerModel.render(); // 独立的渲染流程
|
|
89
|
+
this.layerModel.render(options); // 独立的渲染流程
|
|
88
90
|
}
|
|
89
91
|
|
|
90
92
|
return this;
|
package/lib/wind/models/wind.js
CHANGED
|
@@ -77,14 +77,14 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
77
77
|
|
|
78
78
|
(0, _createClass2.default)(WindModel, [{
|
|
79
79
|
key: "render",
|
|
80
|
-
value: function render() {
|
|
80
|
+
value: function render(options) {
|
|
81
81
|
var _this2 = this;
|
|
82
82
|
|
|
83
|
-
// Tip: 控制风场的平均更新频率
|
|
83
|
+
this.drawColorMode(options); // Tip: 控制风场的平均更新频率
|
|
84
|
+
|
|
84
85
|
this.frequency.run(function () {
|
|
85
86
|
_this2.drawWind();
|
|
86
87
|
});
|
|
87
|
-
this.drawColorMode();
|
|
88
88
|
}
|
|
89
89
|
}, {
|
|
90
90
|
key: "getUninforms",
|
|
@@ -100,13 +100,13 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
100
100
|
_source$data2$images,
|
|
101
101
|
_this3 = this;
|
|
102
102
|
|
|
103
|
-
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,
|
|
103
|
+
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;
|
|
104
104
|
|
|
105
105
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
106
106
|
while (1) {
|
|
107
107
|
switch (_context.prev = _context.next) {
|
|
108
108
|
case 0:
|
|
109
|
-
_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
|
|
109
|
+
_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;
|
|
110
110
|
createTexture2D = this.rendererService.createTexture2D;
|
|
111
111
|
source = this.layer.getSource();
|
|
112
112
|
this.texture = createTexture2D({
|
|
@@ -162,9 +162,7 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
162
162
|
primitive: _l7Core.gl.TRIANGLES,
|
|
163
163
|
depth: {
|
|
164
164
|
enable: false
|
|
165
|
-
}
|
|
166
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside),
|
|
167
|
-
blend: this.getBlend()
|
|
165
|
+
}
|
|
168
166
|
});
|
|
169
167
|
|
|
170
168
|
case 10:
|
|
@@ -328,6 +326,8 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
328
326
|
value: function drawColorMode() {
|
|
329
327
|
var _this$colorModel;
|
|
330
328
|
|
|
329
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
330
|
+
|
|
331
331
|
var _ref3 = this.layer.getLayerConfig(),
|
|
332
332
|
opacity = _ref3.opacity;
|
|
333
333
|
|
|
@@ -338,7 +338,9 @@ var WindModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
338
338
|
uniforms: {
|
|
339
339
|
u_opacity: opacity || 1.0,
|
|
340
340
|
u_texture: this.texture
|
|
341
|
-
}
|
|
341
|
+
},
|
|
342
|
+
blend: this.getBlend(),
|
|
343
|
+
stencil: this.getStencil(options)
|
|
342
344
|
});
|
|
343
345
|
this.layer.hooks.afterRender.call();
|
|
344
346
|
}
|