@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 2.02 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{GLSLShaderModule as e}from"../../GLSLShaderModule.js";import{Float as i,Vec4 as t,FixedArray as a,Vec2 as s,Mat3 as r,Sampler2D as o,Vec3 as l}from"../../graph/glsl.js";import{resolveIncludes as n}from"../../../shaders/sources/resolver.js";const p={hittestDist:i,hittestPos:s},d={filterFlags:o,animation:o,visualVariableData:o,dataDriven0:o,dataDriven1:o,dataDriven2:o,gpgpu:o,size:i},y={displayViewScreenMat3:r,displayViewMat3:r,displayMat3:r,viewMat3:r,tileMat3:r,displayZoomFactor:i,requiredZoomFactor:i,tileOffset:s,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={...d,...y,outlineWidth:i,colors:a,defaultColor:t,othersColor:t,outlineColor:t,donutRatio:i,sectorThreshold:i},this.options={hittestUniforms:p,visualVariableSizeMinMaxValue:{minMaxValueAndSize:t},visualVariableSizeScaleStops:{sizes:{type:"array",elementType:i,size:8},values:{type:"array",elementType:i,size:8}},visualVariableSizeStops:{sizes:{type:"array",elementType:i,size:8},values:{type:"array",elementType:i,size:8}},visualVariableSizeUnitValue:{unitValueToPixelsRatio:i},visualVariableOpacity:{opacities:{type:"array",elementType:i,size:8},opacityValues:{type:"array",elementType:i,size:8}},highlightUniforms:{highlightAll:i,activeReasons:i}},this.locations={pos:{index:0,type:s},id:{index:1,type:l},bitset:{index:2,type:i},offset:{index:3,type:s},texCoords:{index:4,type:s},size:{index:5,type:s},referenceSize:{index:6,type:i},zoomRange:{index:7,type:s}},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={type:"array",elementType:t,size:e}}}export{u as PieChartShader};