@antv/l7-layers 2.9.27-alpha.2 → 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.js +6 -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 +15 -6
- package/es/core/BaseLayer.js +51 -69
- 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.js +3 -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 +6 -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 +51 -69
- package/lib/core/BaseModel.js +7 -3
- package/lib/core/triangulation.js +66 -2
- package/lib/earth/index.js +3 -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.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
|
}, {
|
|
@@ -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
|
@@ -77,16 +77,22 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
77
77
|
/**
|
|
78
78
|
* 图层容器
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
protected container: Container;
|
|
81
81
|
private encodedData;
|
|
82
82
|
private configSchema;
|
|
83
83
|
private currentPickId;
|
|
84
|
-
|
|
84
|
+
protected rawConfig: Partial<ILayerConfig & ChildLayerStyleOptions>;
|
|
85
85
|
private needUpdateConfig;
|
|
86
86
|
/**
|
|
87
87
|
* 待更新样式属性,在初始化阶段完成注册
|
|
88
88
|
*/
|
|
89
|
-
|
|
89
|
+
protected pendingStyleAttributes: Array<{
|
|
90
|
+
attributeName: string;
|
|
91
|
+
attributeField: StyleAttributeField;
|
|
92
|
+
attributeValues?: StyleAttributeOption;
|
|
93
|
+
defaultName?: string;
|
|
94
|
+
updateOptions?: Partial<IStyleAttributeUpdateOptions>;
|
|
95
|
+
}>;
|
|
90
96
|
private scaleOptions;
|
|
91
97
|
private animateStartTime;
|
|
92
98
|
private aniamateStatus;
|
|
@@ -208,7 +214,10 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
208
214
|
protected getConfigSchema(): void;
|
|
209
215
|
protected getModelType(): unknown;
|
|
210
216
|
protected getDefaultConfig(): {};
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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
|
+
};
|
|
214
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;
|
|
@@ -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
|
});
|
|
@@ -426,15 +424,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
426
424
|
}, {
|
|
427
425
|
key: "color",
|
|
428
426
|
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
|
-
|
|
427
|
+
this.updateStyleAttribute('color', field, values, updateOptions);
|
|
438
428
|
return this;
|
|
439
429
|
} // 为对应的图层传入纹理的编号名称(point/image 在 shape 方法中传入纹理名称的方法并不通用)
|
|
440
430
|
|
|
@@ -474,7 +464,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
474
464
|
field: field,
|
|
475
465
|
values: values
|
|
476
466
|
};
|
|
477
|
-
this.updateStyleAttribute('shape', field, values, updateOptions); //
|
|
467
|
+
this.updateStyleAttribute('shape', field, values, updateOptions); // Tip: 根据 shape 判断是否需要更新 model
|
|
478
468
|
|
|
479
469
|
if (!this.tileLayer) {
|
|
480
470
|
updateShape(this, lastShape, currentShape);
|
|
@@ -615,7 +605,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
615
605
|
}, {
|
|
616
606
|
key: "render",
|
|
617
607
|
value: function render() {
|
|
618
|
-
if (this.tileLayer
|
|
608
|
+
if (this.tileLayer) {
|
|
619
609
|
// 瓦片图层执行单独的 render 渲染队列
|
|
620
610
|
this.tileLayer.render();
|
|
621
611
|
return this;
|
|
@@ -812,11 +802,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
812
802
|
}, {
|
|
813
803
|
key: "hide",
|
|
814
804
|
value: function hide() {
|
|
815
|
-
if (this.type === 'CanvasLayer' && this.layerModel.clearCanvas) {
|
|
816
|
-
// 对 canvasLayer 的 hide 操作做特殊处理
|
|
817
|
-
this.layerModel.clearCanvas();
|
|
818
|
-
}
|
|
819
|
-
|
|
820
805
|
this.updateLayerConfig({
|
|
821
806
|
visible: false
|
|
822
807
|
});
|
|
@@ -972,7 +957,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
972
957
|
}, {
|
|
973
958
|
key: "destroy",
|
|
974
959
|
value: function destroy() {
|
|
975
|
-
var _this$layerModel2;
|
|
960
|
+
var _this$multiPassRender, _this$layerModel2;
|
|
976
961
|
|
|
977
962
|
var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
978
963
|
|
|
@@ -982,25 +967,24 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
982
967
|
|
|
983
968
|
|
|
984
969
|
this.layerChildren.map(function (child) {
|
|
985
|
-
return child.destroy();
|
|
970
|
+
return child.destroy(false);
|
|
986
971
|
});
|
|
987
972
|
this.layerChildren = []; // remove mask list
|
|
988
973
|
|
|
989
974
|
this.masks.map(function (mask) {
|
|
990
|
-
return mask.destroy();
|
|
975
|
+
return mask.destroy(false);
|
|
991
976
|
});
|
|
992
977
|
this.masks = [];
|
|
993
978
|
this.hooks.beforeDestroy.call(); // 清除sources事件
|
|
994
979
|
|
|
995
980
|
this.layerSource.off('sourceUpdate', this.sourceEvent);
|
|
996
|
-
this.multiPassRenderer.destroy(); //
|
|
997
|
-
// 清除所有属性以及关联的 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());
|
|
998
982
|
|
|
999
983
|
this.styleAttributeService.clearAllAttributes(); // 执行每个图层单独的 clearModels 方法 (清除一些额外的 texture、program、buffer 等)
|
|
1000
984
|
|
|
1001
|
-
this.hooks.afterDestroy.call(); //
|
|
985
|
+
this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
|
|
1002
986
|
|
|
1003
|
-
(_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);
|
|
1004
988
|
this.models = [];
|
|
1005
989
|
this.layerService.cleanRemove(this, refresh);
|
|
1006
990
|
this.emit('remove', {
|
|
@@ -1176,45 +1160,47 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1176
1160
|
|
|
1177
1161
|
var createModel = this.rendererService.createModel;
|
|
1178
1162
|
return new Promise(function (resolve, reject) {
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
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({
|
|
1185
1188
|
attributes: attributes,
|
|
1186
1189
|
uniforms: uniforms,
|
|
1187
1190
|
fs: fs,
|
|
1188
1191
|
vs: vs,
|
|
1189
1192
|
elements: elements,
|
|
1190
1193
|
blend: BlendTypes[BlendType.normal]
|
|
1191
|
-
}, rest)
|
|
1194
|
+
}, rest);
|
|
1195
|
+
|
|
1196
|
+
if (count) {
|
|
1197
|
+
modeloptions.count = count;
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
var m = createModel(modeloptions);
|
|
1192
1201
|
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
1202
|
}
|
|
1214
|
-
|
|
1215
|
-
var m = createModel(modeloptions);
|
|
1216
|
-
resolve(m);
|
|
1217
|
-
}
|
|
1203
|
+
});
|
|
1218
1204
|
});
|
|
1219
1205
|
}
|
|
1220
1206
|
}, {
|
|
@@ -1258,6 +1244,9 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1258
1244
|
}, {
|
|
1259
1245
|
key: "needPick",
|
|
1260
1246
|
value: function needPick(type) {
|
|
1247
|
+
// 地图图层的判断
|
|
1248
|
+
if (this.rawConfig.usage === 'basemap') return false;
|
|
1249
|
+
|
|
1261
1250
|
var _this$getLayerConfig10 = this.getLayerConfig(),
|
|
1262
1251
|
_this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
|
|
1263
1252
|
enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
|
|
@@ -1315,8 +1304,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1315
1304
|
}, {
|
|
1316
1305
|
key: "renderModels",
|
|
1317
1306
|
value: function renderModels(isPicking) {
|
|
1318
|
-
var _this10 = this
|
|
1319
|
-
_this$layerModel4;
|
|
1307
|
+
var _this10 = this;
|
|
1320
1308
|
|
|
1321
1309
|
// TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
|
|
1322
1310
|
if (this.encodeDataLength <= 0 && !this.forceRender) return this;
|
|
@@ -1331,10 +1319,6 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1331
1319
|
});
|
|
1332
1320
|
}
|
|
1333
1321
|
|
|
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
1322
|
this.models.forEach(function (model) {
|
|
1339
1323
|
model.draw({
|
|
1340
1324
|
uniforms: _this10.layerModel.getUninforms()
|
|
@@ -1373,6 +1357,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1373
1357
|
* 继承空方法
|
|
1374
1358
|
* @param time
|
|
1375
1359
|
*/
|
|
1360
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1376
1361
|
|
|
1377
1362
|
}, {
|
|
1378
1363
|
key: "setEarthTime",
|
|
@@ -1397,10 +1382,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1397
1382
|
}, {
|
|
1398
1383
|
key: "reRender",
|
|
1399
1384
|
value: function reRender() {
|
|
1400
|
-
|
|
1401
|
-
this.layerService.updateLayerRenderList();
|
|
1402
|
-
this.layerService.renderLayers();
|
|
1403
|
-
}
|
|
1385
|
+
this.inited && this.layerService.reRender();
|
|
1404
1386
|
}
|
|
1405
1387
|
}, {
|
|
1406
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;
|
package/es/core/BaseModel.js
CHANGED
|
@@ -428,20 +428,24 @@ var BaseModel = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
428
428
|
key: "needUpdate",
|
|
429
429
|
value: function needUpdate() {
|
|
430
430
|
return false;
|
|
431
|
-
}
|
|
431
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
432
|
+
|
|
432
433
|
}, {
|
|
433
434
|
key: "buildModels",
|
|
434
435
|
value: function buildModels(callbackModel) {
|
|
435
436
|
throw new Error('Method not implemented.');
|
|
436
|
-
}
|
|
437
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
438
|
+
|
|
437
439
|
}, {
|
|
438
440
|
key: "initModels",
|
|
439
441
|
value: function initModels(callbackModel) {
|
|
440
442
|
throw new Error('Method not implemented.');
|
|
441
|
-
}
|
|
443
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
444
|
+
|
|
442
445
|
}, {
|
|
443
446
|
key: "clearModels",
|
|
444
447
|
value: function clearModels() {
|
|
448
|
+
var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
445
449
|
return;
|
|
446
450
|
}
|
|
447
451
|
}, {
|
package/es/core/interface.d.ts
CHANGED
|
@@ -32,6 +32,9 @@ export interface IBaseLayerStyleOptions {
|
|
|
32
32
|
zIndex?: number;
|
|
33
33
|
mask?: boolean;
|
|
34
34
|
maskInside?: boolean;
|
|
35
|
+
usage?: string;
|
|
36
|
+
color?: string;
|
|
37
|
+
size?: number;
|
|
35
38
|
}
|
|
36
39
|
export interface ILineLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
37
40
|
tileOrigin?: number[];
|
|
@@ -116,6 +119,7 @@ export interface IRasterTileLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
|
116
119
|
}
|
|
117
120
|
export interface IMaskLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
118
121
|
opacity: number;
|
|
122
|
+
color: string;
|
|
119
123
|
}
|
|
120
124
|
export interface IWindLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
121
125
|
uMin?: number;
|
|
@@ -145,6 +149,20 @@ export interface IImageLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
|
145
149
|
pixelConstantB?: number;
|
|
146
150
|
pixelConstantRGB?: number;
|
|
147
151
|
}
|
|
152
|
+
export interface ICityBuildLayerStyleOptions {
|
|
153
|
+
opacity: number;
|
|
154
|
+
baseColor: string;
|
|
155
|
+
brightColor: string;
|
|
156
|
+
windowColor: string;
|
|
157
|
+
time: number;
|
|
158
|
+
sweep: {
|
|
159
|
+
enable: boolean;
|
|
160
|
+
sweepRadius: number;
|
|
161
|
+
sweepColor: string;
|
|
162
|
+
sweepSpeed: number;
|
|
163
|
+
sweepCenter?: [number, number];
|
|
164
|
+
};
|
|
165
|
+
}
|
|
148
166
|
export interface IGeometryLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
149
167
|
mapTexture?: string;
|
|
150
168
|
terrainTexture?: string;
|
|
@@ -54,6 +54,12 @@ export declare function SimpleLineTriangulation(feature: IEncodeFeature): {
|
|
|
54
54
|
size: number;
|
|
55
55
|
count: number;
|
|
56
56
|
};
|
|
57
|
+
export declare function TileSimpleLineTriangulation(feature: IEncodeFeature): {
|
|
58
|
+
vertices: any[];
|
|
59
|
+
indices: never[];
|
|
60
|
+
size: number;
|
|
61
|
+
count: number;
|
|
62
|
+
};
|
|
57
63
|
export declare function polygonTriangulation(feature: IEncodeFeature): {
|
|
58
64
|
indices: number[];
|
|
59
65
|
vertices: number[];
|
package/es/core/triangulation.js
CHANGED
|
@@ -134,6 +134,16 @@ export function SimpleLineTriangulation(feature) {
|
|
|
134
134
|
var coordinates = feature.coordinates;
|
|
135
135
|
var pos = [];
|
|
136
136
|
|
|
137
|
+
if (!Array.isArray(coordinates[0])) {
|
|
138
|
+
return {
|
|
139
|
+
vertices: [],
|
|
140
|
+
indices: [],
|
|
141
|
+
normals: [],
|
|
142
|
+
size: 6,
|
|
143
|
+
count: 0
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
137
147
|
var _getSimpleLineVertice = getSimpleLineVertices(coordinates),
|
|
138
148
|
results = _getSimpleLineVertice.results,
|
|
139
149
|
totalDistance = _getSimpleLineVertice.totalDistance;
|
|
@@ -149,6 +159,32 @@ export function SimpleLineTriangulation(feature) {
|
|
|
149
159
|
count: results.length
|
|
150
160
|
};
|
|
151
161
|
}
|
|
162
|
+
export function TileSimpleLineTriangulation(feature) {
|
|
163
|
+
var coordinates = feature.coordinates;
|
|
164
|
+
var pos = [];
|
|
165
|
+
|
|
166
|
+
if (!Array.isArray(coordinates[0])) {
|
|
167
|
+
return {
|
|
168
|
+
vertices: [],
|
|
169
|
+
indices: [],
|
|
170
|
+
size: 4,
|
|
171
|
+
count: 0
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
var _getTileSimpleLineVer = getTileSimpleLineVertices(coordinates),
|
|
176
|
+
results = _getTileSimpleLineVer.results;
|
|
177
|
+
|
|
178
|
+
results.map(function (point) {
|
|
179
|
+
pos.push(point[0], point[1], point[2], point[3]);
|
|
180
|
+
});
|
|
181
|
+
return {
|
|
182
|
+
vertices: pos,
|
|
183
|
+
indices: [],
|
|
184
|
+
size: 4,
|
|
185
|
+
count: results.length
|
|
186
|
+
};
|
|
187
|
+
}
|
|
152
188
|
|
|
153
189
|
function lineSegmentDistance(b1, a1) {
|
|
154
190
|
var dx = a1[0] - b1[0];
|
|
@@ -161,7 +197,10 @@ function pushDis(point, n) {
|
|
|
161
197
|
point.push(0);
|
|
162
198
|
}
|
|
163
199
|
|
|
164
|
-
|
|
200
|
+
if (n !== undefined) {
|
|
201
|
+
point.push(n);
|
|
202
|
+
}
|
|
203
|
+
|
|
165
204
|
return point;
|
|
166
205
|
}
|
|
167
206
|
|
|
@@ -196,6 +235,29 @@ function getSimpleLineVertices(points) {
|
|
|
196
235
|
}
|
|
197
236
|
}
|
|
198
237
|
|
|
238
|
+
function getTileSimpleLineVertices(points) {
|
|
239
|
+
if (points.length < 2) {
|
|
240
|
+
return {
|
|
241
|
+
results: points
|
|
242
|
+
};
|
|
243
|
+
} else {
|
|
244
|
+
var results = [];
|
|
245
|
+
var point = pushDis(points[0]);
|
|
246
|
+
results.push(point);
|
|
247
|
+
|
|
248
|
+
for (var i = 1; i < points.length - 1; i++) {
|
|
249
|
+
var mulPoint = pushDis(points[i]);
|
|
250
|
+
results.push(mulPoint);
|
|
251
|
+
results.push(mulPoint);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
results.push(pushDis(points[points.length - 1]));
|
|
255
|
+
return {
|
|
256
|
+
results: results
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
199
261
|
export function polygonTriangulation(feature) {
|
|
200
262
|
var coordinates = feature.coordinates;
|
|
201
263
|
var flattengeo = earcut.flatten(coordinates);
|
|
@@ -207,7 +269,7 @@ export function polygonTriangulation(feature) {
|
|
|
207
269
|
vertices: vertices,
|
|
208
270
|
size: dimensions
|
|
209
271
|
};
|
|
210
|
-
} //
|
|
272
|
+
} // 构建几何图形(带有中心点和大小)
|
|
211
273
|
|
|
212
274
|
export function polygonTriangulationWithCenter(feature) {
|
|
213
275
|
var coordinates = feature.coordinates;
|
package/es/earth/index.js
CHANGED
|
@@ -61,7 +61,9 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
61
61
|
this.layerModel.initModels(function (models) {
|
|
62
62
|
_this2.models = models;
|
|
63
63
|
|
|
64
|
-
_this2.
|
|
64
|
+
_this2.emit('modelLoaded', null);
|
|
65
|
+
|
|
66
|
+
_this2.layerService.throttleRenderLayers();
|
|
65
67
|
});
|
|
66
68
|
}
|
|
67
69
|
/**
|