Merge pull request #10011 from jahow/fix-webgl-typecheck
Fix a type checking error on the WebGL points renderer
This commit is contained in:
@@ -9,7 +9,6 @@ import {inView} from '../layer/Layer.js';
|
|||||||
import {shared as iconImageCache} from '../style/IconImageCache.js';
|
import {shared as iconImageCache} from '../style/IconImageCache.js';
|
||||||
import {compose as composeTransform, makeInverse} from '../transform.js';
|
import {compose as composeTransform, makeInverse} from '../transform.js';
|
||||||
import {renderDeclutterItems} from '../render.js';
|
import {renderDeclutterItems} from '../render.js';
|
||||||
import {add} from '../coordinate.js';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @abstract
|
* @abstract
|
||||||
@@ -128,6 +127,8 @@ class MapRenderer extends Disposable {
|
|||||||
return entry.value;
|
return entry.value;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const tmpCoord = [];
|
||||||
for (let i = 0; i < offsets.length; i++) {
|
for (let i = 0; i < offsets.length; i++) {
|
||||||
for (let j = numLayers - 1; j >= 0; --j) {
|
for (let j = numLayers - 1; j >= 0; --j) {
|
||||||
const layerState = layerStates[j];
|
const layerState = layerStates[j];
|
||||||
@@ -135,10 +136,13 @@ class MapRenderer extends Disposable {
|
|||||||
if (layer.hasRenderer() && inView(layerState, viewState) && layerFilter.call(thisArg2, layer)) {
|
if (layer.hasRenderer() && inView(layerState, viewState) && layerFilter.call(thisArg2, layer)) {
|
||||||
const layerRenderer = layer.getRenderer();
|
const layerRenderer = layer.getRenderer();
|
||||||
const source = layer.getSource();
|
const source = layer.getSource();
|
||||||
|
const coordinates = source.getWrapX() ? translatedCoordinate : coordinate;
|
||||||
if (layerRenderer && source) {
|
if (layerRenderer && source) {
|
||||||
const callback = forEachFeatureAtCoordinate.bind(null, layerState.managed);
|
const callback = forEachFeatureAtCoordinate.bind(null, layerState.managed);
|
||||||
|
tmpCoord[0] = coordinates[0] + offsets[i][0];
|
||||||
|
tmpCoord[1] = coordinates[1] + offsets[i][1];
|
||||||
result = layerRenderer.forEachFeatureAtCoordinate(
|
result = layerRenderer.forEachFeatureAtCoordinate(
|
||||||
add(source.getWrapX() ? translatedCoordinate : coordinate, offsets[i]),
|
tmpCoord,
|
||||||
frameState, hitTolerance, callback, declutteredFeatures);
|
frameState, hitTolerance, callback, declutteredFeatures);
|
||||||
}
|
}
|
||||||
if (result) {
|
if (result) {
|
||||||
|
|||||||
@@ -108,15 +108,15 @@ import {assert} from '../../asserts.js';
|
|||||||
class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {import("../../layer/Vector.js").default} vectorLayer Vector layer.
|
* @param {import("../../layer/Layer.js").default} layer Layer.
|
||||||
* @param {Options=} options Options.
|
* @param {Options=} options Options.
|
||||||
*/
|
*/
|
||||||
constructor(vectorLayer, options) {
|
constructor(layer, options) {
|
||||||
const uniforms = options.uniforms || {};
|
const uniforms = options.uniforms || {};
|
||||||
const projectionMatrixTransform = createTransform();
|
const projectionMatrixTransform = createTransform();
|
||||||
uniforms[DefaultUniform.PROJECTION_MATRIX] = projectionMatrixTransform;
|
uniforms[DefaultUniform.PROJECTION_MATRIX] = projectionMatrixTransform;
|
||||||
|
|
||||||
super(vectorLayer, {
|
super(layer, {
|
||||||
uniforms: uniforms,
|
uniforms: uniforms,
|
||||||
postProcesses: options.postProcesses
|
postProcesses: options.postProcesses
|
||||||
});
|
});
|
||||||
@@ -289,8 +289,8 @@ class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
|||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
prepareFrame(frameState) {
|
prepareFrame(frameState) {
|
||||||
const vectorLayer = this.getLayer();
|
const layer = this.getLayer();
|
||||||
const vectorSource = vectorLayer.getSource();
|
const vectorSource = layer.getSource();
|
||||||
const viewState = frameState.viewState;
|
const viewState = frameState.viewState;
|
||||||
|
|
||||||
// the source has changed: clear the feature cache & reload features
|
// the source has changed: clear the feature cache & reload features
|
||||||
@@ -332,8 +332,8 @@ class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
rebuildBuffers_(frameState) {
|
rebuildBuffers_(frameState) {
|
||||||
const vectorLayer = this.getLayer();
|
const layer = this.getLayer();
|
||||||
const vectorSource = vectorLayer.getSource();
|
const vectorSource = layer.getSource();
|
||||||
|
|
||||||
// saves the projection transform for the current frame state
|
// saves the projection transform for the current frame state
|
||||||
const projectionTransform = createTransform();
|
const projectionTransform = createTransform();
|
||||||
|
|||||||
Reference in New Issue
Block a user