in src/layers/s2-geometry-layer/s2-geometry-layer.js [264:330]
renderLayer(opts) {
const {data, gpuFilter, interactionConfig, mapState} = opts;
const defaultLayerProps = this.getDefaultDeckLayerProps(opts);
const eleZoomFactor = this.getElevationZoomFactor(mapState);
const zoomFactor = this.getZoomFactor(mapState);
const {config} = this;
const {visConfig} = config;
const updateTriggers = {
getLineColor: {
color: visConfig.strokeColor,
colorField: config.strokeColorField,
colorRange: visConfig.strokeColorRange,
colorScale: config.strokeColorScale
},
getLineWidth: {
sizeField: config.sizeField,
sizeRange: visConfig.sizeRange
},
getFillColor: {
color: config.color,
colorField: config.colorField,
colorRange: visConfig.colorRange,
colorScale: config.colorScale
},
getElevation: {
heightField: config.heightField,
heightScaleType: config.heightScale,
heightRange: visConfig.heightRange
},
getFilterValue: gpuFilter.filterValueUpdateTriggers
};
return [
new S2Layer({
...defaultLayerProps,
...interactionConfig,
...data,
getS2Token: d => d.token,
autoHighlight: visConfig.enable3d,
highlightColor: HIGHLIGH_COLOR_3D,
// stroke
lineWidthScale: visConfig.thickness * zoomFactor * zoomFactorValue,
stroked: visConfig.stroked,
lineMiterLimit: 2,
// Filled color
filled: visConfig.filled,
opacity: visConfig.opacity,
wrapLongitude: false,
// Elevation
elevationScale: visConfig.elevationScale * eleZoomFactor,
extruded: visConfig.enable3d,
wireframe: visConfig.wireframe,
pickable: true,
updateTriggers
})
];
}