@antv/l7-layers 2.9.27-alpha.1 → 2.9.27-alpha.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/index.d.ts +13 -0
- package/es/Geometry/index.js +20 -2
- package/es/Geometry/models/billboard.js +1 -2
- package/es/Geometry/models/plane.js +2 -4
- package/es/Geometry/models/sprite.js +2 -4
- package/es/canvas/index.d.ts +4 -0
- package/es/canvas/index.js +38 -2
- package/es/citybuliding/building.js +6 -2
- package/es/citybuliding/models/build.js +2 -3
- package/es/core/BaseLayer.d.ts +17 -6
- package/es/core/BaseLayer.js +89 -94
- package/es/core/BaseModel.d.ts +1 -1
- package/es/core/BaseModel.js +7 -3
- package/es/core/interface.d.ts +18 -0
- package/es/core/triangulation.d.ts +6 -0
- package/es/core/triangulation.js +64 -2
- package/es/earth/index.d.ts +5 -0
- package/es/earth/index.js +12 -1
- package/es/earth/models/base.js +2 -4
- package/es/earth/shaders/atmosphere_frag.glsl +1 -1
- package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/es/heatmap/index.js +6 -2
- package/es/heatmap/models/heatmap.js +5 -3
- package/es/image/index.js +6 -2
- package/es/image/models/dataImage.js +4 -7
- package/es/image/models/image.js +4 -7
- package/es/line/index.d.ts +1 -0
- package/es/line/index.js +8 -2
- package/es/line/models/arc.js +6 -5
- package/es/line/models/half.js +3 -4
- package/es/line/models/line.js +9 -8
- package/es/line/models/simpleLine.js +2 -1
- package/es/line/models/simpleTileLine.d.ts +9 -0
- package/es/line/models/simpleTileLine.js +100 -0
- package/es/line/models/tile.d.ts +1 -4
- package/es/line/models/tile.js +49 -222
- package/es/line/models/wall.js +10 -46
- package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
- package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
- package/es/line/shaders/line_arc2d_vert.glsl +1 -1
- package/es/line/shaders/line_arc_3d_frag.glsl +1 -1
- package/es/line/shaders/line_arc_3d_vert.glsl +3 -3
- package/es/line/shaders/line_arc_frag.glsl +1 -1
- package/es/line/shaders/line_arc_great_circle_frag.glsl +1 -1
- package/es/line/shaders/line_arc_great_circle_vert.glsl +1 -1
- package/es/line/shaders/line_arc_vert.glsl +5 -3
- package/es/line/shaders/line_bezier_vert.glsl +1 -1
- package/es/line/shaders/line_frag.glsl +1 -2
- package/es/line/shaders/line_vert.glsl +1 -1
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
- package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
- package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
- package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
- package/es/line/shaders/wall/wall_vert.glsl +77 -0
- package/es/mask/index.d.ts +1 -0
- package/es/mask/index.js +80 -5
- package/es/mask/models/fill.d.ts +2 -1
- package/es/mask/models/fill.js +13 -10
- package/es/mask/shaders/mask_vert.glsl +0 -6
- package/es/plugins/DataMappingPlugin.d.ts +4 -3
- package/es/plugins/DataMappingPlugin.js +129 -58
- package/es/plugins/DataSourcePlugin.js +3 -2
- package/es/plugins/FeatureScalePlugin.d.ts +0 -2
- package/es/plugins/FeatureScalePlugin.js +8 -51
- package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
- package/es/plugins/LayerAnimateStylePlugin.js +7 -27
- package/es/plugins/LayerModelPlugin.js +2 -6
- package/es/plugins/LightingPlugin.js +1 -7
- package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
- package/es/plugins/MultiPassRendererPlugin.js +4 -16
- package/es/plugins/PixelPickingPlugin.d.ts +1 -1
- package/es/plugins/PixelPickingPlugin.js +8 -28
- package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
- package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
- package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
- package/es/point/index.js +6 -2
- package/es/point/models/fill.js +2 -2
- package/es/point/models/fillmage.js +1 -1
- package/es/point/models/image.js +1 -1
- package/es/point/models/normal.d.ts +0 -1
- package/es/point/models/normal.js +9 -60
- package/es/point/models/radar.js +4 -69
- package/es/point/models/simplePoint.d.ts +0 -1
- package/es/point/models/simplePoint.js +2 -11
- package/es/point/models/text.js +6 -7
- package/es/point/models/tile.d.ts +0 -7
- package/es/point/models/tile.js +22 -155
- package/es/point/models/tileText.d.ts +0 -4
- package/es/point/models/tileText.js +98 -185
- package/es/point/shaders/animate/wave_frag.glsl +3 -3
- package/es/point/shaders/earth/fill_vert.glsl +0 -1
- package/es/point/shaders/fill_vert.glsl +0 -1
- package/es/point/shaders/normal_frag.glsl +1 -10
- package/es/point/shaders/normal_vert.glsl +5 -60
- package/es/point/shaders/radar/radar_frag.glsl +4 -15
- package/es/point/shaders/radar/radar_vert.glsl +4 -54
- package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
- package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
- package/es/point/shaders/tile/text_frag.glsl +33 -0
- package/es/point/shaders/tile/text_map_frag.glsl +31 -0
- package/es/point/shaders/tile/text_map_vert.glsl +38 -0
- package/es/point/shaders/tile/text_vert.glsl +48 -0
- package/es/polygon/index.js +6 -2
- package/es/polygon/models/extrude.js +1 -3
- package/es/polygon/models/fill.js +3 -4
- package/es/polygon/models/ocean.d.ts +0 -2
- package/es/polygon/models/ocean.js +13 -47
- package/es/polygon/models/tile.d.ts +1 -4
- package/es/polygon/models/tile.js +25 -57
- package/es/polygon/models/water.d.ts +0 -2
- package/es/polygon/models/water.js +13 -47
- package/es/polygon/shaders/polygon_frag.glsl +2 -2
- package/es/polygon/shaders/polygon_vert.glsl +2 -2
- package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
- package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
- package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
- package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
- package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
- package/es/raster/buffers/triangulation.js +1 -4
- package/es/raster/index.js +6 -2
- package/es/raster/models/raster.js +3 -2
- package/es/shader/minify_frag.glsl +7 -0
- package/es/shader/minify_picking_frag.glsl +10 -0
- package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
- package/es/tile/manager/baseMapTileLayerManager.js +207 -0
- package/es/tile/manager/tileLayerManager.d.ts +2 -2
- package/es/tile/manager/tileLayerManager.js +2 -2
- package/es/tile/manager/tilePickerManager.d.ts +2 -3
- package/es/tile/manager/tilePickerManager.js +1 -2
- package/es/tile/models/tileModel.d.ts +1 -0
- package/es/tile/models/tileModel.js +18 -2
- package/es/tile/tileFactory/base.d.ts +1 -1
- package/es/tile/tileFactory/base.js +58 -33
- package/es/tile/tileFactory/line.js +3 -0
- package/es/tile/tileFactory/point.js +3 -0
- package/es/tile/tileFactory/polygon.js +3 -0
- package/es/tile/tileFactory/raster.js +3 -0
- package/es/tile/tileFactory/rasterData.js +3 -0
- package/es/tile/tileFactory/rasterDataLayer.js +6 -2
- package/es/tile/tileFactory/test.js +26 -5
- package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
- package/es/tile/tileFactory/vectorLayer.js +110 -7
- package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
- package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
- package/es/tile/tileLayer/baseTileLayer.js +46 -75
- package/es/tile/tileTest.d.ts +1 -0
- package/es/tile/tileTest.js +3 -2
- package/es/tile/tmsMapTileLayer.d.ts +9 -0
- package/es/tile/tmsMapTileLayer.js +119 -0
- package/es/tile/tmsTileLayer.d.ts +2 -0
- package/es/tile/tmsTileLayer.js +24 -2
- package/es/tile/utils.d.ts +4 -0
- package/es/tile/utils.js +30 -0
- package/es/utils/dataMappingStyle.js +3 -0
- package/es/utils/layerData.js +2 -2
- package/es/utils/updateShape.js +2 -2
- package/es/wind/index.js +6 -2
- package/es/wind/models/wind.js +8 -8
- package/es/wind/shaders/wind_vert.glsl +1 -1
- package/lib/Geometry/index.js +19 -2
- package/lib/Geometry/models/billboard.js +1 -2
- package/lib/Geometry/models/plane.js +2 -4
- package/lib/Geometry/models/sprite.js +2 -4
- package/lib/canvas/index.js +37 -2
- package/lib/citybuliding/building.js +6 -2
- package/lib/citybuliding/models/build.js +2 -3
- package/lib/core/BaseLayer.js +86 -94
- package/lib/core/BaseModel.js +7 -3
- package/lib/core/triangulation.js +66 -2
- package/lib/earth/index.js +11 -1
- package/lib/earth/models/base.js +2 -4
- package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
- package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/lib/heatmap/index.js +6 -2
- package/lib/heatmap/models/heatmap.js +5 -3
- package/lib/image/index.js +6 -2
- package/lib/image/models/dataImage.js +4 -7
- package/lib/image/models/image.js +4 -7
- package/lib/line/index.js +7 -2
- package/lib/line/models/arc.js +6 -5
- package/lib/line/models/half.js +3 -4
- package/lib/line/models/line.js +9 -8
- package/lib/line/models/simpleLine.js +2 -1
- package/lib/line/models/simpleTileLine.js +115 -0
- package/lib/line/models/tile.js +49 -223
- package/lib/line/models/wall.js +10 -46
- package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
- package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
- package/lib/line/shaders/line_arc2d_vert.glsl +1 -1
- package/lib/line/shaders/line_arc_3d_frag.glsl +1 -1
- package/lib/line/shaders/line_arc_3d_vert.glsl +3 -3
- package/lib/line/shaders/line_arc_frag.glsl +1 -1
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +1 -1
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +1 -1
- package/lib/line/shaders/line_arc_vert.glsl +5 -3
- package/lib/line/shaders/line_bezier_vert.glsl +1 -1
- package/lib/line/shaders/line_frag.glsl +1 -2
- package/lib/line/shaders/line_vert.glsl +1 -1
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
- package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
- package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
- package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
- package/lib/line/shaders/wall/wall_vert.glsl +77 -0
- package/lib/mask/index.js +82 -5
- package/lib/mask/models/fill.js +14 -10
- package/lib/mask/shaders/mask_vert.glsl +0 -6
- package/lib/plugins/DataMappingPlugin.js +127 -57
- package/lib/plugins/DataSourcePlugin.js +3 -2
- package/lib/plugins/FeatureScalePlugin.js +6 -50
- package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
- package/lib/plugins/LayerModelPlugin.js +2 -6
- package/lib/plugins/LightingPlugin.js +1 -7
- package/lib/plugins/MultiPassRendererPlugin.js +3 -19
- package/lib/plugins/PixelPickingPlugin.js +8 -28
- package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
- package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
- package/lib/point/index.js +6 -2
- package/lib/point/models/fill.js +2 -2
- package/lib/point/models/fillmage.js +1 -1
- package/lib/point/models/image.js +1 -1
- package/lib/point/models/normal.js +8 -59
- package/lib/point/models/radar.js +4 -69
- package/lib/point/models/simplePoint.js +1 -10
- package/lib/point/models/text.js +6 -7
- package/lib/point/models/tile.js +21 -156
- package/lib/point/models/tileText.js +97 -184
- package/lib/point/shaders/animate/wave_frag.glsl +3 -3
- package/lib/point/shaders/earth/fill_vert.glsl +0 -1
- package/lib/point/shaders/fill_vert.glsl +0 -1
- package/lib/point/shaders/normal_frag.glsl +1 -10
- package/lib/point/shaders/normal_vert.glsl +5 -60
- package/lib/point/shaders/radar/radar_frag.glsl +4 -15
- package/lib/point/shaders/radar/radar_vert.glsl +4 -54
- package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
- package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
- package/lib/point/shaders/tile/text_frag.glsl +33 -0
- package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
- package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
- package/lib/point/shaders/tile/text_vert.glsl +48 -0
- package/lib/polygon/index.js +6 -2
- package/lib/polygon/models/extrude.js +1 -3
- package/lib/polygon/models/fill.js +3 -4
- package/lib/polygon/models/ocean.js +14 -47
- package/lib/polygon/models/tile.js +24 -57
- package/lib/polygon/models/water.js +14 -47
- package/lib/polygon/shaders/polygon_frag.glsl +2 -2
- package/lib/polygon/shaders/polygon_vert.glsl +2 -2
- package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
- package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
- package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
- package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
- package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
- package/lib/raster/buffers/triangulation.js +1 -4
- package/lib/raster/index.js +6 -2
- package/lib/raster/models/raster.js +3 -2
- package/lib/shader/minify_frag.glsl +7 -0
- package/lib/shader/minify_picking_frag.glsl +10 -0
- package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
- package/lib/tile/manager/tileLayerManager.js +2 -2
- package/lib/tile/manager/tilePickerManager.js +1 -2
- package/lib/tile/models/tileModel.js +19 -2
- package/lib/tile/tileFactory/base.js +60 -33
- package/lib/tile/tileFactory/line.js +3 -0
- package/lib/tile/tileFactory/point.js +3 -0
- package/lib/tile/tileFactory/polygon.js +3 -0
- package/lib/tile/tileFactory/raster.js +3 -0
- package/lib/tile/tileFactory/rasterData.js +3 -0
- package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
- package/lib/tile/tileFactory/test.js +26 -5
- package/lib/tile/tileFactory/vectorLayer.js +112 -8
- package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
- package/lib/tile/tileLayer/baseTileLayer.js +46 -75
- package/lib/tile/tileTest.js +3 -2
- package/lib/tile/tmsMapTileLayer.js +136 -0
- package/lib/tile/tmsTileLayer.js +25 -2
- package/lib/tile/utils.js +38 -0
- package/lib/utils/dataMappingStyle.js +3 -0
- package/lib/utils/layerData.js +2 -2
- package/lib/utils/updateShape.js +2 -2
- package/lib/wind/index.js +6 -2
- package/lib/wind/models/wind.js +7 -7
- package/lib/wind/shaders/wind_vert.glsl +1 -1
- package/package.json +8 -7
- package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
- package/es/line/shaders/wall_vert.glsl +0 -111
- package/es/mask/shaders/mask_frag.glsl +0 -7
- package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
- package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
- package/lib/line/shaders/wall_vert.glsl +0 -111
- package/lib/mask/shaders/mask_frag.glsl +0 -7
- package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
package/es/Geometry/index.d.ts
CHANGED
|
@@ -3,6 +3,19 @@ import { IGeometryLayerStyleOptions } from '../core/interface';
|
|
|
3
3
|
import { GeometryModelType } from './models';
|
|
4
4
|
export default class GeometryLayer extends BaseLayer<IGeometryLayerStyleOptions> {
|
|
5
5
|
type: string;
|
|
6
|
+
defaultSourceConfig: {
|
|
7
|
+
data: {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
}[];
|
|
11
|
+
options: {
|
|
12
|
+
parser: {
|
|
13
|
+
type: string;
|
|
14
|
+
x: string;
|
|
15
|
+
y: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
6
19
|
buildModels(): void;
|
|
7
20
|
rebuildModels(): void;
|
|
8
21
|
protected getConfigSchema(): {
|
package/es/Geometry/index.js
CHANGED
|
@@ -31,6 +31,20 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
31
31
|
|
|
32
32
|
_defineProperty(_assertThisInitialized(_this), "type", 'GeometryLayer');
|
|
33
33
|
|
|
34
|
+
_defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
|
|
35
|
+
data: [{
|
|
36
|
+
x: 0,
|
|
37
|
+
y: 0
|
|
38
|
+
}],
|
|
39
|
+
options: {
|
|
40
|
+
parser: {
|
|
41
|
+
type: 'json',
|
|
42
|
+
x: 'x',
|
|
43
|
+
y: 'y'
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
34
48
|
return _this;
|
|
35
49
|
}
|
|
36
50
|
|
|
@@ -44,7 +58,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
44
58
|
this.layerModel.initModels(function (models) {
|
|
45
59
|
_this2.models = models;
|
|
46
60
|
|
|
47
|
-
_this2.
|
|
61
|
+
_this2.emit('modelLoaded', null);
|
|
62
|
+
|
|
63
|
+
_this2.layerService.throttleRenderLayers();
|
|
48
64
|
});
|
|
49
65
|
}
|
|
50
66
|
}, {
|
|
@@ -53,7 +69,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
53
69
|
var _this3 = this;
|
|
54
70
|
|
|
55
71
|
this.layerModel.buildModels(function (models) {
|
|
56
|
-
|
|
72
|
+
_this3.models = models;
|
|
73
|
+
|
|
74
|
+
_this3.emit('modelLoaded', null);
|
|
57
75
|
});
|
|
58
76
|
}
|
|
59
77
|
}, {
|
|
@@ -166,8 +166,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
166
166
|
wrapS: gl.CLAMP_TO_EDGE,
|
|
167
167
|
wrapT: gl.CLAMP_TO_EDGE
|
|
168
168
|
});
|
|
169
|
-
this.layerService.
|
|
170
|
-
this.layerService.renderLayers();
|
|
169
|
+
this.layerService.reRender();
|
|
171
170
|
}
|
|
172
171
|
}
|
|
173
172
|
}, {
|
|
@@ -265,9 +265,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
265
265
|
wrapT: gl.CLAMP_TO_EDGE
|
|
266
266
|
});
|
|
267
267
|
|
|
268
|
-
_this3.layerService.
|
|
269
|
-
|
|
270
|
-
_this3.layerService.renderLayers();
|
|
268
|
+
_this3.layerService.reRender();
|
|
271
269
|
};
|
|
272
270
|
|
|
273
271
|
img.src = mapTexture;
|
|
@@ -328,7 +326,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
328
326
|
};
|
|
329
327
|
});
|
|
330
328
|
this.layer.updateModelData(modelData);
|
|
331
|
-
this.layerService.
|
|
329
|
+
this.layerService.throttleRenderLayers();
|
|
332
330
|
}
|
|
333
331
|
/**
|
|
334
332
|
* load terrain texture & offset attribute z
|
|
@@ -87,7 +87,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
87
87
|
m.updateAttributes(attributes);
|
|
88
88
|
});
|
|
89
89
|
|
|
90
|
-
_this.
|
|
90
|
+
_this.layerService.throttleRenderLayers();
|
|
91
91
|
|
|
92
92
|
_this.timer = requestAnimationFrame(_this.updateModel);
|
|
93
93
|
});
|
|
@@ -265,9 +265,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
265
265
|
wrapT: gl.CLAMP_TO_EDGE
|
|
266
266
|
});
|
|
267
267
|
|
|
268
|
-
_this4.layerService.
|
|
269
|
-
|
|
270
|
-
_this4.layerService.renderLayers();
|
|
268
|
+
_this4.layerService.reRender();
|
|
271
269
|
};
|
|
272
270
|
|
|
273
271
|
img.src = mapTexture;
|
package/es/canvas/index.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import BaseLayer from '../core/BaseLayer';
|
|
2
|
+
import { ILayer } from '@antv/l7-core';
|
|
2
3
|
import { ICanvasLayerStyleOptions } from '../core/interface';
|
|
3
4
|
import { CanvasModelType } from './models/index';
|
|
4
5
|
export default class CanvasLayer extends BaseLayer<ICanvasLayerStyleOptions> {
|
|
5
6
|
type: string;
|
|
7
|
+
forceRender: boolean;
|
|
6
8
|
buildModels(): void;
|
|
7
9
|
rebuildModels(): void;
|
|
10
|
+
hide(): ILayer;
|
|
11
|
+
renderModels(): this;
|
|
8
12
|
protected getConfigSchema(): {
|
|
9
13
|
properties: {
|
|
10
14
|
opacity: {
|
package/es/canvas/index.js
CHANGED
|
@@ -31,6 +31,8 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
31
31
|
|
|
32
32
|
_defineProperty(_assertThisInitialized(_this), "type", 'CanvasLayer');
|
|
33
33
|
|
|
34
|
+
_defineProperty(_assertThisInitialized(_this), "forceRender", true);
|
|
35
|
+
|
|
34
36
|
return _this;
|
|
35
37
|
}
|
|
36
38
|
|
|
@@ -44,7 +46,9 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
44
46
|
this.layerModel.initModels(function (models) {
|
|
45
47
|
_this2.models = models;
|
|
46
48
|
|
|
47
|
-
_this2.
|
|
49
|
+
_this2.emit('modelLoaded', null);
|
|
50
|
+
|
|
51
|
+
_this2.layerService.throttleRenderLayers();
|
|
48
52
|
});
|
|
49
53
|
}
|
|
50
54
|
}, {
|
|
@@ -53,8 +57,40 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
53
57
|
var _this3 = this;
|
|
54
58
|
|
|
55
59
|
this.layerModel.buildModels(function (models) {
|
|
56
|
-
|
|
60
|
+
_this3.models = models;
|
|
61
|
+
|
|
62
|
+
_this3.emit('modelLoaded', null);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
key: "hide",
|
|
67
|
+
value: function hide() {
|
|
68
|
+
var _this$layerModel;
|
|
69
|
+
|
|
70
|
+
// 清除画布
|
|
71
|
+
this.layerModel.clearCanvas && ((_this$layerModel = this.layerModel) === null || _this$layerModel === void 0 ? void 0 : _this$layerModel.clearCanvas());
|
|
72
|
+
this.updateLayerConfig({
|
|
73
|
+
visible: false
|
|
74
|
+
});
|
|
75
|
+
this.reRender();
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "renderModels",
|
|
80
|
+
value: function renderModels() {
|
|
81
|
+
var _this$layerModel2,
|
|
82
|
+
_this4 = this;
|
|
83
|
+
|
|
84
|
+
if (this !== null && this !== void 0 && (_this$layerModel2 = this.layerModel) !== null && _this$layerModel2 !== void 0 && _this$layerModel2.renderUpdate) {
|
|
85
|
+
this.layerModel.renderUpdate();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
this.models.forEach(function (model) {
|
|
89
|
+
model.draw({
|
|
90
|
+
uniforms: _this4.layerModel.getUninforms()
|
|
91
|
+
}, false);
|
|
57
92
|
});
|
|
93
|
+
return this;
|
|
58
94
|
}
|
|
59
95
|
}, {
|
|
60
96
|
key: "getConfigSchema",
|
|
@@ -43,7 +43,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
43
43
|
this.layerModel.initModels(function (models) {
|
|
44
44
|
_this2.models = models;
|
|
45
45
|
|
|
46
|
-
_this2.
|
|
46
|
+
_this2.emit('modelLoaded', null);
|
|
47
|
+
|
|
48
|
+
_this2.layerService.throttleRenderLayers();
|
|
47
49
|
});
|
|
48
50
|
}
|
|
49
51
|
}, {
|
|
@@ -52,7 +54,9 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
52
54
|
var _this3 = this;
|
|
53
55
|
|
|
54
56
|
this.layerModel.buildModels(function (models) {
|
|
55
|
-
|
|
57
|
+
_this3.models = models;
|
|
58
|
+
|
|
59
|
+
_this3.emit('modelLoaded', null);
|
|
56
60
|
});
|
|
57
61
|
}
|
|
58
62
|
}, {
|
|
@@ -154,7 +154,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
154
154
|
type: gl.FLOAT
|
|
155
155
|
},
|
|
156
156
|
size: 1,
|
|
157
|
-
update: function update(feature
|
|
157
|
+
update: function update(feature) {
|
|
158
158
|
var _feature$size = feature.size,
|
|
159
159
|
size = _feature$size === void 0 ? 10 : _feature$size;
|
|
160
160
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
@@ -173,8 +173,7 @@ var CityBuildModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
173
173
|
type: gl.FLOAT
|
|
174
174
|
},
|
|
175
175
|
size: 2,
|
|
176
|
-
update: function update(feature, featureIdx, vertex
|
|
177
|
-
var size = feature.size;
|
|
176
|
+
update: function update(feature, featureIdx, vertex) {
|
|
178
177
|
return [vertex[3], vertex[4]];
|
|
179
178
|
}
|
|
180
179
|
}
|
package/es/core/BaseLayer.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
17
17
|
selectedFeatureID: number | null;
|
|
18
18
|
styleNeedUpdate: boolean;
|
|
19
19
|
rendering: boolean;
|
|
20
|
+
forceRender: boolean;
|
|
20
21
|
clusterZoom: number;
|
|
21
22
|
layerType?: string | undefined;
|
|
22
23
|
triangulation?: Triangulation | undefined;
|
|
@@ -76,16 +77,22 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
76
77
|
/**
|
|
77
78
|
* 图层容器
|
|
78
79
|
*/
|
|
79
|
-
|
|
80
|
+
protected container: Container;
|
|
80
81
|
private encodedData;
|
|
81
82
|
private configSchema;
|
|
82
83
|
private currentPickId;
|
|
83
|
-
|
|
84
|
+
protected rawConfig: Partial<ILayerConfig & ChildLayerStyleOptions>;
|
|
84
85
|
private needUpdateConfig;
|
|
85
86
|
/**
|
|
86
87
|
* 待更新样式属性,在初始化阶段完成注册
|
|
87
88
|
*/
|
|
88
|
-
|
|
89
|
+
protected pendingStyleAttributes: Array<{
|
|
90
|
+
attributeName: string;
|
|
91
|
+
attributeField: StyleAttributeField;
|
|
92
|
+
attributeValues?: StyleAttributeOption;
|
|
93
|
+
defaultName?: string;
|
|
94
|
+
updateOptions?: Partial<IStyleAttributeUpdateOptions>;
|
|
95
|
+
}>;
|
|
89
96
|
private scaleOptions;
|
|
90
97
|
private animateStartTime;
|
|
91
98
|
private aniamateStatus;
|
|
@@ -176,6 +183,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
176
183
|
setSource(source: Source): void;
|
|
177
184
|
getSource(): Source;
|
|
178
185
|
getScaleOptions(): IScaleOptions;
|
|
186
|
+
encodeDataLength: number;
|
|
179
187
|
setEncodedData(encodedData: IEncodeFeature[]): void;
|
|
180
188
|
getEncodedData(): IEncodeFeature[];
|
|
181
189
|
getScale(name: string): any;
|
|
@@ -206,7 +214,10 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
206
214
|
protected getConfigSchema(): void;
|
|
207
215
|
protected getModelType(): unknown;
|
|
208
216
|
protected getDefaultConfig(): {};
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
217
|
+
protected sourceEvent: () => void;
|
|
218
|
+
protected reRender(): void;
|
|
219
|
+
protected splitValuesAndCallbackInAttribute(valuesOrCallback?: unknown[], defaultValues?: unknown[]): {
|
|
220
|
+
values: unknown[] | undefined;
|
|
221
|
+
callback: (unknown[] & ((...args: any[]) => any)) | undefined;
|
|
222
|
+
};
|
|
212
223
|
}
|
package/es/core/BaseLayer.js
CHANGED
|
@@ -52,13 +52,13 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
52
52
|
|
|
53
53
|
// 生命周期钩子
|
|
54
54
|
// 待渲染 model 列表
|
|
55
|
-
//
|
|
55
|
+
// 用于保存子图层对象
|
|
56
56
|
// Tip: 用于标识矢量图层
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* 待更新样式属性,在初始化阶段完成注册
|
|
60
60
|
*/
|
|
61
|
-
//
|
|
61
|
+
// Tip: layer 保底颜色
|
|
62
62
|
// private pickingPassRender: IPass<'pixelPicking'>;
|
|
63
63
|
function BaseLayer() {
|
|
64
64
|
var _this;
|
|
@@ -87,8 +87,19 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
87
87
|
|
|
88
88
|
_defineProperty(_assertThisInitialized(_this), "styleNeedUpdate", false);
|
|
89
89
|
|
|
90
|
+
_defineProperty(_assertThisInitialized(_this), "forceRender", false);
|
|
91
|
+
|
|
90
92
|
_defineProperty(_assertThisInitialized(_this), "clusterZoom", 0);
|
|
91
93
|
|
|
94
|
+
_defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
|
|
95
|
+
data: [],
|
|
96
|
+
options: {
|
|
97
|
+
parser: {
|
|
98
|
+
type: 'json'
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
92
103
|
_defineProperty(_assertThisInitialized(_this), "dataState", {
|
|
93
104
|
dataSourceNeedUpdate: false,
|
|
94
105
|
dataMappingNeedUpdate: false,
|
|
@@ -139,6 +150,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
139
150
|
|
|
140
151
|
_defineProperty(_assertThisInitialized(_this), "isDestroied", false);
|
|
141
152
|
|
|
153
|
+
_defineProperty(_assertThisInitialized(_this), "encodeDataLength", 0);
|
|
154
|
+
|
|
142
155
|
_defineProperty(_assertThisInitialized(_this), "sourceEvent", function () {
|
|
143
156
|
_this.dataState.dataSourceNeedUpdate = true;
|
|
144
157
|
|
|
@@ -146,9 +159,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
146
159
|
|
|
147
160
|
if (layerConfig && layerConfig.autoFit) {
|
|
148
161
|
_this.fitBounds(layerConfig.fitBoundsOptions);
|
|
149
|
-
}
|
|
150
|
-
// this.emit('dataUpdate');
|
|
151
|
-
|
|
162
|
+
}
|
|
152
163
|
|
|
153
164
|
_this.reRender();
|
|
154
165
|
});
|
|
@@ -413,15 +424,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
413
424
|
}, {
|
|
414
425
|
key: "color",
|
|
415
426
|
value: function color(field, values, updateOptions) {
|
|
416
|
-
|
|
417
|
-
this.updateStyleAttribute('color', field, values, updateOptions); // this.pendingStyleAttributes.push({
|
|
418
|
-
// attributeName: 'color',
|
|
419
|
-
// attributeField: field,
|
|
420
|
-
// attributeValues: values,
|
|
421
|
-
// defaultName: 'colors',
|
|
422
|
-
// updateOptions,
|
|
423
|
-
// });
|
|
424
|
-
|
|
427
|
+
this.updateStyleAttribute('color', field, values, updateOptions);
|
|
425
428
|
return this;
|
|
426
429
|
} // 为对应的图层传入纹理的编号名称(point/image 在 shape 方法中传入纹理名称的方法并不通用)
|
|
427
430
|
|
|
@@ -461,7 +464,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
461
464
|
field: field,
|
|
462
465
|
values: values
|
|
463
466
|
};
|
|
464
|
-
this.updateStyleAttribute('shape', field, values, updateOptions); //
|
|
467
|
+
this.updateStyleAttribute('shape', field, values, updateOptions); // Tip: 根据 shape 判断是否需要更新 model
|
|
465
468
|
|
|
466
469
|
if (!this.tileLayer) {
|
|
467
470
|
updateShape(this, lastShape, currentShape);
|
|
@@ -602,17 +605,15 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
602
605
|
}, {
|
|
603
606
|
key: "render",
|
|
604
607
|
value: function render() {
|
|
605
|
-
if (this.tileLayer
|
|
608
|
+
if (this.tileLayer) {
|
|
606
609
|
// 瓦片图层执行单独的 render 渲染队列
|
|
607
610
|
this.tileLayer.render();
|
|
608
611
|
return this;
|
|
609
|
-
} // TODO: this.getEncodedData().length !== 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
if (this.getEncodedData() && this.getEncodedData().length !== 0) {
|
|
613
|
-
this.renderModels();
|
|
614
612
|
}
|
|
615
613
|
|
|
614
|
+
if (this.encodeDataLength <= 0 && !this.forceRender) return this; // Tip: this.getEncodedData().length !== 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
|
|
615
|
+
|
|
616
|
+
this.renderModels();
|
|
616
617
|
return this;
|
|
617
618
|
}
|
|
618
619
|
/**
|
|
@@ -627,24 +628,27 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
627
628
|
while (1) {
|
|
628
629
|
switch (_context.prev = _context.next) {
|
|
629
630
|
case 0:
|
|
630
|
-
if (!(this.
|
|
631
|
-
_context.next =
|
|
631
|
+
if (!(this.encodeDataLength <= 0 && !this.forceRender)) {
|
|
632
|
+
_context.next = 2;
|
|
632
633
|
break;
|
|
633
634
|
}
|
|
634
635
|
|
|
636
|
+
return _context.abrupt("return");
|
|
637
|
+
|
|
638
|
+
case 2:
|
|
635
639
|
if (!(this.multiPassRenderer && this.multiPassRenderer.getRenderFlag())) {
|
|
636
|
-
_context.next =
|
|
640
|
+
_context.next = 7;
|
|
637
641
|
break;
|
|
638
642
|
}
|
|
639
643
|
|
|
640
|
-
_context.next =
|
|
644
|
+
_context.next = 5;
|
|
641
645
|
return this.multiPassRenderer.render();
|
|
642
646
|
|
|
643
|
-
case
|
|
644
|
-
_context.next =
|
|
647
|
+
case 5:
|
|
648
|
+
_context.next = 8;
|
|
645
649
|
break;
|
|
646
650
|
|
|
647
|
-
case
|
|
651
|
+
case 7:
|
|
648
652
|
if (this.multiPassRenderer) {
|
|
649
653
|
// renderPass 触发的渲染
|
|
650
654
|
this.renderModels();
|
|
@@ -652,7 +656,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
652
656
|
this.renderModels();
|
|
653
657
|
}
|
|
654
658
|
|
|
655
|
-
case
|
|
659
|
+
case 8:
|
|
656
660
|
case "end":
|
|
657
661
|
return _context.stop();
|
|
658
662
|
}
|
|
@@ -798,11 +802,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
798
802
|
}, {
|
|
799
803
|
key: "hide",
|
|
800
804
|
value: function hide() {
|
|
801
|
-
if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
|
|
802
|
-
// 对 canvasLayer 的 hide 操作做特殊处理
|
|
803
|
-
this.layerModel.clearCanvas();
|
|
804
|
-
}
|
|
805
|
-
|
|
806
805
|
this.updateLayerConfig({
|
|
807
806
|
visible: false
|
|
808
807
|
});
|
|
@@ -958,7 +957,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
958
957
|
}, {
|
|
959
958
|
key: "destroy",
|
|
960
959
|
value: function destroy() {
|
|
961
|
-
var _this$layerModel2;
|
|
960
|
+
var _this$multiPassRender, _this$layerModel2;
|
|
962
961
|
|
|
963
962
|
var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
964
963
|
|
|
@@ -968,25 +967,24 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
968
967
|
|
|
969
968
|
|
|
970
969
|
this.layerChildren.map(function (child) {
|
|
971
|
-
return child.destroy();
|
|
970
|
+
return child.destroy(false);
|
|
972
971
|
});
|
|
973
972
|
this.layerChildren = []; // remove mask list
|
|
974
973
|
|
|
975
974
|
this.masks.map(function (mask) {
|
|
976
|
-
return mask.destroy();
|
|
975
|
+
return mask.destroy(false);
|
|
977
976
|
});
|
|
978
977
|
this.masks = [];
|
|
979
978
|
this.hooks.beforeDestroy.call(); // 清除sources事件
|
|
980
979
|
|
|
981
980
|
this.layerSource.off('sourceUpdate', this.sourceEvent);
|
|
982
|
-
this.multiPassRenderer.destroy(); //
|
|
983
|
-
// 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
|
|
981
|
+
(_this$multiPassRender = this.multiPassRenderer) === null || _this$multiPassRender === void 0 ? void 0 : _this$multiPassRender.destroy(); // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
|
|
984
982
|
|
|
985
983
|
this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
|
|
986
984
|
|
|
987
|
-
this.hooks.afterDestroy.call(); //
|
|
985
|
+
this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
|
|
988
986
|
|
|
989
|
-
(_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels();
|
|
987
|
+
(_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
|
|
990
988
|
this.models = [];
|
|
991
989
|
this.layerService.cleanRemove(this, refresh);
|
|
992
990
|
this.emit('remove', {
|
|
@@ -1067,6 +1065,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1067
1065
|
key: "setEncodedData",
|
|
1068
1066
|
value: function setEncodedData(encodedData) {
|
|
1069
1067
|
this.encodedData = encodedData;
|
|
1068
|
+
this.encodeDataLength = encodedData.length;
|
|
1070
1069
|
}
|
|
1071
1070
|
}, {
|
|
1072
1071
|
key: "getEncodedData",
|
|
@@ -1161,45 +1160,47 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1161
1160
|
|
|
1162
1161
|
var createModel = this.rendererService.createModel;
|
|
1163
1162
|
return new Promise(function (resolve, reject) {
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1163
|
+
setTimeout(function () {
|
|
1164
|
+
// filter supported worker & worker enabled layer
|
|
1165
|
+
if (workerOptions && workerOptions.modelType in WorkerSourceMap && workerEnabled) {
|
|
1166
|
+
_this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
|
|
1167
|
+
var attributes = _ref7.attributes,
|
|
1168
|
+
elements = _ref7.elements;
|
|
1169
|
+
var m = createModel(_objectSpread({
|
|
1170
|
+
attributes: attributes,
|
|
1171
|
+
uniforms: uniforms,
|
|
1172
|
+
fs: fs,
|
|
1173
|
+
vs: vs,
|
|
1174
|
+
elements: elements,
|
|
1175
|
+
blend: BlendTypes[BlendType.normal]
|
|
1176
|
+
}, rest));
|
|
1177
|
+
resolve(m);
|
|
1178
|
+
}).catch(function (err) {
|
|
1179
|
+
return reject(err);
|
|
1180
|
+
});
|
|
1181
|
+
} else {
|
|
1182
|
+
var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
|
|
1183
|
+
attributes = _this9$styleAttribute.attributes,
|
|
1184
|
+
elements = _this9$styleAttribute.elements,
|
|
1185
|
+
count = _this9$styleAttribute.count;
|
|
1186
|
+
|
|
1187
|
+
var modeloptions = _objectSpread({
|
|
1170
1188
|
attributes: attributes,
|
|
1171
1189
|
uniforms: uniforms,
|
|
1172
1190
|
fs: fs,
|
|
1173
1191
|
vs: vs,
|
|
1174
1192
|
elements: elements,
|
|
1175
1193
|
blend: BlendTypes[BlendType.normal]
|
|
1176
|
-
}, rest)
|
|
1194
|
+
}, rest);
|
|
1195
|
+
|
|
1196
|
+
if (count) {
|
|
1197
|
+
modeloptions.count = count;
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
var m = createModel(modeloptions);
|
|
1177
1201
|
resolve(m);
|
|
1178
|
-
}).catch(function (err) {
|
|
1179
|
-
return reject(err);
|
|
1180
|
-
});
|
|
1181
|
-
} else {
|
|
1182
|
-
var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
|
|
1183
|
-
attributes = _this9$styleAttribute.attributes,
|
|
1184
|
-
elements = _this9$styleAttribute.elements,
|
|
1185
|
-
count = _this9$styleAttribute.count;
|
|
1186
|
-
|
|
1187
|
-
var modeloptions = _objectSpread({
|
|
1188
|
-
attributes: attributes,
|
|
1189
|
-
uniforms: uniforms,
|
|
1190
|
-
fs: fs,
|
|
1191
|
-
vs: vs,
|
|
1192
|
-
elements: elements,
|
|
1193
|
-
blend: BlendTypes[BlendType.normal]
|
|
1194
|
-
}, rest);
|
|
1195
|
-
|
|
1196
|
-
if (count) {
|
|
1197
|
-
modeloptions.count = count;
|
|
1198
1202
|
}
|
|
1199
|
-
|
|
1200
|
-
var m = createModel(modeloptions);
|
|
1201
|
-
resolve(m);
|
|
1202
|
-
}
|
|
1203
|
+
});
|
|
1203
1204
|
});
|
|
1204
1205
|
}
|
|
1205
1206
|
}, {
|
|
@@ -1243,6 +1244,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1243
1244
|
}, {
|
|
1244
1245
|
key: "needPick",
|
|
1245
1246
|
value: function needPick(type) {
|
|
1247
|
+
// 地图图层的判断
|
|
1248
|
+
if (this.rawConfig.usage === 'basemap') return false;
|
|
1249
|
+
|
|
1246
1250
|
var _this$getLayerConfig10 = this.getLayerConfig(),
|
|
1247
1251
|
_this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
|
|
1248
1252
|
enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
|
|
@@ -1303,30 +1307,23 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1303
1307
|
var _this10 = this;
|
|
1304
1308
|
|
|
1305
1309
|
// TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
|
|
1306
|
-
if (this.
|
|
1307
|
-
var _this$layerModel4;
|
|
1310
|
+
if (this.encodeDataLength <= 0 && !this.forceRender) return this;
|
|
1308
1311
|
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
_this10.hooks.beforeRender.call();
|
|
1314
|
-
|
|
1315
|
-
_this10.layerModelNeedUpdate = false;
|
|
1316
|
-
});
|
|
1317
|
-
}
|
|
1312
|
+
if (this.layerModelNeedUpdate && this.layerModel) {
|
|
1313
|
+
this.layerModel.buildModels(function (models) {
|
|
1314
|
+
_this10.models = models;
|
|
1318
1315
|
|
|
1319
|
-
|
|
1320
|
-
this.layerModel.renderUpdate();
|
|
1321
|
-
}
|
|
1316
|
+
_this10.hooks.beforeRender.call();
|
|
1322
1317
|
|
|
1323
|
-
|
|
1324
|
-
model.draw({
|
|
1325
|
-
uniforms: _this10.layerModel.getUninforms()
|
|
1326
|
-
}, isPicking);
|
|
1318
|
+
_this10.layerModelNeedUpdate = false;
|
|
1327
1319
|
});
|
|
1328
1320
|
}
|
|
1329
1321
|
|
|
1322
|
+
this.models.forEach(function (model) {
|
|
1323
|
+
model.draw({
|
|
1324
|
+
uniforms: _this10.layerModel.getUninforms()
|
|
1325
|
+
}, isPicking);
|
|
1326
|
+
});
|
|
1330
1327
|
return this;
|
|
1331
1328
|
}
|
|
1332
1329
|
}, {
|
|
@@ -1360,6 +1357,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1360
1357
|
* 继承空方法
|
|
1361
1358
|
* @param time
|
|
1362
1359
|
*/
|
|
1360
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1363
1361
|
|
|
1364
1362
|
}, {
|
|
1365
1363
|
key: "setEarthTime",
|
|
@@ -1384,10 +1382,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1384
1382
|
}, {
|
|
1385
1383
|
key: "reRender",
|
|
1386
1384
|
value: function reRender() {
|
|
1387
|
-
|
|
1388
|
-
this.layerService.updateLayerRenderList();
|
|
1389
|
-
this.layerService.renderLayers();
|
|
1390
|
-
}
|
|
1385
|
+
this.inited && this.layerService.reRender();
|
|
1391
1386
|
}
|
|
1392
1387
|
}, {
|
|
1393
1388
|
key: "splitValuesAndCallbackInAttribute",
|
package/es/core/BaseModel.d.ts
CHANGED
|
@@ -126,7 +126,7 @@ export default class BaseModel<ChildLayerStyleOptions = {}> implements ILayerMod
|
|
|
126
126
|
needUpdate(): boolean;
|
|
127
127
|
buildModels(callbackModel: (models: IModel[]) => void): void;
|
|
128
128
|
initModels(callbackModel: (models: IModel[]) => void): void;
|
|
129
|
-
clearModels(): void;
|
|
129
|
+
clearModels(refresh?: boolean): void;
|
|
130
130
|
getAttribute(): {
|
|
131
131
|
attributes: {
|
|
132
132
|
[attributeName: string]: IAttribute;
|