ol 10.6.2-dev.1750922991910 → 10.6.2-dev.1751445583969
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/dist/ol.d.ts +0 -2
- package/dist/ol.d.ts.map +1 -1
- package/dist/ol.js +1 -1
- package/dist/ol.js.map +1 -1
- package/layer/WebGLVectorTile.d.ts.map +1 -1
- package/layer/WebGLVectorTile.js +1 -0
- package/package.json +1 -1
- package/render/webgl/VectorStyleRenderer.d.ts +64 -111
- package/render/webgl/VectorStyleRenderer.d.ts.map +1 -1
- package/render/webgl/VectorStyleRenderer.js +268 -287
- package/render/webgl/style.d.ts +0 -15
- package/render/webgl/style.d.ts.map +1 -1
- package/render/webgl/style.js +0 -72
- package/renderer/webgl/TileLayerBase.d.ts.map +1 -1
- package/renderer/webgl/TileLayerBase.js +1 -4
- package/renderer/webgl/VectorLayer.d.ts +13 -12
- package/renderer/webgl/VectorLayer.d.ts.map +1 -1
- package/renderer/webgl/VectorLayer.js +38 -53
- package/renderer/webgl/VectorTileLayer.d.ts +10 -10
- package/renderer/webgl/VectorTileLayer.d.ts.map +1 -1
- package/renderer/webgl/VectorTileLayer.js +38 -57
- package/source/WMTS.d.ts.map +1 -1
- package/source/WMTS.js +7 -1
- package/util.js +1 -1
- package/webgl/Helper.d.ts +2 -2
- package/webgl/Helper.d.ts.map +1 -1
- package/webgl/Helper.js +11 -8
- package/webgl/TileGeometry.d.ts +5 -10
- package/webgl/TileGeometry.d.ts.map +1 -1
- package/webgl/TileGeometry.js +28 -44
package/webgl/Helper.js
CHANGED
|
@@ -66,7 +66,7 @@ export const AttributeType = {
|
|
|
66
66
|
/**
|
|
67
67
|
* Description of an attribute in a buffer
|
|
68
68
|
* @typedef {Object} AttributeDescription
|
|
69
|
-
* @property {string} name Attribute name to use in shaders
|
|
69
|
+
* @property {string|null} name Attribute name to use in shaders; if null, this attribute will not be enabled and is simply used as padding in the buffers
|
|
70
70
|
* @property {number} size Number of components per attributes
|
|
71
71
|
* @property {AttributeType} [type] Attribute type, i.e. number of bytes used to store the value. This is
|
|
72
72
|
* determined by the class of typed array which the buffer uses (eg. `Float32Array` for a `FLOAT` attribute).
|
|
@@ -1115,13 +1115,16 @@ class WebGLHelper extends Disposable {
|
|
|
1115
1115
|
let offset = 0;
|
|
1116
1116
|
for (let i = 0; i < attributes.length; i++) {
|
|
1117
1117
|
const attr = attributes[i];
|
|
1118
|
-
this
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1118
|
+
// if a name is not given, simply skip this slot in the buffer
|
|
1119
|
+
if (attr.name) {
|
|
1120
|
+
this.enableAttributeArray_(
|
|
1121
|
+
attr.name,
|
|
1122
|
+
attr.size,
|
|
1123
|
+
attr.type || FLOAT,
|
|
1124
|
+
stride,
|
|
1125
|
+
offset,
|
|
1126
|
+
);
|
|
1127
|
+
}
|
|
1125
1128
|
offset += attr.size * getByteSizeFromType(attr.type);
|
|
1126
1129
|
}
|
|
1127
1130
|
}
|
package/webgl/TileGeometry.d.ts
CHANGED
|
@@ -9,9 +9,9 @@ export type TileType = import("../VectorRenderTile").default;
|
|
|
9
9
|
declare class TileGeometry extends BaseTileRepresentation<import("../VectorRenderTile").default> {
|
|
10
10
|
/**
|
|
11
11
|
* @param {import("./BaseTileRepresentation.js").TileRepresentationOptions<TileType>} options The tile texture options.
|
|
12
|
-
* @param {
|
|
12
|
+
* @param {import("../render/webgl/VectorStyleRenderer.js").default} styleRenderer Vector style renderer
|
|
13
13
|
*/
|
|
14
|
-
constructor(options: import("./BaseTileRepresentation.js").TileRepresentationOptions<TileType>,
|
|
14
|
+
constructor(options: import("./BaseTileRepresentation.js").TileRepresentationOptions<TileType>, styleRenderer: import("../render/webgl/VectorStyleRenderer.js").default);
|
|
15
15
|
/**
|
|
16
16
|
* @private
|
|
17
17
|
*/
|
|
@@ -19,11 +19,11 @@ declare class TileGeometry extends BaseTileRepresentation<import("../VectorRende
|
|
|
19
19
|
/**
|
|
20
20
|
* @private
|
|
21
21
|
*/
|
|
22
|
-
private
|
|
22
|
+
private styleRenderer_;
|
|
23
23
|
/**
|
|
24
|
-
* @type {
|
|
24
|
+
* @type {import("../render/webgl/VectorStyleRenderer.js").WebGLBuffers}
|
|
25
25
|
*/
|
|
26
|
-
buffers:
|
|
26
|
+
buffers: import("../render/webgl/VectorStyleRenderer.js").WebGLBuffers;
|
|
27
27
|
/**
|
|
28
28
|
* Each geometry tile also has a mask which consisted of a quad (two triangles); this mask is intended to
|
|
29
29
|
* be rendered to an offscreen buffer, and be used to correctly mask tiles according to their zoom level
|
|
@@ -34,11 +34,6 @@ declare class TileGeometry extends BaseTileRepresentation<import("../VectorRende
|
|
|
34
34
|
* @private
|
|
35
35
|
*/
|
|
36
36
|
private generateMaskBuffer_;
|
|
37
|
-
/**
|
|
38
|
-
* Will release a set of Webgl buffers
|
|
39
|
-
* @param {import('../render/webgl/VectorStyleRenderer.js').WebGLBuffers|null} buffers Buffers
|
|
40
|
-
*/
|
|
41
|
-
disposeBuffers(buffers: import("../render/webgl/VectorStyleRenderer.js").WebGLBuffers | null): void;
|
|
42
37
|
}
|
|
43
38
|
import BaseTileRepresentation from './BaseTileRepresentation.js';
|
|
44
39
|
import WebGLArrayBuffer from './Buffer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileGeometry.d.ts","sourceRoot":"","sources":["TileGeometry.js"],"names":[],"mappings":";uBAca,OAAO,qBAAqB,EAAE,OAAO;AADlD;;GAEG;AAEH;;GAEG;AACH;IACE;;;OAGG;IACH,qBAHW,OAAO,6BAA6B,EAAE,yBAAyB,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"TileGeometry.d.ts","sourceRoot":"","sources":["TileGeometry.js"],"names":[],"mappings":";uBAca,OAAO,qBAAqB,EAAE,OAAO;AADlD;;GAEG;AAEH;;GAEG;AACH;IACE;;;OAGG;IACH,qBAHW,OAAO,6BAA6B,EAAE,yBAAyB,CAAC,QAAQ,CAAC,iBACzE,OAAO,wCAAwC,EAAE,OAAO,EA4BlE;IAvBC;;OAEG;IACH,eAAsC;IAEtC;;OAEG;IACH,uBAAmC;IAEnC;;OAEG;IACH,SAFU,OAAO,wCAAwC,EAAE,YAAY,CAEpD;IAEnB;;;;OAIG;IACH,+BAAmE;IAKrE;;OAEG;IACH,4BAaC;CAwDF;mCAnHkC,6BAA6B;6BACnC,aAAa"}
|
package/webgl/TileGeometry.js
CHANGED
|
@@ -21,9 +21,9 @@ import WebGLArrayBuffer from './Buffer.js';
|
|
|
21
21
|
class TileGeometry extends BaseTileRepresentation {
|
|
22
22
|
/**
|
|
23
23
|
* @param {import("./BaseTileRepresentation.js").TileRepresentationOptions<TileType>} options The tile texture options.
|
|
24
|
-
* @param {
|
|
24
|
+
* @param {import("../render/webgl/VectorStyleRenderer.js").default} styleRenderer Vector style renderer
|
|
25
25
|
*/
|
|
26
|
-
constructor(options,
|
|
26
|
+
constructor(options, styleRenderer) {
|
|
27
27
|
super(options);
|
|
28
28
|
|
|
29
29
|
/**
|
|
@@ -34,12 +34,12 @@ class TileGeometry extends BaseTileRepresentation {
|
|
|
34
34
|
/**
|
|
35
35
|
* @private
|
|
36
36
|
*/
|
|
37
|
-
this.
|
|
37
|
+
this.styleRenderer_ = styleRenderer;
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
|
-
* @type {
|
|
40
|
+
* @type {import("../render/webgl/VectorStyleRenderer.js").WebGLBuffers}
|
|
41
41
|
*/
|
|
42
|
-
this.buffers =
|
|
42
|
+
this.buffers = null;
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* Each geometry tile also has a mask which consisted of a quad (two triangles); this mask is intended to
|
|
@@ -91,53 +91,37 @@ class TileGeometry extends BaseTileRepresentation {
|
|
|
91
91
|
-tileOriginY,
|
|
92
92
|
);
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
this.setReady();
|
|
101
|
-
});
|
|
94
|
+
this.styleRenderer_
|
|
95
|
+
.generateBuffers(this.batch_, transform)
|
|
96
|
+
.then((buffers) => {
|
|
97
|
+
this.buffers = buffers;
|
|
98
|
+
this.setReady();
|
|
99
|
+
});
|
|
102
100
|
}
|
|
103
101
|
|
|
104
102
|
/**
|
|
105
103
|
* @override
|
|
106
104
|
*/
|
|
107
105
|
disposeInternal() {
|
|
108
|
-
this.buffers
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
*/
|
|
118
|
-
disposeBuffers(buffers) {
|
|
119
|
-
if (!buffers) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* @param {Array<WebGLArrayBuffer>} typeBuffers Buffers
|
|
124
|
-
*/
|
|
125
|
-
const disposeBuffersOfType = (typeBuffers) => {
|
|
126
|
-
for (const buffer of typeBuffers) {
|
|
127
|
-
if (buffer) {
|
|
128
|
-
this.helper.deleteBuffer(buffer);
|
|
106
|
+
if (this.buffers) {
|
|
107
|
+
/**
|
|
108
|
+
* @param {Array<WebGLArrayBuffer>} typeBuffers Buffers
|
|
109
|
+
*/
|
|
110
|
+
const disposeBuffersOfType = (typeBuffers) => {
|
|
111
|
+
for (const buffer of typeBuffers) {
|
|
112
|
+
if (buffer) {
|
|
113
|
+
this.helper.deleteBuffer(buffer);
|
|
114
|
+
}
|
|
129
115
|
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
if (buffers.polygonBuffers) {
|
|
139
|
-
disposeBuffersOfType(buffers.polygonBuffers);
|
|
116
|
+
};
|
|
117
|
+
this.buffers.pointBuffers &&
|
|
118
|
+
disposeBuffersOfType(this.buffers.pointBuffers);
|
|
119
|
+
this.buffers.lineStringBuffers &&
|
|
120
|
+
disposeBuffersOfType(this.buffers.lineStringBuffers);
|
|
121
|
+
this.buffers.polygonBuffers &&
|
|
122
|
+
disposeBuffersOfType(this.buffers.polygonBuffers);
|
|
140
123
|
}
|
|
124
|
+
super.disposeInternal();
|
|
141
125
|
}
|
|
142
126
|
}
|
|
143
127
|
|