@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.4
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.js +6 -2
- package/es/Geometry/models/billboard.js +3 -7
- package/es/Geometry/models/plane.js +5 -7
- package/es/Geometry/models/sprite.js +4 -7
- 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 +20 -12
- package/es/core/BaseLayer.js +61 -85
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +22 -19
- package/es/core/interface.d.ts +20 -1
- package/es/core/triangulation.d.ts +6 -0
- package/es/core/triangulation.js +64 -2
- package/es/earth/index.js +3 -1
- package/es/earth/models/atmosphere.js +4 -7
- package/es/earth/models/base.js +12 -18
- package/es/earth/models/bloomsphere.js +4 -8
- package/es/earth/shaders/atmosphere_frag.glsl +1 -1
- package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/es/heatmap/index.d.ts +2 -2
- package/es/heatmap/index.js +7 -5
- package/es/heatmap/models/grid.js +1 -3
- package/es/heatmap/models/grid3d.js +4 -11
- package/es/heatmap/models/heatmap.js +8 -9
- package/es/heatmap/models/hexagon.js +2 -6
- package/es/heatmap/triangulation.js +0 -1
- package/es/image/index.d.ts +1 -1
- package/es/image/index.js +10 -3
- package/es/image/models/dataImage.d.ts +1 -1
- package/es/image/models/dataImage.js +14 -39
- package/es/image/models/image.js +5 -10
- package/es/image/models/index.d.ts +1 -1
- package/es/image/models/index.js +3 -1
- package/es/image/models/tileDataImage.d.ts +19 -0
- package/es/image/models/tileDataImage.js +174 -0
- package/es/line/index.d.ts +1 -0
- package/es/line/index.js +8 -2
- package/es/line/models/arc.js +10 -10
- package/es/line/models/arc_3d.js +8 -10
- package/es/line/models/earthArc_3d.js +8 -10
- package/es/line/models/great_circle.js +7 -7
- package/es/line/models/half.js +3 -4
- package/es/line/models/line.js +10 -9
- package/es/line/models/linearline.js +3 -4
- package/es/line/models/simpleLine.js +5 -4
- 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 +50 -223
- package/es/line/models/wall.js +11 -47
- 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 +2 -2
- package/es/line/shaders/line_arc_3d_frag.glsl +10 -10
- package/es/line/shaders/line_arc_3d_vert.glsl +5 -6
- package/es/line/shaders/line_arc_frag.glsl +9 -10
- package/es/line/shaders/line_arc_great_circle_frag.glsl +6 -6
- package/es/line/shaders/line_arc_great_circle_vert.glsl +2 -3
- package/es/line/shaders/line_arc_vert.glsl +6 -4
- package/es/line/shaders/line_bezier_vert.glsl +2 -2
- package/es/line/shaders/line_frag.glsl +5 -6
- package/es/line/shaders/line_vert.glsl +1 -1
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
- 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} +21 -25
- 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 +9 -6
- package/es/point/models/earthExtrude.d.ts +1 -1
- package/es/point/models/earthExtrude.js +9 -14
- package/es/point/models/earthFill.js +2 -2
- package/es/point/models/extrude.d.ts +1 -1
- package/es/point/models/extrude.js +9 -12
- package/es/point/models/fill.d.ts +1 -1
- package/es/point/models/fill.js +8 -9
- package/es/point/models/fillmage.js +5 -6
- package/es/point/models/image.js +3 -3
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +3 -3
- package/es/point/models/normal.d.ts +0 -1
- package/es/point/models/normal.js +9 -62
- package/es/point/models/radar.js +5 -70
- package/es/point/models/simplePoint.d.ts +0 -1
- package/es/point/models/simplePoint.js +2 -11
- package/es/point/models/text.js +7 -10
- package/es/point/models/tile.d.ts +0 -7
- package/es/point/models/tile.js +24 -158
- package/es/point/models/tileText.d.ts +0 -4
- package/es/point/models/tileText.js +99 -188
- package/es/point/shaders/animate/wave_frag.glsl +4 -4
- 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 +4 -8
- 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.d.ts +1 -1
- package/es/raster/models/raster.js +6 -5
- 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 +12 -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 +6 -2
- package/lib/Geometry/models/billboard.js +3 -7
- package/lib/Geometry/models/plane.js +5 -7
- package/lib/Geometry/models/sprite.js +4 -7
- 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 +61 -85
- package/lib/core/BaseModel.js +22 -19
- package/lib/core/triangulation.js +66 -2
- package/lib/earth/index.js +3 -1
- package/lib/earth/models/atmosphere.js +4 -7
- package/lib/earth/models/base.js +12 -18
- package/lib/earth/models/bloomsphere.js +4 -8
- package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
- package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/lib/heatmap/index.js +7 -5
- package/lib/heatmap/models/grid.js +1 -3
- package/lib/heatmap/models/grid3d.js +4 -11
- package/lib/heatmap/models/heatmap.js +8 -9
- package/lib/heatmap/models/hexagon.js +2 -6
- package/lib/heatmap/triangulation.js +0 -1
- package/lib/image/index.js +10 -3
- package/lib/image/models/dataImage.js +13 -38
- package/lib/image/models/image.js +5 -10
- package/lib/image/models/index.js +4 -1
- package/lib/image/models/tileDataImage.js +188 -0
- package/lib/line/index.js +7 -2
- package/lib/line/models/arc.js +10 -10
- package/lib/line/models/arc_3d.js +8 -10
- package/lib/line/models/earthArc_3d.js +8 -10
- package/lib/line/models/great_circle.js +7 -7
- package/lib/line/models/half.js +3 -4
- package/lib/line/models/line.js +10 -9
- package/lib/line/models/linearline.js +3 -4
- package/lib/line/models/simpleLine.js +5 -4
- package/lib/line/models/simpleTileLine.js +115 -0
- package/lib/line/models/tile.js +50 -224
- package/lib/line/models/wall.js +11 -47
- 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 +2 -2
- package/lib/line/shaders/line_arc_3d_frag.glsl +10 -10
- package/lib/line/shaders/line_arc_3d_vert.glsl +5 -6
- package/lib/line/shaders/line_arc_frag.glsl +9 -10
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +6 -6
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +2 -3
- package/lib/line/shaders/line_arc_vert.glsl +6 -4
- package/lib/line/shaders/line_bezier_vert.glsl +2 -2
- package/lib/line/shaders/line_frag.glsl +5 -6
- package/lib/line/shaders/line_vert.glsl +1 -1
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
- 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} +21 -25
- 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 +9 -6
- package/lib/point/models/earthExtrude.js +9 -14
- package/lib/point/models/earthFill.js +2 -2
- package/lib/point/models/extrude.js +9 -12
- package/lib/point/models/fill.js +8 -9
- package/lib/point/models/fillmage.js +5 -6
- package/lib/point/models/image.js +3 -3
- package/lib/point/models/index.js +1 -1
- package/lib/point/models/normal.js +8 -61
- package/lib/point/models/radar.js +5 -70
- package/lib/point/models/simplePoint.js +1 -10
- package/lib/point/models/text.js +7 -10
- package/lib/point/models/tile.js +23 -159
- package/lib/point/models/tileText.js +98 -187
- package/lib/point/shaders/animate/wave_frag.glsl +4 -4
- 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 +4 -8
- 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 +6 -5
- 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 +12 -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.js
CHANGED
|
@@ -58,7 +58,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
58
58
|
this.layerModel.initModels(function (models) {
|
|
59
59
|
_this2.models = models;
|
|
60
60
|
|
|
61
|
-
_this2.
|
|
61
|
+
_this2.emit('modelLoaded', null);
|
|
62
|
+
|
|
63
|
+
_this2.layerService.throttleRenderLayers();
|
|
62
64
|
});
|
|
63
65
|
}
|
|
64
66
|
}, {
|
|
@@ -67,7 +69,9 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
67
69
|
var _this3 = this;
|
|
68
70
|
|
|
69
71
|
this.layerModel.buildModels(function (models) {
|
|
70
|
-
|
|
72
|
+
_this3.models = models;
|
|
73
|
+
|
|
74
|
+
_this3.emit('modelLoaded', null);
|
|
71
75
|
});
|
|
72
76
|
}
|
|
73
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
|
}, {
|
|
@@ -192,7 +191,6 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
192
191
|
descriptor: {
|
|
193
192
|
name: 'a_Extrude',
|
|
194
193
|
buffer: {
|
|
195
|
-
// give the WebGL driver a hint that this buffer may change
|
|
196
194
|
usage: gl.DYNAMIC_DRAW,
|
|
197
195
|
data: [],
|
|
198
196
|
type: gl.FLOAT
|
|
@@ -204,21 +202,19 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
204
202
|
return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
|
|
205
203
|
}
|
|
206
204
|
}
|
|
207
|
-
});
|
|
208
|
-
|
|
205
|
+
});
|
|
209
206
|
this.styleAttributeService.registerStyleAttribute({
|
|
210
207
|
name: 'uv',
|
|
211
208
|
type: AttributeType.Attribute,
|
|
212
209
|
descriptor: {
|
|
213
210
|
name: 'a_Uv',
|
|
214
211
|
buffer: {
|
|
215
|
-
// give the WebGL driver a hint that this buffer may change
|
|
216
212
|
usage: gl.DYNAMIC_DRAW,
|
|
217
213
|
data: [],
|
|
218
214
|
type: gl.FLOAT
|
|
219
215
|
},
|
|
220
216
|
size: 2,
|
|
221
|
-
update: function update(feature, featureIdx, vertex
|
|
217
|
+
update: function update(feature, featureIdx, vertex) {
|
|
222
218
|
return [vertex[2], vertex[3]];
|
|
223
219
|
}
|
|
224
220
|
}
|
|
@@ -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;
|
|
@@ -302,10 +300,10 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
302
300
|
var gridX1 = gridX + 1;
|
|
303
301
|
var gridY1 = gridY + 1;
|
|
304
302
|
var widthStep = imgWidth / gridX;
|
|
305
|
-
var
|
|
303
|
+
var heightStep = imgHeight / gridY;
|
|
306
304
|
|
|
307
305
|
for (var iy = 0; iy < gridY1; iy++) {
|
|
308
|
-
var imgIndexY = Math.floor(iy *
|
|
306
|
+
var imgIndexY = Math.floor(iy * heightStep);
|
|
309
307
|
var imgLen = imgIndexY * imgWidth;
|
|
310
308
|
|
|
311
309
|
for (var ix = 0; ix < gridX1; ix++) {
|
|
@@ -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
|
|
@@ -407,7 +405,7 @@ var PlaneModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
407
405
|
type: gl.FLOAT
|
|
408
406
|
},
|
|
409
407
|
size: 2,
|
|
410
|
-
update: function update(feature, featureIdx, vertex
|
|
408
|
+
update: function update(feature, featureIdx, vertex) {
|
|
411
409
|
return [vertex[3], vertex[4]];
|
|
412
410
|
}
|
|
413
411
|
}
|
|
@@ -49,8 +49,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
49
49
|
_ref$spriteBottom = _ref.spriteBottom,
|
|
50
50
|
spriteBottom = _ref$spriteBottom === void 0 ? -100000 : _ref$spriteBottom;
|
|
51
51
|
|
|
52
|
-
var updateZ = _this.spriteUpdate;
|
|
53
|
-
|
|
52
|
+
var updateZ = _this.spriteUpdate;
|
|
54
53
|
var bottomZ = spriteBottom;
|
|
55
54
|
var topZ = _this.spriteTop;
|
|
56
55
|
|
|
@@ -79,7 +78,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
79
78
|
|
|
80
79
|
_defineProperty(_assertThisInitialized(_this), "updateModel", function () {
|
|
81
80
|
// @ts-ignore
|
|
82
|
-
var attributes = _this.layer.
|
|
81
|
+
var attributes = _this.layer.createAttributes({
|
|
83
82
|
triangulation: _this.planeGeometryUpdateTriangulation
|
|
84
83
|
});
|
|
85
84
|
|
|
@@ -87,7 +86,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
87
86
|
m.updateAttributes(attributes);
|
|
88
87
|
});
|
|
89
88
|
|
|
90
|
-
_this.
|
|
89
|
+
_this.layerService.throttleRenderLayers();
|
|
91
90
|
|
|
92
91
|
_this.timer = requestAnimationFrame(_this.updateModel);
|
|
93
92
|
});
|
|
@@ -265,9 +264,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
265
264
|
wrapT: gl.CLAMP_TO_EDGE
|
|
266
265
|
});
|
|
267
266
|
|
|
268
|
-
_this4.layerService.
|
|
269
|
-
|
|
270
|
-
_this4.layerService.renderLayers();
|
|
267
|
+
_this4.layerService.reRender();
|
|
271
268
|
};
|
|
272
269
|
|
|
273
270
|
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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SyncBailHook, SyncHook, SyncWaterfallHook } from '@antv/async-hook';
|
|
2
|
-
import { BlendType, IActiveOption, IAnimateOption,
|
|
2
|
+
import { BlendType, IActiveOption, IAnimateOption, IAttributeAndElements, ICameraService, ICoordinateSystemService, IDataState, IEncodeFeature, IFontService, IGlobalConfigService, IIconService, IInteractionService, ILayer, ILayerConfig, ILayerModel, ILayerModelInitializationOptions, ILayerPlugin, ILayerService, IMapService, IModel, IModelInitializationOptions, IMultiPassRenderer, IPass, IPickingService, IPostProcessingPass, IRendererService, IScale, IScaleOptions, IShaderModuleService, ISourceCFG, IStyleAttributeService, IStyleAttributeUpdateOptions, LayerEventType, LegendItems, StyleAttributeField, StyleAttributeOption, Triangulation } from '@antv/l7-core';
|
|
3
3
|
import Source from '@antv/l7-source';
|
|
4
4
|
import { EventEmitter } from 'eventemitter3';
|
|
5
5
|
import { Container } from 'inversify';
|
|
@@ -77,21 +77,26 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
77
77
|
/**
|
|
78
78
|
* 图层容器
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
protected container: Container;
|
|
81
81
|
private encodedData;
|
|
82
|
-
private configSchema;
|
|
83
82
|
private currentPickId;
|
|
84
|
-
|
|
83
|
+
protected rawConfig: Partial<ILayerConfig & ChildLayerStyleOptions>;
|
|
85
84
|
private needUpdateConfig;
|
|
86
85
|
/**
|
|
87
86
|
* 待更新样式属性,在初始化阶段完成注册
|
|
88
87
|
*/
|
|
89
|
-
|
|
88
|
+
protected pendingStyleAttributes: Array<{
|
|
89
|
+
attributeName: string;
|
|
90
|
+
attributeField: StyleAttributeField;
|
|
91
|
+
attributeValues?: StyleAttributeOption;
|
|
92
|
+
defaultName?: string;
|
|
93
|
+
updateOptions?: Partial<IStyleAttributeUpdateOptions>;
|
|
94
|
+
}>;
|
|
90
95
|
private scaleOptions;
|
|
91
96
|
private animateStartTime;
|
|
92
|
-
private
|
|
97
|
+
private animateStatus;
|
|
93
98
|
private bottomColor;
|
|
94
|
-
private
|
|
99
|
+
private isDestroyed;
|
|
95
100
|
constructor(config?: Partial<ILayerConfig & ChildLayerStyleOptions>);
|
|
96
101
|
addMaskLayer(maskLayer: ILayer): void;
|
|
97
102
|
removeMaskLayer(maskLayer: ILayer): void;
|
|
@@ -110,7 +115,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
110
115
|
getBottomColor(): string;
|
|
111
116
|
addPlugin(plugin: ILayerPlugin): ILayer;
|
|
112
117
|
init(): this;
|
|
113
|
-
updateModelData(data:
|
|
118
|
+
updateModelData(data: IAttributeAndElements): void;
|
|
114
119
|
createModelData(data: any, option?: ISourceCFG): any;
|
|
115
120
|
calculateEncodeData(data: any, option?: ISourceCFG): IEncodeFeature[] | null;
|
|
116
121
|
/**
|
|
@@ -188,7 +193,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
188
193
|
}): void;
|
|
189
194
|
boxSelect(box: [number, number, number, number], cb: (...args: any[]) => void): void;
|
|
190
195
|
buildLayerModel(options: ILayerModelInitializationOptions & Partial<IModelInitializationOptions>): Promise<IModel>;
|
|
191
|
-
|
|
196
|
+
createAttributes(options: ILayerModelInitializationOptions & Partial<IModelInitializationOptions>): any;
|
|
192
197
|
getTime(): number;
|
|
193
198
|
setAnimateStartTime(): void;
|
|
194
199
|
stopAnimate(): void;
|
|
@@ -208,7 +213,10 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
208
213
|
protected getConfigSchema(): void;
|
|
209
214
|
protected getModelType(): unknown;
|
|
210
215
|
protected getDefaultConfig(): {};
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
216
|
+
protected sourceEvent: () => void;
|
|
217
|
+
protected reRender(): void;
|
|
218
|
+
protected splitValuesAndCallbackInAttribute(valuesOrCallback?: unknown[], defaultValues?: unknown[]): {
|
|
219
|
+
values: unknown[] | undefined;
|
|
220
|
+
callback: (unknown[] & ((...args: any[]) => any)) | undefined;
|
|
221
|
+
};
|
|
214
222
|
}
|
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;
|
|
@@ -144,11 +144,11 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
144
144
|
|
|
145
145
|
_defineProperty(_assertThisInitialized(_this), "scaleOptions", {});
|
|
146
146
|
|
|
147
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
147
|
+
_defineProperty(_assertThisInitialized(_this), "animateStatus", false);
|
|
148
148
|
|
|
149
149
|
_defineProperty(_assertThisInitialized(_this), "bottomColor", 'rgba(0, 0, 0, 0)');
|
|
150
150
|
|
|
151
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
151
|
+
_defineProperty(_assertThisInitialized(_this), "isDestroyed", false);
|
|
152
152
|
|
|
153
153
|
_defineProperty(_assertThisInitialized(_this), "encodeDataLength", 0);
|
|
154
154
|
|
|
@@ -159,9 +159,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
159
159
|
|
|
160
160
|
if (layerConfig && layerConfig.autoFit) {
|
|
161
161
|
_this.fitBounds(layerConfig.fitBoundsOptions);
|
|
162
|
-
}
|
|
163
|
-
// this.emit('dataUpdate');
|
|
164
|
-
|
|
162
|
+
}
|
|
165
163
|
|
|
166
164
|
_this.reRender();
|
|
167
165
|
});
|
|
@@ -253,11 +251,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
253
251
|
}, {
|
|
254
252
|
key: "addPlugin",
|
|
255
253
|
value: function addPlugin(plugin) {
|
|
256
|
-
// TODO: 控制插件注册顺序
|
|
257
|
-
// @example:
|
|
258
|
-
// pointLayer.addPlugin(new MyCustomPlugin(), {
|
|
259
|
-
// before: 'L7BuiltinPlugin'
|
|
260
|
-
// });
|
|
261
254
|
this.plugins.push(plugin);
|
|
262
255
|
return this;
|
|
263
256
|
}
|
|
@@ -420,21 +413,13 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
420
413
|
|
|
421
414
|
if (animateOption !== null && animateOption !== void 0 && animateOption.enable) {
|
|
422
415
|
this.layerService.startAnimate();
|
|
423
|
-
this.
|
|
416
|
+
this.animateStatus = true;
|
|
424
417
|
}
|
|
425
418
|
}
|
|
426
419
|
}, {
|
|
427
420
|
key: "color",
|
|
428
421
|
value: function color(field, values, updateOptions) {
|
|
429
|
-
|
|
430
|
-
this.updateStyleAttribute('color', field, values, updateOptions); // this.pendingStyleAttributes.push({
|
|
431
|
-
// attributeName: 'color',
|
|
432
|
-
// attributeField: field,
|
|
433
|
-
// attributeValues: values,
|
|
434
|
-
// defaultName: 'colors',
|
|
435
|
-
// updateOptions,
|
|
436
|
-
// });
|
|
437
|
-
|
|
422
|
+
this.updateStyleAttribute('color', field, values, updateOptions);
|
|
438
423
|
return this;
|
|
439
424
|
} // 为对应的图层传入纹理的编号名称(point/image 在 shape 方法中传入纹理名称的方法并不通用)
|
|
440
425
|
|
|
@@ -474,7 +459,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
474
459
|
field: field,
|
|
475
460
|
values: values
|
|
476
461
|
};
|
|
477
|
-
this.updateStyleAttribute('shape', field, values, updateOptions); //
|
|
462
|
+
this.updateStyleAttribute('shape', field, values, updateOptions); // Tip: 根据 shape 判断是否需要更新 model
|
|
478
463
|
|
|
479
464
|
if (!this.tileLayer) {
|
|
480
465
|
updateShape(this, lastShape, currentShape);
|
|
@@ -507,8 +492,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
507
492
|
|
|
508
493
|
this.updateLayerConfig({
|
|
509
494
|
animateOption: rawAnimate
|
|
510
|
-
});
|
|
511
|
-
|
|
495
|
+
});
|
|
512
496
|
return this;
|
|
513
497
|
}
|
|
514
498
|
}, {
|
|
@@ -615,7 +599,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
615
599
|
}, {
|
|
616
600
|
key: "render",
|
|
617
601
|
value: function render() {
|
|
618
|
-
if (this.tileLayer
|
|
602
|
+
if (this.tileLayer) {
|
|
619
603
|
// 瓦片图层执行单独的 render 渲染队列
|
|
620
604
|
this.tileLayer.render();
|
|
621
605
|
return this;
|
|
@@ -812,11 +796,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
812
796
|
}, {
|
|
813
797
|
key: "hide",
|
|
814
798
|
value: function hide() {
|
|
815
|
-
if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
|
|
816
|
-
// 对 canvasLayer 的 hide 操作做特殊处理
|
|
817
|
-
this.layerModel.clearCanvas();
|
|
818
|
-
}
|
|
819
|
-
|
|
820
799
|
this.updateLayerConfig({
|
|
821
800
|
visible: false
|
|
822
801
|
});
|
|
@@ -972,35 +951,34 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
972
951
|
}, {
|
|
973
952
|
key: "destroy",
|
|
974
953
|
value: function destroy() {
|
|
975
|
-
var _this$layerModel2;
|
|
954
|
+
var _this$multiPassRender, _this$layerModel2;
|
|
976
955
|
|
|
977
956
|
var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
978
957
|
|
|
979
|
-
if (this.
|
|
958
|
+
if (this.isDestroyed) {
|
|
980
959
|
return;
|
|
981
960
|
} // remove child layer
|
|
982
961
|
|
|
983
962
|
|
|
984
963
|
this.layerChildren.map(function (child) {
|
|
985
|
-
return child.destroy();
|
|
964
|
+
return child.destroy(false);
|
|
986
965
|
});
|
|
987
966
|
this.layerChildren = []; // remove mask list
|
|
988
967
|
|
|
989
968
|
this.masks.map(function (mask) {
|
|
990
|
-
return mask.destroy();
|
|
969
|
+
return mask.destroy(false);
|
|
991
970
|
});
|
|
992
971
|
this.masks = [];
|
|
993
972
|
this.hooks.beforeDestroy.call(); // 清除sources事件
|
|
994
973
|
|
|
995
974
|
this.layerSource.off('sourceUpdate', this.sourceEvent);
|
|
996
|
-
this.multiPassRenderer.destroy(); //
|
|
997
|
-
// 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
|
|
975
|
+
(_this$multiPassRender = this.multiPassRenderer) === null || _this$multiPassRender === void 0 ? void 0 : _this$multiPassRender.destroy(); // 清除所有属性以及关联的 vao == 销毁所有 => model this.models.forEach((model) => model.destroy());
|
|
998
976
|
|
|
999
977
|
this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
|
|
1000
978
|
|
|
1001
|
-
this.hooks.afterDestroy.call(); //
|
|
979
|
+
this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
|
|
1002
980
|
|
|
1003
|
-
(_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels();
|
|
981
|
+
(_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
|
|
1004
982
|
this.models = [];
|
|
1005
983
|
this.layerService.cleanRemove(this, refresh);
|
|
1006
984
|
this.emit('remove', {
|
|
@@ -1014,7 +992,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1014
992
|
this.removeAllListeners(); // 解绑图层容器中的服务
|
|
1015
993
|
// this.container.unbind(TYPES.IStyleAttributeService);
|
|
1016
994
|
|
|
1017
|
-
this.
|
|
995
|
+
this.isDestroyed = true;
|
|
1018
996
|
}
|
|
1019
997
|
}, {
|
|
1020
998
|
key: "clear",
|
|
@@ -1176,50 +1154,52 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1176
1154
|
|
|
1177
1155
|
var createModel = this.rendererService.createModel;
|
|
1178
1156
|
return new Promise(function (resolve, reject) {
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1157
|
+
setTimeout(function () {
|
|
1158
|
+
// filter supported worker & worker enabled layer
|
|
1159
|
+
if (workerOptions && workerOptions.modelType in WorkerSourceMap && workerEnabled) {
|
|
1160
|
+
_this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
|
|
1161
|
+
var attributes = _ref7.attributes,
|
|
1162
|
+
elements = _ref7.elements;
|
|
1163
|
+
var m = createModel(_objectSpread({
|
|
1164
|
+
attributes: attributes,
|
|
1165
|
+
uniforms: uniforms,
|
|
1166
|
+
fs: fs,
|
|
1167
|
+
vs: vs,
|
|
1168
|
+
elements: elements,
|
|
1169
|
+
blend: BlendTypes[BlendType.normal]
|
|
1170
|
+
}, rest));
|
|
1171
|
+
resolve(m);
|
|
1172
|
+
}).catch(function (err) {
|
|
1173
|
+
return reject(err);
|
|
1174
|
+
});
|
|
1175
|
+
} else {
|
|
1176
|
+
var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
|
|
1177
|
+
attributes = _this9$styleAttribute.attributes,
|
|
1178
|
+
elements = _this9$styleAttribute.elements,
|
|
1179
|
+
count = _this9$styleAttribute.count;
|
|
1180
|
+
|
|
1181
|
+
var modelOptions = _objectSpread({
|
|
1185
1182
|
attributes: attributes,
|
|
1186
1183
|
uniforms: uniforms,
|
|
1187
1184
|
fs: fs,
|
|
1188
1185
|
vs: vs,
|
|
1189
1186
|
elements: elements,
|
|
1190
1187
|
blend: BlendTypes[BlendType.normal]
|
|
1191
|
-
}, rest)
|
|
1188
|
+
}, rest);
|
|
1189
|
+
|
|
1190
|
+
if (count) {
|
|
1191
|
+
modelOptions.count = count;
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
var m = createModel(modelOptions);
|
|
1192
1195
|
resolve(m);
|
|
1193
|
-
}).catch(function (err) {
|
|
1194
|
-
return reject(err);
|
|
1195
|
-
});
|
|
1196
|
-
} else {
|
|
1197
|
-
var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
|
|
1198
|
-
attributes = _this9$styleAttribute.attributes,
|
|
1199
|
-
elements = _this9$styleAttribute.elements,
|
|
1200
|
-
count = _this9$styleAttribute.count;
|
|
1201
|
-
|
|
1202
|
-
var modeloptions = _objectSpread({
|
|
1203
|
-
attributes: attributes,
|
|
1204
|
-
uniforms: uniforms,
|
|
1205
|
-
fs: fs,
|
|
1206
|
-
vs: vs,
|
|
1207
|
-
elements: elements,
|
|
1208
|
-
blend: BlendTypes[BlendType.normal]
|
|
1209
|
-
}, rest);
|
|
1210
|
-
|
|
1211
|
-
if (count) {
|
|
1212
|
-
modeloptions.count = count;
|
|
1213
1196
|
}
|
|
1214
|
-
|
|
1215
|
-
var m = createModel(modeloptions);
|
|
1216
|
-
resolve(m);
|
|
1217
|
-
}
|
|
1197
|
+
});
|
|
1218
1198
|
});
|
|
1219
1199
|
}
|
|
1220
1200
|
}, {
|
|
1221
|
-
key: "
|
|
1222
|
-
value: function
|
|
1201
|
+
key: "createAttributes",
|
|
1202
|
+
value: function createAttributes(options) {
|
|
1223
1203
|
var triangulation = options.triangulation; // @ts-ignore
|
|
1224
1204
|
|
|
1225
1205
|
var _this$styleAttributeS4 = this.styleAttributeService.createAttributes(this.encodedData, triangulation),
|
|
@@ -1240,9 +1220,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1240
1220
|
}, {
|
|
1241
1221
|
key: "stopAnimate",
|
|
1242
1222
|
value: function stopAnimate() {
|
|
1243
|
-
if (this.
|
|
1223
|
+
if (this.animateStatus) {
|
|
1244
1224
|
this.layerService.stopAnimate();
|
|
1245
|
-
this.
|
|
1225
|
+
this.animateStatus = false;
|
|
1246
1226
|
this.updateLayerConfig({
|
|
1247
1227
|
animateOption: {
|
|
1248
1228
|
enable: false
|
|
@@ -1258,6 +1238,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1258
1238
|
}, {
|
|
1259
1239
|
key: "needPick",
|
|
1260
1240
|
value: function needPick(type) {
|
|
1241
|
+
// 地图图层的判断
|
|
1242
|
+
if (this.rawConfig.usage === 'basemap') return false;
|
|
1243
|
+
|
|
1261
1244
|
var _this$getLayerConfig10 = this.getLayerConfig(),
|
|
1262
1245
|
_this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
|
|
1263
1246
|
enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
|
|
@@ -1315,8 +1298,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1315
1298
|
}, {
|
|
1316
1299
|
key: "renderModels",
|
|
1317
1300
|
value: function renderModels(isPicking) {
|
|
1318
|
-
var _this10 = this
|
|
1319
|
-
_this$layerModel4;
|
|
1301
|
+
var _this10 = this;
|
|
1320
1302
|
|
|
1321
1303
|
// TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
|
|
1322
1304
|
if (this.encodeDataLength <= 0 && !this.forceRender) return this;
|
|
@@ -1331,10 +1313,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1331
1313
|
});
|
|
1332
1314
|
}
|
|
1333
1315
|
|
|
1334
|
-
if (this !== null && this !== void 0 && (_this$layerModel4 = this.layerModel) !== null && _this$layerModel4 !== void 0 && _this$layerModel4.renderUpdate) {
|
|
1335
|
-
this.layerModel.renderUpdate();
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
1316
|
this.models.forEach(function (model) {
|
|
1339
1317
|
model.draw({
|
|
1340
1318
|
uniforms: _this10.layerModel.getUninforms()
|
|
@@ -1373,6 +1351,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1373
1351
|
* 继承空方法
|
|
1374
1352
|
* @param time
|
|
1375
1353
|
*/
|
|
1354
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1376
1355
|
|
|
1377
1356
|
}, {
|
|
1378
1357
|
key: "setEarthTime",
|
|
@@ -1397,10 +1376,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1397
1376
|
}, {
|
|
1398
1377
|
key: "reRender",
|
|
1399
1378
|
value: function reRender() {
|
|
1400
|
-
|
|
1401
|
-
this.layerService.updateLayerRenderList();
|
|
1402
|
-
this.layerService.renderLayers();
|
|
1403
|
-
}
|
|
1379
|
+
this.inited && this.layerService.reRender();
|
|
1404
1380
|
}
|
|
1405
1381
|
}, {
|
|
1406
1382
|
key: "splitValuesAndCallbackInAttribute",
|
package/es/core/BaseModel.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export default class BaseModel<ChildLayerStyleOptions = {}> implements ILayerMod
|
|
|
29
29
|
protected cellLength: number;
|
|
30
30
|
protected cellProperties: ICellProperty[];
|
|
31
31
|
protected cellTypeLayout: number[];
|
|
32
|
-
protected
|
|
32
|
+
protected stylePropertiesExist: {
|
|
33
33
|
hasThetaOffset: number;
|
|
34
34
|
hasOpacity: number;
|
|
35
35
|
hasStrokeOpacity: number;
|
|
@@ -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;
|