@arcgis/core 4.29.9 → 4.29.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{6301990e489d31596bc8.js → 17f517cc6986c483e61c.js} +1 -1
- package/kernel.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/utils.js +5 -0
package/kernel.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";import{buildDate as s,commitHash as e}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const r="4.29";let t,i=r;i="4.29.
|
|
5
|
+
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";import{buildDate as s,commitHash as e}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const r="4.29";let t,i=r;i="4.29.10";function n(o){t=o}function m(s){const e=t?.findCredential(s);return e?.token?o(s,"token",e.token):s}has("host-webworker");export{m as addTokenParameter,s as buildDate,i as fullVersion,t as id,e as revision,n as setId,r as version};
|
package/package.json
CHANGED
package/support/revision.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const
|
|
5
|
+
const a="20240321",b="9cf5a4b8555fda94595b625a40b922e012baf071";export{a as buildDate,b as commitHash};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{Alignment as e}from"../../../../../../../symbols/cim/enums.js";import{applyParentTransform as i}from"../../../../../../../symbols/cim/utils.js";import{spritePadding as o,sdfTextureSize as s}from"../../../definitions.js";class h{static from(t){return"width"in t?this.fromSimpleMeshParams(t):this.fromComplexMeshParams(t)}static fromSimpleMeshParams(e){const i=new h(e.sprite,e.color,e.outlineColor,e.minPixelBuffer,e.placement,e.scaleInfo,e.effects),{type:o,width:s,height:r,angle:n,
|
|
5
|
+
import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{Alignment as e}from"../../../../../../../symbols/cim/enums.js";import{applyParentTransform as i}from"../../../../../../../symbols/cim/utils.js";import{spritePadding as o,sdfTextureSize as s}from"../../../definitions.js";class h{static from(t){return"width"in t?this.fromSimpleMeshParams(t):this.fromComplexMeshParams(t)}static fromSimpleMeshParams(e){const i=new h(e.sprite,e.color,e.outlineColor,e.minPixelBuffer,e.placement,e.scaleInfo,e.effects),{type:o,width:s,height:r,angle:n,alignment:a,outlineSize:c,referenceSize:l,sprite:m,overrideOutlineColor:f}=e;i.rawWidth=t(s),i.rawHeight=t(r),i.angle=n,i.alignment=a,i.outlineSize=t(c),i.referenceSize=t(l),i.overrideOutlineColor=f,i.offsetX=t(e.offsetX),i.offsetY=t(e.offsetY),"simple"!==o||m.sdf||(i.rawWidth=m.width,i.rawHeight=m.height);const d=2;return i.sizeRatio=m.sdf?d:1,i._computeSize(e,!1),i}static fromComplexMeshParams(e){const o=new h(e.sprite,e.color,e.outlineColor,e.minPixelBuffer,e.placement,e.scaleInfo,e.effects);let{alignment:s,transforms:r,size:n,scaleX:a,anchorX:c,anchorY:l,angle:m,colorLocked:f,frameHeight:d,widthRatio:u,offsetX:p,offsetY:g,outlineSize:x,referenceSize:z,scaleFactor:w,sizeRatio:S,isAbsoluteAnchorPoint:X,rotateClockwise:Y,scaleSymbolsProportionally:H,sprite:C}=e;if(r&&r.infos.length>0){const t=i(n,m,Y,p,g,r);n=t.size,m=t.rotation,p=t.offsetX,g=t.offsetY,Y=!1}w&&(n*=w,p*=w,g*=w);const M=a*(C.width/C.height);o.alignment=s,o.rawHeight=t(n),o.rawWidth=o.rawHeight*M,o.referenceSize=t(z),o.sizeRatio=S,o.angle=m,o.rotateClockwise=Y,o.anchorX=c,o.anchorY=l,o.offsetX=t(p),o.offsetY=t(g),X&&n&&(C.sdf?o.anchorX=c/(n*u):o.anchorX=c/(n*M),o.anchorY=l/n);const W=H&&d?n/d:1;return o.outlineSize=0===x||isNaN(x)?0:t(x)*W,o.scaleSymbolsProportionally=H,o.colorLocked=f,o._computeSize(e,!0),o}constructor(t,i,o,s,h,r,n){this.sprite=t,this.color=i,this.outlineColor=o,this.minPixelBuffer=s,this.placement=h,this.scaleInfo=r,this.effects=n,this.rawWidth=0,this.rawHeight=0,this.angle=0,this.outlineSize=0,this.referenceSize=0,this.sizeRatio=1,this.alignment=e.SCREEN,this.scaleSymbolsProportionally=!1,this.overrideOutlineColor=!1,this.colorLocked=!1,this.anchorX=0,this.anchorY=0,this.computedWidth=0,this.computedHeight=0,this.texXmin=0,this.texYmin=0,this.texXmax=0,this.texYmax=0,this.offsetX=0,this.offsetY=0,this.rotateClockwise=!0}get boundsInfo(){return{size:Math.max(this.computedHeight,this.computedWidth),offsetX:this.offsetX,offsetY:this.offsetY}}_computeSize(t,e){const{sprite:i,hasSizeVV:h}=t,r=!!i.sdf,{rawWidth:n,rawHeight:a,sizeRatio:c,outlineSize:l}=this,m=n*c,f=a*c;if(r&&!h){const t=e&&n>a?m:n,i=a,o=l+2*1;this.computedWidth=Math.min(t+o,m),this.computedHeight=Math.min(i+o,f)}else this.computedWidth=m,this.computedHeight=f;const d=r?s/Math.max(m,f):1,u=.5*(m-this.computedWidth)*d,p=.5*(f-this.computedHeight)*d,g=i.rect.x+o+u,x=i.rect.y+o+p,z=g+i.width-2*u,w=x+i.height-2*p;this.texXmin=Math.floor(g),this.texYmin=Math.floor(x),this.texXmax=Math.ceil(z),this.texYmax=Math.ceil(w),this.computedWidth*=(this.texXmax-this.texXmin)/(z-g),this.computedHeight*=(this.texYmax-this.texYmin)/(w-x),this.anchorX*=m/this.computedWidth,this.anchorY*=f/this.computedHeight}}export{h as ComputedMarkerParams};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{CIMSymbolHelper as e}from"../../../../../../../symbols/cim/CIMSymbolHelper.js";import{defaultCIMValues as a}from"../../../../../../../symbols/cim/defaultCIMValues.js";import{Techniques as i}from"../../../../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{noVisualVariables as l,getMaxSizeVVSize as o}from"../VisualVariablesSchema.js";function
|
|
5
|
+
import{CIMSymbolHelper as e}from"../../../../../../../symbols/cim/CIMSymbolHelper.js";import{defaultCIMValues as a}from"../../../../../../../symbols/cim/defaultCIMValues.js";import{Techniques as i}from"../../../../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{noVisualVariables as l,getMaxSizeVVSize as o}from"../VisualVariablesSchema.js";import{hasSizeVVUniform as r}from"./utils.js";function s(e){return e.minScale||e.maxScale?{minScale:e.minScale??0,maxScale:e.maxScale??0}:null}function t(e){if(null==e)return null;if(Array.isArray(e)){const[a,i,l,o]=e;return[a,i,l,255*o]}return"string"==typeof e?e:{...e,defaultValue:t(e?.defaultValue)}}async function n(a,i){const{cimResourceManager:l,cimAnalyzer:o,scaleExpression:r}=i.schemaOptions;await Promise.all(e.fetchResources(a.symbol,l,[]));const t=o.analyzeSymbolReference(a,!1),n={scaleInfo:s(a),scaleExpression:r},u=[];for(const e of t)switch(e.type){case"marker":u.push(...c(e,i,n));break;case"fill":u.push(...m(e,i,n));break;case"line":u.push(...b(e,i,n));break;case"text":u.push(...v(e,i,n))}return u}function c(e,a,o){const{uniforms:r,schemaOptions:s}=a,{store:t}=s,n=e.isOutline?{...l,visualVariableSizeScaleStops:r.visualVariableSizeOutlineScaleStops}:{visualVariableColor:r.visualVariableColor,visualVariableOpacity:r.visualVariableOpacity,visualVariableSizeMinMaxValue:r.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:r.visualVariableSizeScaleStops,visualVariableSizeStops:r.visualVariableSizeStops,visualVariableSizeUnitValue:r.visualVariableSizeUnitValue,visualVariableRotation:r.visualVariableRotation};return u(t.ensureInstance(i.marker,{geometry:n},{zoomRange:!!o.scaleInfo}),e,r,o)}function u(e,i,l,{scaleInfo:s,scaleExpression:n}){const c=r(l);return[e.createMeshInfo({params:{size:i.size,scaleX:i.scaleX,anchorX:i.anchorPoint.x,anchorY:i.anchorPoint.y,angle:i.rotation,color:t(i.color)??[0,0,0,0],colorLocked:i.colorLocked,frameHeight:i.frameHeight,widthRatio:i.widthRatio,scaleInfo:s,offsetX:i.offsetX,offsetY:i.offsetY,outlineColor:t(i.outlineColor)??[0,0,0,0],outlineSize:i.outlineWidth,referenceSize:i.referenceSize||a.CIMVectorMarker.size,rotateClockwise:i.rotateClockwise,scaleFactor:n??1,sizeRatio:i.sizeRatio,alignment:i.alignment,isAbsoluteAnchorPoint:i.isAbsoluteAnchorPoint,scaleSymbolsProportionally:i.scaleSymbolsProportionally,sprite:i.spriteRasterizationParam,hasSizeVV:c,placement:i.markerPlacement,effects:i.effects?{type:"cim-effect-infos",effectInfos:i.effects}:null,transforms:i.transform,minPixelBuffer:o(l)}})]}function f(e,a,l){const{uniforms:o,schemaOptions:r}=a,{store:s}=r;return p(s.ensureInstance(i.fill,{geometry:{visualVariableColor:e.colorLocked?null:o.visualVariableColor,visualVariableOpacity:o.visualVariableOpacity}},{zoomRange:!!l.scaleInfo}),e,l)}function p(e,a,{scaleInfo:i}){return[e.createMeshInfo({params:{color:t(a.color)??[0,0,0,0],scaleInfo:i,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null}})]}function m(e,a,l){if(!e.spriteRasterizationParam)return f(e,a,l);const{uniforms:o,schemaOptions:r}=a,{store:s}=r;return S(s.ensureInstance(i.complexFill,{geometry:{visualVariableColor:e.colorLocked?null:o.visualVariableColor,visualVariableOpacity:o.visualVariableOpacity}},{zoomRange:!!l.scaleInfo}),e,null!=o.visualVariableColor,l)}function S(e,a,i,{scaleInfo:l}){if(!a.spriteRasterizationParam)throw new Error("InternalError: Sprite should always be defined");const o=!!a.hasUnresolvedReplacementColor&&(!i||a.colorLocked),r=a.sampleAlphaOnly&&!o,s=a.spriteRasterizationParam;return[e.createMeshInfo({params:{color:t(a.color)??[0,0,0,0],height:a.height,aspectRatio:a.scaleX,offsetX:a.offsetX,offsetY:a.offsetY,scaleX:1,scaleY:1,angle:a.angle,applyRandomOffset:a.applyRandomOffset,sampleAlphaOnly:r,scaleProportionally:"CIMHatchFill"===s.resource.type,sprite:s,scaleInfo:l,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null}})]}function b(e,a,o){const{uniforms:r,schemaOptions:s}=a,{store:t}=s,n=e.isOutline?{...l,visualVariableSizeScaleStops:r.visualVariableSizeOutlineScaleStops}:{visualVariableColor:e.colorLocked?null:r.visualVariableColor,visualVariableOpacity:r.visualVariableOpacity,visualVariableSizeMinMaxValue:r.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:r.visualVariableSizeScaleStops,visualVariableSizeStops:r.visualVariableSizeStops,visualVariableSizeUnitValue:r.visualVariableSizeUnitValue},c={geometry:n},u=!!(n.visualVariableSizeMinMaxValue||n.visualVariableSizeScaleStops||n.visualVariableSizeStops||n.visualVariableSizeUnitValue);if(!e.spriteRasterizationParam){return h(t.ensureInstance(i.line,c,{zoomRange:!!o.scaleInfo}),e,u,o)}return z(t.ensureInstance(i.texturedLine,c,{zoomRange:!!o.scaleInfo}),e,u,o)}function V(e,a,{scaleInfo:i}){return{params:{color:t(e.color)??[0,0,0,0],width:e.width,referenceWidth:e.referenceWidth,capType:e.cap,joinType:e.join,miterLimit:e.miterLimit,scaleInfo:i,hasSizeVV:a,effects:e.effects?{type:"cim-effect-infos",effectInfos:e.effects}:null}}}function h(e,a,i,l){if(a.spriteRasterizationParam)throw new Error("InternalError: Sprite should not be defined");return[e.createMeshInfo({params:V(a,i,l).params})]}function z(e,a,i,l){const{spriteRasterizationParam:o,scaleDash:r,sampleAlphaOnly:s}=a;if(!o)throw new Error("InternalError: Sprite should be defined");return[e.createMeshInfo({params:{...V(a,i,l).params,shouldScaleDash:r??!1,shouldSampleAlphaOnly:s,isSDF:"CIMPictureStroke"!==o.resource.type,sprite:o}})]}function v(e,a,l){const{uniforms:o,schemaOptions:r}=a,{store:s}=r;return y(s.ensureInstance(i.text,{geometry:{visualVariableColor:e.colorLocked?null:o.visualVariableColor,visualVariableOpacity:o.visualVariableOpacity,visualVariableRotation:o.visualVariableRotation,visualVariableSizeMinMaxValue:o.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:o.visualVariableSizeScaleStops,visualVariableSizeStops:o.visualVariableSizeStops,visualVariableSizeUnitValue:o.visualVariableSizeUnitValue}},{zoomRange:!!l.scaleInfo,referenceSymbol:!1,clipAngle:!1}),e,o,l)}function y(e,a,i,{scaleInfo:l,scaleExpression:r}){return[e.createMeshInfo({params:{boxBackgroundColor:t(a.backgroundColor),boxBorderLineColor:t(a.borderLineColor),boxBorderLineSize:a.borderLineWidth??0,color:t(a.color)??[0,0,0,0],offsetX:a.offsetX,offsetY:a.offsetY,postAngle:a.angle,fontSize:a.size,referenceSize:a.referenceSize,decoration:a.decoration,haloColor:t(a.outlineColor)??[0,0,0,0],haloFontSize:a.outlineSize,lineWidth:a.lineWidth||512,lineHeightRatio:1,horizontalAlignment:a.horizontalAlignment??"center",verticalAlignment:a.verticalAlignment??"baseline",useCIMAngleBehavior:!1,glyphs:a.textRasterizationParam,scaleInfo:l,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,placement:a.markerPlacement,transforms:a.transform,scaleFactor:r??1,minPixelBuffer:o(i),repeatLabel:null,repeatLabelDistance:null,allowOverrun:null,labelPosition:null,isLineLabel:!1}})]}export{S as createComplexFillMeshInfos,u as createComplexMarkerMeshInfos,p as createComplexSimpleFillMeshInfos,h as createComplexSimpleLineMeshInfos,n as createComplexSymbolInstances,y as createComplexTextMeshInfos,z as createComplexTexturedLineMeshInfos,s as getScaleInfo};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../../../../../symbols.js";import{pt2px as e}from"../../../../../../../core/screenUtils.js";import{generateGradient as a}from"../../../../../../../renderers/support/heatmapUtils.js";import{CIMSymbolHelper as l,slsDashToTemplateArray as i,capTypeToEnum as r}from"../../../../../../../symbols/cim/CIMSymbolHelper.js";import{ExtremityPlacement as t}from"../../../../../../../symbols/cim/enums.js";import{getSDFInfo as o}from"../../../../../../../symbols/cim/SDFHelper.js";import{getAlignmentFromPlacement as s}from"../../../../../engine/webgl/alignmentUtils.js";import{writeColor as n}from"../../../../../engine/webgl/color.js";import{dotDensityMaxFields as u}from"../../../../../engine/webgl/definitions.js";import{Techniques as c}from"../../../../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{premultiplyColor as p}from"../schemaUtils.js";import{createVisualVariableUniforms as f,getMaxSizeVVSize as m,noVisualVariables as b}from"../VisualVariablesSchema.js";import{createComplexSymbolInstances as S,hasSizeVVUniform as V}from"./ComplexSymbolSchema.js";import y from"../../../../../../../symbols/SimpleFillSymbol.js";async function v(e,a){if(!e)return[];switch(e.type){case"simple-fill":return R(e,a);case"picture-fill":return k(e,a);case"simple-marker":return x(e,a);case"picture-marker":return M(e,a);case"simple-line":return U(e,a,!1);case"text":return I(e,a);case"label":return O(e,a);case"cim":return S(e.data,a);case"web-style":{const l=await e.fetchCIMSymbol();return S(l.data,a)}default:throw new Error(`symbol not supported ${e.type}`)}}async function h(e,a){const{schemaOptions:l}=a,{store:i}=l,r=new Array(u),t=new Array(u/4);for(let c=0;c<u;c++){const a=c<e.attributes.length?e.attributes[c].color:null;r[c]=[0,0,0,0],n(r[c],a)}for(let n=0;n<u/4;n++)t[n]=[0,0,0,0],t[n][0]=4*n<e.attributes.length?1:0,t[n][1]=4*n+1<e.attributes.length?1:0,t[n][2]=4*n+2<e.attributes.length?1:0,t[n][3]=4*n+3<e.attributes.length?1:0;const o={isActive:t,colors:r,dotValue:e.dotValue,dotScale:e.referenceScale,blending:e.dotBlendingEnabled,dotSize:e.dotSize,seed:e.seed},s=i.ensureInstance(c.dotDensity,o,{}).createMeshInfo({params:{effects:null}}),p=[];if(e.backgroundColor){const l=new y({color:e.backgroundColor,outline:null}),i=await v(l,a);p.push(...i)}if(p.push(s),e.outline){const l=U(e.outline,a,!0);p.push(...l)}return p}async function z(l,i){const{store:r}=i,{radius:t,minDensity:o,maxDensity:s,referenceScale:n,field:u,valueExpression:p,colorStops:f}=l,m=a(f);return[r.ensureInstance(c.heatmap,{radius:e(t),minDensity:o,maxDensity:s,referenceScale:n,isFieldActive:!(!u&&!p),gradient:m,gradientHash:m.join(",")},{}).createMeshInfo({params:{effects:null}})]}function d(a,l){const{store:i}=l,r=a.outline?.width||0,t=f(a),o=i.ensureInstance(c.pieChart,{geometry:{outlineWidth:Math.round(e(r)),defaultColor:p(a.defaultColor),outlineColor:p(a.outline?.color),othersColor:p(a.othersCategory?.color),donutRatio:a.holePercentage,sectorThreshold:a.othersCategory?.threshold||0,colors:a.attributes.map((e=>p(e.color))),visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue,hittestUniforms:null},numberOfFields:a.attributes.length},{}).createMeshInfo({params:{size:a.size,outlineWidth:r,effects:null,scaleInfo:null,minPixelBuffer:m(t)}});return[...a.backgroundFillSymbol?R(a.backgroundFillSymbol,{schemaOptions:l,path:"",uniforms:b}):[],o]}function g(e){if("path"===e.style){if(null==e.path)throw new Error("Symbol with a style of type path must define a path");return{type:"sprite-rasterization-param",overrides:[],resource:{type:"path",path:e.path,asFill:!0}}}const a=l.fromSimpleMarker(e);if("outline"in e&&e.outline&&"none"!==e.outline.style){if("solid"!==e.outline.style){if(!a||!a.symbolLayers)throw new Error("Error handling marker! ");return{type:"sprite-rasterization-param",resource:a.symbolLayers[0],overrides:[]}}}return{type:"sprite-rasterization-param",resource:o(a),overrides:[]}}async function x(e,a){const{uniforms:i,schemaOptions:r}=a,{store:t}=r;if("path"===e.style||e.outline&&"solid"!==e.outline.style&&"none"!==e.outline.style){const i=l.fromSimpleMarker(e);if(!i||!i.symbolLayers)throw new Error("Error handling marker! ");if("path"!==e.style){const e=i.symbolLayers[0];if(V(a.uniforms)){const l=m(a.uniforms,0,1);if(l>e.size){const a=l/e.size;e.size=l;const i=e.markerGraphics?.[0].symbol;(i.symbolLayers&&i.symbolLayers[0]).width*=a}}}return S({type:"CIMSymbolReference",symbol:i},a)}const o=t.ensureInstance(c.marker,{geometry:{visualVariableColor:i.visualVariableColor,visualVariableOpacity:i.visualVariableOpacity,visualVariableSizeMinMaxValue:i.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:i.visualVariableSizeScaleStops,visualVariableSizeStops:i.visualVariableSizeStops,visualVariableSizeUnitValue:i.visualVariableSizeUnitValue,visualVariableRotation:i.visualVariableRotation}},{zoomRange:!1}),s=g(e);let n=e.color?.toArray()??[0,0,0,0];"CIMVectorMarker"===s.resource.type&&(n=[255,255,255,255]);const u="triangle"===e.style?124/116:1,p=e.size,f=p*u,b=null!=i.visualVariableColor&&("cross"===e.style||"x"===e.style);return[o.createMeshInfo({params:{type:"simple",color:n,height:p,width:f,offsetX:e.xoffset,offsetY:e.yoffset,angle:e.angle,outlineColor:e.outline?.color?.toArray()??[0,0,0,0],outlineSize:e.outline?.width??1,referenceSize:p,sprite:s,overrideOutlineColor:b,hasSizeVV:V(i),placement:null,effects:null,transforms:null,scaleInfo:null,minPixelBuffer:m(i)}})]}function M(e,a){const{uniforms:i,schemaOptions:r}=a,{store:t}=r,o=t.ensureInstance(c.marker,{geometry:{visualVariableColor:i.visualVariableColor,visualVariableOpacity:i.visualVariableOpacity,visualVariableSizeMinMaxValue:i.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:i.visualVariableSizeScaleStops,visualVariableSizeStops:i.visualVariableSizeStops,visualVariableSizeUnitValue:i.visualVariableSizeUnitValue,visualVariableRotation:i.visualVariableRotation}},{zoomRange:!1}),s=l.createPictureMarkerRasterizationParam(e);if(!s)return[];return[o.createMeshInfo({params:{type:"picture",color:[255,255,255,255],height:e.height,width:e.width,offsetX:e.xoffset,offsetY:e.yoffset,angle:e.angle,outlineColor:null,outlineSize:0,referenceSize:e.height,sprite:s,overrideOutlineColor:!1,hasSizeVV:V(i),placement:null,effects:null,transforms:null,scaleInfo:null,minPixelBuffer:m(i)}})]}function C(e,a,l){const{uniforms:i,schemaOptions:r}=l,{store:o}=r,s=o.ensureInstance(c.marker,{geometry:{visualVariableColor:i.visualVariableColor,visualVariableOpacity:i.visualVariableOpacity,visualVariableSizeMinMaxValue:i.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:i.visualVariableSizeScaleStops,visualVariableSizeStops:i.visualVariableSizeStops,visualVariableSizeUnitValue:i.visualVariableSizeUnitValue,visualVariableRotation:i.visualVariableRotation}},{zoomRange:!1}),n=g(e),u=6,p=u*a.width,f=p,b=e.color?.toArray()??a.color?.toArray()??[0,0,0,0],S="cross"===e.style||"x"===e.style;let y;switch(e.placement){case"begin-end":y=t.Both;break;case"begin":y=t.JustBegin;break;case"end":y=t.JustEnd;break;default:y=t.None}const v={type:"cim-marker-placement-info",placement:{type:"CIMMarkerPlacementAtExtremities",angleToLine:!0,offset:0,extremityPlacement:y,offsetAlongLine:0},overrides:[]};return[s.createMeshInfo({params:{type:"simple",color:b,height:f,width:p,offsetX:0,offsetY:0,angle:0,outlineColor:b,outlineSize:S?a.width:0,referenceSize:f/u,sprite:n,overrideOutlineColor:S&&null!=i.visualVariableColor,hasSizeVV:V(i),placement:v,transforms:null,effects:null,scaleInfo:null,minPixelBuffer:m(i)}})]}function I(e,a){const{uniforms:i,schemaOptions:r}=a,{store:t}=r;return[t.ensureInstance(c.text,{geometry:{visualVariableColor:i.visualVariableColor,visualVariableOpacity:i.visualVariableOpacity,visualVariableRotation:i.visualVariableRotation,visualVariableSizeMinMaxValue:i.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:i.visualVariableSizeScaleStops,visualVariableSizeStops:i.visualVariableSizeStops,visualVariableSizeUnitValue:i.visualVariableSizeUnitValue}},{zoomRange:!1,clipAngle:!1,referenceSymbol:!1}).createMeshInfo({params:{boxBackgroundColor:e.backgroundColor?.toArray(),boxBorderLineColor:e.borderLineColor?.toArray(),boxBorderLineSize:e.borderLineSize??0,color:e.color?.toArray()??[0,0,0,0],offsetX:e.xoffset,offsetY:e.yoffset,postAngle:e.angle,fontSize:e.font.size,decoration:e.font.decoration,haloColor:e.haloColor?.toArray()??[0,0,0,0],haloFontSize:e.haloSize??0,lineWidth:e.lineWidth,lineHeightRatio:e.lineHeight,horizontalAlignment:e.horizontalAlignment,verticalAlignment:e.verticalAlignment,useCIMAngleBehavior:!1,glyphs:{type:"text-rasterization-param",resource:{type:"text",font:e.font.toJSON(),textString:e.text,symbol:l.createCIMTextSymbolfromTextSymbol(e)},overrides:[]},referenceSize:null,effects:null,placement:null,scaleInfo:null,transforms:null,scaleFactor:1,minPixelBuffer:m(i),repeatLabel:null,repeatLabelDistance:null,allowOverrun:null,labelPosition:null,isLineLabel:!1}})]}function O(a,i){const{schemaOptions:r,uniforms:t}=i,{store:o}=r,n=a.symbol,{allowOverrun:u,repeatLabel:p,repeatLabelDistance:f}=a,b={maxScale:a.maxScale??0,minScale:a.minScale??0},S=o.ensureInstance(c.label,{geometry:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:t.visualVariableRotation,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue}},{zoomRange:!0,clipAngle:!0,referenceSymbol:!0}),V=a.labelPlacement,[y,v]=s(V);return[S.createMeshInfo({params:{boxBackgroundColor:n.backgroundColor?.toArray(),boxBorderLineColor:n.borderLineColor?.toArray(),boxBorderLineSize:n.borderLineSize??0,color:n.color?.toArray()??[0,0,0,0],offsetX:n.xoffset,offsetY:n.yoffset,postAngle:n.angle,fontSize:n.font.size,decoration:n.font.decoration,haloColor:n.haloColor?.toArray()??[0,0,0,0],haloFontSize:n.haloSize??0,lineWidth:n.lineWidth,lineHeightRatio:n.lineHeight,horizontalAlignment:y,verticalAlignment:v,repeatLabel:p,repeatLabelDistance:e(f),allowOverrun:u,labelPosition:a.labelPosition,scaleInfo:b,minPixelBuffer:m(t),useCIMAngleBehavior:!1,glyphs:{type:"text-rasterization-param",resource:{type:"text",font:n.font.toJSON(),textString:n.text,symbol:l.createCIMTextSymbolfromTextSymbol(n),primitiveName:"label-override"},useLegacyLabelEvaluationRules:null==a.labelExpressionInfo?.expression,overrides:[{type:"CIMPrimitiveOverride",valueExpressionInfo:{type:"CIMExpressionInfo",expression:a.labelExpressionInfo?.expression??a.labelExpression,returnType:"String"},primitiveName:"label-override",propertyName:"textString",defaultValue:""}]},referenceSize:null,effects:null,placement:null,transforms:null,scaleFactor:1,isLineLabel:!1}})]}function w(e,a){const l=e.width;return{outlineColor:e.color?.toArray()||[0,0,0,1],width:l,referenceWidth:l,capType:e.cap??"round",joinType:e.join??"round",miterLimit:e.miterLimit,hasSizeVV:a}}function A(e,a){const{uniforms:l,schemaOptions:i}=a,{store:r}=i,t=e.color?.toArray()??[0,0,0,0],o={type:"sprite-rasterization-param",resource:{type:"fill-style",style:e.style},overrides:[]};if("solid"===e.outline?.style){return[r.ensureInstance(c.patternOutlineFill,{geometry:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity,visualVariableSizeScaleStops:l.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null}},{zoomRange:!1}).createMeshInfo({params:{color:t,...w(e.outline,!!l.visualVariableSizeOutlineScaleStops),sprite:o,scaleInfo:null,effects:null}})]}const s=[],n=r.ensureInstance(c.patternFill,{geometry:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity}},{zoomRange:!1}).createMeshInfo({params:{color:e.color?.toArray()??[0,0,0,0],sprite:o,scaleInfo:null,effects:null}});return s.push(n),e.outline&&s.push(...U(e.outline,a,!0)),s}function L(e,a){const{uniforms:l,schemaOptions:i}=a,{store:r}=i,t=e.color?.toArray()??[0,0,0,0];if("none"!==e.style&&"solid"===e.outline?.style){return[r.ensureInstance(c.outlineFill,{geometry:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity,visualVariableSizeScaleStops:l.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null}},{zoomRange:!1}).createMeshInfo({params:{color:t,...w(e.outline,!!l.visualVariableSizeOutlineScaleStops),scaleInfo:null,effects:null}})]}const o=[];if("none"!==e.style){const e=r.ensureInstance(c.fill,{geometry:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity}},{zoomRange:!1}).createMeshInfo({params:{color:t,scaleInfo:null,effects:null}});o.push(e)}return e.outline&&o.push(...U(e.outline,a,!0)),o}function R(e,a){const{style:l}=e;return l&&"none"!==l&&"solid"!==l?A(e,a):L(e,a)}function k(e,a){const{outline:i}=e,{uniforms:r,schemaOptions:t}=a,{store:o}=t,s=[],n=l.createPictureFillRasterizationParam(e);if(!n)return[];const{width:u,height:p,xoffset:f,yoffset:m,xscale:b,yscale:S}=e,V={color:[255,255,255,255],sprite:n,height:p,aspectRatio:u/p,offsetX:f,offsetY:m,scaleX:b,scaleY:S,angle:0,applyRandomOffset:!1,sampleAlphaOnly:!1,scaleProportionally:!1,effects:null,scaleInfo:null};if("solid"===i?.style){return[o.ensureInstance(c.complexOutlineFill,{geometry:{visualVariableColor:r.visualVariableColor,visualVariableOpacity:r.visualVariableOpacity,visualVariableSizeScaleStops:r.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null}},{zoomRange:!1}).createMeshInfo({params:{...V,...w(i,!!r.visualVariableSizeOutlineScaleStops)}})]}const y=o.ensureInstance(c.complexFill,{geometry:{visualVariableColor:r.visualVariableColor,visualVariableOpacity:r.visualVariableOpacity}},{zoomRange:!1});return s.push(y.createMeshInfo({params:V})),i&&s.push(...U(i,a,!0)),s}function U(e,a,l){const{color:t,style:o,width:s,cap:n,join:u}=e,{schemaOptions:p}=a,{store:f}=p,m=[],S=l?{...b,visualVariableSizeScaleStops:a.uniforms.visualVariableSizeOutlineScaleStops}:a.uniforms,y={geometry:{visualVariableColor:S.visualVariableColor,visualVariableOpacity:S.visualVariableOpacity,visualVariableSizeMinMaxValue:S.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:S.visualVariableSizeScaleStops,visualVariableSizeStops:S.visualVariableSizeStops,visualVariableSizeUnitValue:S.visualVariableSizeUnitValue}},v={color:t?.toArray()??[0,0,0,0],width:s,referenceWidth:s,capType:n,joinType:u,miterLimit:e.miterLimit,hasSizeVV:V(S),effects:null,scaleInfo:null};if(null==o||"solid"===o){const e=f.ensureInstance(c.line,y,{zoomRange:!1}).createMeshInfo({params:v});m.push(e)}else if("none"!==o){const e=f.ensureInstance(c.texturedLine,y,{zoomRange:!1}).createMeshInfo({params:{...v,shouldScaleDash:!0,shouldSampleAlphaOnly:!1,isSDF:!0,sprite:{type:"sprite-rasterization-param",resource:{type:"dash",dashTemplate:i(o,n),capStyle:r(n)},overrides:[]}}});m.push(e)}return null!=e.marker&&m.push(...C(e.marker,e,a)),m}export{h as createDotDensityMeshSchemas,z as createHeatmapMeshSchemas,U as createLineInstance,d as createPieChartMeshSchemas,v as createSymbolMeshSchemas};
|
|
5
|
+
import"../../../../../../../symbols.js";import{pt2px as e}from"../../../../../../../core/screenUtils.js";import{generateGradient as a}from"../../../../../../../renderers/support/heatmapUtils.js";import{CIMSymbolHelper as l,slsDashToTemplateArray as i,capTypeToEnum as r}from"../../../../../../../symbols/cim/CIMSymbolHelper.js";import{Alignment as t,ExtremityPlacement as o}from"../../../../../../../symbols/cim/enums.js";import{getSDFInfo as s}from"../../../../../../../symbols/cim/SDFHelper.js";import{getAlignmentFromPlacement as n}from"../../../../../engine/webgl/alignmentUtils.js";import{writeColor as u}from"../../../../../engine/webgl/color.js";import{dotDensityMaxFields as c}from"../../../../../engine/webgl/definitions.js";import{Techniques as p}from"../../../../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{premultiplyColor as f}from"../schemaUtils.js";import{createVisualVariableUniforms as m,getMaxSizeVVSize as b,noVisualVariables as S}from"../VisualVariablesSchema.js";import{createComplexSymbolInstances as V}from"./ComplexSymbolSchema.js";import{hasSizeVVUniform as y,hasRotationVVUniform as v}from"./utils.js";import h from"../../../../../../../symbols/SimpleFillSymbol.js";async function z(e,a){if(!e)return[];switch(e.type){case"simple-fill":return E(e,a);case"picture-fill":return P(e,a);case"simple-marker":return C(e,a);case"picture-marker":return I(e,a);case"simple-line":return U(e,a,!1);case"text":return A(e,a);case"label":return w(e,a);case"cim":return V(e.data,a);case"web-style":{const l=await e.fetchCIMSymbol();return V(l.data,a)}default:throw new Error(`symbol not supported ${e.type}`)}}async function d(e,a){const{schemaOptions:l}=a,{store:i}=l,r=new Array(c),t=new Array(c/4);for(let p=0;p<c;p++){const a=p<e.attributes.length?e.attributes[p].color:null;r[p]=[0,0,0,0],u(r[p],a)}for(let u=0;u<c/4;u++)t[u]=[0,0,0,0],t[u][0]=4*u<e.attributes.length?1:0,t[u][1]=4*u+1<e.attributes.length?1:0,t[u][2]=4*u+2<e.attributes.length?1:0,t[u][3]=4*u+3<e.attributes.length?1:0;const o={isActive:t,colors:r,dotValue:e.dotValue,dotScale:e.referenceScale,blending:e.dotBlendingEnabled,dotSize:e.dotSize,seed:e.seed},s=i.ensureInstance(p.dotDensity,o,{}).createMeshInfo({params:{effects:null}}),n=[];if(e.backgroundColor){const l=new h({color:e.backgroundColor,outline:null}),i=await z(l,a);n.push(...i)}if(n.push(s),e.outline){const l=U(e.outline,a,!0);n.push(...l)}return n}async function g(l,i){const{store:r}=i,{radius:t,minDensity:o,maxDensity:s,referenceScale:n,field:u,valueExpression:c,colorStops:f}=l,m=a(f);return[r.ensureInstance(p.heatmap,{radius:e(t),minDensity:o,maxDensity:s,referenceScale:n,isFieldActive:!(!u&&!c),gradient:m,gradientHash:m.join(",")},{}).createMeshInfo({params:{effects:null}})]}function x(a,l){const{store:i}=l,r=a.outline?.width||0,t=m(a),o=i.ensureInstance(p.pieChart,{geometry:{outlineWidth:Math.round(e(r)),defaultColor:f(a.defaultColor),outlineColor:f(a.outline?.color),othersColor:f(a.othersCategory?.color),donutRatio:a.holePercentage,sectorThreshold:a.othersCategory?.threshold||0,colors:a.attributes.map((e=>f(e.color))),visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue,hittestUniforms:null},numberOfFields:a.attributes.length},{}).createMeshInfo({params:{size:a.size,outlineWidth:r,effects:null,scaleInfo:null,minPixelBuffer:b(t)}});return[...a.backgroundFillSymbol?E(a.backgroundFillSymbol,{schemaOptions:l,path:"",uniforms:S}):[],o]}function M(e){if("path"===e.style){if(null==e.path)throw new Error("Symbol with a style of type path must define a path");return{type:"sprite-rasterization-param",overrides:[],resource:{type:"path",path:e.path,asFill:!0}}}const a=l.fromSimpleMarker(e);if("outline"in e&&e.outline&&"none"!==e.outline.style){if("solid"!==e.outline.style){if(!a||!a.symbolLayers)throw new Error("Error handling marker! ");return{type:"sprite-rasterization-param",resource:a.symbolLayers[0],overrides:[]}}}return{type:"sprite-rasterization-param",resource:s(a),overrides:[]}}async function C(e,a){const{uniforms:i,schemaOptions:r}=a,{store:o}=r;if("path"===e.style||e.outline&&"solid"!==e.outline.style&&"none"!==e.outline.style){const r=l.fromSimpleMarker(e);if(!r||!r.symbolLayers)throw new Error("Error handling marker! ");if(i.visualVariableRotation&&(r.angleAlignment="Map"),"path"!==e.style){const e=r.symbolLayers[0];if(y(a.uniforms)){const l=b(a.uniforms,0,1);if(l>e.size){const a=l/e.size;e.size=l;const i=e.markerGraphics?.[0].symbol;(i.symbolLayers&&i.symbolLayers[0]).width*=a}}}return V({type:"CIMSymbolReference",symbol:r},a)}const s=o.ensureInstance(p.marker,{geometry:{visualVariableColor:i.visualVariableColor,visualVariableOpacity:i.visualVariableOpacity,visualVariableSizeMinMaxValue:i.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:i.visualVariableSizeScaleStops,visualVariableSizeStops:i.visualVariableSizeStops,visualVariableSizeUnitValue:i.visualVariableSizeUnitValue,visualVariableRotation:i.visualVariableRotation}},{zoomRange:!1}),n=M(e);let u=e.color?.toArray()??[0,0,0,0];"CIMVectorMarker"===n.resource.type&&(u=[255,255,255,255]);const c="triangle"===e.style?124/116:1,f=e.size,m=f*c,S=null!=i.visualVariableColor&&("cross"===e.style||"x"===e.style);return[s.createMeshInfo({params:{type:"simple",color:u,height:f,width:m,offsetX:e.xoffset,offsetY:e.yoffset,angle:e.angle,alignment:v(i)?t.MAP:t.SCREEN,outlineColor:e.outline?.color?.toArray()??[0,0,0,0],outlineSize:e.outline?.width??1,referenceSize:f,sprite:n,overrideOutlineColor:S,hasSizeVV:y(i),placement:null,effects:null,transforms:null,scaleInfo:null,minPixelBuffer:b(i)}})]}function I(e,a){const{uniforms:i,schemaOptions:r}=a,{store:o}=r,s=o.ensureInstance(p.marker,{geometry:{visualVariableColor:i.visualVariableColor,visualVariableOpacity:i.visualVariableOpacity,visualVariableSizeMinMaxValue:i.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:i.visualVariableSizeScaleStops,visualVariableSizeStops:i.visualVariableSizeStops,visualVariableSizeUnitValue:i.visualVariableSizeUnitValue,visualVariableRotation:i.visualVariableRotation}},{zoomRange:!1}),n=l.createPictureMarkerRasterizationParam(e);if(!n)return[];return[s.createMeshInfo({params:{type:"picture",color:[255,255,255,255],height:e.height,width:e.width,offsetX:e.xoffset,offsetY:e.yoffset,angle:e.angle,alignment:v(i)?t.MAP:t.SCREEN,outlineColor:null,outlineSize:0,referenceSize:e.height,sprite:n,overrideOutlineColor:!1,hasSizeVV:y(i),placement:null,effects:null,transforms:null,scaleInfo:null,minPixelBuffer:b(i)}})]}function O(e,a,l){const{uniforms:i,schemaOptions:r}=l,{store:s}=r,n=s.ensureInstance(p.marker,{geometry:{visualVariableColor:i.visualVariableColor,visualVariableOpacity:i.visualVariableOpacity,visualVariableSizeMinMaxValue:i.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:i.visualVariableSizeScaleStops,visualVariableSizeStops:i.visualVariableSizeStops,visualVariableSizeUnitValue:i.visualVariableSizeUnitValue,visualVariableRotation:i.visualVariableRotation}},{zoomRange:!1}),u=M(e),c=6,f=c*a.width,m=f,S=e.color?.toArray()??a.color?.toArray()??[0,0,0,0],V="cross"===e.style||"x"===e.style;let h;switch(e.placement){case"begin-end":h=o.Both;break;case"begin":h=o.JustBegin;break;case"end":h=o.JustEnd;break;default:h=o.None}const z={type:"cim-marker-placement-info",placement:{type:"CIMMarkerPlacementAtExtremities",angleToLine:!0,offset:0,extremityPlacement:h,offsetAlongLine:0},overrides:[]};return[n.createMeshInfo({params:{type:"simple",color:S,height:m,width:f,offsetX:0,offsetY:0,angle:0,alignment:v(i)?t.MAP:t.SCREEN,outlineColor:S,outlineSize:V?a.width:0,referenceSize:m/c,sprite:u,overrideOutlineColor:V&&null!=i.visualVariableColor,hasSizeVV:y(i),placement:z,transforms:null,effects:null,scaleInfo:null,minPixelBuffer:b(i)}})]}function A(e,a){const{uniforms:i,schemaOptions:r}=a,{store:t}=r;return[t.ensureInstance(p.text,{geometry:{visualVariableColor:i.visualVariableColor,visualVariableOpacity:i.visualVariableOpacity,visualVariableRotation:i.visualVariableRotation,visualVariableSizeMinMaxValue:i.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:i.visualVariableSizeScaleStops,visualVariableSizeStops:i.visualVariableSizeStops,visualVariableSizeUnitValue:i.visualVariableSizeUnitValue}},{zoomRange:!1,clipAngle:!1,referenceSymbol:!1}).createMeshInfo({params:{boxBackgroundColor:e.backgroundColor?.toArray(),boxBorderLineColor:e.borderLineColor?.toArray(),boxBorderLineSize:e.borderLineSize??0,color:e.color?.toArray()??[0,0,0,0],offsetX:e.xoffset,offsetY:e.yoffset,postAngle:e.angle,fontSize:e.font.size,decoration:e.font.decoration,haloColor:e.haloColor?.toArray()??[0,0,0,0],haloFontSize:e.haloSize??0,lineWidth:e.lineWidth,lineHeightRatio:e.lineHeight,horizontalAlignment:e.horizontalAlignment,verticalAlignment:e.verticalAlignment,useCIMAngleBehavior:!1,glyphs:{type:"text-rasterization-param",resource:{type:"text",font:e.font.toJSON(),textString:e.text,symbol:l.createCIMTextSymbolfromTextSymbol(e)},overrides:[]},referenceSize:null,effects:null,placement:null,scaleInfo:null,transforms:null,scaleFactor:1,minPixelBuffer:b(i),repeatLabel:null,repeatLabelDistance:null,allowOverrun:null,labelPosition:null,isLineLabel:!1}})]}function w(a,i){const{schemaOptions:r,uniforms:t}=i,{store:o}=r,s=a.symbol,{allowOverrun:u,repeatLabel:c,repeatLabelDistance:f}=a,m={maxScale:a.maxScale??0,minScale:a.minScale??0},S=o.ensureInstance(p.label,{geometry:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:t.visualVariableRotation,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue}},{zoomRange:!0,clipAngle:!0,referenceSymbol:!0}),V=a.labelPlacement,[y,v]=n(V);return[S.createMeshInfo({params:{boxBackgroundColor:s.backgroundColor?.toArray(),boxBorderLineColor:s.borderLineColor?.toArray(),boxBorderLineSize:s.borderLineSize??0,color:s.color?.toArray()??[0,0,0,0],offsetX:s.xoffset,offsetY:s.yoffset,postAngle:s.angle,fontSize:s.font.size,decoration:s.font.decoration,haloColor:s.haloColor?.toArray()??[0,0,0,0],haloFontSize:s.haloSize??0,lineWidth:s.lineWidth,lineHeightRatio:s.lineHeight,horizontalAlignment:y,verticalAlignment:v,repeatLabel:c,repeatLabelDistance:e(f),allowOverrun:u,labelPosition:a.labelPosition,scaleInfo:m,minPixelBuffer:b(t),useCIMAngleBehavior:!1,glyphs:{type:"text-rasterization-param",resource:{type:"text",font:s.font.toJSON(),textString:s.text,symbol:l.createCIMTextSymbolfromTextSymbol(s),primitiveName:"label-override"},useLegacyLabelEvaluationRules:null==a.labelExpressionInfo?.expression,overrides:[{type:"CIMPrimitiveOverride",valueExpressionInfo:{type:"CIMExpressionInfo",expression:a.labelExpressionInfo?.expression??a.labelExpression,returnType:"String"},primitiveName:"label-override",propertyName:"textString",defaultValue:""}]},referenceSize:null,effects:null,placement:null,transforms:null,scaleFactor:1,isLineLabel:!1}})]}function R(e,a){const l=e.width;return{outlineColor:e.color?.toArray()||[0,0,0,1],width:l,referenceWidth:l,capType:e.cap??"round",joinType:e.join??"round",miterLimit:e.miterLimit,hasSizeVV:a}}function L(e,a){const{uniforms:l,schemaOptions:i}=a,{store:r}=i,t=e.color?.toArray()??[0,0,0,0],o={type:"sprite-rasterization-param",resource:{type:"fill-style",style:e.style},overrides:[]};if("solid"===e.outline?.style){return[r.ensureInstance(p.patternOutlineFill,{geometry:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity,visualVariableSizeScaleStops:l.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null}},{zoomRange:!1}).createMeshInfo({params:{color:t,...R(e.outline,!!l.visualVariableSizeOutlineScaleStops),sprite:o,scaleInfo:null,effects:null}})]}const s=[],n=r.ensureInstance(p.patternFill,{geometry:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity}},{zoomRange:!1}).createMeshInfo({params:{color:e.color?.toArray()??[0,0,0,0],sprite:o,scaleInfo:null,effects:null}});return s.push(n),e.outline&&s.push(...U(e.outline,a,!0)),s}function k(e,a){const{uniforms:l,schemaOptions:i}=a,{store:r}=i,t=e.color?.toArray()??[0,0,0,0];if("none"!==e.style&&"solid"===e.outline?.style){return[r.ensureInstance(p.outlineFill,{geometry:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity,visualVariableSizeScaleStops:l.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null}},{zoomRange:!1}).createMeshInfo({params:{color:t,...R(e.outline,!!l.visualVariableSizeOutlineScaleStops),scaleInfo:null,effects:null}})]}const o=[];if("none"!==e.style){const e=r.ensureInstance(p.fill,{geometry:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity}},{zoomRange:!1}).createMeshInfo({params:{color:t,scaleInfo:null,effects:null}});o.push(e)}return e.outline&&o.push(...U(e.outline,a,!0)),o}function E(e,a){const{style:l}=e;return l&&"none"!==l&&"solid"!==l?L(e,a):k(e,a)}function P(e,a){const{outline:i}=e,{uniforms:r,schemaOptions:t}=a,{store:o}=t,s=[],n=l.createPictureFillRasterizationParam(e);if(!n)return[];const{width:u,height:c,xoffset:f,yoffset:m,xscale:b,yscale:S}=e,V={color:[255,255,255,255],sprite:n,height:c,aspectRatio:u/c,offsetX:f,offsetY:m,scaleX:b,scaleY:S,angle:0,applyRandomOffset:!1,sampleAlphaOnly:!1,scaleProportionally:!1,effects:null,scaleInfo:null};if("solid"===i?.style){return[o.ensureInstance(p.complexOutlineFill,{geometry:{visualVariableColor:r.visualVariableColor,visualVariableOpacity:r.visualVariableOpacity,visualVariableSizeScaleStops:r.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null}},{zoomRange:!1}).createMeshInfo({params:{...V,...R(i,!!r.visualVariableSizeOutlineScaleStops)}})]}const y=o.ensureInstance(p.complexFill,{geometry:{visualVariableColor:r.visualVariableColor,visualVariableOpacity:r.visualVariableOpacity}},{zoomRange:!1});return s.push(y.createMeshInfo({params:V})),i&&s.push(...U(i,a,!0)),s}function U(e,a,l){const{color:t,style:o,width:s,cap:n,join:u}=e,{schemaOptions:c}=a,{store:f}=c,m=[],b=l?{...S,visualVariableSizeScaleStops:a.uniforms.visualVariableSizeOutlineScaleStops}:a.uniforms,V={geometry:{visualVariableColor:b.visualVariableColor,visualVariableOpacity:b.visualVariableOpacity,visualVariableSizeMinMaxValue:b.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:b.visualVariableSizeScaleStops,visualVariableSizeStops:b.visualVariableSizeStops,visualVariableSizeUnitValue:b.visualVariableSizeUnitValue}},v={color:t?.toArray()??[0,0,0,0],width:s,referenceWidth:s,capType:n,joinType:u,miterLimit:e.miterLimit,hasSizeVV:y(b),effects:null,scaleInfo:null};if(null==o||"solid"===o){const e=f.ensureInstance(p.line,V,{zoomRange:!1}).createMeshInfo({params:v});m.push(e)}else if("none"!==o){const e=f.ensureInstance(p.texturedLine,V,{zoomRange:!1}).createMeshInfo({params:{...v,shouldScaleDash:!0,shouldSampleAlphaOnly:!1,isSDF:!0,sprite:{type:"sprite-rasterization-param",resource:{type:"dash",dashTemplate:i(o,n),capStyle:r(n)},overrides:[]}}});m.push(e)}return null!=e.marker&&m.push(...O(e.marker,e,a)),m}export{d as createDotDensityMeshSchemas,g as createHeatmapMeshSchemas,U as createLineInstance,x as createPieChartMeshSchemas,z as createSymbolMeshSchemas};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
function a(a){return!!(a.visualVariableSizeMinMaxValue||a.visualVariableSizeScaleStops||a.visualVariableSizeStops||a.visualVariableSizeUnitValue||a.visualVariableSizeOutlineScaleStops)}function i(a){return!!a.visualVariableRotation}export{i as hasRotationVVUniform,a as hasSizeVVUniform};
|