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/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.getShaderInfoLog(
861
- vertexShader
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
- * Modifies 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.
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;