/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{MaskShader as e}from"../../shaders/raster/processor/MaskShader.js";class t extends s{constructor(){super(...arguments),this.name="RasterMaskProcessor",this.type=16,this.shaders={mask:new e}}_process(s,e){const t=s.rasterFunction.parameters,r={isMultiband:t.bandCount>1},a={includedRanges:[...t.includedRanges],noDataValues:[...t.noDataValues]},{config:o,textures:n}=this._getCommonConfig(s,e),i={shader:this.shaders.mask,uniforms:{config:o,maskConfig:a},textures:n,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:u,context:c}=s;u.submitDrawMesh(c,i,u.quadMesh)}}export{t as MaskTechnique};
