Custom Gis Application with Arcgis Javascript API with modern layouting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

11 lines
3.9 KiB

// All material copyright Esri, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.30/esri/copyright.txt for details.
//>>built
define(["exports","../../core/libs/gl-matrix-2/factories/vec2f64","./enums","./Texture","./TextureDescriptor"],function(k,u,e,q,r){k.createColormapTexture=function(a,b){const g=new r.TextureDescriptor;g.internalFormat=e.PixelFormat.RGBA;g.width=b.length/4;g.height=1;g.samplingMode=e.TextureSamplingMode.NEAREST;g.wrapMode=e.TextureWrapMode.CLAMP_TO_EDGE;return new q.Texture(a,g,b)};k.createRasterTexture=function(a,b,g="nearest",c=!1){const f=(c=!(c&&"u8"===b.pixelType))?e.PixelType.FLOAT:e.PixelType.UNSIGNED_BYTE,
d=null==b.pixels||0===b.pixels.length?null:c?b.getAsRGBAFloat():b.getAsRGBA(),m=a.capabilities.textureFloatLinear,h=new r.TextureDescriptor;h.width=b.width;h.height=b.height;h.internalFormat=c?e.SizedPixelFormat.RGBA32F:e.PixelFormat.RGBA;h.samplingMode=!m||"bilinear"!==g&&"cubic"!==g?e.TextureSamplingMode.NEAREST:e.TextureSamplingMode.LINEAR;h.dataType=f;h.wrapMode=e.TextureWrapMode.CLAMP_TO_EDGE;return new q.Texture(a,h,d)};k.createTransformTexture=function(a,b){const {spacing:g,offsets:c,coefficients:f,
size:[d,m]}=b;var h=1<g[0];b=new r.TextureDescriptor;b.width=h?4*d:d;b.height=m;b.internalFormat=e.SizedPixelFormat.RGBA32F;b.dataType=e.PixelType.FLOAT;b.samplingMode=e.TextureSamplingMode.NEAREST;b.wrapMode=e.TextureWrapMode.CLAMP_TO_EDGE;const n=new Float32Array(h?d*m*16:2*c.length);if(h&&null!=f)for(let l=0,p=0;l<f.length;l++)n[p++]=f[l],2===l%3&&(n[p++]=1);else for(h=0;h<m;h++)for(let l=0;l<d;l++){const p=4*(h*d+l),t=2*(l*m+h);n[p]=c[t];n[p+1]=c[t+1];n[p+3]=-1===c[t]?0:1}return new q.Texture(a,
b,n)};k.getBasicGridUniforms=function(a,b){return{u_scale:a,u_offset:b}};k.getColormapUniforms=function(a,b){return{u_colormapOffset:b||0,u_colormapMaxIndex:a?a.length/4-1:0}};k.getCommonUniforms=function(a,b,g,c=1,f=!0){return{u_flipY:f,u_applyTransform:!!a,u_opacity:c,u_transformSpacing:a?a.spacing:u.ZEROS,u_transformGridSize:a?a.size:u.ZEROS,u_targetImageSize:b,u_srcImageSize:g}};k.getShadedReliefUniforms=function(a){return{u_hillshadeType:a.hillshadeType,u_sinZcosAs:a.sinZcosAs,u_sinZsinAs:a.sinZsinAs,
u_cosZs:a.cosZs,u_weights:a.weights,u_factor:a.factor,u_minValue:a.minValue,u_maxValue:a.maxValue}};k.getStretchUniforms=function(a){return{u_bandCount:a.bandCount,u_minOutput:a.outMin,u_maxOutput:a.outMax,u_minCutOff:a.minCutOff,u_maxCutOff:a.maxCutOff,u_factor:a.factor,u_useGamma:a.useGamma,u_gamma:a.gamma,u_gammaCorrection:a.gammaCorrection}};k.getUniformLocationInfos=function(a,b){a=a.gl;b=b.glName;const g=new Map;if(null==b)return g;const c=a.getProgramParameter(b,a.ACTIVE_UNIFORMS);let f;for(let d=
0;d<c;d++)(f=a.getActiveUniform(b,d))&&g.set(f.name,{location:a.getUniformLocation(b,f.name),info:f});return g};k.setTextures=function(a,b,g,c){g.length===c.length&&(c.some(f=>null==f)||g.some(f=>null==f)||g.forEach((f,d)=>{b.setUniform1i(f,d);a.bindTexture(c[d],d)}))};k.setUniforms=function(a,b,g){Object.keys(g).forEach(c=>{var f=b.get(c)||b.get(c+"[0]");if(f){var d=g[c];if(null!==f&&null!=d)switch({info:f}=f,f.type){case e.UniformType.FLOAT:1<f.size?a.setUniform1fv(c,d):a.setUniform1f(c,d);break;
case e.UniformType.FLOAT_VEC2:a.setUniform2fv(c,d);break;case e.UniformType.FLOAT_VEC3:a.setUniform3fv(c,d);break;case e.UniformType.FLOAT_VEC4:a.setUniform4fv(c,d);break;case e.UniformType.FLOAT_MAT3:a.setUniformMatrix3fv(c,d);break;case e.UniformType.FLOAT_MAT4:a.setUniformMatrix4fv(c,d);break;case e.UniformType.INT:1<f.size?a.setUniform1iv(c,d):a.setUniform1i(c,d);break;case e.UniformType.BOOL:a.setUniform1i(c,d?1:0);break;case e.UniformType.INT_VEC2:case e.UniformType.BOOL_VEC2:a.setUniform2iv(c,
d);break;case e.UniformType.INT_VEC3:case e.UniformType.BOOL_VEC3:a.setUniform3iv(c,d);break;case e.UniformType.INT_VEC4:case e.UniformType.BOOL_VEC4:a.setUniform4iv(c,d)}}})};Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});