/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{BandArithmeticShader as t}from"../../shaders/raster/processor/BandArithmeticShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterBandArithmeticProcessor",this.type=5,this.shaders={bandArithmetic:new t}}_process(e,t){const s=e.rasterFunction.parameters,r={indexType:s.indexType,isOutputRounded:s.isOutputRounded},n={bandIndexMat3:s.bandIndexMat3},i=s.adjustments?{adjustments:[...s.adjustments]}:void 0,{config:a,textures:o}=this._getCommonConfig(e,t),d={shader:this.shaders.bandArithmetic,uniforms:{config:a,bandArithmeticConfig:n,adjustmentConfig:i},textures:o,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:u,context:m}=e;u.submitDrawMesh(m,d,u.quadMesh)}}export{s as BandArithmeticTechnique};
