@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.54 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{FeatureTechniqueInstance as e}from"./TechniqueInstance.js";import{Techniques as t}from"./TechniqueRegistry.js";import{castInstanceId as i}from"./mesh/instanceIdUtils.js";let n=0;function a(t,a){return new e(i(n++),t,a)}const l={visualVariableColor:null,visualVariableOpacity:null,visualVariableSizeMinMaxValue:null,visualVariableSizeScaleStops:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null,visualVariableRotation:null,visualVariableSizeOutlineScaleStops:null};class o{constructor(){this.instances={fill:a(t.fill,{uniforms:l,optionalAttributes:{zoomRange:!0}}),marker:a(t.marker,{uniforms:l,optionalAttributes:{zoomRange:!0}}),line:a(t.line,{uniforms:l,optionalAttributes:{zoomRange:!0}}),text:a(t.text,{uniforms:l,optionalAttributes:{zoomRange:!0,referenceSymbol:!1,clipAngle:!1}}),complexFill:a(t.complexFill,{uniforms:l,optionalAttributes:{zoomRange:!0}}),gradientFill:a(t.gradientFill,{uniforms:l,optionalAttributes:{zoomRange:!0}}),texturedLine:a(t.texturedLine,{uniforms:l,optionalAttributes:{zoomRange:!0}}),gradientStroke:a(t.gradientStroke,{uniforms:l,optionalAttributes:{zoomRange:!0}}),animatedMarker:a(t.animatedMarker,{uniforms:l,optionalAttributes:{zoomRange:!0}})},this._instancesById=Object.values(this.instances).reduce(((e,t)=>(e.set(t.instanceId,t),e)),new Map)}getInstance(e){return this._instancesById.get(e)}}export{o as GraphicInstanceStore};