@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.23 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{GLSLShaderModule as e}from"../../GLSLShaderModule.js";import{Float as i,Vec4 as t,FixedArray as a,Vec2 as o,Mat3 as s,Sampler2D as r,Vec3 as l}from"../../graph/glsl.js";import{resolveIncludes as n}from"../../../shaders/sources/resolver.js";const p={hittestDist:i,hittestPos:o},y={filterFlags:r,animation:r,visualVariableData:r,dataDriven0:r,dataDriven1:r,dataDriven2:r,gpgpu:r,size:i},d={displayViewScreenMat3:s,displayViewMat3:s,displayMat3:s,viewMat3:s,tileMat3:s,displayZoomFactor:i,requiredZoomFactor:i,tileOffset:o,currentScale:i,currentZoom:i,metersPerSRUnit:i};class u extends e{constructor(){super(...arguments),this.vertexShader=n("materials/pie/pie.vert"),this.fragmentShader=n("materials/pie/pie.frag"),this.required={...y,...d,outlineWidth:i,colors:a,defaultColor:t,othersColor:t,outlineColor:t,donutRatio:i,sectorThreshold:i},this.options={hittestUniforms:p,visualVariableSizeMinMaxValue:{minMaxValueAndSize:t},visualVariableSizeScaleStops:{sizes:{...a.ofType(i,8),type:"array",elementType:i,size:8},values:{...a.ofType(i,8),type:"array",elementType:i,size:8}},visualVariableSizeStops:{sizes:{...a.ofType(i,8),type:"array",elementType:i,size:8},values:{...a.ofType(i,8),type:"array",elementType:i,size:8}},visualVariableSizeUnitValue:{unitValueToPixelsRatio:i},visualVariableOpacity:{opacities:{...a.ofType(i,8),type:"array",elementType:i,size:8},opacityValues:{...a.ofType(i,8),type:"array",elementType:i,size:8}},highlightUniforms:{highlightAll:i,activeReasons:i}},this.locations={pos:{index:0,type:o},id:{index:1,type:l},bitset:{index:2,type:i},offset:{index:3,type:o},texCoords:{index:4,type:o},size:{index:5,type:o},referenceSize:{index:6,type:i},zoomRange:{index:7,type:o}},this.defines={VV_SIZE_MIN_MAX_VALUE:"boolean",VV_SIZE_SCALE_STOPS:"boolean",VV_SIZE_FIELD_STOPS:"boolean",VV_SIZE_UNIT_VALUE:"boolean",VV_OPACITY:"boolean",HITTEST:"boolean",numberOfFields:"number",highlight:"boolean",inside:"boolean",outside:"boolean"}}setNumberOfFields(e){this.required.colors={...a.ofType(t,e),type:"array",elementType:t,size:e}}}export{u as PieChartShader};