@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 3.1 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{_ as t,a as o}from"../../../../../../../chunks/tslib.es6.js";import{location as i,uniform as e,option as r,input as s}from"../../GraphShaderModule.js";import{greaterThan as a,Float as l,ifElse as p,Vec3 as n,Vec4 as u,Vec2 as m}from"../../graph/glsl.js";import{FeatureVertexInput as d,AFeatureShader as c,BaseHittestVertexInput as f}from"./AFeatureShader.js";import{bitsetTypeFillOutline as y}from"./constants.js";import{hittestFill as h,failHittest as v}from"./hittestUtils.js";import{LineFragmentInput as V,getLineVertexData as S,getLineFragmentColor as b,AntialiasingControls as j}from"./LineShader.js";import{getBit as x}from"./utils.js";import{VisualVariableColor as g}from"./VisualVariableColor.js";import{VisualVariableOpacity as w}from"./VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as z}from"./VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as M}from"./VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as O}from"./VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as C}from"./VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as P,getVisualVariableColor as U}from"./vvUtils.js";class W extends d{}t([i(3,m)],W.prototype,"offset",void 0),t([i(4,u)],W.prototype,"color",void 0),t([i(5,m)],W.prototype,"normal",void 0),t([i(6,l)],W.prototype,"halfWidth",void 0),t([i(7,l)],W.prototype,"referenceHalfWidth",void 0),t([i(8,m)],W.prototype,"zoomRange",void 0);class F extends V{}function R(t,o,i){const{id:e,bitset:r}=o,s=x(r,y),m=a(s,new l(.5)),d=S(t,o),c=p(m,d.halfWidth,new l(0)),f=P(t,e),h=U(t,e,o.color),v=p(m,o.color,h.multiply(f)),V=t.view.displayViewScreenMat3.multiply(new n(o.pos.xy,1)),b=t.clip(o.id),j=new u(V.xy,b,1),g=p(m,d.glPosition,j),w=i&&t.maybeRunHittest(o,i,m);return{isOutline:s,color:v,opacity:new l(1),halfWidth:c,normal:d.normal,glPosition:g,...w}}class A extends c{constructor(){super(...arguments),this.computeAttributes={pos:["nextPos1","nextPos2"]}}}t([e(j)],A.prototype,"antialiasingControls",void 0),t([r(g)],A.prototype,"visualVariableColor",void 0),t([r(w)],A.prototype,"visualVariableOpacity",void 0),t([r(z)],A.prototype,"visualVariableSizeMinMaxValue",void 0),t([r(M)],A.prototype,"visualVariableSizeScaleStops",void 0),t([r(O)],A.prototype,"visualVariableSizeStops",void 0),t([r(C)],A.prototype,"visualVariableSizeUnitValue",void 0);class H extends A{constructor(){super(...arguments),this.type="OutlineFillShader"}vertex(t,o){return R(this,t,o)}fragment(t){const{color:o,isOutline:i}=t,e=a(i,new l(.5)),r=b(t,this.antialiasingControls.blur),s=p(e,r,o),n=p(e,new l(1/255),new l(0));return this.getFragmentOutput(s,t,n)}hittest(t,o,i){return p(i,v(this.hittestRequest),h(this,t,o))}}t([o(0,s(W)),o(1,s(f))],H.prototype,"vertex",null),t([o(0,s(F))],H.prototype,"fragment",null);export{A as AOutlineFillShader,F as OutlineFillFragmentInput,H as OutlineFillShader,W as OutlineFillVertexInput,R as getOutlineFillVertexData};