@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.11 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 o}from"../../../../../../../chunks/tslib.es6.js";import{location as t,ComputeVertexInput as e}from"../../GraphShaderModule.js";import{mod as s,Float as i,mix as l,Vec4 as r,or as a,Bool as n,Vec2 as m}from"../../graph/glsl.js";import{AAnimatedShader as c,getValue as p,AAnimatedVertexInput as d,AAnimatedFragmentInput as u}from"./AAnimatedShader.js";import{AnimationParamIndex as y}from"./enums.js";import{MarkerConstants as h}from"../markers/markerConstants.js";import{getBitBool as x}from"../shaders/utils.js";import{getVisualVariableColor as P,getVisualVariableOpacity as b}from"../shaders/vvUtils.js";class v extends d{}o([t(9,r)],v.prototype,"tlbr",void 0);class S extends e{}o([t(13,m)],S.prototype,"nextPos1",void 0),o([t(14,m)],S.prototype,"nextPos2",void 0);class f extends u{}class g extends c{_fragmentPoly(o){const t=s(o.uv,new i(1)),e=l(o.tlbr.xy,o.tlbr.zw,t);return this._getColor(e,{color:o.color,distanceToPx:o.distanceToPx,isSDF:o.isSDF,outlineColor:o.outlineColor,outlineSize:o.strokeWidth})}_vertexPoly(o){const{position:t,animationPointer:e,evalParams:s,isOutline:m,unscaledDistanceToPx:c,vvScale:d,strokeWidth:u,scaleSymbolsProportionally:v,scale:S,isSDF:f,baseSize:g,clip:j}=this._vertexPreamble(o,new i(0),o.lineLength||new i(0)),w=this._toNdc(t);let k=p(e,y.fromColor,s);k=new r(k.rgb.multiply(k.a),k.a);let z=p(e,y.toColor,s);z=new r(z.rgb.multiply(z.a),z.a);let C=p(e,y.colorMix,s);C=new r(C.rgb.multiply(C.a),C.a);const D=p(e,y.toOpacity,s).a,_=p(e,y.opacityMix,s).a,T=P(this,o.id,k,a(x(o.bitset,h.bitset.colorLocked),new n(m))),F=l(T,z,C),M=b(this,o.id),O=l(M,D,_),W=F.multiply(O),A=this.clip(o.id,o.zoomRange).add(j.multiply(2)),L=c.multiply(d);return{unscaledDistanceToPx:c,vvScale:d,strokeWidth:u,scaleSymbolsProportionally:v,scale:S,isSDF:f,baseSize:g,ndc:w,color:W,z:A,isOutline:m,evalParams:s,distanceToPx:L}}}export{g as AAnimatedPolyShader,f as PolyFragmentInput,S as PolyHittestVertexInput,v as PolyVertexInput};