@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.89 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{_ as t}from"../../../chunks/tslib.es6.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as e}from"../../../core/accessorSupport/decorators/subclass.js";import s from"./BaseRasterFunction.js";import o from"./CurvatureFunctionArguments.js";import{gcsFactor as i,curvature as n}from"./surfaceUtils.js";let u=class extends s{constructor(){super(...arguments),this.functionName="Curvature",this.functionArguments=null,this.rasterArgumentNames=["raster"],this.isGCS=!1}_bindSourceRasters(){this.outputPixelType=this._getOutputPixelType("f32");const t=this.sourceRasterInfos[0].clone();return t.pixelType=this.outputPixelType,t.bandCount=1,this._removeStatsHistColormapVAT(t),this.rasterInfo=t,this.isGCS=t.spatialReference?.isGeographic??!1,{success:!0,supportsGPU:!0}}_processPixels(t){const r=t.pixelBlocks?.[0];if(null==r)return null;const{zFactor:e,curvatureType:s}=this.functionArguments,{extent:o,primaryPixelSizes:u}=t,c=u?.[0],a=c??(o?{x:o.width/r.width,y:o.height/r.height}:{x:1,y:1}),p=this.isGCS&&e>=1?e*i:e;return n(r,{zFactor:p,curvatureType:s,resolution:a})}_getWebGLParameters(){const{zFactor:t,curvatureType:r}=this.functionArguments;return{curvatureType:r,zFactor:this.isGCS&&t>=1?t*i:t}}};t([r({json:{write:!0,name:"rasterFunction"}})],u.prototype,"functionName",void 0),t([r({type:o,json:{write:!0,name:"rasterFunctionArguments"}})],u.prototype,"functionArguments",void 0),t([r()],u.prototype,"rasterArgumentNames",void 0),t([r({json:{write:!0}})],u.prototype,"isGCS",void 0),u=t([e("esri.layers.support.rasterFunctions.CurvatureFunction")],u);const c=u;export{c as default};