@arcgis/core 6.0.0-next.1 → 6.0.0-next.3
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/analysis/DimensionSimpleStyle.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/01803f76bc0d9f2cd566.js +1 -0
- package/assets/esri/core/workers/chunks/{a7325ebb7edf3273bb34.js → 12b84262dedc6b393136.js} +1 -1
- package/assets/esri/core/workers/chunks/19bb07942c265d64e321.js +1 -0
- package/assets/esri/core/workers/chunks/25e6013e2c095629b236.js +1 -0
- package/assets/esri/core/workers/chunks/261fea092ee7d27608a0.js +1 -0
- package/assets/esri/core/workers/chunks/347bf269c2b1583d2dca.js +1 -0
- package/assets/esri/core/workers/chunks/{8af92bcc075e03e3e902.js → 512628db534605a2a93e.js} +22 -22
- package/assets/esri/core/workers/chunks/5e4d6c283c2fa28db022.js +1 -0
- package/assets/esri/core/workers/chunks/64770e2cf41211b63fd2.js +1 -0
- package/assets/esri/core/workers/chunks/{ffb3728e6ac428f62af1.js → 71103472c45928bd730c.js} +1 -1
- package/assets/esri/core/workers/chunks/73a87fb270818aa75fc5.js +1 -0
- package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +1 -0
- package/assets/esri/core/workers/chunks/8313c626596a76c7449d.js +1 -0
- package/assets/esri/core/workers/chunks/84e9258a57d8c365f361.js +1 -0
- package/assets/esri/core/workers/chunks/{b0cfec11c758eed8095f.js → 87b4e916b2668203a6b0.js} +1 -1
- package/assets/esri/core/workers/chunks/{40fb1910f780e78c128c.js → 8b54589f173259c1ba55.js} +1 -1
- package/assets/esri/core/workers/chunks/{61ad8306ab79aca79505.js → 8ba32d3a0df4a206ef1c.js} +1 -1
- package/assets/esri/core/workers/chunks/{aa1054834738aef48bda.js → a0356702f2d3f787aeac.js} +1 -1
- package/assets/esri/core/workers/chunks/ac4cc49104d26c384e98.js +1 -0
- package/assets/esri/core/workers/chunks/b1008bdfca995ebf98ed.js +1 -0
- package/assets/esri/core/workers/chunks/bc7b9a5a8942aa3ea249.js +1 -0
- package/assets/esri/core/workers/chunks/d4926545193414cf2f16.js +1 -0
- package/assets/esri/core/workers/chunks/ec28e18275d36e71b438.js +1 -0
- package/assets/esri/core/workers/chunks/{050c4b212f2b5691db34.js → f762f70e7d39634ce797.js} +1 -1
- package/assets/esri/core/workers/chunks/{32d08b571bbd996d4e6d.js → fb4ff0ac2bc445fec413.js} +1 -1
- package/assets/esri/core/workers/chunks/{4310c8d2b40ae69c3681.js → fccbb902fe08448f91de.js} +1 -1
- package/assets/esri/libs/librust-parquet/pkg/parquet_bg.wasm +0 -0
- package/chunks/RibbonLine.glsl.js +9 -11
- package/config.js +1 -1
- package/core/screenUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/GeospatialPDFLayer.d.ts +2 -5
- package/layers/GeospatialPDFLayer.js +1 -1
- package/layers/ParquetLayer.d.ts +8 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/geospatialPDF/renderExtentUtils.js +1 -1
- package/package.json +3 -3
- package/smartMapping/renderers/support/spikeUtils.js +3 -3
- package/symbols/LineSymbol3DLayer.js +1 -1
- package/symbols/callouts/LineCallout3D.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/edges/Edges3D.js +1 -1
- package/symbols/support/Symbol3DIconOutline.js +1 -1
- package/symbols/support/Symbol3DOutline.js +1 -1
- package/symbols/support/Symbol3DTextBorder.js +1 -1
- package/symbols/support/defaults3D.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +2 -0
- package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
- package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +2 -0
- package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
- package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
- package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
- package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +23 -9
- package/views/DOMContainer.d.ts +1 -0
- package/views/draw/support/PluginContext.js +1 -1
- package/views/draw/support/managers/TooltipManager.js +1 -1
- package/views/interactive/snapping/SnappingVisualizer.js +1 -1
- package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
- package/views/layers/FeatureLikeLayerView.d.ts +1 -0
- package/views/layers/GraphicsLayerView.d.ts +1 -0
- package/views/layers/ImageryLayerView.d.ts +1 -0
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/types.d.ts +20 -0
- package/widgets/OrientedImageryViewer.d.ts +9 -1
- package/widgets/support/SelectionList/FeatureItem.d.ts +9 -2
- package/assets/esri/core/workers/chunks/01b00fbf6a6a22d573ee.js +0 -1
- package/assets/esri/core/workers/chunks/084222c00d263a534952.js +0 -1
- package/assets/esri/core/workers/chunks/1f3148cebee1961249a4.js +0 -1
- package/assets/esri/core/workers/chunks/37a636f61cfe89c6bfd1.js +0 -1
- package/assets/esri/core/workers/chunks/380cc538c1ab453870fa.js +0 -1
- package/assets/esri/core/workers/chunks/4848f195eb93cc93dd15.js +0 -1
- package/assets/esri/core/workers/chunks/750a9f3cdb96b966274a.js +0 -1
- package/assets/esri/core/workers/chunks/897fc8e78a0d54a5ff5a.js +0 -1
- package/assets/esri/core/workers/chunks/9432feca48ca3e5849bd.js +0 -1
- package/assets/esri/core/workers/chunks/956a40f40bde416efe93.js +0 -1
- package/assets/esri/core/workers/chunks/985b3f18cee87c3fe022.js +0 -1
- package/assets/esri/core/workers/chunks/ae2181805d8ba130babc.js +0 -1
- package/assets/esri/core/workers/chunks/ca7fb75e2c62e7d37122.js +0 -1
- package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +0 -1
- package/assets/esri/core/workers/chunks/d6d5a9e73ee43d6066d3.js +0 -1
- package/assets/esri/core/workers/chunks/e7c60bd85abbd36cdc64.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[909],{92009(e,a,r){r.d(a,{L:()=>u});var t=r(70333),n=r(56507),l=r(49186),i=r(17676),s=r(60694),y=r(20655),o=r(80812);async function u(e,a){let r=(0,s.qg)(e);if(!r)throw new l.A("invalid-url","Invalid scene service url");let u={...a,sceneServerUrl:r.url.path,layerId:r.sublayer??void 0};if(u.sceneLayerItem??=await async function(e){let a=(await c(e)).serviceItemId;if(!a)return null;let r=new o.default({id:a,apiKey:e.apiKey}),l=await async function(e){let a=t.id?.findServerInfo(e.sceneServerUrl);if(a?.owningSystemUrl)return a.owningSystemUrl;let r=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{let a=(await(0,n.A)(r,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(a)return a}catch(e){(0,i.QP)(e)}return null}(e);null!=l&&(r.portal=new y.A({url:l}));try{return await r.load({signal:e.signal})}catch(e){return(0,i.QP)(e),null}}(u),null==u.sceneLayerItem)return f(u.sceneServerUrl.replace("/SceneServer","/FeatureServer"),u);let d=await async function({sceneLayerItem:e,signal:a}){if(!e)return null;try{let r=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:a})).find(e=>"Feature Service"===e.type)||null;if(!r)return null;let t=new o.default({portal:r.portal,id:r.id});return await t.load(),t}catch(e){return(0,i.QP)(e),null}}(u);if(!d?.url)throw new l.A("related-service-not-found","Could not find feature service through portal item relationship");u.featureServiceItem=d;let m=await f(d.url,u);return m.portalItem=d,m}async function c(e){if(e.rootDocument)return e.rootDocument;let a={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{e.rootDocument=(await(0,n.A)(e.sceneServerUrl,a)).data}catch{e.rootDocument={}}return e.rootDocument}async function f(e,a){let r=(0,s.qg)(e);if(!r)throw new l.A("invalid-feature-service-url","Invalid feature service url");let t=r.url.path,i=a.layerId;if(null==i)return{serverUrl:t};let y=c(a),o=a.featureServiceItem?await a.featureServiceItem.fetchData("json"):null,u=(o?.layers?.[0]||o?.tables?.[0])?.customParameters,f=e=>{let r={query:{f:"json",...u},responseType:"json",authMode:e,signal:a.signal};return(0,n.A)(t,r)},d=f("anonymous").catch(()=>f("no-prompt")),[m,L]=await Promise.all([d,y]),w=L?.layers,h=m.data&&m.data.layers;if(!Array.isArray(h))throw Error("expected layers array");if(Array.isArray(w)){for(let e=0;e<Math.min(w.length,h.length);e++)if(w[e].id===i)return{serverUrl:t,layerId:h[e].id}}else if(null!=i&&i<h.length)return{serverUrl:t,layerId:h[i].id};throw Error("could not find matching associated sublayer")}},23154(e,a,r){r.d(a,{A6:()=>s,Aq:()=>L,Jo:()=>m,QM:()=>i});var t=r(77548),n=r(7861);const l=new Set(["Annotation Layer","Catalog Layer","Dimension Layer","Feature Layer","Oriented Imagery Layer"]);async function i(e,a){let{serviceJSON:r,layersJSON:t,...n}=await s(e,a);u(r);let l={serviceJSON:r,...n};return t&&(u(t),l.layersJSON=t),l}async function s(e,a){let{loadContext:r,...l}=a||{},i=r?await r.fetchServiceMetadata(e,l):await(0,n.L)(e,l),s=(0,t.G$)();d(i);let y={serviceJSON:i,preferredHost:s};if((i.currentVersion??0)<10.5)return y;let o=`${(0,t.$x)()??e}/layers`,u=r?await r.fetchServiceMetadata(o,l):await(0,n.L)(o,l);return d(u),y.layersJSON={layers:u.layers,tables:u.tables},y}function y(e){return l.has(e.type)}function o(e){return"Table"===e.type}function u(e){e.layers=e.layers?.filter(y),e.tables=e.tables?.filter(o)}function c(e){e.type||="Feature Layer"}function f(e){e.type||="Table"}function d(e){e.layers?.forEach(c),e.tables?.forEach(f)}function m(e){if(!e)return"FeatureLayer";switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"DimensionFeatureLayer";case"Annotation Layer":return"AnnotationFeatureLayer"}return null}function L(e,a){if(!e)return a?"Table":"ArcGISFeatureLayer";switch(e){case"Annotation Layer":return"ArcGISAnnotationLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"ArcGISDimensionLayer";case"Feature Layer":return"ArcGISFeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Parcel Layer":return"ParcelLayer";case"Table":return"Table";case"Topology Layer":return"TopologyLayer";case"Trace Network Layer":return"TraceNetworkLayer";case"Utility Network Layer":return"UtilityNetworkLayer";default:return null}}},2976(e,a,r){const t={AnnotationFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(2889),r.e(4674),r.e(7283),r.e(7537)]).then(()=>r(20737))).default,BingMapsLayer:async()=>(await Promise.all([r.e(6914),r.e(7865),r.e(5732),r.e(6684)]).then(()=>r(17029))).default,BuildingSceneLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(7005),r.e(9480),r.e(8505),r.e(9389)]).then(()=>r(82411))).default,CSVLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(5683)]).then(()=>r(68695))).default,CatalogLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(9789),r.e(4674),r.e(893),r.e(7283),r.e(7013),r.e(7067),r.e(3312)]).then(()=>r(83508))).default,DimensionFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(2889),r.e(4674),r.e(7283),r.e(8361)]).then(()=>r(25077))).default,DimensionLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(3813)]).then(()=>r(71493))).default,ElevationLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(8732),r.e(3169)]).then(()=>r(38732))).default,FeatureLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(6217)]).then(()=>r(18589))).default,GaussianSplatLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2047),r.e(6475)]).then(()=>r(36475))).default,GeoJSONLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(221)]).then(()=>r(15481))).default,GeoRSSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(9657)]).then(()=>r(63201))).default,GeospatialPDFLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9187),r.e(8885),r.e(7865),r.e(9117),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(3299),r.e(9944),r.e(2754),r.e(6007),r.e(9859),r.e(5485),r.e(4642),r.e(7063)]).then(()=>r(87063))).default,GroupLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5356),r.e(6569)]).then(()=>r(85989))).default,ImageryLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(893),r.e(9944),r.e(6007),r.e(5676),r.e(2254),r.e(7772)]).then(()=>r(87772))).default,ImageryTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(9944),r.e(2754),r.e(6007),r.e(5676),r.e(9859),r.e(9235),r.e(2254),r.e(1003),r.e(2806),r.e(7870)]).then(()=>r(90124))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(2047),r.e(6451),r.e(9229)]).then(()=>r(61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(7552),r.e(1843),r.e(7005),r.e(9480),r.e(2047),r.e(8197),r.e(6451),r.e(3527)]).then(()=>r(49013))).default,KMLLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(1214),r.e(5051),r.e(6854),r.e(4859)]).then(()=>r(162))).default,KnowledgeGraphLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(9696),r.e(359),r.e(5752),r.e(6151),r.e(3902),r.e(4934),r.e(8692)]).then(()=>r(28692))).default,LineOfSightLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(4470),r.e(9695)]).then(()=>r(49695))).default,LinkChartLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(9696),r.e(359),r.e(5752),r.e(6151),r.e(3902),r.e(4934),r.e(3309)]).then(()=>r(93309))).default,MapImageLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(4674),r.e(893),r.e(8470),r.e(2241)]).then(()=>r(7656))).default,MapNotesLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(6151),r.e(4403)]).then(()=>r(96299))).default,MediaLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5485),r.e(3121)]).then(()=>r(99557))).default,OGCFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(8505),r.e(5977)]).then(()=>r(65977))).default,OpenStreetMapLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(7269),r.e(349)]).then(()=>r(40349))).default,OrientedImageryLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(1402)]).then(()=>r(16852))).default,ParquetLayer:async()=>(await Promise.all([r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(3819),r.e(3483),r.e(2100)]).then(()=>r(99680))).default,PointCloudLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(7984),r.e(7885)]).then(()=>r(77885))).default,RouteLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(1214),r.e(5051),r.e(6854),r.e(4779)]).then(()=>r(39622))).default,SceneLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(7005),r.e(9480),r.e(8505),r.e(4844)]).then(()=>r(2e4))).default,SketchLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(6151),r.e(4152)]).then(()=>r(15056))).default,StreamLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(557)]).then(()=>r(79457))).default,SubtypeGroupLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(2889),r.e(9789),r.e(4674),r.e(7283),r.e(1951)]).then(()=>r(97483))).default,TileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(4674),r.e(893),r.e(8470),r.e(6811)]).then(()=>r(71756))).default,UnknownLayer:async()=>(await Promise.all([r.e(9917),r.e(146)]).then(()=>r(146))).default,UnsupportedLayer:async()=>(await Promise.all([r.e(9917),r.e(5165)]).then(()=>r(45165))).default,VectorTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(9953),r.e(5228),r.e(7499),r.e(9260)]).then(()=>r(50638))).default,VideoLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(3910),r.e(5128),r.e(4674),r.e(575)]).then(()=>r(86875))).default,ViewshedLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(4470),r.e(6650)]).then(()=>r(96650))).default,VoxelLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(167)]).then(()=>r(90167))).default,WCSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(9944),r.e(2754),r.e(6007),r.e(5676),r.e(9859),r.e(9235),r.e(2254),r.e(2806),r.e(2061)]).then(()=>r(20521))).default,WFSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9281)]).then(()=>r(21901))).default,WMSLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(1904)]).then(()=>r(51904))).default,WMTSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(7269),r.e(309)]).then(()=>r(20309))).default,WebTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(7269)]).then(()=>r(47314))).default};r.d(a,["U",0,t])},7861(e,a,r){r.d(a,{L:()=>n});var t=r(56507);async function n(e,a){return(await(0,t.A)(e,{responseType:"json",query:{f:"json",...a?.customParameters,token:a?.apiKey}})).data}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[909],{92009(e,a,r){r.d(a,{L:()=>u});var t=r(70333),n=r(56507),l=r(49186),i=r(17676),s=r(60694),y=r(20655),o=r(80812);async function u(e,a){let r=(0,s.qg)(e);if(!r)throw new l.A("invalid-url","Invalid scene service url");let u={...a,sceneServerUrl:r.url.path,layerId:r.sublayer??void 0};if(u.sceneLayerItem??=await async function(e){let a=(await c(e)).serviceItemId;if(!a)return null;let r=new o.default({id:a,apiKey:e.apiKey}),l=await async function(e){let a=t.id?.findServerInfo(e.sceneServerUrl);if(a?.owningSystemUrl)return a.owningSystemUrl;let r=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{let a=(await(0,n.A)(r,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(a)return a}catch(e){(0,i.QP)(e)}return null}(e);null!=l&&(r.portal=new y.A({url:l}));try{return await r.load({signal:e.signal})}catch(e){return(0,i.QP)(e),null}}(u),null==u.sceneLayerItem)return f(u.sceneServerUrl.replace("/SceneServer","/FeatureServer"),u);let d=await async function({sceneLayerItem:e,signal:a}){if(!e)return null;try{let r=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:a})).find(e=>"Feature Service"===e.type)||null;if(!r)return null;let t=new o.default({portal:r.portal,id:r.id});return await t.load(),t}catch(e){return(0,i.QP)(e),null}}(u);if(!d?.url)throw new l.A("related-service-not-found","Could not find feature service through portal item relationship");u.featureServiceItem=d;let m=await f(d.url,u);return m.portalItem=d,m}async function c(e){if(e.rootDocument)return e.rootDocument;let a={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{e.rootDocument=(await(0,n.A)(e.sceneServerUrl,a)).data}catch{e.rootDocument={}}return e.rootDocument}async function f(e,a){let r=(0,s.qg)(e);if(!r)throw new l.A("invalid-feature-service-url","Invalid feature service url");let t=r.url.path,i=a.layerId;if(null==i)return{serverUrl:t};let y=c(a),o=a.featureServiceItem?await a.featureServiceItem.fetchData("json"):null,u=(o?.layers?.[0]||o?.tables?.[0])?.customParameters,f=e=>{let r={query:{f:"json",...u},responseType:"json",authMode:e,signal:a.signal};return(0,n.A)(t,r)},d=f("anonymous").catch(()=>f("no-prompt")),[m,L]=await Promise.all([d,y]),w=L?.layers,h=m.data&&m.data.layers;if(!Array.isArray(h))throw Error("expected layers array");if(Array.isArray(w)){for(let e=0;e<Math.min(w.length,h.length);e++)if(w[e].id===i)return{serverUrl:t,layerId:h[e].id}}else if(null!=i&&i<h.length)return{serverUrl:t,layerId:h[i].id};throw Error("could not find matching associated sublayer")}},23154(e,a,r){r.d(a,{A6:()=>s,Aq:()=>L,Jo:()=>m,QM:()=>i});var t=r(77548),n=r(7861);const l=new Set(["Annotation Layer","Catalog Layer","Dimension Layer","Feature Layer","Oriented Imagery Layer"]);async function i(e,a){let{serviceJSON:r,layersJSON:t,...n}=await s(e,a);u(r);let l={serviceJSON:r,...n};return t&&(u(t),l.layersJSON=t),l}async function s(e,a){let{loadContext:r,...l}=a||{},i=r?await r.fetchServiceMetadata(e,l):await(0,n.L)(e,l),s=(0,t.G$)();d(i);let y={serviceJSON:i,preferredHost:s};if((i.currentVersion??0)<10.5)return y;let o=`${(0,t.$x)()??e}/layers`,u=r?await r.fetchServiceMetadata(o,l):await(0,n.L)(o,l);return d(u),y.layersJSON={layers:u.layers,tables:u.tables},y}function y(e){return l.has(e.type)}function o(e){return"Table"===e.type}function u(e){e.layers=e.layers?.filter(y),e.tables=e.tables?.filter(o)}function c(e){e.type||="Feature Layer"}function f(e){e.type||="Table"}function d(e){e.layers?.forEach(c),e.tables?.forEach(f)}function m(e){if(!e)return"FeatureLayer";switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"DimensionFeatureLayer";case"Annotation Layer":return"AnnotationFeatureLayer"}return null}function L(e,a){if(!e)return a?"Table":"ArcGISFeatureLayer";switch(e){case"Annotation Layer":return"ArcGISAnnotationLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"ArcGISDimensionLayer";case"Feature Layer":return"ArcGISFeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Parcel Layer":return"ParcelLayer";case"Table":return"Table";case"Topology Layer":return"TopologyLayer";case"Trace Network Layer":return"TraceNetworkLayer";case"Utility Network Layer":return"UtilityNetworkLayer";default:return null}}},2976(e,a,r){const t={AnnotationFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(2889),r.e(4674),r.e(7283),r.e(7537)]).then(()=>r(20737))).default,BingMapsLayer:async()=>(await Promise.all([r.e(6914),r.e(7865),r.e(5732),r.e(6684)]).then(()=>r(17029))).default,BuildingSceneLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(7005),r.e(9480),r.e(8505),r.e(9389)]).then(()=>r(82411))).default,CSVLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(5683)]).then(()=>r(68695))).default,CatalogLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(9789),r.e(4674),r.e(893),r.e(7283),r.e(7013),r.e(7067),r.e(3312)]).then(()=>r(83508))).default,DimensionFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(2889),r.e(4674),r.e(7283),r.e(8361)]).then(()=>r(25077))).default,DimensionLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(3813)]).then(()=>r(71493))).default,ElevationLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(8732),r.e(3169)]).then(()=>r(38732))).default,FeatureLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(6217)]).then(()=>r(18589))).default,GaussianSplatLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2047),r.e(6475)]).then(()=>r(36475))).default,GeoJSONLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(221)]).then(()=>r(15481))).default,GeoRSSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(9657)]).then(()=>r(63201))).default,GeospatialPDFLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9187),r.e(8885),r.e(7865),r.e(9117),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(3299),r.e(9944),r.e(2754),r.e(6841),r.e(9859),r.e(5485),r.e(4642),r.e(7063)]).then(()=>r(87063))).default,GroupLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5356),r.e(6569)]).then(()=>r(85989))).default,ImageryLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(893),r.e(9944),r.e(6841),r.e(5676),r.e(3452),r.e(7772)]).then(()=>r(87772))).default,ImageryTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(9944),r.e(2754),r.e(6841),r.e(5676),r.e(9859),r.e(9235),r.e(3452),r.e(1003),r.e(2806),r.e(7870)]).then(()=>r(90124))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(2047),r.e(6451),r.e(9229)]).then(()=>r(61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(7552),r.e(1843),r.e(7005),r.e(9480),r.e(2047),r.e(8197),r.e(6451),r.e(3527)]).then(()=>r(49013))).default,KMLLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(1214),r.e(5051),r.e(6854),r.e(4859)]).then(()=>r(162))).default,KnowledgeGraphLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(9696),r.e(359),r.e(5752),r.e(6151),r.e(3902),r.e(4934),r.e(8692)]).then(()=>r(28692))).default,LineOfSightLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(4470),r.e(9695)]).then(()=>r(49695))).default,LinkChartLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(9696),r.e(359),r.e(5752),r.e(6151),r.e(3902),r.e(4934),r.e(3309)]).then(()=>r(93309))).default,MapImageLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(4674),r.e(893),r.e(8470),r.e(2241)]).then(()=>r(7656))).default,MapNotesLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(6151),r.e(4403)]).then(()=>r(96299))).default,MediaLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5485),r.e(3121)]).then(()=>r(99557))).default,OGCFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(8505),r.e(5977)]).then(()=>r(65977))).default,OpenStreetMapLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(7269),r.e(349)]).then(()=>r(40349))).default,OrientedImageryLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(1402)]).then(()=>r(16852))).default,ParquetLayer:async()=>(await Promise.all([r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(3819),r.e(3483),r.e(2100)]).then(()=>r(99680))).default,PointCloudLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(7984),r.e(7885)]).then(()=>r(77885))).default,RouteLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(1214),r.e(5051),r.e(6854),r.e(4779)]).then(()=>r(39622))).default,SceneLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(7005),r.e(9480),r.e(8505),r.e(4844)]).then(()=>r(2e4))).default,SketchLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(6151),r.e(4152)]).then(()=>r(15056))).default,StreamLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(557)]).then(()=>r(79457))).default,SubtypeGroupLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(2889),r.e(9789),r.e(4674),r.e(7283),r.e(1951)]).then(()=>r(97483))).default,TileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(4674),r.e(893),r.e(8470),r.e(6811)]).then(()=>r(71756))).default,UnknownLayer:async()=>(await Promise.all([r.e(9917),r.e(146)]).then(()=>r(146))).default,UnsupportedLayer:async()=>(await Promise.all([r.e(9917),r.e(5165)]).then(()=>r(45165))).default,VectorTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(9953),r.e(5228),r.e(7499),r.e(9260)]).then(()=>r(50638))).default,VideoLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(3910),r.e(5128),r.e(4674),r.e(575)]).then(()=>r(86875))).default,ViewshedLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(4470),r.e(6650)]).then(()=>r(96650))).default,VoxelLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(167)]).then(()=>r(90167))).default,WCSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(9944),r.e(2754),r.e(6841),r.e(5676),r.e(9859),r.e(9235),r.e(3452),r.e(2806),r.e(2061)]).then(()=>r(20521))).default,WFSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(9953),r.e(3910),r.e(5128),r.e(564),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(6854),r.e(1017),r.e(9281)]).then(()=>r(21901))).default,WMSLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2869),r.e(3910),r.e(5128),r.e(1904)]).then(()=>r(51904))).default,WMTSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(7269),r.e(309)]).then(()=>r(20309))).default,WebTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(7269)]).then(()=>r(47314))).default};r.d(a,["U",0,t])},7861(e,a,r){r.d(a,{L:()=>n});var t=r(56507);async function n(e,a){return(await(0,t.A)(e,{responseType:"json",query:{f:"json",...a?.customParameters,token:a?.apiKey}})).data}}}]);
|
|
Binary file
|
|
@@ -336,9 +336,10 @@ float stippleDistanceToScreenRatio = computeWorldToScreenRatio(segmentCenter);`)
|
|
|
336
336
|
float startPseudoScreen = u0 * discreteStippleDistanceToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):M.main.add(S`float startPseudoScreen = segmentStartRender * discreteStippleDistanceToScreenRatio;
|
|
337
337
|
float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceToScreenRatio;`),M.uniforms.add(new x(`stipplePatternPixelSize`,e=>i(e))),M.main.add(S`
|
|
338
338
|
float patternLength = patternLineSize * stipplePatternPixelSize;
|
|
339
|
+
vec2 stippleDistanceLimits;
|
|
339
340
|
|
|
340
341
|
${C(G,S`
|
|
341
|
-
|
|
342
|
+
stippleDistanceLimits = vec2(segmentStartRender, segmentStartRender + segmentLengthRender);
|
|
342
343
|
vStipplePatternStretch = 1.0;
|
|
343
344
|
|
|
344
345
|
${C(K,S`
|
|
@@ -349,10 +350,10 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
349
350
|
`,S`
|
|
350
351
|
// Compute the coordinates at both start and end of the line segment, because we need both to clamp to in the
|
|
351
352
|
// fragment shader
|
|
352
|
-
|
|
353
|
+
stippleDistanceLimits = computeStippleDistanceLimits(startPseudoScreen, segmentLengthPseudoScreen, segmentLengthScreen, patternLength);
|
|
353
354
|
`)}
|
|
354
355
|
|
|
355
|
-
vStippleDistance = mix(
|
|
356
|
+
vStippleDistance = mix(stippleDistanceLimits.x, stippleDistanceLimits.y, isEndVertex);
|
|
356
357
|
|
|
357
358
|
// Adjust the coordinate to the displaced position (the pattern is shortened/overextended on the in/outside of
|
|
358
359
|
// joins)
|
|
@@ -363,28 +364,25 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
363
364
|
float stippleDisplacementFactor = dot(segment.xy, stippleDisplacement.xy) / (segmentLengthScreenDouble * segmentLengthScreenDouble);
|
|
364
365
|
|
|
365
366
|
// Apply this offset to the actual vertex coordinate (can be screen or pseudo-screen space)
|
|
366
|
-
vStippleDistance += (stippleDisplacementFactor - isEndVertex) * (
|
|
367
|
+
vStippleDistance += (stippleDisplacementFactor - isEndVertex) * (stippleDistanceLimits.y - stippleDistanceLimits.x);
|
|
367
368
|
}
|
|
368
369
|
|
|
369
370
|
${C(Z,S`
|
|
370
371
|
float segmentStartInverseW = 1.0 / mix(pos.w, prev.w, isEndVertex);
|
|
371
372
|
float segmentEndInverseW = 1.0 / mix(next.w, pos.w, isEndVertex);
|
|
372
373
|
vStipplePerspective = noPerspectiveWrite(
|
|
373
|
-
vec4(
|
|
374
|
+
vec4(stippleDistanceLimits, segmentStartInverseW, segmentEndInverseW),
|
|
374
375
|
pos.w
|
|
375
376
|
);
|
|
376
377
|
`)}
|
|
377
378
|
|
|
378
379
|
// Cancel out perspective-correct interpolation for screen-space stipple distances.
|
|
379
|
-
|
|
380
|
+
vStippleLimitsAndCaps.xy = noPerspectiveWrite(stippleDistanceLimits, pos.w);
|
|
380
381
|
vStippleDistance = noPerspectiveWrite(vStippleDistance, pos.w);
|
|
381
382
|
|
|
382
383
|
// Disable stipple distance limits on caps
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
isStartVertex ?
|
|
386
|
-
vec2(-1e34, vStippleDistanceLimits.y) :
|
|
387
|
-
vec2(vStippleDistanceLimits.x, 1e34);
|
|
384
|
+
vStippleLimitsAndCaps.zw = isJoin ? vec2(0.0) :
|
|
385
|
+
isStartVertex ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
|
|
388
386
|
`)),M.main.add(S`
|
|
389
387
|
// Convert back into NDC
|
|
390
388
|
pos.xy = (pos.xy / viewport.zw) * pos.w;
|
package/config.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@6.0.0-next.
|
|
2
|
+
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@6.0.0-next.2/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
|
package/core/screenUtils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../geometry/Polygon.js";const t=/^-?(\d+(\.\d+)?)\s*((px)|(pt))?$/i;function
|
|
2
|
+
import e from"../geometry/Polygon.js";const t=/^-?(\d+(\.\d+)?)\s*((px)|(pt))?$/i,n=a(1),r=i(1);function i(e){return e?e/72*96:0}function a(e){return e?e*72/96:0}function o(e){if(typeof e==`string`){let n=e.match(t);if(n){let t=Number(n[1]),r=n[3]&&n[3].toLowerCase(),i=e.startsWith(`-`),o=r===`px`?a(t):t;return i?-o:o}return console.warn(`screenUtils.toPt: input not recognized!`),null}return e}function s(e=0,t=0){return{x:e,y:t}}function c(e=0,t=0,n=0,r=0){return{x:e,y:t,width:n,height:r}}function l(e){return e.map(e=>s(e[0],e[1]))}function u(e){return e?s(e.x,e.y):null}function d(e=0,t=0){return[e,t]}function f(e=0,t=0){return{x:e,y:t}}function p(e=0,t=0){return h([e,t])}function m(e=0,t=0,n=0){return g([e,t,n])}function h(e){return e}function g(e){return e}function _(e){return e}function v(e,t){return t?(t.x=e[0],t.y=e[1],t):{x:e[0],y:e[1]}}function y(e,t){return t?(t[0]=e.x,t[1]=e.y,t.length>2&&(t[2]=0),t):[e.x,e.y]}function b(e,t){return e===t||e==null&&t==null||e?.x===t?.x&&e?.y===t?.y}function x(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}function S(e,t){return Math.sqrt(x(e,t))}function C(e){return`x`in e&&`y`in e&&`width`in e&&`height`in e&&!w(e)}function w(e){return Array.isArray(e)}function T(e){return!Array.isArray(e)&&`x`in e&&`y`in e&&!C(e)&&!w(e)}function E(e){return e&&Number.isFinite(e.x)&&Number.isFinite(e.y)}function D(e){return e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.width)&&Number.isFinite(e.height)}function O(t,n){let{x:r,y:i,width:a,height:o}=n,c=t.toMap(s(r,i)),l=t.toMap(s(r+a,i)),u=t.toMap(s(r+a,i+o)),d=t.toMap(s(r,i+o));return new e({rings:[[c.toArray(),l.toArray(),u.toArray(),d.toArray(),c.toArray()]],spatialReference:c.spatialReference})}function k(e,t,n){let r=Math.max(0,e.x),i=Math.max(0,e.y),a=Math.min(t,e.x+e.width)-r,o=Math.min(n,e.y+e.height)-i;return{x:r,y:i,width:Math.max(0,a),height:Math.max(0,o)}}export{h as castRenderScreenPointArray,g as castRenderScreenPointArray3,_ as castScreenPointArray,k as clipRectToView,u as cloneScreenPoint,f as createRenderScreenPoint,p as createRenderScreenPointArray,m as createRenderScreenPointArray3,s as createScreenPoint,d as createScreenPointArray,l as createScreenPolygon,c as createScreenRect,T as isScreenPoint,w as isScreenPolygon,C as isScreenRect,E as isValidScreenPoint,D as isValidScreenRect,n as onePixelInPoints,r as onePointInPixels,i as pt2px,a as px2pt,S as screenDistance,v as screenPointArrayToObject,b as screenPointEqual,y as screenPointObjectToArray,O as screenRectToPolygon,x as squaredScreenDistance,o as toPt};
|
package/kernel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import has from"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`6.0.0-next.
|
|
2
|
+
import has from"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`6.0.0-next.2`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}has(`host-webworker`)||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has(`host-webworker`);export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
|
|
@@ -3,12 +3,11 @@ import type Layer from "./Layer.js";
|
|
|
3
3
|
import type TileInfo from "./support/TileInfo.js";
|
|
4
4
|
import type { MultiOriginJSONSupportMixin } from "../core/MultiOriginJSONSupport.js";
|
|
5
5
|
import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
|
|
6
|
-
import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js";
|
|
7
6
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
|
|
8
7
|
import type { GeospatialPDFDataUnion } from "./support/types.js";
|
|
9
8
|
import type { LayerProperties } from "./Layer.js";
|
|
10
9
|
|
|
11
|
-
export interface GeospatialPDFLayerProperties extends LayerProperties,
|
|
10
|
+
export interface GeospatialPDFLayerProperties extends LayerProperties, ScaleRangeLayerProperties, BlendLayerProperties, Partial<Pick<GeospatialPDFLayer, "clippedToNeatline" | "data">> {}
|
|
12
11
|
|
|
13
12
|
export default class GeospatialPDFLayer extends GeospatialPDFLayerSuperclass {
|
|
14
13
|
constructor(properties?: GeospatialPDFLayerProperties);
|
|
@@ -26,7 +25,5 @@ export default class GeospatialPDFLayer extends GeospatialPDFLayerSuperclass {
|
|
|
26
25
|
get tileInfo(): TileInfo | null | undefined;
|
|
27
26
|
/** The layer type provides a convenient way to check the type of the layer without the need to import specific layer modules. */
|
|
28
27
|
get type(): "geospatial-pdf";
|
|
29
|
-
/** The URL to the PDF file. */
|
|
30
|
-
accessor url: string;
|
|
31
28
|
}
|
|
32
|
-
declare const GeospatialPDFLayerSuperclass: typeof Layer & typeof MultiOriginJSONSupportMixin & typeof
|
|
29
|
+
declare const GeospatialPDFLayerSuperclass: typeof Layer & typeof MultiOriginJSONSupportMixin & typeof ScaleRangeLayer & typeof BlendLayer
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../core/Error.js";import
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../core/Error.js";import{MultiOriginJSONSupportMixin as n}from"../core/MultiOriginJSONSupport.js";import{property as r,subclass as i}from"../core/accessorSupport/decorators.js";import a from"../geometry/SpatialReference.js";import{getInfo as o}from"../geometry/support/spatialReferenceUtils.js";import s from"./Layer.js";import{BlendLayer as c}from"./mixins/BlendLayer.js";import{RasterJobHandlerMixin as l}from"./mixins/RasterJobHandlerMixin.js";import{ScaleRangeLayer as u}from"./mixins/ScaleRangeLayer.js";import d from"./raster/datasets/GeospatialPDFRaster.js";import{clip as f}from"./raster/functions/clipUtils.js";import p from"./support/PortalItemData.js";import m from"./support/TileInfo.js";let h=class extends c(u(l(n(s)))){constructor(e){super(e),this.serviceRasterInfo=null,this._frame=null,this._objectURL=null,this.clippedToNeatline=!1,this.data=null,this.raster=null,this.spatialReference=null,this.type=`geospatial-pdf`}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}destroy(){this._shutdownJobHandler(),this.raster?.destroy(),this._objectURL&&=(URL.revokeObjectURL(this._objectURL),null)}get fullExtent(){return this.serviceRasterInfo?.extent}async fetchImageBitmapTile(){throw new t(`geospatial-pdf-layer:fetch-image-bitmap-tile`,`GeospatialPDFLayer does not expose pre-rendered image tile URLs.`)}async fetchPixels(e,t,n,r={}){return g(this),await this._initJobHandler(),this.raster.fetchPixels(e,Math.round(t),Math.round(n),r)}async fetchTile(e,n,r,i={}){if(g(this),i.requestAsImageElement)throw new t(`geospatial-pdf-layer:fetch-tile`,`GeospatialPDFLayer does not support requestAsImageElement.`);await this._initJobHandler();let a=await this.raster.fetchTile(e,n,r,i);return this.clippedToNeatline&&a.pixelBlock&&this._frame&&a.srcExtent&&(a.pixelBlock=await f(a.pixelBlock,a.srcExtent,this._frame.sourceNeatlinePolygon)),a}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent?.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}getCompatibleTileInfo(e,t,n=!1){if(!this.loaded||t==null)return null;if(n&&e.equals(this.spatialReference))return this.tileInfo;let r=o(e);return m.create({size:256,spatialReference:e,origin:r?{x:r.origin[0],y:r.origin[1]}:{x:t.xmin,y:t.ymax}})}getRawDisplayBandIds(){return g(this),[0,1,2]}async _initJobHandler(){if(!this._rasterJobHandler)return super._initJobHandler().then(()=>{this._rasterJobHandler&&(g(this),this.raster.rasterJobHandler=this._rasterJobHandler)}).catch(()=>{})}_shutdownJobHandler(){super._shutdownJobHandler(),this.raster&&(this.raster.rasterJobHandler=null)}async _getDataUrl(e){let{data:n}=this;if(typeof n==`string`)return n;if(n instanceof File)return this._objectURL=URL.createObjectURL(n),this._objectURL;if(n instanceof p){await n.portalItem.load({signal:e?.signal});let r=n.portalItem.url;if(!r)throw new t(`geospatial-pdf-layer:load`,`Portal item does not have a valid data URL.`);return r}throw new t(`geospatialpdf-layer:missing-data`,`A data source must be specified.`)}async _load(e){let t=await this._getDataUrl(e);await this._openRaster(t,e?.signal)}async _openRaster(e,n){let r=new d({url:e});if(await r.open({signal:n}),!r.rasterInfo)throw r.destroy(),new t(`geospatialpdf-layer:load`,`cannot load resources on `+e);let{rasterInfo:i}=r;this._set(`serviceRasterInfo`,i),this.setAtOrigin(`spatialReference`,i.spatialReference,`service`),this.setAtOrigin(`tileInfo`,i.storageInfo.tileInfo,`service`),this._frame=r.frame,this.raster=r}};e([r()],h.prototype,`serviceRasterInfo`,void 0),e([r({clonable:!1})],h.prototype,`_compatibleFullExtent`,void 0),e([r({type:Boolean})],h.prototype,`clippedToNeatline`,void 0),e([r()],h.prototype,`data`,void 0),e([r({json:{read:!1}})],h.prototype,`fullExtent`,null),e([r()],h.prototype,`raster`,void 0),e([r({readOnly:!0,type:a,json:{read:!1}})],h.prototype,`spatialReference`,void 0),e([r({type:m,readOnly:!0})],h.prototype,`tileInfo`,void 0),e([r({readOnly:!0,value:`geospatial-pdf`})],h.prototype,`type`,void 0),h=e([i(`esri.layers.GeospatialPDFLayer`)],h);function g(e){if(!e.raster||!e.serviceRasterInfo)throw new t(`imagery-tile`,`no raster`)}const _=h;export{_ as default};
|
package/layers/ParquetLayer.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ import type { ParquetFilesDataProperties } from "./support/ParquetFilesData.js";
|
|
|
46
46
|
import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
|
|
47
47
|
import type { LayerProperties } from "./Layer.js";
|
|
48
48
|
|
|
49
|
-
export interface ParquetLayerProperties extends LayerProperties, CustomParametersMixinProperties, OperationalLayerProperties, RefreshableLayerProperties, ScaleRangeLayerProperties, DataSeriesLayerProperties, OrderedLayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, FeatureReductionLayerProperties, Partial<Pick<ParquetLayer, "copyright" | "definitionExpression" | "geometryType" | "labelsVisible" | "legendEnabled" | "outFields" | "popupEnabled">> {
|
|
49
|
+
export interface ParquetLayerProperties extends LayerProperties, CustomParametersMixinProperties, OperationalLayerProperties, RefreshableLayerProperties, ScaleRangeLayerProperties, DataSeriesLayerProperties, OrderedLayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, FeatureReductionLayerProperties, Partial<Pick<ParquetLayer, "charts" | "copyright" | "definitionExpression" | "geometryType" | "labelsVisible" | "legendEnabled" | "outFields" | "popupEnabled">> {
|
|
50
50
|
/**
|
|
51
51
|
* The data source for the ParquetLayer. Set this property to [parquet files](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetFilesData/)
|
|
52
52
|
* or a [portal item](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetPortalItemData/) to define which Parquet content the layer loads.
|
|
@@ -332,6 +332,12 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
|
|
|
332
332
|
constructor(properties?: ParquetLayerProperties);
|
|
333
333
|
/** Describes the layer's supported capabilities. */
|
|
334
334
|
get capabilities(): FeatureLayerCapabilities | null | undefined;
|
|
335
|
+
/**
|
|
336
|
+
* Array of Chart Items of type WebMapWebChart available on the parquet layer.
|
|
337
|
+
*
|
|
338
|
+
* @since 5.2
|
|
339
|
+
*/
|
|
340
|
+
accessor charts: object[] | null | undefined;
|
|
335
341
|
/** Copyright information for the layer. */
|
|
336
342
|
accessor copyright: string | null | undefined;
|
|
337
343
|
/**
|
|
@@ -622,6 +628,7 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
|
|
|
622
628
|
* });
|
|
623
629
|
*/
|
|
624
630
|
get urls(): Collection<string>;
|
|
631
|
+
/** @deprecated */
|
|
625
632
|
set urls(value: ReadonlyArrayOrCollection<string> | string[] | null | undefined);
|
|
626
633
|
/**
|
|
627
634
|
* Creates a popup template for the layer, populated with all the fields of the layer.
|
package/layers/ParquetLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as c}from"../core/object.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import h from"../geometry/SpatialReference.js";import g from"../graphic/ParquetGraphicOrigin.js";import _ from"./Layer.js";import{ParquetSource as v}from"./graphics/sources/ParquetSource.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as b}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as x}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as S}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as C}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{OrderedLayer as T}from"./mixins/OrderedLayer.js";import{RefreshableLayer as E}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as O,legendEnabled as k,popupEnabled as A}from"./support/commonProperties.js";import j from"./support/FeatureTemplate.js";import M from"./support/Field.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import{fixRendererFields as P}from"./support/fieldUtils.js";import F from"./support/GeometryEncodingLocation.js";import I from"./support/GeometryEncodingWkb.js";import L from"./support/LabelClass.js";import{reader as R}from"./support/labelingInfo.js";import z from"./support/ParquetFilesData.js";import B from"./support/ParquetPortalItemData.js";import{parquetGeometryTypeKebabDict as V}from"./support/parquetUtils.js";import{rendererTypes as H}from"../renderers/support/typeUtils.js";import U from"../rest/support/Query.js";import{createPopupTemplate as W}from"../support/popupUtils.js";import{utc as G}from"../time/constants.js";const K=N(),q=`__OBJECTID`,J={types:{key:`type`,base:null,typeMap:{wkb:I,location:F}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};let Y=class extends C(S(y(T(x(D(E(w(s(b(n(_))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new g(this),this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=q,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null}initialize(){this.addHandles(l(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return G}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==q||e.type!==`oid`).map(e=>e.toJSON(r));c(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){P(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?u(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==`Parquet Feature Layer`){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new z({urls:this._normalizeUrls(e)})}createPopupTemplate(e){return W(this,e)}createQuery(){let e=new U;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new v({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return U.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),P(this.renderer,this.fieldsIndex),this.spatialReference??=h.WGS84}};e([d({readOnly:!0,json:{read:!1,write:!1}})],Y.prototype,`capabilities`,null),e([d({type:String})],Y.prototype,`copyright`,void 0),e([d({readOnly:!0})],Y.prototype,`dateFieldsTimeZone`,null),e([d({readOnly:!0})],Y.prototype,`defaultPopupTemplate`,null),e([d({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Y.prototype,`definitionExpression`,void 0),e([d({type:Boolean})],Y.prototype,`returnM`,void 0),e([d({type:Boolean})],Y.prototype,`returnZ`,void 0),e([d()],Y.prototype,`displayOptimization`,void 0),e([d({type:[M],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],Y.prototype,`fields`,void 0),e([p(`fields`)],Y.prototype,`writeFields`,null),e([d(K.fieldsIndex)],Y.prototype,`fieldsIndex`,void 0),e([d(J)],Y.prototype,`geometryEncoding`,void 0),e([d({type:m,json:{name:`extent`}})],Y.prototype,`fullExtent`,void 0),e([d({type:V.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:V.read},write:{writer:V.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:V.read}}}}})],Y.prototype,`geometryType`,void 0),e([d({readOnly:!0,clonable:!1})],Y.prototype,`graphicOrigin`,void 0),e([d(O)],Y.prototype,`labelsVisible`,void 0),e([d({type:[L],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:R},write:!0}})],Y.prototype,`labelingInfo`,void 0),e([d(k)],Y.prototype,`legendEnabled`,void 0),e([d()],Y.prototype,`file`,void 0),e([d({type:String,readOnly:!0})],Y.prototype,`objectIdField`,void 0),e([d({type:[`ParquetLayer`]})],Y.prototype,`operationalLayerType`,void 0),e([d(K.outFields)],Y.prototype,`outFields`,void 0),e([d(A)],Y.prototype,`popupEnabled`,void 0),e([d({type:t,json:{name:`popupInfo`,write:!0}})],Y.prototype,`popupTemplate`,void 0),e([d({types:H,json:{name:`layerDefinition.drawingInfo.renderer`,write:!0,origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],Y.prototype,`renderer`,null),e([d({type:v,readOnly:!0,cast:null,json:{read:!1}})],Y.prototype,`source`,void 0),e([d({type:h,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],Y.prototype,`spatialReference`,void 0),e([d({type:[j]})],Y.prototype,`templates`,void 0),e([d()],Y.prototype,`title`,null),e([d({json:{read:!1},readOnly:!0})],Y.prototype,`type`,void 0),e([d({types:{key:`type`,base:null,typeMap:{files:z,"portal-item":B}},json:{name:`source`,origins:{"web-map":{write:{target:`source`,ignoreOrigin:!0}}}}})],Y.prototype,`data`,void 0),e([p(`web-map`,`data`)],Y.prototype,`writeData`,null),e([d({type:r.ofType(String),json:{read:!1,write:!1}})],Y.prototype,`urls`,null),Y=e([f(`esri.layers.ParquetLayer`)],Y);export{Y as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as c}from"../core/object.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import h from"../geometry/SpatialReference.js";import g from"../graphic/ParquetGraphicOrigin.js";import _ from"./Layer.js";import{ParquetSource as v}from"./graphics/sources/ParquetSource.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as b}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as x}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as S}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as C}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{OrderedLayer as T}from"./mixins/OrderedLayer.js";import{RefreshableLayer as E}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as O,legendEnabled as k,popupEnabled as A}from"./support/commonProperties.js";import j from"./support/FeatureTemplate.js";import M from"./support/Field.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import{fixRendererFields as P}from"./support/fieldUtils.js";import F from"./support/GeometryEncodingLocation.js";import I from"./support/GeometryEncodingWkb.js";import L from"./support/LabelClass.js";import{reader as R}from"./support/labelingInfo.js";import z from"./support/ParquetFilesData.js";import B from"./support/ParquetPortalItemData.js";import{parquetGeometryTypeKebabDict as V}from"./support/parquetUtils.js";import{rendererTypes as H}from"../renderers/support/typeUtils.js";import U from"../rest/support/Query.js";import{createPopupTemplate as W}from"../support/popupUtils.js";import{utc as G}from"../time/constants.js";const K=N(),q=`__OBJECTID`,J={types:{key:`type`,base:null,typeMap:{wkb:I,location:F}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};let Y=class extends C(S(y(T(x(D(E(w(s(b(n(_))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.charts=null,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new g(this),this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=q,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null}initialize(){this.addHandles(l(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return G}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==q||e.type!==`oid`).map(e=>e.toJSON(r));c(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){P(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?u(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==`Parquet Feature Layer`){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new z({urls:this._normalizeUrls(e)})}createPopupTemplate(e){return W(this,e)}createQuery(){let e=new U;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new v({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return U.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),P(this.renderer,this.fieldsIndex),this.spatialReference??=h.WGS84}};e([d({readOnly:!0,json:{read:!1,write:!1}})],Y.prototype,`capabilities`,null),e([d({json:{origins:{"web-scene":{write:!1}},write:!0}})],Y.prototype,`charts`,void 0),e([d({type:String})],Y.prototype,`copyright`,void 0),e([d({readOnly:!0})],Y.prototype,`dateFieldsTimeZone`,null),e([d({readOnly:!0})],Y.prototype,`defaultPopupTemplate`,null),e([d({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Y.prototype,`definitionExpression`,void 0),e([d({type:Boolean})],Y.prototype,`returnM`,void 0),e([d({type:Boolean})],Y.prototype,`returnZ`,void 0),e([d()],Y.prototype,`displayOptimization`,void 0),e([d({type:[M],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],Y.prototype,`fields`,void 0),e([p(`fields`)],Y.prototype,`writeFields`,null),e([d(K.fieldsIndex)],Y.prototype,`fieldsIndex`,void 0),e([d(J)],Y.prototype,`geometryEncoding`,void 0),e([d({type:m,json:{name:`extent`}})],Y.prototype,`fullExtent`,void 0),e([d({type:V.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:V.read},write:{writer:V.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:V.read}}}}})],Y.prototype,`geometryType`,void 0),e([d({readOnly:!0,clonable:!1})],Y.prototype,`graphicOrigin`,void 0),e([d(O)],Y.prototype,`labelsVisible`,void 0),e([d({type:[L],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:R},write:!0}})],Y.prototype,`labelingInfo`,void 0),e([d(k)],Y.prototype,`legendEnabled`,void 0),e([d()],Y.prototype,`file`,void 0),e([d({type:String,readOnly:!0})],Y.prototype,`objectIdField`,void 0),e([d({type:[`ParquetLayer`]})],Y.prototype,`operationalLayerType`,void 0),e([d(K.outFields)],Y.prototype,`outFields`,void 0),e([d(A)],Y.prototype,`popupEnabled`,void 0),e([d({type:t,json:{name:`popupInfo`,write:!0}})],Y.prototype,`popupTemplate`,void 0),e([d({types:H,json:{name:`layerDefinition.drawingInfo.renderer`,write:!0,origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],Y.prototype,`renderer`,null),e([d({type:v,readOnly:!0,cast:null,json:{read:!1}})],Y.prototype,`source`,void 0),e([d({type:h,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],Y.prototype,`spatialReference`,void 0),e([d({type:[j]})],Y.prototype,`templates`,void 0),e([d()],Y.prototype,`title`,null),e([d({json:{read:!1},readOnly:!0})],Y.prototype,`type`,void 0),e([d({types:{key:`type`,base:null,typeMap:{files:z,"portal-item":B}},json:{name:`source`,origins:{"web-map":{write:{target:`source`,ignoreOrigin:!0}}}}})],Y.prototype,`data`,void 0),e([p(`web-map`,`data`)],Y.prototype,`writeData`,null),e([d({type:r.ofType(String),json:{read:!1,write:!1}})],Y.prototype,`urls`,null),Y=e([f(`esri.layers.ParquetLayer`)],Y);export{Y as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../core/Error.js";import"../../core/has.js";import{onAbort as t,throwIfAborted as n}from"../../core/promiseUtils.js";import{fromValues as r,create as i}from"../../core/libs/gl-matrix-2/factories/mat2df64.js";import{multiply as a}from"../../core/libs/gl-matrix-2/math/mat2d.js";async function o(r,o,l,u,d,f,p,m,h){let g=s(r,o,l),_=i();a(_,g,u);let v=i();a(v,_,p);let y=new OffscreenCanvas(o,l),b=y.getContext(`2d`);if(!b)throw new e(`geospatial-pdf-layer:invalid-canvas`,`Failed to create bitmap canvas context.`);if(m.length){let e=c(m,r,o,l);b.save(),b.fillStyle=`white`,b.fill(e),b.restore()}let x=d.render({canvas:null,canvasContext:b,viewport:f,transform:v,annotationMode:
|
|
2
|
+
import e from"../../core/Error.js";import"../../core/has.js";import{onAbort as t,throwIfAborted as n}from"../../core/promiseUtils.js";import{fromValues as r,create as i}from"../../core/libs/gl-matrix-2/factories/mat2df64.js";import{multiply as a}from"../../core/libs/gl-matrix-2/math/mat2d.js";async function o(r,o,l,u,d,f,p,m,h){let g=s(r,o,l),_=i();a(_,g,u);let v=i();a(v,_,p);let y=new OffscreenCanvas(o,l),b=y.getContext(`2d`);if(!b)throw new e(`geospatial-pdf-layer:invalid-canvas`,`Failed to create bitmap canvas context.`);if(m.length){let e=c(m,r,o,l);b.save(),b.fillStyle=`white`,b.fill(e),b.restore()}let x=d.render({canvas:null,canvasContext:b,viewport:f,transform:v,annotationMode:2,background:`rgba(0,0,0,0)`}),S=t(h?.signal,()=>{x.cancel()});try{await x.promise}catch(e){throw n(h),e}finally{S?.remove()}return y}function s(e,t,n){let i=(e.xmax-e.xmin)/t,a=(e.ymax-e.ymin)/n;return r(1/i,0,0,-1/a,-e.xmin/i,e.ymax/a)}function c(e,t,n,r){let i=new Path2D,a=s(t,n,r);for(let t=0;t<e.length;t++){let[n,r]=e[t],o=a[0]*n+a[2]*r+a[4],s=a[1]*n+a[3]*r+a[5];t===0?i.moveTo(o,s):i.lineTo(o,s)}return i.closePath(),i}export{o as renderBitmap};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcgis/core",
|
|
3
|
-
"version": "6.0.0-next.
|
|
3
|
+
"version": "6.0.0-next.3",
|
|
4
4
|
"description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ArcGIS",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"type": "module",
|
|
20
20
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@amcharts/amcharts5": "~5.
|
|
23
|
-
"@arcgis/toolkit": "6.0.0-next.
|
|
22
|
+
"@amcharts/amcharts5": "~5.21.0",
|
|
23
|
+
"@arcgis/toolkit": "6.0.0-next.3",
|
|
24
24
|
"@esri/arcgis-html-sanitizer": "~4.2.0-next.2",
|
|
25
25
|
"@esri/calcite-components": "^5.2.0-next.89",
|
|
26
26
|
"@vaadin/grid": "~25.3.2",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";import{px2pt as
|
|
2
|
+
import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";import{onePixelInPoints as n,px2pt as r}from"../../../core/screenUtils.js";import i from"../../../symbols/CIMSymbol.js";const a=`spike-height-override`,o=r(8),s=r(20),c=`triangle-solid-fill-open-outline`;function l(e){let{field:t,normalizationField:n,sizeStops:r}=e,{value:i,size:o}=r[0],{value:s,size:c}=r[1],l=0,u;t&&(l=`$feature["${t}"]`,u=`
|
|
3
3
|
if(!HasValue($feature, "${t}")){
|
|
4
4
|
return 0;
|
|
5
5
|
}
|
|
@@ -15,11 +15,11 @@ import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";i
|
|
|
15
15
|
var maxSize = ${c};
|
|
16
16
|
var minSize = ${o};
|
|
17
17
|
|
|
18
|
-
var minDataValue = ${
|
|
18
|
+
var minDataValue = ${i};
|
|
19
19
|
var maxDataValue = ${s};
|
|
20
20
|
|
|
21
21
|
var ratio = Constrain(( value - minDataValue ) / ( maxDataValue - minDataValue ), 0, 1);
|
|
22
22
|
|
|
23
23
|
var size = Constrain(maxSize * ratio, minSize, maxSize);
|
|
24
24
|
return size;
|
|
25
|
-
`,returnType:`Default`};return[{type:`CIMPrimitiveOverride`,primitiveName:
|
|
25
|
+
`,returnType:`Default`};return[{type:`CIMPrimitiveOverride`,primitiveName:a,propertyName:`Length`,valueExpressionInfo:d}]}function u(e){let{primitiveOverrides:t,baseWidth:n,defaultHeight:r}=e,c=d(e);return new i({data:{type:`CIMSymbolReference`,symbol:{type:`CIMPointSymbol`,effects:[{type:`CIMGeometricEffectRadial`,primitiveName:a,angle:90,length:r??s},{type:`CIMGeometricEffectTaperedPolygon`,fromWidth:n??o,toWidth:1,length:5}],symbolLayers:c,haloSize:1,scaleX:1,angleAlignment:`Display`},primitiveOverrides:t}})}function d(e){let t=[f(e)],n=m(e);return n&&t.push(n),t}function f(e){let{strokeColor:t,strokeWidth:r,symbolStyle:i}=e,a=i?.includes(`solid-fill`)||i?.includes(`gradient-fill`),o=t?.toArray(),s=!1;return i?.includes(`outline`)&&a?s=!0:o=e.color?.toArray(),{type:`CIMSolidStroke`,effects:p(i),enable:!0,colorLocked:s,capStyle:`Round`,joinStyle:`Round`,lineStyle3D:`Strip`,miterLimit:4,width:r??n,color:o}}function p(e){if(!e?.includes(`closed`))return[{type:`CIMGeometricEffectAddControlPoints`,angleTolerance:90,primitiveName:`spike-control-points`},{type:`CIMGeometricEffectSuppress`,suppress:!0,invert:!0,primitiveName:`spike-stroke-suppress`}]}function m(e){let{color:t,symbolStyle:n}=e,r=n?.includes(`solid-fill`),i=n?.includes(`gradient-fill`);if(!r&&!i||!t)return;if(r)return{type:`CIMSolidFill`,enable:!0,colorLocked:!1,color:t?.toArray()};let a=t.clone();return a.a=0,{type:`CIMGradientFill`,enable:!0,angle:90,colorRamp:{type:`CIMMultipartColorRamp`,colorRamps:[{type:`CIMLinearContinuousColorRamp`,fromColor:t.toArray(),toColor:a.toArray()}],weights:[1]},gradientMethod:`Linear`,gradientSize:70,gradientSizeUnits:`Relative`,gradientType:`Continuous`}}function h(n,r){let{defaultHeight:i,baseWidth:o,color:s,strokeColor:c,primitiveOverrides:l,symbolStyle:u,strokeWidth:d}=r,p=n.data.symbol?.type===`CIMPointSymbol`?n.data.symbol:null,h=p?.symbolLayers;if(!h)return n;let _=p.effects,v=_?.find(e=>e.type===`CIMGeometricEffectTaperedPolygon`),y=_?.find(e=>e.type===`CIMGeometricEffectRadial`&&e.primitiveName===a);o!=null&&v&&(v.fromWidth=o),i!=null&&y&&(y.length=i);let b=h?.find(e=>e.type===`CIMSolidStroke`),x=h?.find(e=>e.type===`CIMSolidFill`),S=h?.find(e=>e.type===`CIMGradientFill`),C=S?.colorRamp?.type===`CIMMultipartColorRamp`&&S.colorRamp.colorRamps[0]?.type===`CIMLinearContinuousColorRamp`?S.colorRamp.colorRamps[0]:null;if(u){let t=x?.color??C?.fromColor??b?.color,n=s??(t?new e(t):void 0),i=b?.color??t,a=c??(i?new e(i):void 0),o=u.includes(`solid-fill`),l=u.includes(`gradient-fill`);if(!o&&!l&&g(h,x??S),n){if(o)g(h,S),x?x.color=n?.toArray():h.push(m({...r,color:n}));else if(l){if(g(h,x),!S)h.push(m({...r,color:n}));else if(C&&s){let e=n.clone();e.a=0,C.fromColor=n.toArray(),C.toColor=e.toArray()}}}if(b){let e=f({...r,strokeColor:a,color:n});b.effects=e.effects,b.color=e.color,b.width=e.width,b.colorLocked=e.colorLocked}}else if(b&&(c&&(b.color=c.toArray()),d!=null&&(b.width=d)),x&&s&&(x.color=s.toArray()),C&&s){let e=s.clone();e.a=0,C.fromColor=s.toArray(),C.toColor=e.toArray()}return l!==void 0&&(n.data.primitiveOverrides=t(l)),n}function g(e,t){if(!t)return;let n=e.indexOf(t);n!==-1&&e.splice(n,1)}export{l as createPrimitiveOverrides,u as createSpikeSymbol,c as defaultSpikeSymbolStyle,h as updateSpikeSymbol};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import{onePixelInPoints as t}from"../core/screenUtils.js";import{property as n,subclass as r}from"../core/accessorSupport/decorators.js";import i from"./LineStyleMarker3D.js";import a from"./Symbol3DLayer.js";import o from"./patterns/LineStylePattern3D.js";import{symbol3dLinePatternProperty as s}from"./patterns/utils.js";import{white as c}from"./support/colors.js";import{screenSizeProperty as l}from"./support/materialUtils.js";import u from"./support/Symbol3DMaterial.js";import{lineJoins as d,lineCaps as f}from"./support/symbolLayerUtils3D.js";import{enumeration as p}from"../core/accessorSupport/decorators/enumeration.js";var m;let h=class extends a{static{m=this}constructor(e){super(e),this.material=null,this.type=`line`,this.join=`miter`,this.cap=`butt`,this.pattern=null,this.imagePattern=null,this.marker=null}get size(){return this._get(`size`)??t}set size(e){this._set(`size`,e)}clone(){let e={enabled:this.enabled,material:this.material==null?null:this.material.clone(),size:this.size,join:this.join,cap:this.cap,pattern:this.pattern==null?null:this.pattern.clone(),imagePattern:this.imagePattern==null?null:this.imagePattern.clone(),marker:this.marker==null?null:this.marker.clone()};return new m(e)}static fromSimpleLineSymbol(e){let n={enabled:!0,size:e.width??t,cap:e.cap||`butt`,join:e.join||`miter`,pattern:e.style?new o({style:e.style}):null,imagePattern:null,material:new u({color:(e.color||c).clone()}),marker:e.marker?new i({placement:e.marker.placement,style:e.marker.style,color:e.marker.color?.clone()??null}):null};return new m(n)}};e([n({type:u,json:{write:!0}})],h.prototype,`material`,void 0),e([p({Line:`line`},{readOnly:!0})],h.prototype,`type`,void 0),e([n({type:d,json:{write:!0,default:`miter`}})],h.prototype,`join`,void 0),e([n({type:f,json:{write:!0,default:`butt`}})],h.prototype,`cap`,void 0),e([n({...l,json:{write:{isRequired:!0}}})],h.prototype,`size`,null),e([n(s)],h.prototype,`pattern`,void 0),e([n()],h.prototype,`imagePattern`,void 0),e([n({types:{key:`type`,base:i,typeMap:{style:i}},json:{write:!0}})],h.prototype,`marker`,void 0),h=m=e([r(`esri.symbols.LineSymbol3DLayer`)],h);export{h as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../Color.js";import{clone as n}from"../../core/lang.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../Color.js";import{clone as n}from"../../core/lang.js";import{onePixelInPoints as r}from"../../core/screenUtils.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import o from"./Callout3D.js";import s from"./LineCallout3DBorder.js";import{colorAndTransparencyProperty as c,screenSizeProperty as l}from"../support/materialUtils.js";import{enumeration as u}from"../../core/accessorSupport/decorators/enumeration.js";var d;let f=d=class extends o{constructor(e){super(e),this.type=`line`,this.color=new t([0,0,0,1]),this.border=null}get size(){return this._get(`size`)??r}set size(e){this._set(`size`,e)}get visible(){return this.size>0&&this.color!=null&&this.color.a>0}clone(){return new d({color:n(this.color),size:this.size,border:n(this.border)})}};e([u({line:`line`})],f.prototype,`type`,void 0),e([i(c({colorRequiredOnWrite:!0}))],f.prototype,`color`,void 0),e([i({...l,json:{write:{isRequired:!0}}})],f.prototype,`size`,null),e([i({type:s,json:{write:!0}})],f.prototype,`border`,void 0),e([i({readOnly:!0})],f.prototype,`visible`,null),f=d=e([a(`esri.symbols.callouts.LineCallout3D`)],f);export{f as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{defaultFontFamily as e}from"../../core/fontUtils.js";import has from"../../core/has.js";import{clone as t}from"../../core/lang.js";import n from"../../core/Logger.js";import{deg2rad as r}from"../../core/mathUtils.js";import i from"../../core/ObjectPool.js";import{px2pt as a,pt2px as o}from"../../core/screenUtils.js";import{GeometryCursor as s}from"../../geometry/GeometryCursor.js";import{empty as c,expandPointInPlace as l,center as u,width as d,height as f,diagonal as p,fromValues as m,create as h}from"../../geometry/support/aaBoundingRect.js";import{getBoundsXY as g}from"../../geometry/support/boundsUtils.js";import{polygonCentroid as _}from"../../geometry/support/centroid.js";import{targetIntersectsPolygon as v,pointInPolygon as y,nearLine as b}from"../../geometry/support/intersectsBase.js";import{isPolygon as x,isPolyline as S,isExtent as C,isMultipoint as w,isPoint as T}from"../../geometry/support/jsonTypeUtils.js";import{SimpleEffectCursor as E}from"./CIMEffects.js";import ee from"./CIMImageColorSubstitutionHelper.js";import{getEffectOperator as te,getPlacementOperator as ne}from"./CIMOperators.js";import{Placement as re}from"./CIMPlacements.js";import{defaultCIMValues as D}from"./defaultCIMValues.js";import{fromCIMFontStyle as ie}from"./fromCIMFontStyle.js";import{getFirstFrame as O}from"./imageUtils.js";import{rotate as k}from"./mathUtils.js";import{addColorStops as A}from"./rasterizingUtils.js";import ae from"./Rect.js";import{parseRichTextRuns as j,hasRichTextFormattingTags as M}from"./richTextUtils.js";import N from"./TextRasterizer.js";import{getNumericValue as P,isSVGImage as F,getRelativeGradientSize as I,getEffectsInflateSize as oe,fromCIMFontDecoration as se,fromCIMHorizontalAlignment as ce,fromCIMVerticalAlignment as le,getFillColor as L,getStrokeColor as R,getStrokeWidth as z,getFontWeight as B,getFontStyle as V,isCIMFill as H,getSize as U}from"./utils.js";import{destroyHiddenSvg as ue,createHiddenSvg as de,createSvgElement as fe}from"../../views/2d/engine/svgUtils.js";import{magicLabelLineHeight as pe,glyphSize as me,hittestToleranceSmallSymbol as he,hittestSmallSymbolThreshold as ge}from"../../views/2d/engine/webgl/definitions.js";import{shapeTextResource as _e}from"../../views/2d/engine/webgl/mesh/templates/shapingUtils.js";import{roundPtToWholePixel as ve,getLineWidth as ye}from"../../views/2d/layers/graphics/graphicsUtils.js";const W=Math.PI/180,G=.5,K=()=>n.getLogger(`esri.symbols.cim.CIMSymbolDrawHelper`);class q{constructor(e){this._t=e}static createIdentity(){return new q([1,0,0,0,1,0])}clone(){let e=this._t;return new q(e.slice())}transform(e){let t=this._t;return[t[0]*e[0]+t[1]*e[1]+t[2],t[3]*e[0]+t[4]*e[1]+t[5]]}static createScale(e,t){return new q([e,0,0,0,t,0])}scale(e,t){let n=this._t;return n[0]*=e,n[1]*=e,n[2]*=e,n[3]*=t,n[4]*=t,n[5]*=t,this}scaleRatio(){return Math.sqrt(this._t[0]*this._t[0]+this._t[1]*this._t[1])}static createTranslate(e,t){return new q([0,0,e,0,0,t])}translate(e,t){let n=this._t;return n[2]+=e,n[5]+=t,this}static createRotate(e){let t=Math.cos(e),n=Math.sin(e);return new q([t,-n,0,n,t,0])}rotate(e){return q.multiply(this,q.createRotate(e),this)}angle(){let e=this._t[0],t=this._t[3],n=Math.sqrt(e*e+t*t);return[e/n,t/n]}static multiply(e,t,n){let r=e._t,i=t._t,a=r[0]*i[0]+r[3]*i[1],o=r[1]*i[0]+r[4]*i[1],s=r[2]*i[0]+r[5]*i[1]+i[2],c=r[0]*i[3]+r[3]*i[4],l=r[1]*i[3]+r[4]*i[4],u=r[2]*i[3]+r[5]*i[4]+i[5],d=n._t;return d[0]=a,d[1]=o,d[2]=s,d[3]=c,d[4]=l,d[5]=u,n}invert(){let e=this._t,t=e[0]*e[4]-e[1]*e[3];if(t===0)return new q([0,0,0,0,0,0]);t=1/t;let n=(e[1]*e[5]-e[2]*e[4])*t,r=(e[2]*e[3]-e[0]*e[5])*t,i=e[4]*t,a=-e[1]*t,o=-e[3]*t,s=e[0]*t;return new q([i,a,n,o,s,r])}}class J{constructor(e,t){this._resourceManager=e,this._transfos=[],this._sizeTransfos=[],this._textScaling=[],this._geomUnitsPerPoint=1,this._placementPool=new i(()=>new re,void 0,void 0,100),this._earlyReturn=!1,this._mapRotation=0,this._transfos.push(t||q.createIdentity()),this._sizeTransfos.push(t?t.scaleRatio():1),this._textScaling.push(1)}setTransform(e,t){this._transfos=[e||q.createIdentity()],this._sizeTransfos=[t||(e?e.scaleRatio():1)],this._textScaling=[1]}setGeomUnitsPerPoint(e){this._geomUnitsPerPoint=e}transformPt(e){return this._transfos[this._transfos.length-1].transform(e)}transformSize(e){return e*this._sizeTransfos[this._sizeTransfos.length-1]}scaleText(e){return e*this._textScaling[this._textScaling.length-1]}reverseTransformPt(e){return this._transfos[this._transfos.length-1].invert().transform(e)}reverseTransformSize(e){return e/this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformScalar(e){return e/this._transfos[this._transfos.length-1].scaleRatio()}reverseScaleText(e){return e/this._textScaling[this._textScaling.length-1]}getTransformAngle(){return this._transfos[this._transfos.length-1].angle()}geomUnitsPerPoint(){return this.isEmbedded()?1:this._geomUnitsPerPoint}prevGeomUnitsPerPoint(){return this._transfos.length>2?1:this._geomUnitsPerPoint}isEmbedded(){return this._transfos.length>1}back(){return this._transfos[this._transfos.length-1]}push(e,t=!1,n=1){let r=t?e.scaleRatio():1;q.multiply(e,this.back(),e),this._transfos.push(e),this._sizeTransfos.push(this._sizeTransfos[this._sizeTransfos.length-1]*r),this._textScaling.push(this._textScaling[this._textScaling.length-1]*n)}pop(){this._transfos.splice(-1,1),this._sizeTransfos.splice(-1,1),this._textScaling.splice(-1,1)}drawSymbol(e,t,n){if(e)switch(e.type){case`CIMPointSymbol`:case`CIMLineSymbol`:case`CIMPolygonSymbol`:this.drawMultiLayerSymbol(e,t);break;case`CIMTextSymbol`:this.drawTextSymbol(e,t,n)}}drawMultiLayerSymbol(e,t){if(!e||!t)return;let n=e.symbolLayers;if(!n)return;let r=e.effects;if(r&&r.length>0){let e=this.executeEffects(r,t);if(e){let t=e.next();for(;t;)this.drawSymbolLayers(n,t.asJSON()),t=e.next()}}else this.drawSymbolLayers(n,t)}executeEffects(e,t){let n=this.geomUnitsPerPoint(),r=oe(e),i=new E(s.fromJSONCIM(t));for(let a of e){let e=te(a);e&&(i=e.execute(i,a,{geomUnitsPerPoint:n,tileKey:null,maxInflateSize:r,scale:null,spatialReference:t.spatialReference,preventClipping:!1}))}return i}drawSymbolLayers(e,t){let n=e.length;for(;n--;){let r=e[n];if(!r||r.enable===!1)continue;let i=r.effects;if(i&&i.length>0){let e=this.executeEffects(i,t);if(e){let t=null;for(;(t=e.next())&&(this.drawSymbolLayer(r,t.asJSON()),!this._earlyReturn););}}else this.drawSymbolLayer(r,t);if(this._earlyReturn)return}}drawSymbolLayer(e,t){switch(e.type){case`CIMSolidFill`:this.drawSolidFill(t,e.color,e.path);break;case`CIMHatchFill`:this.drawHatchFill(t,e);break;case`CIMPictureFill`:this.drawPictureFill(t,e);break;case`CIMGradientFill`:this.drawGradientFill(t,e);break;case`CIMSolidStroke`:this.drawSolidStroke(t,e.color,e.width,e.capStyle,e.joinStyle,e.miterLimit,e.path);break;case`CIMPictureStroke`:this.drawPictureStroke(t,e);break;case`CIMGradientStroke`:this.drawGradientStroke(t,e);break;case`CIMCharacterMarker`:case`CIMPictureMarker`:case`CIMVectorMarker`:this.drawMarkerLayer(e,t)}}drawHatchFill(e,t){let n=Se(t,e,this.geomUnitsPerPoint());n&&(this.pushClipPath(e),this.drawMultiLayerSymbol(t.lineSymbol,n),this.popClipPath())}drawPictureFill(e,t){}drawGradientFill(e,t){}drawPictureStroke(e,t){}drawGradientStroke(e,t){}drawMarkerLayer(e,t){let n=e.markerPlacement;if(n){let r=ne(n);if(r){let i=n.type===`CIMMarkerPlacementInsidePolygon`||n.type===`CIMMarkerPlacementPolygonCenter`&&n.clipAtBoundary;i&&this.pushClipPath(t);let a=r.execute(s.fromJSONCIM(t),n,this.geomUnitsPerPoint(),null);if(a){let t=null;for(;(t=a.next())&&(this.drawMarker(e,t),!this._earlyReturn););}i&&this.popClipPath()}}else{let n=this._placementPool.acquire();if(T(t))n.tx=t.x,n.ty=t.y,this.drawMarker(e,n);else if(x(t)){let r=_(t);r&&([n.tx,n.ty]=r,this.drawMarker(e,n))}else if(S(t)){for(let r of t.paths)for(let t of r)if(n.tx=t[0],n.ty=t[1],this.drawMarker(e,n),this._earlyReturn)break}else for(let r of t.points)if(n.tx=r[0],n.ty=r[1],this.drawMarker(e,n),this._earlyReturn)break;this._placementPool.release(n)}}drawMarker(e,t){switch(e.type){case`CIMCharacterMarker`:case`CIMPictureMarker`:this.drawPictureMarker(e,t);break;case`CIMVectorMarker`:this.drawVectorMarker(e,t)}}drawPictureMarker(e,t){if(!e)return;let n=this._resourceManager.getResource(e.url),r=P(e.size,D.CIMPictureMarker.size);if(n==null||r<=0)return;let i=n.width,a=n.height;if(!i||!a)return;let o=i/a,s=P(e.scaleX,1),c=q.createIdentity(),l=e.anchorPoint;if(l){let t=l.x,n=l.y;e.anchorPointUnits!==`Absolute`&&(t*=r*o*s,n*=r),c.translate(-t,-n)}let u=P(e.rotation);e.rotateClockwise&&(u=-u),this._mapRotation&&(u+=this._mapRotation),u&&c.rotate(u*W);let d=P(e.offsetX),f=P(e.offsetY);if(d||f){if(this._mapRotation){let e=W*this._mapRotation,t=Math.cos(e),n=Math.sin(e),r=d*t-f*n,i=d*n+f*t;d=r,f=i}c.translate(d,f)}let p=this.geomUnitsPerPoint();p!==1&&c.scale(p,p);let m=t.getAngle();m&&c.rotate(m),c.translate(t.tx,t.ty),this.push(c),this.drawImage(e,r),this.pop()}drawVectorMarker(e,t){if(!e)return;let n=e.markerGraphics;if(!n)return;let r=P(e.size,D.CIMVectorMarker.size),i=e.frame,a=i?i.ymax-i.ymin:0,o=r&&a?r/a:1,s=q.createIdentity();i&&s.translate(-(i.xmax+i.xmin)*.5,-(i.ymax+i.ymin)*.5);let c=e.anchorPoint;if(c){let t=c.x,n=c.y;e.anchorPointUnits===`Absolute`?(t/=o,n/=o):i&&(t*=i.xmax-i.xmin,n*=i.ymax-i.ymin),s.translate(-t,-n)}o!==1&&s.scale(o,o);let l=P(e.rotation);e.rotateClockwise&&(l=-l),this._mapRotation&&(l+=this._mapRotation),l&&s.rotate(l*W);let u=P(e.offsetX),d=P(e.offsetY);if(u||d){if(this._mapRotation){let e=W*this._mapRotation,t=Math.cos(e),n=Math.sin(e),r=u*t-d*n,i=u*n+d*t;u=r,d=i}s.translate(u,d)}let f=this.geomUnitsPerPoint();f!==1&&s.scale(f,f);let p=t.getAngle();p&&s.rotate(p),s.translate(t.tx,t.ty);let m=e.scaleSymbolsProportionally?1:o;this.push(s,e.scaleSymbolsProportionally,m);for(let e of n){(!e?.symbol||!e.geometry)&&K().error(`Invalid marker graphic`,e);let t=e.textString;if(typeof t==`number`&&(t=t.toString()),this.drawSymbol(e.symbol,e.geometry,t),this._earlyReturn)break}this.pop()}drawTextSymbol(e,t,n){if(!e||!T(t)||P(e.height,D.CIMTextSymbol.height)<=0)return;let r=q.createIdentity(),i=P(e.angle);i=-i,i&&r.rotate(i*W);let a=P(e.offsetX),o=P(e.offsetY);(a||o)&&r.translate(a,o);let s=this.geomUnitsPerPoint();s!==1&&r.scale(s,s),r.translate(t.x,t.y),this.push(r),this.drawText(e,n),this.pop()}}class be extends J{constructor(e,t){super(e,t),this.reset()}reset(){this._xmin=this._ymin=1/0,this._xmax=this._ymax=-1/0,this._clipCount=0}envelope(){return new ae(this._xmin,this._ymin,this._xmax-this._xmin,this._ymax-this._ymin)}bounds(){return m(this._xmin,this._ymin,this._xmax,this._ymax)}drawSolidFill(e){if(!(!e||this._clipCount>0)){if(x(e))this._processPath(e.rings,0);else if(S(e))this._processPath(e.paths,0);else if(C(e)){let t=X(e);t&&this._processPath(t.rings,0)}else console.error(`drawSolidFill Unexpected geometry type!`)}}drawSolidStroke(e,t,n){if(!e||this._clipCount>0||n==null||n<=0)return;let r=Math.max(this.transformSize(P(n,D.CIMSolidStroke.width))*.5,.5*G);if(x(e))this._processPath(e.rings,r);else if(S(e))this._processPath(e.paths,r);else if(C(e)){let t=X(e);t&&this._processPath(t.rings,r)}else console.error(`drawSolidStroke unexpected geometry type!`)}drawMarkerLayer(e,t){x(t)&&e.markerPlacement&&(e.markerPlacement.type===`CIMMarkerPlacementInsidePolygon`||e.markerPlacement.type===`CIMMarkerPlacementPolygonCenter`&&e.markerPlacement.clipAtBoundary)?this._processPath(t.rings,0):super.drawMarkerLayer(e,t)}drawHatchFill(e,t){this.drawSolidFill(e)}drawPictureFill(e,t){this.drawSolidFill(e)}drawGradientFill(e,t){this.drawSolidFill(e)}drawPictureStroke(e,t){this.drawSolidStroke(e,null,t.width)}drawGradientStroke(e,t){this.drawSolidStroke(e,null,t.width)}pushClipPath(e){this.drawSolidFill(e),this._clipCount++}popClipPath(){this._clipCount--}drawImage(e,t){let{url:n}=e,r=P(e.scaleX,1),i=r*t,a=t,o=this._resourceManager.getResource(n);if(o!=null){let e=o.height/o.width;i=r*(t?e>1?t:t/e:o.width),a=t?e>1?t*e:t:o.height}this._merge(this.transformPt([-i/2,-a/2]),0),this._merge(this.transformPt([-i/2,a/2]),0),this._merge(this.transformPt([i/2,-a/2]),0),this._merge(this.transformPt([i/2,a/2]),0)}drawText(e,t){if(!t||t.length===0)return;this._textRasterizer||=new N;let n=Q(e),r=j({textString:t,font:n.font,symbol:e,supportsRichText:M(t)}),[i,o]=r?this._textRasterizer.computeRichTextSize(r,n):this._textRasterizer.computeTextSize(t,n);i=a(i),o=a(o);let s=this.transformSize(1)*this.reverseTransformScalar(1);i*=s,o*=s;let c=e.horizontalAlignment??D.CIMTextSymbol.horizontalalignment,l=e.verticalAlignment??D.CIMTextSymbol.verticalalignment,u=0;switch(c){case`Left`:u=i/2;break;case`Right`:u=-i/2}let d=0;switch(l){case`Bottom`:d=o/2;break;case`Top`:d=-o/2;break;case`Baseline`:d=o/6}this._merge(this.transformPt([-i/2+u,-o/2+d]),0),this._merge(this.transformPt([-i/2+u,o/2+d]),0),this._merge(this.transformPt([i/2+u,-o/2+d]),0),this._merge(this.transformPt([i/2+u,o/2+d]),0)}_processPath(e,t){if(e)for(let n of e){let e=n?n.length:0;if(e>1){this._merge(this.transformPt(n[0]),t);for(let r=1;r<e;r++)this._merge(this.transformPt(n[r]),t)}}}_merge(e,t){e[0]-t<this._xmin&&(this._xmin=e[0]-t),e[0]+t>this._xmax&&(this._xmax=e[0]+t),e[1]-t<this._ymin&&(this._ymin=e[1]-t),e[1]+t>this._ymax&&(this._ymax=e[1]+t)}}class Y extends J{constructor(){super(...arguments),this._hittestType=`point`,this._searchTarget=[],this._searchDistPoint=0,this._textInfo=null,this._svg=null,this._path=null,this._canvas=null}destroy(){this._svg=ue(this._svg),this._path=null,this._canvas=null}hitTest(e,t,n,r){let{textInfo:i,mapRotation:s,resolution:c,searchDist:l,hittestType:u,isScreenAligned:d}=r;this._resetHittest();let f=c*o(1);switch(this.setGeomUnitsPerPoint(f),u){case`point`:if(e.length!==1)return K().error(`Unexpected hittest area`,e),!1;this._hittestType=`point`,this._searchDistPoint=l/2/f,this._searchTarget=[[e[0].x,e[0].y]];break;case`rect`:if(e.length!==4)return K().error(`Unexpected hittest area`,e),!1;this._hittestType=`rect`,this._searchDistPoint=0,this._searchTarget=e.map(e=>[e.x,e.y]);break;case`polygon`:this._hittestType=`polygon`,this._searchDistPoint=0,this._searchTarget=e.map(e=>[e.x,e.y])}if(this._textInfo=i,this._mapRotation=d?s:0,!has(`esri-mobile`)){let e=a(he*window.devicePixelRatio),n=a(ge);(t?.type!==`CIMLineSymbol`&&t?.type!==`CIMPolygonSymbol`||!t.symbolLayers?.some(H))&&t?.type!==`CIMMeshSymbol`&&(U(t)??0)<n&&(this._searchDistPoint=e)}return this._earlyReturn=!1,this.drawSymbol(t,n),this._earlyReturn}executeEffects(e,t){return e.at(-1)?.type===`CIMGeometricEffectDashes`&&(e=e.slice(0,-1)),super.executeEffects(e,t)}drawSolidFill(e,t,n){n==null?this._hitTestFill(e):this._hittestSvgPath(e,n,!0)}drawHatchFill(e,t){this._hitTestFill(e)}drawPictureFill(e,t){this._hitTestFill(e)}drawGradientFill(e,t){this._hitTestFill(e)}drawSolidStroke(e,t,n,r,i,a,o){o==null?this._hitTestStroke(e,n):this._hittestSvgPath(e,o,!1,n)}drawPictureStroke(e,t){this._hitTestStroke(e,t.width)}drawGradientStroke(e,t){this._hitTestStroke(e,t.width)}drawMarkerLayer(e,t){e.markerPlacement&&(e.markerPlacement.type===`CIMMarkerPlacementInsidePolygon`||e.markerPlacement.type===`CIMMarkerPlacementPolygonCenter`&&e.markerPlacement.clipAtBoundary)?this._hitTestFill(t):super.drawMarkerLayer(e,t)}drawTextSymbol(e,t,n){if(!e||!T(t)||P(e.height,D.CIMTextSymbol.height)<=0)return;let r=q.createIdentity(),i=this.geomUnitsPerPoint();i!==1&&r.scale(i,i),r.translate(t.x,t.y),this.push(r),this.drawText(e,n),this.pop()}pushClipPath(e){}popClipPath(){}drawImage(e,t){let{url:n}=e,r=P(e.scaleX,1),i=this._resourceManager.getResource(n);if(i==null||i.height===0||t===0)return;let a=t*this.geomUnitsPerPoint(),o=a*r*(i.width/i.height);if(this._hittestType===`point`){let e=this.reverseTransformPt(this._searchTarget[0]),t=this._searchDistPoint;Math.abs(e[0])<o/2+t&&Math.abs(e[1])<a/2+t&&(this._earlyReturn=!0)}else{let e=o/2,t=a/2,n=[[-e,t],[e,t],[e,-t],[-e,-t],[-e,t]],r=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;v(r,[n])&&(this._earlyReturn=!0)}}drawText(e,t){let n=this._textInfo;if(!n)return;let r=n.get(e);if(!r||!p(r.glyphMosaicItems))return;let i=ve(P(e.height,D.CIMTextSymbol.height)),{lineGapType:a,lineGap:o}=e,s=a?Z(a,P(o),i):0,c=e.horizontalAlignment??D.CIMTextSymbol.horizontalalignment,l=e.verticalAlignment??D.CIMTextSymbol.verticalalignment,u=e.callout?.type===`CIMBackgroundCallout`,d=_e(r.glyphMosaicItems,{scale:i/me,angle:P(e.angle),xOffset:P(e.offsetX),yOffset:P(e.offsetY),horizontalAlignment:c,verticalAlignment:l,maxLineWidth:ye(e.lineWidth),lineHeight:pe*Math.max(.25,Math.min(s||1,4)),decoration:e.font.decoration||`none`,useCIMAngleBehavior:!1,hasBackground:u}),f=this.reverseScaleText(1);for(let e of d.glyphs){let t=e.offsets,n=[[t.topLeft[0]*f,-t.topLeft[1]*f],[t.topRight[0]*f,-t.topRight[1]*f],[t.bottomRight[0]*f,-t.bottomRight[1]*f],[t.bottomLeft[0]*f,-t.bottomLeft[1]*f],[t.topLeft[0]*f,-t.topLeft[1]*f]];if(this._hittestType===`point`){let e=this.reverseTransformPt(this._searchTarget[0]);y(e,[n])&&(this._earlyReturn=!0)}else{let e=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;v(e,[n])&&(this._earlyReturn=!0)}}function p(e){return e.type===`glyphs`?e.glyphs.length>0:e.runs.some(e=>e.glyphs.glyphs.length>0)}}_hitTestFill(e){let t=null;if(C(e)){let n=e;t=[[[n.xmin,n.ymin],[n.xmin,n.ymax],[n.xmax,n.ymax],[n.xmax,n.ymin],[n.xmin,n.ymin]]]}else if(x(e))t=e.rings;else if(S(e))t=e.paths;else return;if(this._hittestType===`point`){let e=this.reverseTransformPt(this._searchTarget[0]);if(y(e,t)&&(this._earlyReturn=!0),!this._earlyReturn){let n=this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint();b(e,t,n)&&(this._earlyReturn=!0)}}else{let e=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;v(e,t)&&(this._earlyReturn=!0)}}_getSvgPath(){return(this._svg==null||this._path==null)&&(this._svg??=de(),this._path??=fe(`path`),this._svg.appendChild(this._path)),this._path}_getCanvasContext(e,t){return this._canvas??=document.createElement(`canvas`),this._canvas.width=e,this._canvas.height=t,this._canvas.getContext(`2d`,{willReadFrequently:!0})}_hittestSvgPath(e,t,n,r=0){let i=h();g(i,e);let a={x:i[0],y:i[1],width:i[2]-i[0],height:i[3]-i[1]},o=this._getSvgPath();o.setAttribute(`d`,t);let s=o.getBBox();if(this._hittestType===`point`){let e=this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint(),i=this.reverseTransformPt(this._searchTarget[0]),o=Math.max(s.width/a.width,s.height/a.height),c=1,l=2*e*o;l<1&&(c=2/l,o*=c,s.x*=c,s.y*=c,s.width*=c,s.height*=c);let u=1+r*o/2,d=this._getCanvasContext(s.width+u*2,s.height+u*2);d.setTransform(c,0,0,c,-s.x+u,-s.y+u);let f=new Path2D(t);n?d.fill(f):(d.lineWidth=o/c*r,d.stroke(f));let p=(a.width*o-s.width)/2,m=(a.height*o-s.height)/2,h=Math.floor((i[0]-a.x-e)*o-p+u),g=Math.floor((a.height-(i[1]-a.y)-e)*o+m+u),_=Math.ceil(2*e*o),v=Math.ceil(2*e*o),y=d.getImageData(h,g,_,v).data;for(let e=3;e<y.length;e+=4)if(y[e]>127.5){this._earlyReturn=!0;return}}else{let e=[[a.x,a.y],[a.x,a.y+a.height],[a.x+a.width,a.y+a.height],[a.x+a.width,a.y],[a.x,a.y]],t=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;if(v(t,[e])){this._earlyReturn=!0;return}}}_hitTestStroke(e,t){let n=null;if(C(e)){let t=e;n=[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]}else if(x(e))n=e.rings;else if(S(e))n=e.paths;else return;if(this._hittestType===`point`){let e=this.reverseTransformPt(this._searchTarget[0]),r=P(t,D.CIMSolidStroke.width)*this.geomUnitsPerPoint(),i=this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint();b(e,n,r/2+i)&&(this._earlyReturn=!0)}else{let e=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;v(e,n)&&(this._earlyReturn=!0)}}_resetHittest(){this.setTransform(),this._hittestType=`point`,this._searchTarget=[],this._searchDistPoint=0,this._textInfo=null}}class xe extends J{constructor(e,t,n,r){super(t,n),this._applyAdditionalRenderProps=r,this._colorSubstitutionHelper=new ee,this._ctx=e}drawSolidFill(e,t){if(!e)return;if(x(e))this._buildPath(e.rings,!0);else if(S(e))this._buildPath(e.paths,!0);else if(C(e))this._buildPath(X(e).rings,!0);else if(w(e))console.log(`CanvasDrawHelper.drawSolidFill - No implementation!`);else return;let n=this._ctx;n.fillStyle=typeof t==`string`?t:`rgba(`+Math.round(t[0])+`,`+Math.round(t[1])+`,`+Math.round(t[2])+`,`+(t[3]??255)/255+`)`,n.fill(`evenodd`)}drawSolidStroke(e,t,n,r,i,a){if(!e||!t||n===0)return;if(x(e))this._buildPath(e.rings,!0);else if(S(e))this._buildPath(e.paths,!1);else if(C(e))this._buildPath(X(e).rings,!0);else{console.log(`CanvasDrawHelper.drawSolidStroke isn't implemented!`);return}let o=this._ctx;o.strokeStyle=typeof t==`string`?t:`rgba(`+Math.round(t[0])+`,`+Math.round(t[1])+`,`+Math.round(t[2])+`,`+(t[3]??255)/255+`)`,o.lineWidth=Math.max(this.transformSize(n),G),this._setCapStyle(r),this._setJoinStyle(i),o.miterLimit=a,o.stroke()}pushClipPath(e){if(this._ctx.save(),x(e))this._buildPath(e.rings,!0);else if(S(e))this._buildPath(e.paths,!0);else if(C(e))this._buildPath(X(e).rings,!0);else return;this._ctx.clip(`evenodd`)}popClipPath(){this._ctx.restore()}drawImage(e,t){let{colorSubstitutions:n,url:r,tintColor:i}=e,a=P(e.scaleX,1),o=this._resourceManager.getResource(r);if(o==null)return;let s=t*(o.width/o.height),c=t;t||(s=o.width,c=o.height);let l=F(r)||`src`in o&&F(o.src),u=`getFrame`in o?O(o):o;n&&(u=this._colorSubstitutionHelper.applyColorSubstitution(u,n)),this._applyAdditionalRenderProps&&!l&&i&&(u=this._colorSubstitutionHelper.tintImageData(u,i));let d=this.transformPt([0,0]),[f,p]=this.getTransformAngle(),m=this.transformSize(1),h=this._ctx;h.save(),h.setTransform({m11:a*m*f,m12:a*m*p,m21:-m*p,m22:m*f,m41:d[0],m42:d[1]}),h.drawImage(u,-s/2,-c/2,s,c),h.restore()}drawText(e,t){if(!t||t.length===0)return;this._textRasterizer||=new N;let n=Q(e,this.transformSize(a(1))),r=j({textString:t,font:n.font,symbol:e,supportsRichText:M(t)}),i=r?this._textRasterizer.rasterizeRichText(r,n):this._textRasterizer.rasterizeText(t,n);if(!i)return;let{size:o,anchorX:s,anchorY:c,canvas:l}=i,u=o[0]*(s+.5),d=o[1]*(c-.5),f=this._ctx,p=this.transformPt([0,0]),[m,h]=this.getTransformAngle();f.save(),f.setTransform({m11:1*m,m12:1*h,m21:-1*h,m22:1*m,m41:p[0]-1*u,m42:p[1]+1*d}),f.drawImage(l,0,0),f.restore()}drawPictureFill(e,t){if(!e)return;let{colorSubstitutions:n,height:r,offsetX:i,offsetY:a,rotation:o,scaleX:s,tintColor:c,url:l}=t,u=this._resourceManager.getResource(l);if(u==null)return;if(x(e))this._buildPath(e.rings,!0);else if(S(e))this._buildPath(e.paths,!0);else if(C(e))this._buildPath(X(e).rings,!0);else if(w(e))console.log(`CanvasDrawHelper.drawPictureFill - No implementation!`);else return;let d=this._ctx,f=F(l)||`src`in u&&F(u.src),p=`getFrame`in u?O(u):u;n&&(p=this._colorSubstitutionHelper.applyColorSubstitution(p,n));let m;if(this._applyAdditionalRenderProps){f||c&&(p=this._colorSubstitutionHelper.tintImageData(p,c)),m=d.createPattern(p,`repeat`);let e=this.transformSize(1);o||=0,i=i?e*i:0,a=a?e*a:0,r&&=e*r;let t=r?r/u.height:1,n=s&&r?s*r/u.width:1;if(o!==0||t!==1||n!==1||i!==0||a!==0){let e=new DOMMatrix;e.rotateSelf(0,0,-o).translateSelf(i,a).scaleSelf(n,t,1),m.setTransform(e)}}else m=d.createPattern(p,`repeat`);d.save(),d.fillStyle=m,d.fill(`evenodd`),d.restore()}drawPictureStroke(e,n){if(!e)return;let{colorSubstitutions:r,capStyle:i,joinStyle:a,miterLimit:s,tintColor:c,url:l,width:u}=n,d=this._resourceManager.getResource(l);if(d==null)return;let f;if(x(e))f=e.rings;else if(S(e))f=e.paths;else if(C(e))f=X(e).rings;else if(w(e)){console.log(`CanvasDrawHelper.drawPictureStroke - No implementation!`);return}else return;u||=d.width;let p=F(l)||`src`in d&&F(d.src),m=`getFrame`in d?O(d):d;r&&(m=this._colorSubstitutionHelper.applyColorSubstitution(m,r)),this._applyAdditionalRenderProps&&(p||c&&(m=this._colorSubstitutionHelper.tintImageData(m,c)));let h=Math.max(this.transformSize(o(u)),.5),g=h/m.width,_=this._ctx,v=_.createPattern(m,`repeat-y`);_.save(),this._setCapStyle(i),this._setJoinStyle(a),s!==void 0&&(_.miterLimit=s),_.lineWidth=h;let y,b;for(let e of f)if(e=t(e),$(e),!(!e||e.length<=1)){y=this.transformPt(e[0]);for(let t=1;t<e.length;t++){b=this.transformPt(e[t]);let n=Ce(y,b),r=new DOMMatrix;r.translateSelf(0,y[1]-h/2).scaleSelf(g,g,1).rotateSelf(0,0,90-n),v.setTransform(r),_.strokeStyle=v,_.beginPath(),_.moveTo(y[0],y[1]),_.lineTo(b[0],b[1]),_.stroke(),y=b}}_.restore()}drawGradientFill(e,t){if(!e)return;let n;if(x(e))n=e.rings;else if(S(e))n=e.paths;else if(C(e))n=X(e).rings;else{K().error(`Unable to draw gradient fill`);return}this._buildPath(n,!0);let{angle:i,gradientMethod:a,gradientSize:s,gradientSizeUnits:m}=t,h=D.CIMGradientFill,g=t.gradientType??h.gradientType,_=-r(i??0),v=c();for(let e of n){let t=e?e.length:0;if(t>1)for(let n=0;n<t;n++){let t=this.transformPt(e[n]);(a===`Linear`||a===`Rectangular`)&&(t=k(t,-_)),l(v,t)}}let[y,b,w,T]=v,E=this._ctx;switch(E.save(),a){case`Buffered`:K().error(`Gradient method "${a}" currently unsupported.`);break;case`Linear`:{let e=(b+T)/2,n=m===`Absolute`?this.transformSize(o(s)):I(s,h.gradientSize)*(w-y),[r,i]=g===`Discrete`?[w,w-n]:[y+n,y],a=k([r,e],_),c=k([i,e],_),l=E.createLinearGradient(a[0],a[1],c[0],c[1]);A(l,t),E.fillStyle=l,E.fill(`evenodd`);break}case`Circular`:{let e=u(v),n=p(v)/2,r=m===`Absolute`?this.transformSize(o(s)):I(s,h.gradientSize)*n,[i,a]=g===`Discrete`?[n,n-r]:[r,0],c=E.createRadialGradient(e[0],e[1],i,e[0],e[1],a);A(c,t),E.fillStyle=c,E.fill(`evenodd`);break}case`Rectangular`:{let n=u(v),r=n[0],i=n[1],a=k(n,_),c=(n,r,i,o,s,c,l,u)=>{E.save(),this.pushClipPath(e);let d=k([s,c],_),f=k([l,u],_);E.beginPath(),E.moveTo(a[0],a[1]),E.lineTo(d[0],d[1]),E.lineTo(f[0],f[1]),E.lineTo(a[0],a[1]),E.clip();let p=k([n,r],_),m=k([i,o],_),h=E.createLinearGradient(p[0],p[1],m[0],m[1]);A(h,t),E.fillStyle=h,E.fill(`evenodd`),E.restore()},l=m===`Absolute`?this.transformSize(o(s)):I(s,h.gradientSize)*(d(v)/2),[p,x]=g===`Discrete`?[w,w-l]:[r+l,r];c(p,i,x,i,w,b,w,T),[p,x]=g===`Discrete`?[y,y+l]:[r-l,r],c(p,i,x,i,y,T,y,b),l=m===`Absolute`?this.transformSize(o(s)):I(s,h.gradientSize)*(f(v)/2);let[S,C]=g===`Discrete`?[T,T-l]:[i+l,i];c(r,S,r,C,w,T,y,T),[S,C]=g===`Discrete`?[b,b+l]:[i-l,i],c(r,S,r,C,y,b,w,b);break}}E.restore()}drawGradientStroke(e,n){let{capStyle:r,gradientMethod:i,gradientSize:a,gradientSizeUnits:s,joinStyle:c,miterLimit:l,width:u}=n;if(!e||u===0)return;let d;if(x(e))d=e.rings;else if(S(e))d=e.paths;else if(C(e))d=X(e).rings;else{K().error(`Unable to draw gradient stroke`);return}let f=n.gradientType??D.CIMGradientStroke.gradientType,p=Math.max(this.transformSize(o(u)),.5),m=this._ctx;m.save(),this._setCapStyle(r),this._setJoinStyle(c),l!==void 0&&(m.miterLimit=l),m.lineWidth=p;let h,g;for(let e of d){if(e=t(e),$(e),!e||e.length<=1)continue;let r=0;h=this.transformPt(e[0]);for(let t=1;t<e.length;t++){g=this.transformPt(e[t]);let n=g[0]-h[0],i=g[1]-h[1];r+=Math.sqrt(n*n+i*i),h=g}let c=s===`Absolute`?this.transformSize(o(a)):I(a,D.CIMGradientStroke.gradientSize)*(i===`AcrossLine`?p:r),l=0;h=this.transformPt(e[0]);for(let t=1;t<e.length;t++){g=this.transformPt(e[t]);let a=g[0]-h[0],o=g[1]-h[1],s=Math.sqrt(a*a+o*o),u,d,_,v;switch(i){case`AcrossLine`:{let[e,t]=k([a/s,o/s],-Math.PI/2),n=p/2,r=f===`Discrete`?n:c-n;u=(h[0]+g[0])/2+e*r,d=(h[1]+g[1])/2+t*r,_=u-e*c,v=d-t*c;break}case`AlongLine`:{let e=a/s,t=o/s;f===`Discrete`?(u=h[0]-e*l,d=h[1]-t*l,_=u+e*c,v=d+t*c):(_=h[0]+e*(r-l),v=h[1]+t*(r-l),u=_-e*c,d=v-t*c);break}default:K().error(`Unrecognized gradient method:`,i),m.restore();return}let y=m.createLinearGradient(u,d,_,v);A(y,n),m.strokeStyle=y,m.beginPath(),m.moveTo(h[0],h[1]),m.lineTo(g[0],g[1]),m.stroke(),l+=s,h=g}}m.restore()}_buildPath(e,t){let n=this._ctx;if(n.beginPath(),e)for(let r of e){let e=r?r.length:0;if(e>1){let i=this.transformPt(r[0]);n.moveTo(i[0],i[1]);for(let t=1;t<e;t++)i=this.transformPt(r[t]),n.lineTo(i[0],i[1]);t&&n.closePath()}}}_setCapStyle(e){switch(e){case`Butt`:this._ctx.lineCap=`butt`;break;case`Round`:this._ctx.lineCap=`round`;break;case`Square`:this._ctx.lineCap=`square`}}_setJoinStyle(e){switch(e){case`Bevel`:this._ctx.lineJoin=`bevel`;break;case`Round`:this._ctx.lineJoin=`round`;break;case`Miter`:this._ctx.lineJoin=`miter`}}}function Se(e,t,n){let r=P(e.separation,D.CIMHatchFill.separation)*n,i=P(e.rotation);if(r===0)return null;r<0&&(r=-r);let a=0,o=.5*r;for(;a>o;)a-=r;for(;a<-o;)a+=r;let s=h();g(s,t),s[0]-=o,s[1]-=o,s[2]+=o,s[3]+=o;let c=[[s[0],s[1]],[s[0],s[3]],[s[2],s[3]],[s[2],s[1]]];for(;i>180;)i-=180;for(;i<0;)i+=180;let l=Math.cos(i*W),u=Math.sin(i*W),d=-r*u,f=r*l,p=P(e.offsetX)*n,m=P(e.offsetY)*n;a=p*u-m*l;let _,v,y,b;_=y=Number.MAX_VALUE,v=b=-Number.MAX_VALUE;for(let e of c){let t=e[0],n=e[1],r=l*t+u*n,i=-u*t+l*n;_=Math.min(_,r),y=Math.min(y,i),v=Math.max(v,r),b=Math.max(b,i)}y=Math.floor(y/r)*r;let x=l*_-u*y-d*a/r,S=u*_+l*y-f*a/r,C=l*v-u*y-d*a/r,w=u*v+l*y-f*a/r,T=1+Math.round((b-y)/r),E=[];for(let e=0;e<T;e++)x+=d,S+=f,C+=d,w+=f,E.push([[x,S],[C,w]]);return{paths:E}}function Ce(e,t){let n=t[0]-e[0],r=t[1]-e[1];return 180/Math.PI*Math.atan2(r,n)}const X=e=>e?{spatialReference:e.spatialReference,rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]}:null,Z=(e,t,n)=>{switch(e){case`ExtraLeading`:return 1+t/n;case`Multiple`:return t;case`Exact`:return t/n}};function Q(t,n=1){let r=se(t),i=ie(t.fontStyleName),a=t.fontFamilyName??e,{weight:o,style:s}=i,c=n*(t.height||5),l=ce(t.horizontalAlignment),u=le(t.verticalAlignment),d=L(t),f=L(t.haloSymbol),p=f==null?0:n*(t.haloSize??0),m=R(t.symbol),h=n*(z(t.symbol)||0),g=t.callout?.type===`CIMBackgroundCallout`?t.callout.backgroundSymbol:null,_=L(g),v=z(g),y=R(g);return{color:d,size:c,horizontalAlignment:l,verticalAlignment:u,font:{family:a,style:V(s),weight:B(o),decoration:r},outline:{size:h||0,color:m},halo:{size:p||0,color:f,style:s},backgroundColor:_,borderLine:v!=null&&y!=null?{size:v,color:y}:null,pixelRatio:1,premultiplyColors:!0}}function $(e){let t=e[0],n=1,r,i,a,o,s;for(;n<e.length;)r=e[n][0]-t[0],i=e[n][1]-t[1],o=r===0?Math.PI/2:i/r,a!==void 0&&Math.abs(o-a)<=1e-4?(e.splice(n-1,1),t=s):(s=t,t=e[n],n++),a=o}export{J as CIMSymbolDrawHelper,xe as CanvasDrawHelper,be as EnvDrawHelper,Y as HittestDrawHelper,q as Transformation,W as cDegToRad,Z as lineGapType2LineHeight};
|
|
2
|
+
import{defaultFontFamily as e}from"../../core/fontUtils.js";import has from"../../core/has.js";import{clone as t}from"../../core/lang.js";import n from"../../core/Logger.js";import{deg2rad as r}from"../../core/mathUtils.js";import i from"../../core/ObjectPool.js";import{onePixelInPoints as a,pt2px as o,px2pt as s,onePointInPixels as c}from"../../core/screenUtils.js";import{GeometryCursor as l}from"../../geometry/GeometryCursor.js";import{empty as u,expandPointInPlace as d,center as f,width as p,height as m,diagonal as h,fromValues as g,create as _}from"../../geometry/support/aaBoundingRect.js";import{getBoundsXY as v}from"../../geometry/support/boundsUtils.js";import{polygonCentroid as y}from"../../geometry/support/centroid.js";import{targetIntersectsPolygon as b,pointInPolygon as x,nearLine as S}from"../../geometry/support/intersectsBase.js";import{isPolygon as C,isPolyline as w,isExtent as T,isMultipoint as E,isPoint as D}from"../../geometry/support/jsonTypeUtils.js";import{SimpleEffectCursor as O}from"./CIMEffects.js";import ee from"./CIMImageColorSubstitutionHelper.js";import{getEffectOperator as te,getPlacementOperator as ne}from"./CIMOperators.js";import{Placement as re}from"./CIMPlacements.js";import{defaultCIMValues as k}from"./defaultCIMValues.js";import{fromCIMFontStyle as ie}from"./fromCIMFontStyle.js";import{getFirstFrame as A}from"./imageUtils.js";import{rotate as j}from"./mathUtils.js";import{addColorStops as M}from"./rasterizingUtils.js";import ae from"./Rect.js";import{parseRichTextRuns as N,hasRichTextFormattingTags as P}from"./richTextUtils.js";import F from"./TextRasterizer.js";import{getNumericValue as I,isSVGImage as L,getRelativeGradientSize as R,getEffectsInflateSize as oe,fromCIMFontDecoration as se,fromCIMHorizontalAlignment as ce,fromCIMVerticalAlignment as le,getFillColor as z,getStrokeColor as B,getStrokeWidth as V,getFontWeight as H,getFontStyle as U,isCIMFill as ue,getSize as de}from"./utils.js";import{destroyHiddenSvg as fe,createHiddenSvg as pe,createSvgElement as W}from"../../views/2d/engine/svgUtils.js";import{magicLabelLineHeight as me,glyphSize as he,hittestToleranceSmallSymbol as ge,hittestSmallSymbolThreshold as _e}from"../../views/2d/engine/webgl/definitions.js";import{shapeTextResource as ve}from"../../views/2d/engine/webgl/mesh/templates/shapingUtils.js";import{roundPtToWholePixel as ye,getLineWidth as be}from"../../views/2d/layers/graphics/graphicsUtils.js";const G=Math.PI/180,K=.5,q=()=>n.getLogger(`esri.symbols.cim.CIMSymbolDrawHelper`);class J{constructor(e){this._t=e}static createIdentity(){return new J([1,0,0,0,1,0])}clone(){let e=this._t;return new J(e.slice())}transform(e){let t=this._t;return[t[0]*e[0]+t[1]*e[1]+t[2],t[3]*e[0]+t[4]*e[1]+t[5]]}static createScale(e,t){return new J([e,0,0,0,t,0])}scale(e,t){let n=this._t;return n[0]*=e,n[1]*=e,n[2]*=e,n[3]*=t,n[4]*=t,n[5]*=t,this}scaleRatio(){return Math.sqrt(this._t[0]*this._t[0]+this._t[1]*this._t[1])}static createTranslate(e,t){return new J([0,0,e,0,0,t])}translate(e,t){let n=this._t;return n[2]+=e,n[5]+=t,this}static createRotate(e){let t=Math.cos(e),n=Math.sin(e);return new J([t,-n,0,n,t,0])}rotate(e){return J.multiply(this,J.createRotate(e),this)}angle(){let e=this._t[0],t=this._t[3],n=Math.sqrt(e*e+t*t);return[e/n,t/n]}static multiply(e,t,n){let r=e._t,i=t._t,a=r[0]*i[0]+r[3]*i[1],o=r[1]*i[0]+r[4]*i[1],s=r[2]*i[0]+r[5]*i[1]+i[2],c=r[0]*i[3]+r[3]*i[4],l=r[1]*i[3]+r[4]*i[4],u=r[2]*i[3]+r[5]*i[4]+i[5],d=n._t;return d[0]=a,d[1]=o,d[2]=s,d[3]=c,d[4]=l,d[5]=u,n}invert(){let e=this._t,t=e[0]*e[4]-e[1]*e[3];if(t===0)return new J([0,0,0,0,0,0]);t=1/t;let n=(e[1]*e[5]-e[2]*e[4])*t,r=(e[2]*e[3]-e[0]*e[5])*t,i=e[4]*t,a=-e[1]*t,o=-e[3]*t,s=e[0]*t;return new J([i,a,n,o,s,r])}}class Y{constructor(e,t){this._resourceManager=e,this._transfos=[],this._sizeTransfos=[],this._textScaling=[],this._geomUnitsPerPoint=1,this._placementPool=new i(()=>new re,void 0,void 0,100),this._earlyReturn=!1,this._mapRotation=0,this._transfos.push(t||J.createIdentity()),this._sizeTransfos.push(t?t.scaleRatio():1),this._textScaling.push(1)}setTransform(e,t){this._transfos=[e||J.createIdentity()],this._sizeTransfos=[t||(e?e.scaleRatio():1)],this._textScaling=[1]}setGeomUnitsPerPoint(e){this._geomUnitsPerPoint=e}transformPt(e){return this._transfos[this._transfos.length-1].transform(e)}transformSize(e){return e*this._sizeTransfos[this._sizeTransfos.length-1]}scaleText(e){return e*this._textScaling[this._textScaling.length-1]}reverseTransformPt(e){return this._transfos[this._transfos.length-1].invert().transform(e)}reverseTransformSize(e){return e/this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformScalar(e){return e/this._transfos[this._transfos.length-1].scaleRatio()}reverseScaleText(e){return e/this._textScaling[this._textScaling.length-1]}getTransformAngle(){return this._transfos[this._transfos.length-1].angle()}geomUnitsPerPoint(){return this.isEmbedded()?1:this._geomUnitsPerPoint}prevGeomUnitsPerPoint(){return this._transfos.length>2?1:this._geomUnitsPerPoint}isEmbedded(){return this._transfos.length>1}back(){return this._transfos[this._transfos.length-1]}push(e,t=!1,n=1){let r=t?e.scaleRatio():1;J.multiply(e,this.back(),e),this._transfos.push(e),this._sizeTransfos.push(this._sizeTransfos[this._sizeTransfos.length-1]*r),this._textScaling.push(this._textScaling[this._textScaling.length-1]*n)}pop(){this._transfos.splice(-1,1),this._sizeTransfos.splice(-1,1),this._textScaling.splice(-1,1)}drawSymbol(e,t,n){if(e)switch(e.type){case`CIMPointSymbol`:case`CIMLineSymbol`:case`CIMPolygonSymbol`:this.drawMultiLayerSymbol(e,t);break;case`CIMTextSymbol`:this.drawTextSymbol(e,t,n)}}drawMultiLayerSymbol(e,t){if(!e||!t)return;let n=e.symbolLayers;if(!n)return;let r=e.effects;if(r&&r.length>0){let e=this.executeEffects(r,t);if(e){let t=e.next();for(;t;)this.drawSymbolLayers(n,t.asJSON()),t=e.next()}}else this.drawSymbolLayers(n,t)}executeEffects(e,t){let n=this.geomUnitsPerPoint(),r=oe(e),i=new O(l.fromJSONCIM(t));for(let a of e){let e=te(a);e&&(i=e.execute(i,a,{geomUnitsPerPoint:n,tileKey:null,maxInflateSize:r,scale:null,spatialReference:t.spatialReference,preventClipping:!1}))}return i}drawSymbolLayers(e,t){let n=e.length;for(;n--;){let r=e[n];if(!r||r.enable===!1)continue;let i=r.effects;if(i&&i.length>0){let e=this.executeEffects(i,t);if(e){let t=null;for(;(t=e.next())&&(this.drawSymbolLayer(r,t.asJSON()),!this._earlyReturn););}}else this.drawSymbolLayer(r,t);if(this._earlyReturn)return}}drawSymbolLayer(e,t){switch(e.type){case`CIMSolidFill`:this.drawSolidFill(t,e.color,e.path);break;case`CIMHatchFill`:this.drawHatchFill(t,e);break;case`CIMPictureFill`:this.drawPictureFill(t,e);break;case`CIMGradientFill`:this.drawGradientFill(t,e);break;case`CIMSolidStroke`:this.drawSolidStroke(t,e.color,e.width,e.capStyle,e.joinStyle,e.miterLimit,e.path);break;case`CIMPictureStroke`:this.drawPictureStroke(t,e);break;case`CIMGradientStroke`:this.drawGradientStroke(t,e);break;case`CIMCharacterMarker`:case`CIMPictureMarker`:case`CIMVectorMarker`:this.drawMarkerLayer(e,t)}}drawHatchFill(e,t){let n=we(t,e,this.geomUnitsPerPoint());n&&(this.pushClipPath(e),this.drawMultiLayerSymbol(t.lineSymbol,n),this.popClipPath())}drawPictureFill(e,t){}drawGradientFill(e,t){}drawPictureStroke(e,t){}drawGradientStroke(e,t){}drawMarkerLayer(e,t){let n=e.markerPlacement;if(n){let r=ne(n);if(r){let i=n.type===`CIMMarkerPlacementInsidePolygon`||n.type===`CIMMarkerPlacementPolygonCenter`&&n.clipAtBoundary;i&&this.pushClipPath(t);let a=r.execute(l.fromJSONCIM(t),n,this.geomUnitsPerPoint(),null);if(a){let t=null;for(;(t=a.next())&&(this.drawMarker(e,t),!this._earlyReturn););}i&&this.popClipPath()}}else{let n=this._placementPool.acquire();if(D(t))n.tx=t.x,n.ty=t.y,this.drawMarker(e,n);else if(C(t)){let r=y(t);r&&([n.tx,n.ty]=r,this.drawMarker(e,n))}else if(w(t)){for(let r of t.paths)for(let t of r)if(n.tx=t[0],n.ty=t[1],this.drawMarker(e,n),this._earlyReturn)break}else for(let r of t.points)if(n.tx=r[0],n.ty=r[1],this.drawMarker(e,n),this._earlyReturn)break;this._placementPool.release(n)}}drawMarker(e,t){switch(e.type){case`CIMCharacterMarker`:case`CIMPictureMarker`:this.drawPictureMarker(e,t);break;case`CIMVectorMarker`:this.drawVectorMarker(e,t)}}drawPictureMarker(e,t){if(!e)return;let n=this._resourceManager.getResource(e.url),r=I(e.size,k.CIMPictureMarker.size);if(n==null||r<=0)return;let i=n.width,a=n.height;if(!i||!a)return;let o=i/a,s=I(e.scaleX,1),c=J.createIdentity(),l=e.anchorPoint;if(l){let t=l.x,n=l.y;e.anchorPointUnits!==`Absolute`&&(t*=r*o*s,n*=r),c.translate(-t,-n)}let u=I(e.rotation);e.rotateClockwise&&(u=-u),this._mapRotation&&(u+=this._mapRotation),u&&c.rotate(u*G);let d=I(e.offsetX),f=I(e.offsetY);if(d||f){if(this._mapRotation){let e=G*this._mapRotation,t=Math.cos(e),n=Math.sin(e),r=d*t-f*n,i=d*n+f*t;d=r,f=i}c.translate(d,f)}let p=this.geomUnitsPerPoint();p!==1&&c.scale(p,p);let m=t.getAngle();m&&c.rotate(m),c.translate(t.tx,t.ty),this.push(c),this.drawImage(e,r),this.pop()}drawVectorMarker(e,t){if(!e)return;let n=e.markerGraphics;if(!n)return;let r=I(e.size,k.CIMVectorMarker.size),i=e.frame,a=i?i.ymax-i.ymin:0,o=r&&a?r/a:1,s=J.createIdentity();i&&s.translate(-(i.xmax+i.xmin)*.5,-(i.ymax+i.ymin)*.5);let c=e.anchorPoint;if(c){let t=c.x,n=c.y;e.anchorPointUnits===`Absolute`?(t/=o,n/=o):i&&(t*=i.xmax-i.xmin,n*=i.ymax-i.ymin),s.translate(-t,-n)}o!==1&&s.scale(o,o);let l=I(e.rotation);e.rotateClockwise&&(l=-l),this._mapRotation&&(l+=this._mapRotation),l&&s.rotate(l*G);let u=I(e.offsetX),d=I(e.offsetY);if(u||d){if(this._mapRotation){let e=G*this._mapRotation,t=Math.cos(e),n=Math.sin(e),r=u*t-d*n,i=u*n+d*t;u=r,d=i}s.translate(u,d)}let f=this.geomUnitsPerPoint();f!==1&&s.scale(f,f);let p=t.getAngle();p&&s.rotate(p),s.translate(t.tx,t.ty);let m=e.scaleSymbolsProportionally?1:o;this.push(s,e.scaleSymbolsProportionally,m);for(let e of n){(!e?.symbol||!e.geometry)&&q().error(`Invalid marker graphic`,e);let t=e.textString;if(typeof t==`number`&&(t=t.toString()),this.drawSymbol(e.symbol,e.geometry,t),this._earlyReturn)break}this.pop()}drawTextSymbol(e,t,n){if(!e||!D(t)||I(e.height,k.CIMTextSymbol.height)<=0)return;let r=J.createIdentity(),i=I(e.angle);i=-i,i&&r.rotate(i*G);let a=I(e.offsetX),o=I(e.offsetY);(a||o)&&r.translate(a,o);let s=this.geomUnitsPerPoint();s!==1&&r.scale(s,s),r.translate(t.x,t.y),this.push(r),this.drawText(e,n),this.pop()}}class xe extends Y{constructor(e,t){super(e,t),this.reset()}reset(){this._xmin=this._ymin=1/0,this._xmax=this._ymax=-1/0,this._clipCount=0}envelope(){return new ae(this._xmin,this._ymin,this._xmax-this._xmin,this._ymax-this._ymin)}bounds(){return g(this._xmin,this._ymin,this._xmax,this._ymax)}drawSolidFill(e){if(!(!e||this._clipCount>0)){if(C(e))this._processPath(e.rings,0);else if(w(e))this._processPath(e.paths,0);else if(T(e)){let t=X(e);t&&this._processPath(t.rings,0)}else console.error(`drawSolidFill Unexpected geometry type!`)}}drawSolidStroke(e,t,n){if(!e||this._clipCount>0||n==null||n<=0)return;let r=Math.max(this.transformSize(I(n,k.CIMSolidStroke.width))*.5,.5*K);if(C(e))this._processPath(e.rings,r);else if(w(e))this._processPath(e.paths,r);else if(T(e)){let t=X(e);t&&this._processPath(t.rings,r)}else console.error(`drawSolidStroke unexpected geometry type!`)}drawMarkerLayer(e,t){C(t)&&e.markerPlacement&&(e.markerPlacement.type===`CIMMarkerPlacementInsidePolygon`||e.markerPlacement.type===`CIMMarkerPlacementPolygonCenter`&&e.markerPlacement.clipAtBoundary)?this._processPath(t.rings,0):super.drawMarkerLayer(e,t)}drawHatchFill(e,t){this.drawSolidFill(e)}drawPictureFill(e,t){this.drawSolidFill(e)}drawGradientFill(e,t){this.drawSolidFill(e)}drawPictureStroke(e,t){this.drawSolidStroke(e,null,t.width)}drawGradientStroke(e,t){this.drawSolidStroke(e,null,t.width)}pushClipPath(e){this.drawSolidFill(e),this._clipCount++}popClipPath(){this._clipCount--}drawImage(e,t){let{url:n}=e,r=I(e.scaleX,1),i=r*t,a=t,o=this._resourceManager.getResource(n);if(o!=null){let e=o.height/o.width;i=r*(t?e>1?t:t/e:o.width),a=t?e>1?t*e:t:o.height}this._merge(this.transformPt([-i/2,-a/2]),0),this._merge(this.transformPt([-i/2,a/2]),0),this._merge(this.transformPt([i/2,-a/2]),0),this._merge(this.transformPt([i/2,a/2]),0)}drawText(e,t){if(!t||t.length===0)return;this._textRasterizer||=new F;let n=Q(e),r=N({textString:t,font:n.font,symbol:e,supportsRichText:P(t)}),[i,a]=r?this._textRasterizer.computeRichTextSize(r,n):this._textRasterizer.computeTextSize(t,n);i=s(i),a=s(a);let o=this.transformSize(1)*this.reverseTransformScalar(1);i*=o,a*=o;let c=e.horizontalAlignment??k.CIMTextSymbol.horizontalalignment,l=e.verticalAlignment??k.CIMTextSymbol.verticalalignment,u=0;switch(c){case`Left`:u=i/2;break;case`Right`:u=-i/2}let d=0;switch(l){case`Bottom`:d=a/2;break;case`Top`:d=-a/2;break;case`Baseline`:d=a/6}this._merge(this.transformPt([-i/2+u,-a/2+d]),0),this._merge(this.transformPt([-i/2+u,a/2+d]),0),this._merge(this.transformPt([i/2+u,-a/2+d]),0),this._merge(this.transformPt([i/2+u,a/2+d]),0)}_processPath(e,t){if(e)for(let n of e){let e=n?n.length:0;if(e>1){this._merge(this.transformPt(n[0]),t);for(let r=1;r<e;r++)this._merge(this.transformPt(n[r]),t)}}}_merge(e,t){e[0]-t<this._xmin&&(this._xmin=e[0]-t),e[0]+t>this._xmax&&(this._xmax=e[0]+t),e[1]-t<this._ymin&&(this._ymin=e[1]-t),e[1]+t>this._ymax&&(this._ymax=e[1]+t)}}class Se extends Y{constructor(){super(...arguments),this._hittestType=`point`,this._searchTarget=[],this._searchDistPoint=0,this._textInfo=null,this._svg=null,this._path=null,this._canvas=null}destroy(){this._svg=fe(this._svg),this._path=null,this._canvas=null}hitTest(e,t,n,r){let{textInfo:i,mapRotation:a,resolution:o,searchDist:l,hittestType:u,isScreenAligned:d}=r;this._resetHittest();let f=o*c;switch(this.setGeomUnitsPerPoint(f),u){case`point`:if(e.length!==1)return q().error(`Unexpected hittest area`,e),!1;this._hittestType=`point`,this._searchDistPoint=l/2/f,this._searchTarget=[[e[0].x,e[0].y]];break;case`rect`:if(e.length!==4)return q().error(`Unexpected hittest area`,e),!1;this._hittestType=`rect`,this._searchDistPoint=0,this._searchTarget=e.map(e=>[e.x,e.y]);break;case`polygon`:this._hittestType=`polygon`,this._searchDistPoint=0,this._searchTarget=e.map(e=>[e.x,e.y])}if(this._textInfo=i,this._mapRotation=d?a:0,!has(`esri-mobile`)){let e=s(ge*window.devicePixelRatio),n=s(_e);(t?.type!==`CIMLineSymbol`&&t?.type!==`CIMPolygonSymbol`||!t.symbolLayers?.some(ue))&&t?.type!==`CIMMeshSymbol`&&(de(t)??0)<n&&(this._searchDistPoint=e)}return this._earlyReturn=!1,this.drawSymbol(t,n),this._earlyReturn}executeEffects(e,t){return e.at(-1)?.type===`CIMGeometricEffectDashes`&&(e=e.slice(0,-1)),super.executeEffects(e,t)}drawSolidFill(e,t,n){n==null?this._hitTestFill(e):this._hittestSvgPath(e,n,!0)}drawHatchFill(e,t){this._hitTestFill(e)}drawPictureFill(e,t){this._hitTestFill(e)}drawGradientFill(e,t){this._hitTestFill(e)}drawSolidStroke(e,t,n,r,i,a,o){o==null?this._hitTestStroke(e,n):this._hittestSvgPath(e,o,!1,n)}drawPictureStroke(e,t){this._hitTestStroke(e,t.width)}drawGradientStroke(e,t){this._hitTestStroke(e,t.width)}drawMarkerLayer(e,t){e.markerPlacement&&(e.markerPlacement.type===`CIMMarkerPlacementInsidePolygon`||e.markerPlacement.type===`CIMMarkerPlacementPolygonCenter`&&e.markerPlacement.clipAtBoundary)?this._hitTestFill(t):super.drawMarkerLayer(e,t)}drawTextSymbol(e,t,n){if(!e||!D(t)||I(e.height,k.CIMTextSymbol.height)<=0)return;let r=J.createIdentity(),i=this.geomUnitsPerPoint();i!==1&&r.scale(i,i),r.translate(t.x,t.y),this.push(r),this.drawText(e,n),this.pop()}pushClipPath(e){}popClipPath(){}drawImage(e,t){let{url:n}=e,r=I(e.scaleX,1),i=this._resourceManager.getResource(n);if(i==null||i.height===0||t===0)return;let a=t*this.geomUnitsPerPoint(),o=a*r*(i.width/i.height);if(this._hittestType===`point`){let e=this.reverseTransformPt(this._searchTarget[0]),t=this._searchDistPoint;Math.abs(e[0])<o/2+t&&Math.abs(e[1])<a/2+t&&(this._earlyReturn=!0)}else{let e=o/2,t=a/2,n=[[-e,t],[e,t],[e,-t],[-e,-t],[-e,t]],r=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;b(r,[n])&&(this._earlyReturn=!0)}}drawText(e,t){let n=this._textInfo;if(!n)return;let r=n.get(e);if(!r||!p(r.glyphMosaicItems))return;let i=ye(I(e.height,k.CIMTextSymbol.height)),{lineGapType:a,lineGap:o}=e,s=a?Z(a,I(o),i):0,c=e.horizontalAlignment??k.CIMTextSymbol.horizontalalignment,l=e.verticalAlignment??k.CIMTextSymbol.verticalalignment,u=e.callout?.type===`CIMBackgroundCallout`,d=ve(r.glyphMosaicItems,{scale:i/he,angle:I(e.angle),xOffset:I(e.offsetX),yOffset:I(e.offsetY),horizontalAlignment:c,verticalAlignment:l,maxLineWidth:be(e.lineWidth),lineHeight:me*Math.max(.25,Math.min(s||1,4)),decoration:e.font.decoration||`none`,useCIMAngleBehavior:!1,hasBackground:u}),f=this.reverseScaleText(1);for(let e of d.glyphs){let t=e.offsets,n=[[t.topLeft[0]*f,-t.topLeft[1]*f],[t.topRight[0]*f,-t.topRight[1]*f],[t.bottomRight[0]*f,-t.bottomRight[1]*f],[t.bottomLeft[0]*f,-t.bottomLeft[1]*f],[t.topLeft[0]*f,-t.topLeft[1]*f]];if(this._hittestType===`point`){let e=this.reverseTransformPt(this._searchTarget[0]);x(e,[n])&&(this._earlyReturn=!0)}else{let e=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;b(e,[n])&&(this._earlyReturn=!0)}}function p(e){return e.type===`glyphs`?e.glyphs.length>0:e.runs.some(e=>e.glyphs.glyphs.length>0)}}_hitTestFill(e){let t=null;if(T(e)){let n=e;t=[[[n.xmin,n.ymin],[n.xmin,n.ymax],[n.xmax,n.ymax],[n.xmax,n.ymin],[n.xmin,n.ymin]]]}else if(C(e))t=e.rings;else if(w(e))t=e.paths;else return;if(this._hittestType===`point`){let e=this.reverseTransformPt(this._searchTarget[0]);if(x(e,t)&&(this._earlyReturn=!0),!this._earlyReturn){let n=this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint();S(e,t,n)&&(this._earlyReturn=!0)}}else{let e=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;b(e,t)&&(this._earlyReturn=!0)}}_getSvgPath(){return(this._svg==null||this._path==null)&&(this._svg??=pe(),this._path??=W(`path`),this._svg.appendChild(this._path)),this._path}_getCanvasContext(e,t){return this._canvas??=document.createElement(`canvas`),this._canvas.width=e,this._canvas.height=t,this._canvas.getContext(`2d`,{willReadFrequently:!0})}_hittestSvgPath(e,t,n,r=0){let i=_();v(i,e);let a={x:i[0],y:i[1],width:i[2]-i[0],height:i[3]-i[1]},o=this._getSvgPath();o.setAttribute(`d`,t);let s=o.getBBox();if(this._hittestType===`point`){let e=this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint(),i=this.reverseTransformPt(this._searchTarget[0]),o=Math.max(s.width/a.width,s.height/a.height),c=1,l=2*e*o;l<1&&(c=2/l,o*=c,s.x*=c,s.y*=c,s.width*=c,s.height*=c);let u=1+r*o/2,d=this._getCanvasContext(s.width+u*2,s.height+u*2);d.setTransform(c,0,0,c,-s.x+u,-s.y+u);let f=new Path2D(t);n?d.fill(f):(d.lineWidth=o/c*r,d.stroke(f));let p=(a.width*o-s.width)/2,m=(a.height*o-s.height)/2,h=Math.floor((i[0]-a.x-e)*o-p+u),g=Math.floor((a.height-(i[1]-a.y)-e)*o+m+u),_=Math.ceil(2*e*o),v=Math.ceil(2*e*o),y=d.getImageData(h,g,_,v).data;for(let e=3;e<y.length;e+=4)if(y[e]>127.5){this._earlyReturn=!0;return}}else{let e=[[a.x,a.y],[a.x,a.y+a.height],[a.x+a.width,a.y+a.height],[a.x+a.width,a.y],[a.x,a.y]],t=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;if(b(t,[e])){this._earlyReturn=!0;return}}}_hitTestStroke(e,t){let n=null;if(T(e)){let t=e;n=[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]}else if(C(e))n=e.rings;else if(w(e))n=e.paths;else return;if(this._hittestType===`point`){let e=this.reverseTransformPt(this._searchTarget[0]),r=I(t,k.CIMSolidStroke.width)*this.geomUnitsPerPoint(),i=this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint();S(e,n,r/2+i)&&(this._earlyReturn=!0)}else{let e=this.isEmbedded()?this._searchTarget.map(e=>this.reverseTransformPt(e)):this._searchTarget;b(e,n)&&(this._earlyReturn=!0)}}_resetHittest(){this.setTransform(),this._hittestType=`point`,this._searchTarget=[],this._searchDistPoint=0,this._textInfo=null}}class Ce extends Y{constructor(e,t,n,r){super(t,n),this._applyAdditionalRenderProps=r,this._colorSubstitutionHelper=new ee,this._ctx=e}drawSolidFill(e,t){if(!e)return;if(C(e))this._buildPath(e.rings,!0);else if(w(e))this._buildPath(e.paths,!0);else if(T(e))this._buildPath(X(e).rings,!0);else if(E(e))console.log(`CanvasDrawHelper.drawSolidFill - No implementation!`);else return;let n=this._ctx;n.fillStyle=typeof t==`string`?t:`rgba(`+Math.round(t[0])+`,`+Math.round(t[1])+`,`+Math.round(t[2])+`,`+(t[3]??255)/255+`)`,n.fill(`evenodd`)}drawSolidStroke(e,t,n,r,i,a){if(!e||!t||n===0)return;if(C(e))this._buildPath(e.rings,!0);else if(w(e))this._buildPath(e.paths,!1);else if(T(e))this._buildPath(X(e).rings,!0);else{console.log(`CanvasDrawHelper.drawSolidStroke isn't implemented!`);return}let o=this._ctx;o.strokeStyle=typeof t==`string`?t:`rgba(`+Math.round(t[0])+`,`+Math.round(t[1])+`,`+Math.round(t[2])+`,`+(t[3]??255)/255+`)`,o.lineWidth=Math.max(this.transformSize(n),K),this._setCapStyle(r),this._setJoinStyle(i),o.miterLimit=a,o.stroke()}pushClipPath(e){if(this._ctx.save(),C(e))this._buildPath(e.rings,!0);else if(w(e))this._buildPath(e.paths,!0);else if(T(e))this._buildPath(X(e).rings,!0);else return;this._ctx.clip(`evenodd`)}popClipPath(){this._ctx.restore()}drawImage(e,t){let{colorSubstitutions:n,url:r,tintColor:i}=e,a=I(e.scaleX,1),o=this._resourceManager.getResource(r);if(o==null)return;let s=t*(o.width/o.height),c=t;t||(s=o.width,c=o.height);let l=L(r)||`src`in o&&L(o.src),u=`getFrame`in o?A(o):o;n&&(u=this._colorSubstitutionHelper.applyColorSubstitution(u,n)),this._applyAdditionalRenderProps&&!l&&i&&(u=this._colorSubstitutionHelper.tintImageData(u,i));let d=this.transformPt([0,0]),[f,p]=this.getTransformAngle(),m=this.transformSize(1),h=this._ctx;h.save(),h.setTransform({m11:a*m*f,m12:a*m*p,m21:-m*p,m22:m*f,m41:d[0],m42:d[1]}),h.drawImage(u,-s/2,-c/2,s,c),h.restore()}drawText(e,t){if(!t||t.length===0)return;this._textRasterizer||=new F;let n=Q(e,this.transformSize(a)),r=N({textString:t,font:n.font,symbol:e,supportsRichText:P(t)}),i=r?this._textRasterizer.rasterizeRichText(r,n):this._textRasterizer.rasterizeText(t,n);if(!i)return;let{size:o,anchorX:s,anchorY:c,canvas:l}=i,u=o[0]*(s+.5),d=o[1]*(c-.5),f=this._ctx,p=this.transformPt([0,0]),[m,h]=this.getTransformAngle();f.save(),f.setTransform({m11:1*m,m12:1*h,m21:-1*h,m22:1*m,m41:p[0]-1*u,m42:p[1]+1*d}),f.drawImage(l,0,0),f.restore()}drawPictureFill(e,t){if(!e)return;let{colorSubstitutions:n,height:r,offsetX:i,offsetY:a,rotation:o,scaleX:s,tintColor:c,url:l}=t,u=this._resourceManager.getResource(l);if(u==null)return;if(C(e))this._buildPath(e.rings,!0);else if(w(e))this._buildPath(e.paths,!0);else if(T(e))this._buildPath(X(e).rings,!0);else if(E(e))console.log(`CanvasDrawHelper.drawPictureFill - No implementation!`);else return;let d=this._ctx,f=L(l)||`src`in u&&L(u.src),p=`getFrame`in u?A(u):u;n&&(p=this._colorSubstitutionHelper.applyColorSubstitution(p,n));let m;if(this._applyAdditionalRenderProps){f||c&&(p=this._colorSubstitutionHelper.tintImageData(p,c)),m=d.createPattern(p,`repeat`);let e=this.transformSize(1);o||=0,i=i?e*i:0,a=a?e*a:0,r&&=e*r;let t=r?r/u.height:1,n=s&&r?s*r/u.width:1;if(o!==0||t!==1||n!==1||i!==0||a!==0){let e=new DOMMatrix;e.rotateSelf(0,0,-o).translateSelf(i,a).scaleSelf(n,t,1),m.setTransform(e)}}else m=d.createPattern(p,`repeat`);d.save(),d.fillStyle=m,d.fill(`evenodd`),d.restore()}drawPictureStroke(e,n){if(!e)return;let{colorSubstitutions:r,capStyle:i,joinStyle:a,miterLimit:s,tintColor:c,url:l,width:u}=n,d=this._resourceManager.getResource(l);if(d==null)return;let f;if(C(e))f=e.rings;else if(w(e))f=e.paths;else if(T(e))f=X(e).rings;else if(E(e)){console.log(`CanvasDrawHelper.drawPictureStroke - No implementation!`);return}else return;u||=d.width;let p=L(l)||`src`in d&&L(d.src),m=`getFrame`in d?A(d):d;r&&(m=this._colorSubstitutionHelper.applyColorSubstitution(m,r)),this._applyAdditionalRenderProps&&(p||c&&(m=this._colorSubstitutionHelper.tintImageData(m,c)));let h=Math.max(this.transformSize(o(u)),.5),g=h/m.width,_=this._ctx,v=_.createPattern(m,`repeat-y`);_.save(),this._setCapStyle(i),this._setJoinStyle(a),s!==void 0&&(_.miterLimit=s),_.lineWidth=h;let y,b;for(let e of f)if(e=t(e),$(e),!(!e||e.length<=1)){y=this.transformPt(e[0]);for(let t=1;t<e.length;t++){b=this.transformPt(e[t]);let n=Te(y,b),r=new DOMMatrix;r.translateSelf(0,y[1]-h/2).scaleSelf(g,g,1).rotateSelf(0,0,90-n),v.setTransform(r),_.strokeStyle=v,_.beginPath(),_.moveTo(y[0],y[1]),_.lineTo(b[0],b[1]),_.stroke(),y=b}}_.restore()}drawGradientFill(e,t){if(!e)return;let n;if(C(e))n=e.rings;else if(w(e))n=e.paths;else if(T(e))n=X(e).rings;else{q().error(`Unable to draw gradient fill`);return}this._buildPath(n,!0);let{angle:i,gradientMethod:a,gradientSize:s,gradientSizeUnits:c}=t,l=k.CIMGradientFill,g=t.gradientType??l.gradientType,_=-r(i??0),v=u();for(let e of n){let t=e?e.length:0;if(t>1)for(let n=0;n<t;n++){let t=this.transformPt(e[n]);(a===`Linear`||a===`Rectangular`)&&(t=j(t,-_)),d(v,t)}}let[y,b,x,S]=v,E=this._ctx;switch(E.save(),a){case`Buffered`:q().error(`Gradient method "${a}" currently unsupported.`);break;case`Linear`:{let e=(b+S)/2,n=c===`Absolute`?this.transformSize(o(s)):R(s,l.gradientSize)*(x-y),[r,i]=g===`Discrete`?[x,x-n]:[y+n,y],a=j([r,e],_),u=j([i,e],_),d=E.createLinearGradient(a[0],a[1],u[0],u[1]);M(d,t),E.fillStyle=d,E.fill(`evenodd`);break}case`Circular`:{let e=f(v),n=h(v)/2,r=c===`Absolute`?this.transformSize(o(s)):R(s,l.gradientSize)*n,[i,a]=g===`Discrete`?[n,n-r]:[r,0],u=E.createRadialGradient(e[0],e[1],i,e[0],e[1],a);M(u,t),E.fillStyle=u,E.fill(`evenodd`);break}case`Rectangular`:{let n=f(v),r=n[0],i=n[1],a=j(n,_),u=(n,r,i,o,s,c,l,u)=>{E.save(),this.pushClipPath(e);let d=j([s,c],_),f=j([l,u],_);E.beginPath(),E.moveTo(a[0],a[1]),E.lineTo(d[0],d[1]),E.lineTo(f[0],f[1]),E.lineTo(a[0],a[1]),E.clip();let p=j([n,r],_),m=j([i,o],_),h=E.createLinearGradient(p[0],p[1],m[0],m[1]);M(h,t),E.fillStyle=h,E.fill(`evenodd`),E.restore()},d=c===`Absolute`?this.transformSize(o(s)):R(s,l.gradientSize)*(p(v)/2),[h,C]=g===`Discrete`?[x,x-d]:[r+d,r];u(h,i,C,i,x,b,x,S),[h,C]=g===`Discrete`?[y,y+d]:[r-d,r],u(h,i,C,i,y,S,y,b),d=c===`Absolute`?this.transformSize(o(s)):R(s,l.gradientSize)*(m(v)/2);let[w,T]=g===`Discrete`?[S,S-d]:[i+d,i];u(r,w,r,T,x,S,y,S),[w,T]=g===`Discrete`?[b,b+d]:[i-d,i],u(r,w,r,T,y,b,x,b);break}}E.restore()}drawGradientStroke(e,n){let{capStyle:r,gradientMethod:i,gradientSize:a,gradientSizeUnits:s,joinStyle:c,miterLimit:l,width:u}=n;if(!e||u===0)return;let d;if(C(e))d=e.rings;else if(w(e))d=e.paths;else if(T(e))d=X(e).rings;else{q().error(`Unable to draw gradient stroke`);return}let f=n.gradientType??k.CIMGradientStroke.gradientType,p=Math.max(this.transformSize(o(u)),.5),m=this._ctx;m.save(),this._setCapStyle(r),this._setJoinStyle(c),l!==void 0&&(m.miterLimit=l),m.lineWidth=p;let h,g;for(let e of d){if(e=t(e),$(e),!e||e.length<=1)continue;let r=0;h=this.transformPt(e[0]);for(let t=1;t<e.length;t++){g=this.transformPt(e[t]);let n=g[0]-h[0],i=g[1]-h[1];r+=Math.sqrt(n*n+i*i),h=g}let c=s===`Absolute`?this.transformSize(o(a)):R(a,k.CIMGradientStroke.gradientSize)*(i===`AcrossLine`?p:r),l=0;h=this.transformPt(e[0]);for(let t=1;t<e.length;t++){g=this.transformPt(e[t]);let a=g[0]-h[0],o=g[1]-h[1],s=Math.sqrt(a*a+o*o),u,d,_,v;switch(i){case`AcrossLine`:{let[e,t]=j([a/s,o/s],-Math.PI/2),n=p/2,r=f===`Discrete`?n:c-n;u=(h[0]+g[0])/2+e*r,d=(h[1]+g[1])/2+t*r,_=u-e*c,v=d-t*c;break}case`AlongLine`:{let e=a/s,t=o/s;f===`Discrete`?(u=h[0]-e*l,d=h[1]-t*l,_=u+e*c,v=d+t*c):(_=h[0]+e*(r-l),v=h[1]+t*(r-l),u=_-e*c,d=v-t*c);break}default:q().error(`Unrecognized gradient method:`,i),m.restore();return}let y=m.createLinearGradient(u,d,_,v);M(y,n),m.strokeStyle=y,m.beginPath(),m.moveTo(h[0],h[1]),m.lineTo(g[0],g[1]),m.stroke(),l+=s,h=g}}m.restore()}_buildPath(e,t){let n=this._ctx;if(n.beginPath(),e)for(let r of e){let e=r?r.length:0;if(e>1){let i=this.transformPt(r[0]);n.moveTo(i[0],i[1]);for(let t=1;t<e;t++)i=this.transformPt(r[t]),n.lineTo(i[0],i[1]);t&&n.closePath()}}}_setCapStyle(e){switch(e){case`Butt`:this._ctx.lineCap=`butt`;break;case`Round`:this._ctx.lineCap=`round`;break;case`Square`:this._ctx.lineCap=`square`}}_setJoinStyle(e){switch(e){case`Bevel`:this._ctx.lineJoin=`bevel`;break;case`Round`:this._ctx.lineJoin=`round`;break;case`Miter`:this._ctx.lineJoin=`miter`}}}function we(e,t,n){let r=I(e.separation,k.CIMHatchFill.separation)*n,i=I(e.rotation);if(r===0)return null;r<0&&(r=-r);let a=0,o=.5*r;for(;a>o;)a-=r;for(;a<-o;)a+=r;let s=_();v(s,t),s[0]-=o,s[1]-=o,s[2]+=o,s[3]+=o;let c=[[s[0],s[1]],[s[0],s[3]],[s[2],s[3]],[s[2],s[1]]];for(;i>180;)i-=180;for(;i<0;)i+=180;let l=Math.cos(i*G),u=Math.sin(i*G),d=-r*u,f=r*l,p=I(e.offsetX)*n,m=I(e.offsetY)*n;a=p*u-m*l;let h,g,y,b;h=y=Number.MAX_VALUE,g=b=-Number.MAX_VALUE;for(let e of c){let t=e[0],n=e[1],r=l*t+u*n,i=-u*t+l*n;h=Math.min(h,r),y=Math.min(y,i),g=Math.max(g,r),b=Math.max(b,i)}y=Math.floor(y/r)*r;let x=l*h-u*y-d*a/r,S=u*h+l*y-f*a/r,C=l*g-u*y-d*a/r,w=u*g+l*y-f*a/r,T=1+Math.round((b-y)/r),E=[];for(let e=0;e<T;e++)x+=d,S+=f,C+=d,w+=f,E.push([[x,S],[C,w]]);return{paths:E}}function Te(e,t){let n=t[0]-e[0],r=t[1]-e[1];return 180/Math.PI*Math.atan2(r,n)}const X=e=>e?{spatialReference:e.spatialReference,rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]}:null,Z=(e,t,n)=>{switch(e){case`ExtraLeading`:return 1+t/n;case`Multiple`:return t;case`Exact`:return t/n}};function Q(t,n=1){let r=se(t),i=ie(t.fontStyleName),a=t.fontFamilyName??e,{weight:o,style:s}=i,c=n*(t.height||5),l=ce(t.horizontalAlignment),u=le(t.verticalAlignment),d=z(t),f=z(t.haloSymbol),p=f==null?0:n*(t.haloSize??0),m=B(t.symbol),h=n*(V(t.symbol)||0),g=t.callout?.type===`CIMBackgroundCallout`?t.callout.backgroundSymbol:null,_=z(g),v=V(g),y=B(g);return{color:d,size:c,horizontalAlignment:l,verticalAlignment:u,font:{family:a,style:U(s),weight:H(o),decoration:r},outline:{size:h||0,color:m},halo:{size:p||0,color:f,style:s},backgroundColor:_,borderLine:v!=null&&y!=null?{size:v,color:y}:null,pixelRatio:1,premultiplyColors:!0}}function $(e){let t=e[0],n=1,r,i,a,o,s;for(;n<e.length;)r=e[n][0]-t[0],i=e[n][1]-t[1],o=r===0?Math.PI/2:i/r,a!==void 0&&Math.abs(o-a)<=1e-4?(e.splice(n-1,1),t=s):(s=t,t=e[n],n++),a=o}export{Y as CIMSymbolDrawHelper,Ce as CanvasDrawHelper,xe as EnvDrawHelper,Se as HittestDrawHelper,J as Transformation,G as cDegToRad,Z as lineGapType2LineHeight};
|
package/symbols/edges/Edges3D.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../Color.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{clone as r}from"../../core/lang.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../Color.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{clone as r}from"../../core/lang.js";import{onePixelInPoints as i}from"../../core/screenUtils.js";import{property as a,subclass as o}from"../../core/accessorSupport/decorators.js";import{colorAndTransparencyProperty as s,screenSizeProperty as c}from"../support/materialUtils.js";let l=class extends n{constructor(e){super(e),this.color=new t([0,0,0,1])}get extensionLength(){return this._get(`extensionLength`)??0}set extensionLength(e){this._set(`extensionLength`,e)}get size(){return this._get(`size`)??i}set size(e){this._set(`size`,e)}clone(){}cloneProperties(){return{color:r(this.color),size:this.size,extensionLength:this.extensionLength}}};e([a({type:[`solid`,`sketch`],readOnly:!0,json:{read:!0,write:{ignoreOrigin:!0,isRequired:!0}}})],l.prototype,`type`,void 0),e([a(s({colorRequiredOnWrite:!0}))],l.prototype,`color`,void 0),e([a({...c,json:{write:{overridePolicy(e){return{enabled:!!e}}}}})],l.prototype,`extensionLength`,null),e([a(c)],l.prototype,`size`,null),l=e([o(`esri.symbols.edges.Edges3D`)],l);const u=l;export{u as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../Color.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../Color.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{onePixelInPoints as r}from"../../core/screenUtils.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import{colorAndTransparencyProperty as o,screenSizeProperty as s}from"./materialUtils.js";var c;let l=c=class extends n{constructor(e){super(e),this.color=new t([0,0,0,1])}get size(){return this._get(`size`)??r}set size(e){this._set(`size`,e)}clone(){let e={color:this.color==null?null:this.color.clone(),size:this.size};return new c(e)}equals(e){return e.size===this.size&&(this.color==null?e.color==null:this.color.equals(e.color))}};e([i(o({colorRequiredOnWrite:!0}))],l.prototype,`color`,void 0),e([i({...s,json:{write:{isRequired:!0}}})],l.prototype,`size`,null),l=c=e([a(`esri.symbols.support.Symbol3DIconOutline`)],l);const u=l;export{u as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../Color.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../Color.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{onePixelInPoints as r}from"../../core/screenUtils.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import{symbol3dOutlineLinePatternProperty as o}from"../patterns/utils.js";import{colorAndTransparencyProperty as s,screenSizeProperty as c}from"./materialUtils.js";import{lineCaps as l}from"./symbolLayerUtils3D.js";var u;let d=u=class extends n{constructor(e){super(e),this.color=new t([0,0,0,1]),this.pattern=null,this.patternCap=`butt`}get size(){return this._get(`size`)??r}set size(e){this._set(`size`,e)}clone(){let e={color:this.color==null?null:this.color.clone(),size:this.size,pattern:this.pattern==null?null:this.pattern.clone(),patternCap:this.patternCap};return new u(e)}};e([i(s({colorRequiredOnWrite:!0}))],d.prototype,`color`,void 0),e([i({...c,json:{write:{isRequired:!0}}})],d.prototype,`size`,null),e([i(o)],d.prototype,`pattern`,void 0),e([i({type:l,json:{default:`butt`,write:{overridePolicy(){return{enabled:this.pattern!=null}}}}})],d.prototype,`patternCap`,void 0),d=u=e([a(`esri.symbols.support.Symbol3DOutline`)],d);const f=d;export{f as default};
|