ol 7.3.1-dev.1680098251703 → 7.3.1-dev.1680173927805
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/Map.d.ts.map +1 -1
- package/Map.js +1 -0
- package/dist/ol.js +2 -2
- package/dist/ol.js.map +1 -1
- package/package.json +1 -1
- package/render/webgl/BatchRenderer.d.ts +11 -8
- package/render/webgl/BatchRenderer.d.ts.map +1 -1
- package/render/webgl/BatchRenderer.js +20 -27
- package/render/webgl/MixedGeometryBatch.d.ts +36 -48
- package/render/webgl/MixedGeometryBatch.d.ts.map +1 -1
- package/render/webgl/MixedGeometryBatch.js +229 -110
- package/renderer/webgl/VectorLayer.d.ts +17 -0
- package/renderer/webgl/VectorLayer.d.ts.map +1 -1
- package/renderer/webgl/VectorLayer.js +55 -18
- package/renderer/webgl/VectorTileLayer.d.ts +160 -0
- package/renderer/webgl/VectorTileLayer.d.ts.map +1 -0
- package/renderer/webgl/VectorTileLayer.js +335 -0
- package/renderer/webgl/shaders.d.ts.map +1 -1
- package/renderer/webgl/shaders.js +68 -3
- package/util.js +1 -1
- package/webgl/Helper.d.ts +2 -2
- package/webgl/Helper.d.ts.map +1 -1
- package/webgl/Helper.js +4 -6
- package/webgl/TileGeometry.d.ts +37 -0
- package/webgl/TileGeometry.d.ts.map +1 -0
- package/webgl/TileGeometry.js +106 -0
package/webgl/Helper.js
CHANGED
|
@@ -857,8 +857,8 @@ class WebGLHelper extends Disposable {
|
|
|
857
857
|
gl.deleteShader(vertexShader);
|
|
858
858
|
|
|
859
859
|
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
|
|
860
|
-
const message = `GL program linking failed: ${gl.
|
|
861
|
-
|
|
860
|
+
const message = `GL program linking failed: ${gl.getProgramInfoLog(
|
|
861
|
+
program
|
|
862
862
|
)}`;
|
|
863
863
|
throw new Error(message);
|
|
864
864
|
}
|
|
@@ -897,8 +897,8 @@ class WebGLHelper extends Disposable {
|
|
|
897
897
|
}
|
|
898
898
|
|
|
899
899
|
/**
|
|
900
|
-
*
|
|
901
|
-
* The resulting transform can be used to convert world space coordinates to view coordinates.
|
|
900
|
+
* Sets the given transform to apply the rotation/translation/scaling of the given frame state.
|
|
901
|
+
* The resulting transform can be used to convert world space coordinates to view coordinates in the [-1, 1] range.
|
|
902
902
|
* @param {import("../Map.js").FrameState} frameState Frame state.
|
|
903
903
|
* @param {import("../transform").Transform} transform Transform to update.
|
|
904
904
|
* @return {import("../transform").Transform} The updated transform object.
|
|
@@ -908,8 +908,6 @@ class WebGLHelper extends Disposable {
|
|
|
908
908
|
const rotation = frameState.viewState.rotation;
|
|
909
909
|
const resolution = frameState.viewState.resolution;
|
|
910
910
|
const center = frameState.viewState.center;
|
|
911
|
-
|
|
912
|
-
resetTransform(transform);
|
|
913
911
|
composeTransform(
|
|
914
912
|
transform,
|
|
915
913
|
0,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export default TileGeometry;
|
|
2
|
+
export type TileType = import("../VectorRenderTile").default;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {import("../VectorRenderTile").default} TileType
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @extends {BaseTileRepresentation<TileType>}
|
|
8
|
+
*/
|
|
9
|
+
declare class TileGeometry extends BaseTileRepresentation<import("../VectorRenderTile").default> {
|
|
10
|
+
/**
|
|
11
|
+
* @param {import("./BaseTileRepresentation.js").TileRepresentationOptions<TileType>} options The tile texture options.
|
|
12
|
+
* @param {import("../render/webgl/PolygonBatchRenderer.js").default} polygonRenderer Polygon renderer
|
|
13
|
+
* @param {import("../render/webgl/LineStringBatchRenderer.js").default} lineStringRenderer Linestring renderer
|
|
14
|
+
* @param {import("../render/webgl/PointBatchRenderer.js").default} pointRenderer Point renderer
|
|
15
|
+
*/
|
|
16
|
+
constructor(options: import("./BaseTileRepresentation.js").TileRepresentationOptions<TileType>, polygonRenderer: import("../render/webgl/PolygonBatchRenderer.js").default, lineStringRenderer: import("../render/webgl/LineStringBatchRenderer.js").default, pointRenderer: import("../render/webgl/PointBatchRenderer.js").default);
|
|
17
|
+
batch: MixedGeometryBatch;
|
|
18
|
+
/**
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
private polygonRenderer_;
|
|
22
|
+
/**
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
private lineStringRenderer_;
|
|
26
|
+
/**
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
private pointRenderer_;
|
|
30
|
+
/**
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
private renderInstructionsTransform_;
|
|
34
|
+
}
|
|
35
|
+
import BaseTileRepresentation from './BaseTileRepresentation.js';
|
|
36
|
+
import MixedGeometryBatch from '../render/webgl/MixedGeometryBatch.js';
|
|
37
|
+
//# sourceMappingURL=TileGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TileGeometry.d.ts","sourceRoot":"","sources":["TileGeometry.js"],"names":[],"mappings":";uBAaa,OAAO,qBAAqB,EAAE,OAAO;AADlD;;GAEG;AAEH;;GAEG;AACH;IAGE;;;;;OAKG;IACH,qBALW,OAAO,6BAA6B,EAAE,yBAAyB,CAAC,QAAQ,CAAC,mBACzE,OAAO,yCAAyC,EAAE,OAAO,sBACzD,OAAO,4CAA4C,EAAE,OAAO,iBAC5D,OAAO,uCAAuC,EAAE,OAAO,EAuBjE;IA7BD,0BAAiC;IAU/B;;OAEG;IACH,yBAAuC;IACvC;;OAEG;IACH,4BAA6C;IAC7C;;OAEG;IACH,uBAAmC;IAEnC;;OAEG;IACH,qCAAqD;CAyDxD;mCAnGkC,6BAA6B;+BACjC,uCAAuC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ol/webgl/TileGeometry
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import BaseTileRepresentation from './BaseTileRepresentation.js';
|
|
6
|
+
import MixedGeometryBatch from '../render/webgl/MixedGeometryBatch.js';
|
|
7
|
+
import {
|
|
8
|
+
create as createTransform,
|
|
9
|
+
reset as resetTransform,
|
|
10
|
+
translate as translateTransform,
|
|
11
|
+
} from '../transform.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @typedef {import("../VectorRenderTile").default} TileType
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @extends {BaseTileRepresentation<TileType>}
|
|
19
|
+
*/
|
|
20
|
+
class TileGeometry extends BaseTileRepresentation {
|
|
21
|
+
batch = new MixedGeometryBatch();
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @param {import("./BaseTileRepresentation.js").TileRepresentationOptions<TileType>} options The tile texture options.
|
|
25
|
+
* @param {import("../render/webgl/PolygonBatchRenderer.js").default} polygonRenderer Polygon renderer
|
|
26
|
+
* @param {import("../render/webgl/LineStringBatchRenderer.js").default} lineStringRenderer Linestring renderer
|
|
27
|
+
* @param {import("../render/webgl/PointBatchRenderer.js").default} pointRenderer Point renderer
|
|
28
|
+
*/
|
|
29
|
+
constructor(options, polygonRenderer, lineStringRenderer, pointRenderer) {
|
|
30
|
+
super(options);
|
|
31
|
+
/**
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
this.polygonRenderer_ = polygonRenderer;
|
|
35
|
+
/**
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
this.lineStringRenderer_ = lineStringRenderer;
|
|
39
|
+
/**
|
|
40
|
+
* @private
|
|
41
|
+
*/
|
|
42
|
+
this.pointRenderer_ = pointRenderer;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
this.renderInstructionsTransform_ = createTransform();
|
|
48
|
+
|
|
49
|
+
this.setTile(options.tile);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
uploadTile_() {
|
|
53
|
+
this.batch.clear();
|
|
54
|
+
const sourceTiles = this.tile.getSourceTiles();
|
|
55
|
+
const features = sourceTiles.reduce(
|
|
56
|
+
(accumulator, sourceTile) => accumulator.concat(sourceTile.getFeatures()),
|
|
57
|
+
[]
|
|
58
|
+
);
|
|
59
|
+
this.batch.addFeatures(features);
|
|
60
|
+
|
|
61
|
+
const tileOriginX = sourceTiles[0].extent[0];
|
|
62
|
+
const tileOriginY = sourceTiles[0].extent[1];
|
|
63
|
+
resetTransform(this.renderInstructionsTransform_);
|
|
64
|
+
translateTransform(
|
|
65
|
+
this.renderInstructionsTransform_,
|
|
66
|
+
-tileOriginX,
|
|
67
|
+
-tileOriginY
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
let remaining = 3;
|
|
71
|
+
const rebuildCb = () => {
|
|
72
|
+
remaining--;
|
|
73
|
+
if (remaining === 0) {
|
|
74
|
+
this.setReady();
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
// split geometry processing into separate tasks to avoid blocking the UI thread
|
|
79
|
+
setTimeout(() => {
|
|
80
|
+
this.polygonRenderer_.rebuild(
|
|
81
|
+
this.batch.polygonBatch,
|
|
82
|
+
this.renderInstructionsTransform_,
|
|
83
|
+
'Polygon',
|
|
84
|
+
rebuildCb
|
|
85
|
+
);
|
|
86
|
+
});
|
|
87
|
+
setTimeout(() => {
|
|
88
|
+
this.lineStringRenderer_.rebuild(
|
|
89
|
+
this.batch.lineStringBatch,
|
|
90
|
+
this.renderInstructionsTransform_,
|
|
91
|
+
'LineString',
|
|
92
|
+
rebuildCb
|
|
93
|
+
);
|
|
94
|
+
});
|
|
95
|
+
setTimeout(() => {
|
|
96
|
+
this.pointRenderer_.rebuild(
|
|
97
|
+
this.batch.pointBatch,
|
|
98
|
+
this.renderInstructionsTransform_,
|
|
99
|
+
'Point',
|
|
100
|
+
rebuildCb
|
|
101
|
+
);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export default TileGeometry;
|