plotty=new function(){function a(a,b){var c=a.__proto__||a.constructor.prototype;return b in a&&(!(b in c)||c[b]!==a[b])}function b(a,b){return"undefined"!=typeof a?a:b}function c(a,b){for(var c=["webgl","experimental-webgl"],d=null,e=0;ep;p++)for(var q=0;j>q;q++){var r=p*j+q,s=4*(p*j+q);if(this.data[r]==this.noDataValue)this.imageData.data[s+0]=0,this.imageData.data[s+1]=0,this.imageData.data[s+2]=0,this.imageData.data[s+3]=0;else{var t=Math.round((this.data[r]-this.domain[0])/l*m);o=!1,0>t&&(t=0,o=!0),t>255&&(t=255,o=!0),this.imageData.data[s+0]=n[4*t],this.imageData.data[s+1]=n[4*t+1],this.imageData.data[s+2]=n[4*t+2],o&&!this.clamp?this.imageData.data[s+3]=0:this.imageData.data[s+3]=255}}this.ctx.putImageData(this.imageData,0,0)}},h.prototype.renderDataset=function(a){var b=this.datasetCollection[a],c=this.canvas;if(c.width=b.width,c.height=b.height,this.gl){var e=this.gl;e.viewport(0,0,b.width,b.height),e.useProgram(this.program),e.uniform1i(e.getUniformLocation(this.program,"u_textureData"),0),e.uniform1i(e.getUniformLocation(this.program,"u_textureScale"),1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,b.textureData),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,this.textureScale);var f=e.getAttribLocation(this.program,"a_position"),g=e.getUniformLocation(this.program,"u_domain"),h=e.getUniformLocation(this.program,"u_resolution"),i=e.getUniformLocation(this.program,"u_noDataValue"),j=e.getUniformLocation(this.program,"u_clamp");e.uniform2f(h,c.width,c.height),e.uniform2fv(g,this.domain),e.uniform1i(j,this.clamp),e.uniform1f(i,this.noDataValue);var k=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,k),e.enableVertexAttribArray(f),e.vertexAttribPointer(f,2,e.FLOAT,!1,0,0),d(e,0,0,c.width,c.height),e.drawArrays(e.TRIANGLES,0,6)}},h.prototype.getColor=function(a){return this.colorscale(a)},{plot:h,addColorScale:i,colorscales:e,renderColorScaleToCanvas:j}};