/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{RemapShader as a}from"../../shaders/raster/processor/RemapShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterRemapProcessor",this.type=17,this.shaders={remap:new a}}_process(e,a){const s=e.rasterFunction.parameters,r={replaceUnmatched:s.allowUnmatched&&null!=s.replacementValue},t={rangeMaps:[...s.rangeMaps],noDataRanges:[...s.noDataRanges],unmatchMask:s.allowUnmatched?1:0,replacementValue:s.replacementValue??0,clampRange:s.clampRange},n=this._getCommonConfig(e,a),o={shader:this.shaders.remap,uniforms:{config:n,remapConfig:t},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:m,context:p}=e;m.submitDrawMesh(p,o,m.quadMesh)}}export{s as RemapTechnique};
