@arcgis/core 6.0.0-next.15 → 6.0.0-next.16
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/LineOfSightAnalysis.d.ts +49 -32
- package/analysis/LineOfSightAnalysisObserver.d.ts +19 -3
- package/analysis/LineOfSightAnalysisTarget.d.ts +19 -3
- package/analysis/Viewshed.d.ts +23 -3
- package/analysis/ViewshedAnalysis.d.ts +33 -13
- package/arcade/geometry/operatorsWorkerConnection.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/00d66e3fba5ab4d2aa3c.js +1 -0
- package/assets/esri/core/workers/chunks/{d994bcf0a65d1c07160f.js → 0320cbd825f9a4222042.js} +1 -1
- package/assets/esri/core/workers/chunks/14d5d219e7fe017f23f0.js +1 -0
- package/assets/esri/core/workers/chunks/164e74d586297946a717.js +1 -0
- package/assets/esri/core/workers/chunks/{1bca39e0e651426bdbb5.js → 1b1d3f6916d2cb751435.js} +1 -1
- package/assets/esri/core/workers/chunks/{ed6e9d7f71bfd2691717.js → 1c77de1e79860f8d2228.js} +1 -1
- package/assets/esri/core/workers/chunks/1e40a26dcce4d1dadc28.js +1 -0
- package/assets/esri/core/workers/chunks/237a1f68a0efbfe5b77c.js +1 -0
- package/assets/esri/core/workers/chunks/23c43f09c4a4749516e1.js +1 -0
- package/assets/esri/core/workers/chunks/{3418877328f4f0830300.js → 24dac4970526a4e0ae63.js} +1 -1
- package/assets/esri/core/workers/chunks/26ceb0ff8d93dbb9b84f.js +1 -0
- package/assets/esri/core/workers/chunks/2acf2952cef69e382a35.js +1 -0
- package/assets/esri/core/workers/chunks/{481589c3eddad6e026ad.js → 369780276b2755361f7d.js} +1 -1
- package/assets/esri/core/workers/chunks/{4df6cb1bee5d0720a43e.js → 36cbd614454581aaf334.js} +1 -1
- package/assets/esri/core/workers/chunks/{1e0d2715d603f48a7e0b.js → 370aad23df597db80d65.js} +1 -1
- package/assets/esri/core/workers/chunks/3baa4a9c52f41bfd6abb.js +1 -0
- package/assets/esri/core/workers/chunks/42d44c7d532df5ee70e9.js +1 -0
- package/assets/esri/core/workers/chunks/42e985a576d7aaeed0cf.js +1 -0
- package/assets/esri/core/workers/chunks/{6400446b7615b97c3521.js → 45f826554499c38968c6.js} +1 -1
- package/assets/esri/core/workers/chunks/48cc58890fddbcf69cef.js +1 -0
- package/assets/esri/core/workers/chunks/494bd434fee9032e1d02.js +1 -0
- package/assets/esri/core/workers/chunks/{33e4ff228a8c81b99022.js → 4abd3753cd9b80e4d937.js} +1 -1
- package/assets/esri/core/workers/chunks/4bbe1f28f5f16a6bef05.js +1 -0
- package/assets/esri/core/workers/chunks/4c389472b8cdb0c55154.js +1 -0
- package/assets/esri/core/workers/chunks/4e4f747de424941a0bfa.js +1 -0
- package/assets/esri/core/workers/chunks/5529831dd891382c79df.js +1 -0
- package/assets/esri/core/workers/chunks/576248e9ae2654569420.js +1 -0
- package/assets/esri/core/workers/chunks/5acb422fe3cf693d9d4f.js +1 -0
- package/assets/esri/core/workers/chunks/{aeaaff7a4b1a99540f52.js → 5cb26bbaa08114aec5ce.js} +1 -1
- package/assets/esri/core/workers/chunks/661c6324529dd17b297e.js +1 -0
- package/assets/esri/core/workers/chunks/68dd1fd2025c7125ead1.js +1 -0
- package/assets/esri/core/workers/chunks/{89e76de5ae3328d821a4.js → 69f6d5997b8ff1326e39.js} +1 -1
- package/assets/esri/core/workers/chunks/6a8dd8b18b0b825b0c1b.js +1 -0
- package/assets/esri/core/workers/chunks/{a40b6d8b5c73e06e14d4.js → 6c255c029d67423e4dac.js} +1 -1
- package/assets/esri/core/workers/chunks/7446d0dfebf93e86c098.js +1 -0
- package/assets/esri/core/workers/chunks/{688f2dbf784e66082308.js → 74c866e0b66e61751861.js} +1 -1
- package/assets/esri/core/workers/chunks/{3ffda5bf0b91700dc308.js → 78643f116677950ea29a.js} +1 -1
- package/assets/esri/core/workers/chunks/{916b363c342b61ba5461.js → 787c1a8bda7d745633f2.js} +1 -1
- package/assets/esri/core/workers/chunks/7b5f3c79e0605c32b267.js +1 -0
- package/assets/esri/core/workers/chunks/7bbfe9ff352afc566367.js +1 -0
- package/assets/esri/core/workers/chunks/{ac5a6603f7fa78d3e4c8.js → 7e8611cb709f105946f5.js} +1 -1
- package/assets/esri/core/workers/chunks/{05cd33d41d91f8d09633.js → 7fb7493f483cd9878bfa.js} +1 -1
- package/assets/esri/core/workers/chunks/{acfa03c65ba3ca6c5685.js → 8715661a838361d4211a.js} +1 -1
- package/assets/esri/core/workers/chunks/{601e1d020b8115497944.js → 8a485130781b49dbf608.js} +1 -1
- package/assets/esri/core/workers/chunks/{0ccab50877b24f862d6e.js → 8ac2098ecdc40ad41055.js} +1 -1
- package/assets/esri/core/workers/chunks/{a655ebdb4bf0660615a2.js → 8b4e9fd88c0c313416d4.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e544de61f07ca660236.js → 8c12269d26f5a4c753cb.js} +1 -1
- package/assets/esri/core/workers/chunks/91dd65cf877c8f2e01a7.js +1 -0
- package/assets/esri/core/workers/chunks/{46b4fb6a7fe4877b0efc.js → 94baa354e50c03b82b25.js} +2 -2
- package/assets/esri/core/workers/chunks/950d4578dc450467404c.js +1 -0
- package/assets/esri/core/workers/chunks/{68be3fb88ca61f82fb90.js → 95dbbddac6581b9d671f.js} +1 -1
- package/assets/esri/core/workers/chunks/98be2f621801e230aa01.js +1 -0
- package/assets/esri/core/workers/chunks/9b051745d24d1f43480b.js +1 -0
- package/assets/esri/core/workers/chunks/9d61740ef8bdcc162be1.js +1 -0
- package/assets/esri/core/workers/chunks/{eb04e1717a1002cda3ab.js → 9f06ec95bdf0d0b52b41.js} +1 -1
- package/assets/esri/core/workers/chunks/{fafb92ca2c5e4b0b2c23.js → a09d2e1e2540921e4717.js} +1 -1
- package/assets/esri/core/workers/chunks/{3b3e519f15ed52c83f0c.js → a49fe94933b65b4b64f8.js} +1 -1
- package/assets/esri/core/workers/chunks/{1819c45655c836b9a8d7.js → a4d3944700f1cc240176.js} +1 -1
- package/assets/esri/core/workers/chunks/{90bdf86f553e2742d67c.js → a7bd5ba4d7d97411fd33.js} +1 -1
- package/assets/esri/core/workers/chunks/{900181f68449d8f82eeb.js → aa1ac7954e4f0fefe15b.js} +1 -1
- package/assets/esri/core/workers/chunks/ac24b4370dc7194a3107.js +1 -0
- package/assets/esri/core/workers/chunks/{b8337492e2b753aefac4.js → ace41659a5ca0e5abfc3.js} +1 -1
- package/assets/esri/core/workers/chunks/{3c0ed15b544df6fb0903.js → b48952e1fb4cb7360dd0.js} +1 -1
- package/assets/esri/core/workers/chunks/b5e7475cc5fbf31289d3.js +1 -0
- package/assets/esri/core/workers/chunks/{f3da30d7300b92bd8bb0.js → befa32b9e7b3fbdd431e.js} +1 -1
- package/assets/esri/core/workers/chunks/{0f617980c7dd9ad0444f.js → bf35927979fc5e7e0478.js} +1 -1
- package/assets/esri/core/workers/chunks/c4ddac23bd649d24f3f2.js +1 -0
- package/assets/esri/core/workers/chunks/{4e6f40cbdb8c508e6df1.js → c5a9e77977e867a75ff2.js} +1 -1
- package/assets/esri/core/workers/chunks/{25f19fc929f25ddd628c.js → c79934cd6883307203f8.js} +1 -1
- package/assets/esri/core/workers/chunks/cddc3e285f763ccf33c2.js +1 -0
- package/assets/esri/core/workers/chunks/d08ff41e2a9bcd58b64a.js +1 -0
- package/assets/esri/core/workers/chunks/d311ff96a5a2791d8cfc.js +1 -0
- package/assets/esri/core/workers/chunks/d62afb71f4ece4283994.js +1 -0
- package/assets/esri/core/workers/chunks/dc1761cba0454fda3cf9.js +1 -0
- package/assets/esri/core/workers/chunks/{4ac1d3e49e242e373a92.js → e0650b1408197d3ac862.js} +1 -1
- package/assets/esri/core/workers/chunks/{3ff6d1ed3c0f1285f3e7.js → e0d9dc97985561320bd4.js} +1 -1
- package/assets/esri/core/workers/chunks/eaddffcc7004101fc230.js +1 -0
- package/assets/esri/core/workers/chunks/eb2652ec48faa78de3c5.js +1 -0
- package/assets/esri/core/workers/chunks/eca44e53bcee9b08d70a.js +1 -0
- package/assets/esri/core/workers/chunks/f00458654c7c34c369ef.js +1 -0
- package/assets/esri/core/workers/chunks/f3cd610084e3f4d8656b.js +1 -0
- package/assets/esri/core/workers/chunks/f47fe4433b05fca5c3ad.js +1 -0
- package/assets/esri/core/workers/chunks/f7bfa3d33b05b250ce33.js +1 -0
- package/assets/esri/core/workers/chunks/f91bc1cb1014e05be763.js +1 -0
- package/assets/esri/core/workers/chunks/{ae31fd416bbb41a81392.js → f9c5aa0bbf23e780fecc.js} +1 -1
- package/assets/esri/core/workers/chunks/f9ff27cfcf0538ac5e26.js +1 -0
- package/assets/esri/core/workers/chunks/{19676b2c5f8b0a5ee680.js → facd1ff23203fed67686.js} +1 -1
- package/assets/esri/core/workers/chunks/{40a584cb952e94326e9e.js → fcb86d24fc7e0666b564.js} +1 -1
- package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/UnitFactory.js +1 -1
- package/chunks/basis_encoder.js +1 -1
- package/chunks/basis_transcoder.js +1 -1
- package/chunks/index.js +1 -1
- package/chunks/lclayout.js +1 -1
- package/config.d.ts +2 -0
- package/config.js +1 -1
- package/core/accessorSupport/DefaultsStore.js +1 -1
- package/core/accessorSupport/MultiOriginStore.js +1 -1
- package/core/accessorSupport/Store.js +1 -1
- package/core/accessorSupport/decorators/reader.js +1 -1
- package/core/accessorSupport/decorators/writer.js +1 -1
- package/core/workers/WorkerOwner.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/core/workers/workers.js +2 -2
- package/core/workers.d.ts +9 -0
- package/form/elements/inputs/DynamicChoiceInput.d.ts +4 -2
- package/geometry/Mesh.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/support/curves/bezierCurveUtils.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/meshUtils/merge.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/polygonExtentClipping.js +1 -1
- package/identity/Credential.js +1 -1
- package/kernel.js +1 -1
- package/layers/AnnotationFeatureLayer.d.ts +2 -2
- package/layers/AnnotationFeatureLayer.js +1 -1
- package/layers/CatalogLayer.d.ts +2 -2
- package/layers/CatalogLayer.js +1 -1
- package/layers/DimensionFeatureLayer.d.ts +2 -2
- package/layers/DimensionFeatureLayer.js +1 -1
- package/layers/FeatureLayer.d.ts +4 -4
- package/layers/FeatureLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/LineOfSightLayer.d.ts +10 -8
- package/layers/SceneLayer.js +1 -1
- package/layers/SubtypeGroupLayer.d.ts +2 -2
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/ViewshedLayer.d.ts +1 -1
- package/layers/VoxelLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
- package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +9 -9
- package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +1 -1
- package/layers/geospatialPDF/LGIDictMapFrame.js +1 -1
- package/layers/geospatialPDF/ViewportMeasureFrame.js +1 -1
- package/layers/geospatialPDF/geospatialPDFParserUtils.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
- package/layers/graphics/sources/parquet/FileProvider.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/{FeatureLayerReload.d.ts → ReloadableLayer.d.ts} +5 -3
- package/layers/mixins/ReloadableLayer.js +2 -0
- package/layers/raster/datasets/BaseRaster.js +1 -1
- package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
- package/layers/raster/datasets/ImageAuxRaster.js +2 -2
- package/layers/raster/datasets/ImageServerRaster.js +1 -1
- package/layers/raster/datasets/InMemoryRaster.js +1 -1
- package/layers/raster/datasets/MRFRaster.js +1 -1
- package/layers/raster/datasets/TIFFRaster.js +1 -1
- package/layers/raster/datasets/WCSRaster.js +1 -1
- package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
- package/layers/raster/formats/RasterCodec.js +1 -1
- package/layers/raster/formats/TiffDecoder.js +1 -1
- package/layers/raster/formats/Zlib.js +1 -1
- package/layers/raster/functions/stretchUtils.js +1 -1
- package/layers/raster/functions/vectorFieldUtils.js +1 -1
- package/layers/support/FieldsIndex.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/featureReductionProperties.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/video/VideoController.js +10 -10
- package/libs/maquette/projection.js +1 -1
- package/networks/UtilityNetworkTraceAnalysis.js +1 -1
- package/package.json +5 -5
- package/popup/FeatureModel.js +1 -1
- package/popup/FeaturesModel.js +1 -1
- package/portal/Portal.js +1 -1
- package/request/process.js +1 -1
- package/request/types.d.ts +7 -0
- package/rest/knowledgeGraphService.js +1 -1
- package/rest/networks/trace.js +1 -1
- package/rest/query/executeQuery.js +1 -1
- package/smartMapping/raster/renderers/shadedRelief.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/statistics/support/statsWorker.js +1 -1
- package/smartMapping/statistics/support/utils.js +1 -1
- package/smartMapping/support/clusterUtils.js +1 -1
- package/statistics/utils.js +1 -1
- package/symbols/cim/CIMCursor.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/support/ElevationInfo.d.ts +4 -3
- package/undoredo/support/Services.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +2 -2
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/grid/GridView2D.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/features/sources/strategies/FeatureHybridTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/FeaturePagedTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/FeatureSnapshotLoadStrategy.js +1 -1
- package/views/2d/viewpointUtils.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/types.d.ts +14 -3
- package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +39 -13
- package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
- package/views/3d/analysis/Viewshed/types.d.ts +7 -0
- package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +43 -15
- package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/SpatialIndex2D.js +1 -1
- package/views/3d/layers/i3s/I3SNode.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3DDebugger.js +1 -1
- package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/support/elevationUpdateExtentUtils.js +1 -1
- package/views/3d/support/elevationUpdateUtils.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/sphereExtentUtils.js +2 -0
- package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
- package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/support/InteractiveHandle.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/draw/support/createUtils.js +1 -1
- package/views/draw/support/editingSessionUtils.js +1 -1
- package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/editGeometry/EditGeometry.js +1 -1
- package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
- package/views/interactive/editGeometry/operations/SetAllVertexPositions.js +1 -1
- package/views/interactive/editGeometry/operations/UndoGroup.js +1 -1
- package/views/interactive/options/TooltipOptions.d.ts +2 -0
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +2 -0
- package/views/interactive/sketch/constraintUtils.js +1 -1
- package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
- package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/LineOfSightLayerView.d.ts +35 -13
- package/views/layers/SketchLayerView.d.ts +1 -0
- package/views/layers/ViewshedLayerView.d.ts +36 -12
- package/views/webgl/Program.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable/support/GroupColumnTemplate.js +1 -1
- package/widgets/FeatureTable/support/TableTemplate.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel.js +1 -1
- package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/widgets/support/componentsUtils.js +1 -1
- package/assets/esri/core/workers/chunks/024b44c0c8876627f904.js +0 -1
- package/assets/esri/core/workers/chunks/02c5d027bdaee67869cf.js +0 -1
- package/assets/esri/core/workers/chunks/03261b9451e293a0fac8.js +0 -1
- package/assets/esri/core/workers/chunks/0c8c01097847617261b9.js +0 -1
- package/assets/esri/core/workers/chunks/0d931c7579b6409a696d.js +0 -1
- package/assets/esri/core/workers/chunks/12c154342fff876f2f1e.js +0 -1
- package/assets/esri/core/workers/chunks/1e11d2e97d17685b878a.js +0 -1
- package/assets/esri/core/workers/chunks/1f339247b68b061ab0a4.js +0 -1
- package/assets/esri/core/workers/chunks/21ddb26526bcb2b122c3.js +0 -1
- package/assets/esri/core/workers/chunks/2eae542fe7f0f6576ac1.js +0 -1
- package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +0 -1
- package/assets/esri/core/workers/chunks/46a7da93a63663878583.js +0 -1
- package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +0 -1
- package/assets/esri/core/workers/chunks/4c4117e28ea358a32088.js +0 -1
- package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +0 -1
- package/assets/esri/core/workers/chunks/59b216b60464611742d4.js +0 -1
- package/assets/esri/core/workers/chunks/62ac588f7dd1d24d0c9d.js +0 -1
- package/assets/esri/core/workers/chunks/62c8c9ad09e0166207fd.js +0 -1
- package/assets/esri/core/workers/chunks/62d6e101e9bd9557a410.js +0 -1
- package/assets/esri/core/workers/chunks/6558488ea96620439f34.js +0 -1
- package/assets/esri/core/workers/chunks/665e31c494d2af505acc.js +0 -1
- package/assets/esri/core/workers/chunks/6f4e6022a52de0c54aab.js +0 -1
- package/assets/esri/core/workers/chunks/7267b17de212207142c9.js +0 -1
- package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +0 -1
- package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +0 -1
- package/assets/esri/core/workers/chunks/8431ca60ad33d594e323.js +0 -1
- package/assets/esri/core/workers/chunks/876f7633c15f1e31078d.js +0 -1
- package/assets/esri/core/workers/chunks/8ca9648eacb894283513.js +0 -1
- package/assets/esri/core/workers/chunks/91ebb2ccab1889eb7e81.js +0 -1
- package/assets/esri/core/workers/chunks/94e427040edb469d58ad.js +0 -1
- package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +0 -1
- package/assets/esri/core/workers/chunks/9e1a3b6a08c96dcefdde.js +0 -1
- package/assets/esri/core/workers/chunks/9e3e442a9874ed23a043.js +0 -1
- package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +0 -1
- package/assets/esri/core/workers/chunks/aff32980d91dab07dfb7.js +0 -1
- package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +0 -1
- package/assets/esri/core/workers/chunks/d8f1cefcad02d7353d4b.js +0 -1
- package/assets/esri/core/workers/chunks/d938987344bce83cc660.js +0 -1
- package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +0 -1
- package/assets/esri/core/workers/chunks/de02f60258e6985ef676.js +0 -1
- package/assets/esri/core/workers/chunks/e10b57aefcc89671116e.js +0 -1
- package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +0 -1
- package/assets/esri/core/workers/chunks/ed8786fed345718ed684.js +0 -1
- package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +0 -1
- package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +0 -1
- package/assets/esri/core/workers/chunks/fd9663952d5a94f3a83f.js +0 -1
- package/assets/esri/core/workers/chunks/fe9879ecd69ac4329291.js +0 -1
- package/layers/mixins/FeatureLayerReload.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{G as e}from"../../../chunks/GeometryCursor.js";import{b as t,g as n}from"../../../chunks/Geometry.js";import{S as r}from"../../../chunks/SimpleGeometryCursor.js";import{Envelope2D as i}from"../../../chunks/Envelope2D.js";import{T as a}from"../../../chunks/Transformation2D.js";import{p as o,q as s,t as c,u as l,a as u,v as d,E as f,n as p,P as m,w as h}from"../../../chunks/MultiPathImpl.js";import{K as g,o as _,E as v,d as y,P as b,s as x,r as S}from"../../../chunks/Point2D.js";import{P as C,e as w}from"../../../chunks/Envelope.js";import{O as T}from"../../../chunks/OperatorClip.js";import{O as E}from"../../../chunks/OperatorMultiPartToSinglePart.js";import{O as D}from"../../../chunks/OperatorCut.js";function O(e,t,n,r,i){return new U(i).findSlicesByArea(e,t,n,r)}function k(e,t,n,r,i){return new U(i).sliceIntoStrips(e,t,n,r)}function A(e,t,n,r){return new U(r).recursiveSliceEqualArea(e,t,n)}function j(e){this.currentX=this.calcX(e)}function M(e){if(this.curve===null){let t=(e-this.y0)/(this.y1-this.y0);return S(this.x0,this.x1,t)}return this.curve.intersectionOfYMonotonicWithAxisX(e,this.x0)}function N(){return{x0:NaN,y0:NaN,x1:NaN,y1:NaN,currentX:NaN,nextAET:null,prevAET:null,startNodeNext:null,nextInChain:null,curve:null,advance:j,calcX:M}}function P(e,t){let n=N();return n.x0=e.getStartX(),n.y0=e.getStartY(),n.x1=e.getEndX(),n.y1=e.getEndY(),t&&(n.y0=x(n.x0,n.x0=n.y0),n.y1=x(n.x1,n.x1=n.y1)),n.y1<n.y0&&(n.y1=x(n.y0,n.y0=n.y1),n.x1=x(n.x0,n.x0=n.x1)),n.currentX=NaN,n.nextAET=null,n.prevAET=null,n.startNodeNext=null,n.nextInChain=null,n.curve=null,n}function F(e){let t=N();return t.x0=e.getStartX(),t.y0=e.getStartY(),t.x1=e.getEndX(),t.y1=e.getEndY(),t.curve=e,t.y1<t.y0&&(t.y1=x(t.y0,t.y0=t.y1),t.x1=x(t.x0,t.x0=t.x1)),t.currentX=NaN,t.nextAET=null,t.prevAET=null,t.startNodeNext=null,t.nextInChain=null,t}function I(e){if(this.x===e.x&&this.y===e.y){let t=this.endEdge!==null,n=e.startEdge!==null;return t&&n?-1:1}return this.y===e.y?this.x-e.x:this.y-e.y}function L(){return{x:NaN,y:NaN,startEdge:null,endEdge:null,compare:I}}function R(e,t){return{y:e,startingEdges:t}}class z{m_parent;m_y0;m_y1;m_t0;m_area;constructor(e,t,n,r,i,a){this.m_parent=e,this.m_y0=t,this.m_y1=n,this.m_t0=r,this.m_area=a}getMaxDerivative(){return 1}getValue(e,t){return e===1?0:this.getArea(t)-this.m_area}getError(e){return n(0),0}getArea(e){let t=.5*(this.m_parent.m_sumBase-this.m_parent.m_sumA),n=this.m_y1-this.m_y0,r=(this.m_parent.m_sumBase-t*(e+this.m_t0))*n*(e-this.m_t0),i=!1;for(let t=this.m_parent.m_AETHead;t!==null;t=t.nextAET)if(i=!i,i&&(t.curve!==null||t.nextAET.curve!==null)){let i=this.m_y0+n*this.m_t0,a=this.m_y0+n*e;t.curve&&(r+=V(t.curve,this.m_y0+n*this.m_t0,this.m_y0+n*e)),t.nextAET.curve&&(r-=V(t.nextAET.curve,this.m_y0+n*this.m_t0,this.m_y0+n*e));let o=a-i,s=t.nextAET.calcX(i)-t.calcX(i),c=t.nextAET.calcX(a)-t.calcX(a);r+=o*(s+c)*.5}return r}}function B(e,t,n){return{polygon:e,from:t,to:n}}function V(e,t,r){let i=[0,0],a=e.intersectionWithAxis2D(!0,t,null,i);n(a===1);let o=i[0],s=e.intersectionWithAxis2D(!0,r,null,i);n(s===1);let c=i[0],l=y(b,4);h(e,l,!0);let u=l[3],d=l[2],f=l[1],p=e.getCoordX(o)-e.getStartX(),m=e.getCoordY(o)-e.getStartY(),g=e=>{let t=e*e;return t*e*(10*(d.x*f.y-d.y*f.x)-15*e*(u.y*f.x-u.x*f.y)+6*t*(d.y*u.x-u.y*d.x))/60},_=e=>(-e*(f.y+e*(d.y+u.y*e))*p+e*(f.x+e*(d.x+u.x*e))*m)/2;return g(c)-g(o)-(_(c)-_(o))}class H extends e{m_geoms=[];m_index=-1;m_id=-1;constructor(e){super(),this.m_geoms=e}tock(){return!0}getRank(){return 1}next(){return this.m_index++,this.m_index>=this.m_geoms.length?null:(this.m_id=this.m_geoms[this.m_index].second,this.m_geoms[this.m_index].first)}getGeometryID(){return this.m_id}}class U{m_progressTracker;m_edges=[];m_curves=[];m_sortedNodes=[];m_sortHelper=[];m_cuts=[];m_cutAreas=[];m_totalAreaOfTraps=new g(0);m_areaTracking=0;m_splitArea=0;m_sumBase=0;m_sumA=0;m_numberOfCuts=0;m_currentScan=0;m_progressCounter=0;m_AETHead=null;m_bHorizontalSweep=!1;m_bPolygonHasCurves=!1;constructor(e){this.m_progressTracker=e}findSlicesByArea(e,n,r,i){i<0&&t(`remainingArea`);let a=e,s=null;a.hasNonLinearSegments()&&(this.m_bPolygonHasCurves=!0,s=o(e,1e-16,!0),W(s),a=s);let c=Math.abs(a.calculateArea2D());return c===0||r===0||i>=c||r===1&&i===0?[]:(this.m_splitArea=(c-i)/r,this.m_numberOfCuts=r-1,i>0&&this.m_numberOfCuts++,this.m_edges.length=0,this.m_sortedNodes.length=0,this.m_cuts.length=0,this.m_areaTracking=0,this.m_totalAreaOfTraps.reset(),this.m_curves.length=0,this.buildEdges(a),this.buildScanNodes(),this.trapezoidation(),this.m_cuts)}sliceIntoStrips(e,t,n,a){if(a===0)return new r([e]);let o=new i;e.queryLooseEnvelope(o);let s=o.width()+o.height();return new H(this.splitPolygon(e,t,o.xmin-s-1+1,o.xmax+s+1,n,a))}recursiveSliceEqualArea(e,t,o){if(o<=1||e.isEmpty())return new r([e]);{let r=[],s=[];s.push(_(e.clone(),o));let c=0,l=0;for(;s.length>0;){n(l++<2*o);let e=s.at(-1);if(s.pop(),e.second===1){r.push(_(e.first,c++));continue}let u=new i;e.first.queryEnvelope(u);let d=u.width()+u.height(),f=new a;f.setIdentity(),u.width()>u.height()&&(f.setRotateCcw90(),e.first.applyTransformation(f),f.transformEnvInPlace(u));let p=e.first.calculateArea2D(),m=p/e.second,h=p-Math.trunc(e.second/2)*m,g=new U(this.m_progressTracker).findSlicesByArea(e.first,t,1,h),v=new U(this.m_progressTracker).splitPolygon(e.first,t,u.xmin-d-1+1,u.xmax+d+1,g,1),y=v.length;if(n(y>0&&y<=2),!f.isIdentity()){let e=new a;e.setRotateCw90(),v[0].first.applyTransformation(e),y===2&&v[1].first.applyTransformation(e)}y===2?(s.push(_(v[1].first,e.second-Math.trunc(e.second/2))),s.push(_(v[0].first,Math.trunc(e.second/2)))):s.push(_(v[0].first,e.second))}return new H(r)}}recursiveSliceEqualAreaImpl(e,t,r,i){return n(0),{}}processTraps(e,t,n){n?this.processTrapsCurves(e,t):this.processTrapsLinear(e,t)}processTrapsLinear(e,t){let n=0,r=1,i=.5*(this.m_sumBase-this.m_sumA),a=t-e,o=(this.m_sumBase-i*(r+n))*a*(r-n);if(o+this.m_areaTracking<this.m_splitArea){this.m_totalAreaOfTraps.pe(o),this.m_areaTracking+=o;return}let c=new g(o),l=new v(0,1),u=!1;for(;n<1;){let t=this.m_splitArea-this.m_areaTracking,d=[NaN,NaN];if(s(-i*a,this.m_sumBase*a,(i*n-this.m_sumBase)*a*n-t,l,!1,d)>0){u=!0,r=d[0],this.m_areaTracking=0,n=r,c.me(t);let i=r*a+e;if(this.m_cuts.push(i),this.m_cutAreas.push(this.m_totalAreaOfTraps.getResult()+o-c.getResult()),this.m_cuts.length===this.m_numberOfCuts){this.m_totalAreaOfTraps.pe(o-c.getResult());return}}else{u?this.m_areaTracking=c.getResult():this.m_areaTracking+=o;break}}this.m_totalAreaOfTraps.pe(o)}processTrapsCurves(e,t){let n=0,r=1,i=new z(this,e,t,0,1,0).getArea(1);if(i+this.m_areaTracking<this.m_splitArea){this.m_totalAreaOfTraps.pe(i),this.m_areaTracking+=i;return}let a=t-e,o=new g(i),s=!1;for(;n<1;){let l=this.m_splitArea-this.m_areaTracking,u=new z(this,e,t,n,1,l),d=[0],f=new v(n,1);if(c(u,f,1,d)>0){s=!0,r=d[0],this.m_areaTracking=0,n=r,o.me(l);let t=r*a+e;if(this.m_cuts.push(t),this.m_cutAreas.push(this.m_totalAreaOfTraps.getResult()+i-o.getResult()),this.m_cuts.length===this.m_numberOfCuts){this.m_totalAreaOfTraps.pe(i-o.getResult());return}}else{s?this.m_areaTracking=o.getResult():this.m_areaTracking+=i;break}}this.m_totalAreaOfTraps.pe(i)}advanceAET(){let e=this.m_sortedNodes[this.m_currentScan-1].y,t=this.m_sortedNodes[this.m_currentScan],n=!1,r=!1,i=new g(0);for(let e=this.m_AETHead;e!==null;e=e.nextAET){let a=e.prevAET;n=!n,e.nextAET!==null&&n&&(!this.m_bPolygonHasCurves||!e.curve&&!e.nextAET.curve)&&i.pe(e.nextAET.currentX-e.currentX),e.advance(t.y),a!==null&&e.currentX<a.currentX&&(r=!0)}this.m_sumBase=i.getResult(),r&&this.sortAET();let a=new g(0);n=!1;let o=!1;for(let e=this.m_AETHead;e!==null;e=e.nextAET){o||=e.curve!==null;let t=e.prevAET;n=!n,t!==null&&(n||(!this.m_bPolygonHasCurves||!e.curve&&!e.prevAET.curve)&&a.pe(e.currentX-e.prevAET.currentX))}this.m_sumA=a.getResult(),this.processTraps(e,t.y,o);for(let e=this.m_AETHead;e!=null;){let n=e.prevAET,r=e.nextAET;if(t.y===e.y1){if(e.prevAET=null,e.nextAET=null,e.nextInChain!==null){let t=e.currentX;e=e.nextInChain,e.currentX=t,e.prevAET=n,n?n.nextAET=e:this.m_AETHead=e,e.nextAET=r,r&&(r.prevAET=e)}else n?n.nextAET=r:this.m_AETHead=r,r&&(r.prevAET=n)}e=r}}mergeNewEdgesToAET(){for(let e=this.m_sortedNodes[this.m_currentScan].startingEdges;e!==null;e=e.startNodeNext)Number.isNaN(e.currentX)&&(this.m_sortHelper.push(e),e.currentX=e.x0);if(!this.m_sortHelper.length)return;this.sortHelper();let e=this.m_AETHead,t=0,n=e;for(;e!==null&&t<this.m_sortHelper.length;)e.currentX>this.m_sortHelper[t].currentX?(this.m_sortHelper[t].prevAET=e.prevAET,e.prevAET?e.prevAET.nextAET=this.m_sortHelper[t]:this.m_AETHead=this.m_sortHelper[t],this.m_sortHelper[t].nextAET=e,e.prevAET=this.m_sortHelper[t],t++):(n=e,e=e.nextAET);for(;t<this.m_sortHelper.length;)this.m_sortHelper[t].prevAET=n,n===null?this.m_AETHead=this.m_sortHelper[t]:n.nextAET=this.m_sortHelper[t],this.m_sortHelper[t].nextAET=null,n=this.m_sortHelper[t],t++;this.m_sortHelper.length=0}sortAET(){for(let e=this.m_AETHead;e!==null;e=e.nextAET)this.m_sortHelper.push(e);this.sortHelper(),this.m_AETHead=null;let e=null;for(let t of this.m_sortHelper)t.prevAET=e,e?e.nextAET=t:this.m_AETHead=t,t.nextAET=null,e=t;this.m_sortHelper.length=0}sortHelper(){this.m_sortHelper.sort((e,t)=>e.currentX-t.currentX)}trapezoidation(){for(this.m_currentScan=0,this.mergeNewEdgesToAET(),this.m_currentScan++;this.m_currentScan<this.m_sortedNodes.length&&(this.progress(),this.advanceAET(),this.m_cuts.length!==this.m_numberOfCuts);)this.mergeNewEdgesToAET(),this.m_currentScan++}buildEdges(e){let t=e.querySegmentIterator();for(t.stripAttributes();t.nextPath();)for(;t.hasNextSegment();){let e=t.nextSegment();if(e.isCurve()){let t=e;if(l(t),this.m_bHorizontalSweep){let e=y(b,4);t.queryControlPoints(e);for(let t of e)t.y=x(t.x,t.x=t.y);t.constructPoints(e)}let n=t.getStartY(),r=t.getEndY();if(r===n)continue;r<n&&t.reverse(),this.m_curves.push(t.clone()),this.m_edges.push(F(this.m_curves.at(-1)))}else{let t=this.m_bHorizontalSweep?e.getStartX():e.getStartY();if((this.m_bHorizontalSweep?e.getEndX():e.getEndY())===t)continue;this.m_edges.push(P(e,this.m_bHorizontalSweep))}}this.m_edges.sort((e,t)=>e.y0===t.y0?e.x0-t.x0:e.y0-t.y0)}buildScanNodes(){let e=[];for(let t of this.m_edges){let n=L();n.x=t.x0,n.y=t.y0,n.startEdge=t,n.endEdge=null,e.push(n);let r=L();r.x=t.x1,r.y=t.y1,r.startEdge=null,r.endEdge=t,e.push(r)}e.sort((e,t)=>e.compare(t));let t=0,n=e[t].y;this.m_sortedNodes.push(R(n,e[t].startEdge));let r=t;for(t++;t!==e.length;++t){e[t].y!==n&&(this.m_sortedNodes.push(R(e[t].y,null)),n=e[t].y);let i=e[t].startEdge;if(i){let e=this.m_sortedNodes.at(-1);i.startNodeNext=e.startingEdges,e.startingEdges=i}if(e[r].x!==e[t].x||e[r].y!==e[t].y){if(t-r===2){let t=r;t++,e[r].endEdge!==null&&e[t].startEdge!==null&&(e[r].endEdge.nextInChain=e[t].startEdge)}r=t}}}progress(){}splitPolygonLinear(e,t,a,o,s,c){let l=[];l.push([e,0,c]);let d=[],f=new u;for(f.startPathCoords(a,0),f.lineToCoords(o,0);l.length>0;){let u=l.at(-1);l.pop();let p=u[0],m=u[1],h=u[2],g=new E().executeMany(new r([p]),t,this.m_progressTracker);for(let r=g.next();r!==null;r=g.next()){let u=r,p=new i;u.queryLooseEnvelope(p);let g=m,v=h;for(let e=m,t=h-1;e<h;++e,--t)p.ymin>=s[e]&&(g=e+1),p.ymax<=s[t]&&(v=t);if(g===h)d.push(_(r,h-1));else if(v===m)d.push(_(r,m-1));else if(g===v)d.push(_(r,g-1));else if(this.isYMonotone(u))this.splitYMonotone(d,u,t,s,g,v);else{let r=Math.trunc((g+v)/2);f.setXYCoords(0,a,s[r]),f.setXYCoords(1,o,s[r]);let m=new D().execute(!1,u,f,null,this.m_progressTracker),h=m.next(),y=m.next(),b=m.next();if(h!==null){if(h.isEmpty()||(r===v-1?(d.push(_(h,r)),n(G(d.at(-1).first,t,e,d.at(-1).second,s,c))):l.push([h,r+1,v])),y.isEmpty()||(r===g?(d.push(_(y,r-1)),n(G(d.at(-1).first,t,e,d.at(-1).second,s,c))):l.push([y,g,r])),b!==null&&!b.isEmpty()){let e=new i;b.queryLooseEnvelope(e),e.ymin>=s[r]?l.push([b,r+1,v]):e.ymax<=s[r]?l.push([b,g,r]):l.push([b,g,v])}}else r+1===v?(s[r]-p.ymin<p.ymax-s[r]?d.push(_(u,r)):d.push(_(u,r+1)),n(G(d.at(-1).first,t,e,d.at(-1).second,s,c))):l.push([u,r+1,v])}}}return d}splitPolygon(e,t,n,r,a,o){let s=new i;e.queryLooseEnvelope(s),s.inflateCoords(0,Math.max(s.width(),s.height()));let c=[],l=[];for(l.push(B(e,0,o));l.length;){let o={...l.at(-1)};if(l.pop(),o.polygon.hasNonLinearSegments()){let e=Math.trunc((o.to+o.from)/2),u=a[e],d=new i(n,s.ymin,r,u),f=new T().execute(o.polygon,d,t,this.m_progressTracker);f.isEmpty()||(e-o.from===0?c.push(_(f,e-1)):l.push(B(f,o.from,e)));let p=new i(n,u,r,s.ymax),m=new T().execute(o.polygon,p,t,this.m_progressTracker);m.isEmpty()||(o.to-e===1?c.push(_(m,e)):l.push(B(m,e+1,o.to)))}else{let i=this.splitPolygonLinear(e,t,n,r,a.slice(o.from),o.to-o.from);c.push(...i)}}c.sort((e,t)=>e.second-t.second);let u=[];return d(c,(e,t)=>e.second===t.second,(e,t)=>{let n=new m;for(let r=e;r!==t;++r)n.add(c[r].first,!1);u.push(_(n,c[e].second))}),u}isYMonotone(e){if(e.getPathCount()!==1)return!1;let t=e.getXY(0),n=0,r=0,i=new b;for(let a=1,o=e.getPointCount();a<=o;a++){e.queryXY(a===o?0:a,i);let s=i.y>t.y?1:i.y<t.y?-1:0;if(t.setCoordsPoint2D(i),n!==s&&s!==0){if(n!==0&&(r++,r>2))return!1;n=s}}return!0}splitYMonotone(e,t,r,i,a,o){let s=new f;s.addGeometry(t);let c=s.getFirstPath(s.getFirstGeometry()),l=s.getFirstVertex(c),u=new b,d=new b,m=l,h=l;{let e=s.getXY(l);u.setCoordsPoint2D(e),d.setCoordsPoint2D(e)}let g=s.getNextVertex(l),v=new b;for(let e=0,t=s.getPathSize(c);e<t;e++,g=s.getNextVertex(g))s.queryXY(g,v),v.compare(u)<0?(m=g,u.setCoordsPoint2D(v)):v.compare(d)>0&&(h=g,d.setCoordsPoint2D(v));let y=m,x=m,S=y,C=x,w=!1,T=!1,E=a,D=u.y,O=u.y,k=!1;for(;E<o;)if(i[E]<=u.y)E++;else{if(i[E]>=d.y)break;if(!w){let e=s.getNextVertex(y),t=s.getY(e);if(t<D)break;let n=i[E];D<=n&&t>=n?w=!0:(D=t,y=e)}if(!T){let e=s.getPrevVertex(x),t=s.getY(e);if(t<O)break;let n=i[E];O<=n&&t>=n?T=!0:(O=t,x=e)}if(w&&T){k=!0;let t=s.getXY(y),r=s.getNextVertex(y),a=s.getXY(r),o=p;if(a.y===t.y)o=a.x<t.x?y:r;else{let e=(i[E]-t.y)/(a.y-t.y);if(e===0)o=y;else if(e===1)o=r;else{let t=s.splitSegmentAxisAware(y,[e],1,null,-1);n(t===1),o=s.getNextVertex(y),s.getY(o)!==i[E]&&s.setXYCoords(o,s.getX(o),i[E])}}let c=s.getPrevVertex(x);t=s.getXY(c),a=s.getXY(x);let l=p;if(a.y===t.y)l=a.x<t.x?x:c;else{let e=(i[E]-t.y)/(a.y-t.y);if(e===0)l=c;else if(e===1)l=x;else{let t=s.splitSegmentAxisAware(c,[e],1,null,-1);n(t===1),l=s.getNextVertex(c),s.getY(l)!==i[E]&&s.setXYCoords(l,s.getX(l),i[E])}}e.push(_(this.extractTrapezoid(s,S,o,C,l),E-1)),S=o,C=l,y=o,x=l,D=O=i[E],w=!1,T=!1,E++}}k?e.push(_(this.extractTrapezoid(s,S,h,C,h),E-1)):e.push(_(t,E))}extractTrapezoid(e,t,n,r,i){let a=new m({vd:e.getVertexDescription()}),o=new C,s=!0;for(let r=t;;r=e.getNextVertex(r)){let t=e.getSegment(r);if(t?a.addSegment(t,s):(e.queryPoint(r,o),s?a.startPathPoint(o):a.lineToPoint(o)),s=!1,r===n)break}n!==i&&(e.queryPoint(i,o),a.lineToPoint(o)),s=!0;for(let n=i;;n=e.getNextVertex(n)){let i=e.getSegment(n);if(i?a.addSegment(i,s):!s&&n!==t&&(e.queryPoint(n,o),a.lineToPoint(o)),s=!1,n===r)break}return a}}function W(e){return e.getImpl().ensureXYMonotoneSegments()}function G(e,t,n,r,a,o){let s=new i;e.queryEnvelope(s);let c=w(t,n,!0).total()*4;return!(r>=0&&!(s.ymin+c>=a[r])||r+1<o&&s.ymax>a[r+1]+c)}class K{getOperatorType(){return 10011}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}sliceIntoStrips(e,t,n,r,i,a){return new q(0,e,t,n,i,0,a)}findSlicesByArea(e,t,n,r,i,a){if(!i||i.isIdentity())return O(e,t,n,r,a);{let o=e.clone();return o.applyTransformation(i),O(o,t,n,r,a)}}recursiveSliceEqualArea(e,t,n,r,i){return new q(1,e,t,null,r,n,i)}}class q extends e{m_ySplits;m_polygon;m_sr;m_transform;m_inverseTransform;m_tracker;m_partCount;m_method;m_bReversePaths;m_resultCursor=null;constructor(e,t,n,r,i,a,o){super(),this.m_method=e,this.m_polygon=t,this.m_sr=n,this.m_ySplits=r?.slice()??null,this.m_transform=i,this.m_bReversePaths=i?.isReflective()??!1,this.m_inverseTransform=i?i.clone().invertThis():null,this.m_partCount=a,this.m_tracker=o}tock(){return!0}getRank(){return 1}next(){this.m_resultCursor||(this.m_method?this.recursiveSliceEqualArea():this.sliceIntoStrips());let e=this.m_resultCursor.next();return e&&(this.m_inverseTransform&&!this.m_inverseTransform.isIdentity()&&(e.applyTransformation(this.m_inverseTransform),this.m_bReversePaths&&e.reverseAllPaths()),e)}getGeometryID(){return this.m_resultCursor?this.m_resultCursor.getGeometryID():-1}sliceIntoStrips(){if(!this.m_transform||this.m_transform.isIdentity())this.m_resultCursor=k(this.m_polygon,this.m_sr,this.m_ySplits,this.m_ySplits.length,this.m_tracker);else{let e=this.m_polygon.clone();e.applyTransformation(this.m_transform),this.m_bReversePaths&&e.reverseAllPaths(),this.m_resultCursor=k(e,this.m_sr,this.m_ySplits,this.m_ySplits.length,this.m_tracker)}}recursiveSliceEqualArea(){if(!this.m_transform||this.m_transform.isIdentity())this.m_resultCursor=A(this.m_polygon,this.m_sr,this.m_partCount,this.m_tracker);else{let e=this.m_polygon.clone();e.applyTransformation(this.m_transform),this.m_bReversePaths&&e.reverseAllPaths(),this.m_resultCursor=A(e,this.m_sr,this.m_partCount,this.m_tracker)}}}const J=new K;function Y(e,t,n,r,i){return J.findSlicesByArea(e,t,n,r,i,null)}function X(e,t,n,r){let i=J.recursiveSliceEqualArea(e,t,n,r,null);return Array.from(i)}function Z(e,t,n,r){let i=J.sliceIntoStrips(e,t,n,0,r,null);return Array.from(i)}function Q(){return J.supportsCurves()}export{Y as findSlicesByArea,X as recursiveSliceEqualArea,Z as sliceIntoStrips,Q as supportsCurves};
|
|
2
|
+
import{G as e}from"../../../chunks/GeometryCursor.js";import{b as t,g as n}from"../../../chunks/Geometry.js";import{S as r}from"../../../chunks/SimpleGeometryCursor.js";import{Envelope2D as i}from"../../../chunks/Envelope2D.js";import{T as a}from"../../../chunks/Transformation2D.js";import{p as o,q as s,t as c,u as l,a as u,v as d,E as f,n as p,P as m,w as h}from"../../../chunks/MultiPathImpl.js";import{K as g,o as _,E as v,d as y,P as b,s as x,r as S}from"../../../chunks/Point2D.js";import{P as C,e as w}from"../../../chunks/Envelope.js";import{O as T}from"../../../chunks/OperatorClip.js";import{O as E}from"../../../chunks/OperatorMultiPartToSinglePart.js";import{O as D}from"../../../chunks/OperatorCut.js";function O(e,t,n,r,i){return new U(i).findSlicesByArea(e,t,n,r)}function k(e,t,n,r,i){return new U(i).sliceIntoStrips(e,t,n,r)}function A(e,t,n,r){return new U(r).recursiveSliceEqualArea(e,t,n)}function j(e){this.currentX=this.calcX(e)}function M(e){if(this.curve===null){let t=(e-this.y0)/(this.y1-this.y0);return S(this.x0,this.x1,t)}return this.curve.intersectionOfYMonotonicWithAxisX(e,this.x0)}function N(){return{x0:NaN,y0:NaN,x1:NaN,y1:NaN,currentX:NaN,nextAET:null,prevAET:null,startNodeNext:null,nextInChain:null,curve:null,advance:j,calcX:M}}function P(e,t){let n=N();return n.x0=e.getStartX(),n.y0=e.getStartY(),n.x1=e.getEndX(),n.y1=e.getEndY(),t&&(n.y0=x(n.x0,n.x0=n.y0),n.y1=x(n.x1,n.x1=n.y1)),n.y1<n.y0&&(n.y1=x(n.y0,n.y0=n.y1),n.x1=x(n.x0,n.x0=n.x1)),n.currentX=NaN,n.nextAET=null,n.prevAET=null,n.startNodeNext=null,n.nextInChain=null,n.curve=null,n}function F(e){let t=N();return t.x0=e.getStartX(),t.y0=e.getStartY(),t.x1=e.getEndX(),t.y1=e.getEndY(),t.curve=e,t.y1<t.y0&&(t.y1=x(t.y0,t.y0=t.y1),t.x1=x(t.x0,t.x0=t.x1)),t.currentX=NaN,t.nextAET=null,t.prevAET=null,t.startNodeNext=null,t.nextInChain=null,t}function I(e){if(this.x===e.x&&this.y===e.y){let t=this.endEdge!==null,n=e.startEdge!==null;return t&&n?-1:1}return this.y===e.y?this.x-e.x:this.y-e.y}function L(){return{x:NaN,y:NaN,startEdge:null,endEdge:null,compare:I}}function R(e,t){return{y:e,startingEdges:t}}class z{m_parent;m_y0;m_y1;m_t0;m_area;constructor(e,t,n,r,i,a){this.m_parent=e,this.m_y0=t,this.m_y1=n,this.m_t0=r,this.m_area=a}getMaxDerivative(){return 1}getValue(e,t){return e===1?0:this.getArea(t)-this.m_area}getError(e){return n(0),0}getArea(e){let t=.5*(this.m_parent.m_sumBase-this.m_parent.m_sumA),n=this.m_y1-this.m_y0,r=(this.m_parent.m_sumBase-t*(e+this.m_t0))*n*(e-this.m_t0),i=!1;for(let t=this.m_parent.m_AETHead;t!==null;t=t.nextAET)if(i=!i,i&&(t.curve!==null||t.nextAET.curve!==null)){let i=this.m_y0+n*this.m_t0,a=this.m_y0+n*e;t.curve&&(r+=V(t.curve,this.m_y0+n*this.m_t0,this.m_y0+n*e)),t.nextAET.curve&&(r-=V(t.nextAET.curve,this.m_y0+n*this.m_t0,this.m_y0+n*e));let o=a-i,s=t.nextAET.calcX(i)-t.calcX(i),c=t.nextAET.calcX(a)-t.calcX(a);r+=o*(s+c)*.5}return r}}function B(e,t,n){return{polygon:e,from:t,to:n}}function V(e,t,r){let i=[0,0],a=e.intersectionWithAxis2D(!0,t,null,i);n(a===1);let o=i[0],s=e.intersectionWithAxis2D(!0,r,null,i);n(s===1);let c=i[0],l=y(b,4);h(e,l,!0);let u=l[3],d=l[2],f=l[1],p=e.getCoordX(o)-e.getStartX(),m=e.getCoordY(o)-e.getStartY(),g=e=>{let t=e*e;return t*e*(10*(d.x*f.y-d.y*f.x)-15*e*(u.y*f.x-u.x*f.y)+6*t*(d.y*u.x-u.y*d.x))/60},_=e=>(-e*(f.y+e*(d.y+u.y*e))*p+e*(f.x+e*(d.x+u.x*e))*m)/2;return g(c)-g(o)-(_(c)-_(o))}class H extends e{m_geoms=[];m_index=-1;m_id=-1;constructor(e){super(),this.m_geoms=e}tock(){return!0}getRank(){return 1}next(){return this.m_index++,this.m_index>=this.m_geoms.length?null:(this.m_id=this.m_geoms[this.m_index].second,this.m_geoms[this.m_index].first)}getGeometryID(){return this.m_id}}class U{m_progressTracker;m_edges=[];m_curves=[];m_sortedNodes=[];m_sortHelper=[];m_cuts=[];m_cutAreas=[];m_totalAreaOfTraps=new g(0);m_areaTracking=0;m_splitArea=0;m_sumBase=0;m_sumA=0;m_numberOfCuts=0;m_currentScan=0;m_progressCounter=0;m_AETHead=null;m_bHorizontalSweep=!1;m_bPolygonHasCurves=!1;constructor(e){this.m_progressTracker=e}findSlicesByArea(e,n,r,i){i<0&&t(`remainingArea`);let a=e,s=null;a.hasNonLinearSegments()&&(this.m_bPolygonHasCurves=!0,s=o(e,1e-16,!0),W(s),a=s);let c=Math.abs(a.calculateArea2D());return c===0||r===0||i>=c||r===1&&i===0?[]:(this.m_splitArea=(c-i)/r,this.m_numberOfCuts=r-1,i>0&&this.m_numberOfCuts++,this.m_edges.length=0,this.m_sortedNodes.length=0,this.m_cuts.length=0,this.m_areaTracking=0,this.m_totalAreaOfTraps.reset(),this.m_curves.length=0,this.buildEdges(a),this.buildScanNodes(),this.trapezoidation(),this.m_cuts)}sliceIntoStrips(e,t,n,a){if(a===0)return new r([e]);let o=new i;e.queryLooseEnvelope(o);let s=o.width()+o.height();return new H(this.splitPolygon(e,t,o.xmin-s-1+1,o.xmax+s+1,n,a))}recursiveSliceEqualArea(e,t,o){if(o<=1||e.isEmpty())return new r([e]);{let r=[],s=[];s.push(_(e.clone(),o));let c=0,l=0;for(;s.length>0;){n(l++<2*o);let e=s.at(-1);if(s.pop(),e.second===1){r.push(_(e.first,c++));continue}let u=new i;e.first.queryEnvelope(u);let d=u.width()+u.height(),f=new a;f.setIdentity(),u.width()>u.height()&&(f.setRotateCcw90(),e.first.applyTransformation(f),f.transformEnvInPlace(u));let p=e.first.calculateArea2D(),m=p/e.second,h=p-Math.trunc(e.second/2)*m,g=new U(this.m_progressTracker).findSlicesByArea(e.first,t,1,h),v=new U(this.m_progressTracker).splitPolygon(e.first,t,u.xmin-d-1+1,u.xmax+d+1,g,1),y=v.length;if(n(y>0&&y<=2),!f.isIdentity()){let e=new a;e.setRotateCw90(),v[0].first.applyTransformation(e),y===2&&v[1].first.applyTransformation(e)}y===2?(s.push(_(v[1].first,e.second-Math.trunc(e.second/2))),s.push(_(v[0].first,Math.trunc(e.second/2)))):s.push(_(v[0].first,e.second))}return new H(r)}}recursiveSliceEqualAreaImpl(e,t,r,i){return n(0),{}}processTraps(e,t,n){n?this.processTrapsCurves(e,t):this.processTrapsLinear(e,t)}processTrapsLinear(e,t){let n=0,r=1,i=.5*(this.m_sumBase-this.m_sumA),a=t-e,o=(this.m_sumBase-i*(r+n))*a*(r-n);if(o+this.m_areaTracking<this.m_splitArea){this.m_totalAreaOfTraps.pe(o),this.m_areaTracking+=o;return}let c=new g(o),l=new v(0,1),u=!1;for(;n<1;){let t=this.m_splitArea-this.m_areaTracking,d=[NaN,NaN];if(s(-i*a,this.m_sumBase*a,(i*n-this.m_sumBase)*a*n-t,l,!1,d)>0){u=!0,r=d[0],this.m_areaTracking=0,n=r,c.me(t);let i=r*a+e;if(this.m_cuts.push(i),this.m_cutAreas.push(this.m_totalAreaOfTraps.getResult()+o-c.getResult()),this.m_cuts.length===this.m_numberOfCuts){this.m_totalAreaOfTraps.pe(o-c.getResult());return}}else{u?this.m_areaTracking=c.getResult():this.m_areaTracking+=o;break}}this.m_totalAreaOfTraps.pe(o)}processTrapsCurves(e,t){let n=0,r=1,i=new z(this,e,t,0,1,0).getArea(1);if(i+this.m_areaTracking<this.m_splitArea){this.m_totalAreaOfTraps.pe(i),this.m_areaTracking+=i;return}let a=t-e,o=new g(i),s=!1;for(;n<1;){let l=this.m_splitArea-this.m_areaTracking,u=new z(this,e,t,n,1,l),d=[0],f=new v(n,1);if(c(u,f,1,d)>0){s=!0,r=d[0],this.m_areaTracking=0,n=r,o.me(l);let t=r*a+e;if(this.m_cuts.push(t),this.m_cutAreas.push(this.m_totalAreaOfTraps.getResult()+i-o.getResult()),this.m_cuts.length===this.m_numberOfCuts){this.m_totalAreaOfTraps.pe(i-o.getResult());return}}else{s?this.m_areaTracking=o.getResult():this.m_areaTracking+=i;break}}this.m_totalAreaOfTraps.pe(i)}advanceAET(){let e=this.m_sortedNodes[this.m_currentScan-1].y,t=this.m_sortedNodes[this.m_currentScan],n=!1,r=!1,i=new g(0);for(let e=this.m_AETHead;e!==null;e=e.nextAET){let a=e.prevAET;n=!n,e.nextAET!==null&&n&&(this.m_bPolygonHasCurves&&(e.curve||e.nextAET.curve)||i.pe(e.nextAET.currentX-e.currentX)),e.advance(t.y),a!==null&&e.currentX<a.currentX&&(r=!0)}this.m_sumBase=i.getResult(),r&&this.sortAET();let a=new g(0);n=!1;let o=!1;for(let e=this.m_AETHead;e!==null;e=e.nextAET){o||=e.curve!==null;let t=e.prevAET;n=!n,t!==null&&(n||this.m_bPolygonHasCurves&&(e.curve||e.prevAET.curve)||a.pe(e.currentX-e.prevAET.currentX))}this.m_sumA=a.getResult(),this.processTraps(e,t.y,o);for(let e=this.m_AETHead;e!=null;){let n=e.prevAET,r=e.nextAET;if(t.y===e.y1){if(e.prevAET=null,e.nextAET=null,e.nextInChain!==null){let t=e.currentX;e=e.nextInChain,e.currentX=t,e.prevAET=n,n?n.nextAET=e:this.m_AETHead=e,e.nextAET=r,r&&(r.prevAET=e)}else n?n.nextAET=r:this.m_AETHead=r,r&&(r.prevAET=n)}e=r}}mergeNewEdgesToAET(){for(let e=this.m_sortedNodes[this.m_currentScan].startingEdges;e!==null;e=e.startNodeNext)Number.isNaN(e.currentX)&&(this.m_sortHelper.push(e),e.currentX=e.x0);if(!this.m_sortHelper.length)return;this.sortHelper();let e=this.m_AETHead,t=0,n=e;for(;e!==null&&t<this.m_sortHelper.length;)e.currentX>this.m_sortHelper[t].currentX?(this.m_sortHelper[t].prevAET=e.prevAET,e.prevAET?e.prevAET.nextAET=this.m_sortHelper[t]:this.m_AETHead=this.m_sortHelper[t],this.m_sortHelper[t].nextAET=e,e.prevAET=this.m_sortHelper[t],t++):(n=e,e=e.nextAET);for(;t<this.m_sortHelper.length;)this.m_sortHelper[t].prevAET=n,n===null?this.m_AETHead=this.m_sortHelper[t]:n.nextAET=this.m_sortHelper[t],this.m_sortHelper[t].nextAET=null,n=this.m_sortHelper[t],t++;this.m_sortHelper.length=0}sortAET(){for(let e=this.m_AETHead;e!==null;e=e.nextAET)this.m_sortHelper.push(e);this.sortHelper(),this.m_AETHead=null;let e=null;for(let t of this.m_sortHelper)t.prevAET=e,e?e.nextAET=t:this.m_AETHead=t,t.nextAET=null,e=t;this.m_sortHelper.length=0}sortHelper(){this.m_sortHelper.sort((e,t)=>e.currentX-t.currentX)}trapezoidation(){for(this.m_currentScan=0,this.mergeNewEdgesToAET(),this.m_currentScan++;this.m_currentScan<this.m_sortedNodes.length&&(this.progress(),this.advanceAET(),this.m_cuts.length!==this.m_numberOfCuts);)this.mergeNewEdgesToAET(),this.m_currentScan++}buildEdges(e){let t=e.querySegmentIterator();for(t.stripAttributes();t.nextPath();)for(;t.hasNextSegment();){let e=t.nextSegment();if(e.isCurve()){let t=e;if(l(t),this.m_bHorizontalSweep){let e=y(b,4);t.queryControlPoints(e);for(let t of e)t.y=x(t.x,t.x=t.y);t.constructPoints(e)}let n=t.getStartY(),r=t.getEndY();if(r===n)continue;r<n&&t.reverse(),this.m_curves.push(t.clone()),this.m_edges.push(F(this.m_curves.at(-1)))}else{let t=this.m_bHorizontalSweep?e.getStartX():e.getStartY();if((this.m_bHorizontalSweep?e.getEndX():e.getEndY())===t)continue;this.m_edges.push(P(e,this.m_bHorizontalSweep))}}this.m_edges.sort((e,t)=>e.y0===t.y0?e.x0-t.x0:e.y0-t.y0)}buildScanNodes(){let e=[];for(let t of this.m_edges){let n=L();n.x=t.x0,n.y=t.y0,n.startEdge=t,n.endEdge=null,e.push(n);let r=L();r.x=t.x1,r.y=t.y1,r.startEdge=null,r.endEdge=t,e.push(r)}e.sort((e,t)=>e.compare(t));let t=0,n=e[t].y;this.m_sortedNodes.push(R(n,e[t].startEdge));let r=t;for(t++;t!==e.length;++t){e[t].y!==n&&(this.m_sortedNodes.push(R(e[t].y,null)),n=e[t].y);let i=e[t].startEdge;if(i){let e=this.m_sortedNodes.at(-1);i.startNodeNext=e.startingEdges,e.startingEdges=i}if(e[r].x!==e[t].x||e[r].y!==e[t].y){if(t-r===2){let t=r;t++,e[r].endEdge!==null&&e[t].startEdge!==null&&(e[r].endEdge.nextInChain=e[t].startEdge)}r=t}}}progress(){}splitPolygonLinear(e,t,a,o,s,c){let l=[];l.push([e,0,c]);let d=[],f=new u;for(f.startPathCoords(a,0),f.lineToCoords(o,0);l.length>0;){let u=l.at(-1);l.pop();let p=u[0],m=u[1],h=u[2],g=new E().executeMany(new r([p]),t,this.m_progressTracker);for(let r=g.next();r!==null;r=g.next()){let u=r,p=new i;u.queryLooseEnvelope(p);let g=m,v=h;for(let e=m,t=h-1;e<h;++e,--t)p.ymin>=s[e]&&(g=e+1),p.ymax<=s[t]&&(v=t);if(g===h)d.push(_(r,h-1));else if(v===m)d.push(_(r,m-1));else if(g===v)d.push(_(r,g-1));else if(this.isYMonotone(u))this.splitYMonotone(d,u,t,s,g,v);else{let r=Math.trunc((g+v)/2);f.setXYCoords(0,a,s[r]),f.setXYCoords(1,o,s[r]);let m=new D().execute(!1,u,f,null,this.m_progressTracker),h=m.next(),y=m.next(),b=m.next();if(h!==null){if(h.isEmpty()||(r===v-1?(d.push(_(h,r)),n(G(d.at(-1).first,t,e,d.at(-1).second,s,c))):l.push([h,r+1,v])),y.isEmpty()||(r===g?(d.push(_(y,r-1)),n(G(d.at(-1).first,t,e,d.at(-1).second,s,c))):l.push([y,g,r])),b!==null&&!b.isEmpty()){let e=new i;b.queryLooseEnvelope(e),e.ymin>=s[r]?l.push([b,r+1,v]):e.ymax<=s[r]?l.push([b,g,r]):l.push([b,g,v])}}else r+1===v?(s[r]-p.ymin<p.ymax-s[r]?d.push(_(u,r)):d.push(_(u,r+1)),n(G(d.at(-1).first,t,e,d.at(-1).second,s,c))):l.push([u,r+1,v])}}}return d}splitPolygon(e,t,n,r,a,o){let s=new i;e.queryLooseEnvelope(s),s.inflateCoords(0,Math.max(s.width(),s.height()));let c=[],l=[];for(l.push(B(e,0,o));l.length;){let o={...l.at(-1)};if(l.pop(),o.polygon.hasNonLinearSegments()){let e=Math.trunc((o.to+o.from)/2),u=a[e],d=new i(n,s.ymin,r,u),f=new T().execute(o.polygon,d,t,this.m_progressTracker);f.isEmpty()||(e-o.from===0?c.push(_(f,e-1)):l.push(B(f,o.from,e)));let p=new i(n,u,r,s.ymax),m=new T().execute(o.polygon,p,t,this.m_progressTracker);m.isEmpty()||(o.to-e===1?c.push(_(m,e)):l.push(B(m,e+1,o.to)))}else{let i=this.splitPolygonLinear(e,t,n,r,a.slice(o.from),o.to-o.from);c.push(...i)}}c.sort((e,t)=>e.second-t.second);let u=[];return d(c,(e,t)=>e.second===t.second,(e,t)=>{let n=new m;for(let r=e;r!==t;++r)n.add(c[r].first,!1);u.push(_(n,c[e].second))}),u}isYMonotone(e){if(e.getPathCount()!==1)return!1;let t=e.getXY(0),n=0,r=0,i=new b;for(let a=1,o=e.getPointCount();a<=o;a++){e.queryXY(a===o?0:a,i);let s=i.y>t.y?1:i.y<t.y?-1:0;if(t.setCoordsPoint2D(i),n!==s&&s!==0){if(n!==0&&(r++,r>2))return!1;n=s}}return!0}splitYMonotone(e,t,r,i,a,o){let s=new f;s.addGeometry(t);let c=s.getFirstPath(s.getFirstGeometry()),l=s.getFirstVertex(c),u=new b,d=new b,m=l,h=l;{let e=s.getXY(l);u.setCoordsPoint2D(e),d.setCoordsPoint2D(e)}let g=s.getNextVertex(l),v=new b;for(let e=0,t=s.getPathSize(c);e<t;e++,g=s.getNextVertex(g))s.queryXY(g,v),v.compare(u)<0?(m=g,u.setCoordsPoint2D(v)):v.compare(d)>0&&(h=g,d.setCoordsPoint2D(v));let y=m,x=m,S=y,C=x,w=!1,T=!1,E=a,D=u.y,O=u.y,k=!1;for(;E<o;)if(i[E]<=u.y)E++;else{if(i[E]>=d.y)break;if(!w){let e=s.getNextVertex(y),t=s.getY(e);if(t<D)break;let n=i[E];D<=n&&t>=n?w=!0:(D=t,y=e)}if(!T){let e=s.getPrevVertex(x),t=s.getY(e);if(t<O)break;let n=i[E];O<=n&&t>=n?T=!0:(O=t,x=e)}if(w&&T){k=!0;let t=s.getXY(y),r=s.getNextVertex(y),a=s.getXY(r),o=p;if(a.y===t.y)o=a.x<t.x?y:r;else{let e=(i[E]-t.y)/(a.y-t.y);if(e===0)o=y;else if(e===1)o=r;else{let t=s.splitSegmentAxisAware(y,[e],1,null,-1);n(t===1),o=s.getNextVertex(y),s.getY(o)!==i[E]&&s.setXYCoords(o,s.getX(o),i[E])}}let c=s.getPrevVertex(x);t=s.getXY(c),a=s.getXY(x);let l=p;if(a.y===t.y)l=a.x<t.x?x:c;else{let e=(i[E]-t.y)/(a.y-t.y);if(e===0)l=c;else if(e===1)l=x;else{let t=s.splitSegmentAxisAware(c,[e],1,null,-1);n(t===1),l=s.getNextVertex(c),s.getY(l)!==i[E]&&s.setXYCoords(l,s.getX(l),i[E])}}e.push(_(this.extractTrapezoid(s,S,o,C,l),E-1)),S=o,C=l,y=o,x=l,D=O=i[E],w=!1,T=!1,E++}}k?e.push(_(this.extractTrapezoid(s,S,h,C,h),E-1)):e.push(_(t,E))}extractTrapezoid(e,t,n,r,i){let a=new m({vd:e.getVertexDescription()}),o=new C,s=!0;for(let r=t;;r=e.getNextVertex(r)){let t=e.getSegment(r);if(t?a.addSegment(t,s):(e.queryPoint(r,o),s?a.startPathPoint(o):a.lineToPoint(o)),s=!1,r===n)break}n!==i&&(e.queryPoint(i,o),a.lineToPoint(o)),s=!0;for(let n=i;;n=e.getNextVertex(n)){let i=e.getSegment(n);if(i?a.addSegment(i,s):!s&&n!==t&&(e.queryPoint(n,o),a.lineToPoint(o)),s=!1,n===r)break}return a}}function W(e){return e.getImpl().ensureXYMonotoneSegments()}function G(e,t,n,r,a,o){let s=new i;e.queryEnvelope(s);let c=w(t,n,!0).total()*4;return!(r>=0&&!(s.ymin+c>=a[r])||r+1<o&&s.ymax>a[r+1]+c)}class K{getOperatorType(){return 10011}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}sliceIntoStrips(e,t,n,r,i,a){return new q(0,e,t,n,i,0,a)}findSlicesByArea(e,t,n,r,i,a){if(!i||i.isIdentity())return O(e,t,n,r,a);{let o=e.clone();return o.applyTransformation(i),O(o,t,n,r,a)}}recursiveSliceEqualArea(e,t,n,r,i){return new q(1,e,t,null,r,n,i)}}class q extends e{m_ySplits;m_polygon;m_sr;m_transform;m_inverseTransform;m_tracker;m_partCount;m_method;m_bReversePaths;m_resultCursor=null;constructor(e,t,n,r,i,a,o){super(),this.m_method=e,this.m_polygon=t,this.m_sr=n,this.m_ySplits=r?.slice()??null,this.m_transform=i,this.m_bReversePaths=i?.isReflective()??!1,this.m_inverseTransform=i?i.clone().invertThis():null,this.m_partCount=a,this.m_tracker=o}tock(){return!0}getRank(){return 1}next(){this.m_resultCursor||(this.m_method?this.recursiveSliceEqualArea():this.sliceIntoStrips());let e=this.m_resultCursor.next();return e&&(this.m_inverseTransform&&!this.m_inverseTransform.isIdentity()&&(e.applyTransformation(this.m_inverseTransform),this.m_bReversePaths&&e.reverseAllPaths()),e)}getGeometryID(){return this.m_resultCursor?this.m_resultCursor.getGeometryID():-1}sliceIntoStrips(){if(!this.m_transform||this.m_transform.isIdentity())this.m_resultCursor=k(this.m_polygon,this.m_sr,this.m_ySplits,this.m_ySplits.length,this.m_tracker);else{let e=this.m_polygon.clone();e.applyTransformation(this.m_transform),this.m_bReversePaths&&e.reverseAllPaths(),this.m_resultCursor=k(e,this.m_sr,this.m_ySplits,this.m_ySplits.length,this.m_tracker)}}recursiveSliceEqualArea(){if(!this.m_transform||this.m_transform.isIdentity())this.m_resultCursor=A(this.m_polygon,this.m_sr,this.m_partCount,this.m_tracker);else{let e=this.m_polygon.clone();e.applyTransformation(this.m_transform),this.m_bReversePaths&&e.reverseAllPaths(),this.m_resultCursor=A(e,this.m_sr,this.m_partCount,this.m_tracker)}}}const J=new K;function Y(e,t,n,r,i){return J.findSlicesByArea(e,t,n,r,i,null)}function X(e,t,n,r){let i=J.recursiveSliceEqualArea(e,t,n,r,null);return Array.from(i)}function Z(e,t,n,r){let i=J.sliceIntoStrips(e,t,n,0,r,null);return Array.from(i)}function Q(){return J.supportsCurves()}export{Y as findSlicesByArea,X as recursiveSliceEqualArea,Z as sliceIntoStrips,Q as supportsCurves};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{constructFromFlatGeometry as e}from"../../../chunks/FlatGeometry.js";import{d as t,b as n,g as r,r as i,q as a,G as o,a as s}from"../../../chunks/Geometry.js";import{aL as c,i as l,c as u,f as d,aM as f,P as p,d as m}from"../../../chunks/Point2D.js";import{q as h,b as g,p as _,a_ as v,c as y,e as b,a as x,f as S,a$ as C}from"../../../chunks/UnitFactory.js";import{a2 as w,a5 as T,P as E,E as D,a0 as O,a1 as k,a6 as A,a7 as j,X as M}from"../../../chunks/Envelope.js";import{P as N,a as P,S as F,M as I,I as L,a5 as R,a6 as z,a7 as B,a8 as V,a9 as H}from"../../../chunks/MultiPathImpl.js";import{convertGeometryxToFlat as U,convertFlatToGeometryJSON as W,convertGeometryToFlat as ee}from"../../FlatGeometry.js";import te from"../../SpatialReference.js";import"./initNoPeFactory.js";import{isPoint as ne,isMultipoint as re,isPolyline as ie,isPolygon as ae}from"../../support/jsonTypeUtils.js";function oe(){if(this.m_i===-1)return this.m_i=0,{value:{m_token:1,m_value:null},done:!1};if(this.m_i<this.m_keys.length){let e=this.m_bReturnKey,t=Math.trunc(this.m_i);return this.m_bReturnKey=!this.m_bReturnKey,this.m_i+=.5,e?{value:{m_token:5,m_value:this.m_keys[t]},done:!1}:{value:{m_token:6,m_value:this.m_o[this.m_keys[t]]},done:!1}}return{value:{m_token:3,m_value:null},done:!0}}function se(){if(this.m_i===-1)return this.m_i=0,{value:{m_token:2,m_value:null},done:!1};if(this.m_i<this.m_a.length){let e={value:{m_token:6,m_value:this.m_a[this.m_i++]},done:!1};return this.m_strict||e.value.m_value===void 0&&(e.value.m_value=NaN),e}return{value:{m_token:4,m_value:null},done:!0}}class ce{m_iteratorStack;m_nextFlatToken;m_currentToken=0;m_currentValue;m_options;createJSONObjectIterator(e){return{m_iteratorType:`object`,m_o:e,m_keys:this.m_options.strict?Object.keys(e):Object.keys(e).filter(t=>e[t]!==void 0),m_i:-1,m_bReturnKey:!0,next:oe}}createJSONArrayIterator(e){return{m_iteratorType:`array`,m_strict:this.m_options.strict,m_i:-1,m_a:e,next:se}}constructor(e,t){this.m_options=t?{...t}:{strict:!0};let n=e;this.m_iteratorStack=[n instanceof Array?this.createJSONArrayIterator(n):this.createJSONObjectIterator(n)],this.m_nextFlatToken={m_value:null,m_token:0}}nextToken(){if(this.m_iteratorStack.length===0)return this.m_currentToken=0;switch(this.m_nextFlatToken=this.m_iteratorStack.at(-1).next().value,this.m_currentValue=void 0,this.m_nextFlatToken.m_token){case 1:return this.m_currentToken=1;case 3:return this.m_iteratorStack.pop(),this.m_currentToken=3;case 2:return this.m_currentToken=2;case 4:return this.m_iteratorStack.pop(),this.m_currentToken=4;case 5:return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=5;case 6:if(this.m_nextFlatToken.m_value instanceof Array)return this.m_iteratorStack.push(this.createJSONArrayIterator(this.m_nextFlatToken.m_value)),this.nextToken();if(this.m_nextFlatToken.m_value instanceof Object)return this.m_iteratorStack.push(this.createJSONObjectIterator(this.m_nextFlatToken.m_value)),this.nextToken();if(typeof this.m_nextFlatToken.m_value==`number`)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=Number.isSafeInteger(this.m_currentValue)&&this.m_currentValue>=c()&&this.m_currentValue<=l()?8:7;if(typeof this.m_nextFlatToken.m_value==`string`)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=6;if(typeof this.m_nextFlatToken.m_value==`boolean`)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=this.m_nextFlatToken.m_value?11:12;if(typeof this.m_nextFlatToken.m_value==`object`)return this.m_currentValue=null,this.m_currentToken=10;t(`unrecognized json element type`)}t(`unrecognized json element type`)}currentToken(){return this.m_currentToken}skipChildren(){if(this.m_iteratorStack.length!==0)switch(this.m_currentValue=void 0,this.m_nextFlatToken.m_token){case 1:this.m_iteratorStack.pop(),this.m_nextFlatToken.m_token=3,this.m_currentToken=3;return;case 2:this.m_iteratorStack.pop(),this.m_nextFlatToken.m_token=4,this.m_currentToken=4;return}}currentString(){return this.m_currentToken!==6&&this.m_currentToken!==5&&n(`invalid token`),this.m_currentValue}currentDoubleValue(){return this.m_currentToken!==7&&this.m_currentToken!==8&&n(`invalid token`),this.m_currentValue}currentInt32Value(){return this.m_currentToken!==8&&n(`invalid token`),this.m_currentValue}currentInt64Value(){return r(0),0n}currentBoolValue(){return this.m_currentToken!==12&&this.m_currentToken!==11&&n(`invalid token`),this.m_currentValue}isError(){return 0}}class G{m_pendingKey=null;m_acceptedObject=null;m_currentObject=[];reset(){this.m_pendingKey=null,this.m_acceptedObject=null,this.m_currentObject.length=0}startObject(){let e={};this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):Array.isArray(this.m_currentObject.at(-1))&&this.m_currentObject.at(-1).push(e),this.m_currentObject.push(e)}startArray(){let e=[];this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):Array.isArray(this.m_currentObject.at(-1))&&this.m_currentObject.at(-1).push(e),this.m_currentObject.push(e)}endObject(){this.m_acceptedObject=this.m_currentObject.at(-1),this.m_currentObject.pop()}endArray(){this.m_currentObject.pop()}addFieldName(e){this.m_pendingKey=e}addValue_(e){this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):this.m_currentObject.at(-1).push(e)}addString(e){this.addValue_(e)}addDouble(e,t){this.addValue_(e)}addInt64(e){r(0)}addInt32(e){this.addValue_(e)}addBool(e){this.addValue_(e)}addNull(){this.addValue_(null)}getObject(){return this.m_acceptedObject}}class K{m_buffer=null;m_view=null;m_sz=0;m_offset=0;m_bOwnsBuffer=!0;m_bLittleEndian=!0;m_element;m_elementBytes;m_elementView;m_elementDouble;m_elementFloat;m_elementInt64;m_elementInt32;m_elementInt16;constructor(e){if(this.m_element=new ArrayBuffer(8),this.m_elementBytes=new Uint8Array(this.m_element),this.m_elementView=new DataView(this.m_element),this.m_elementDouble=new Float64Array(this.m_element),this.m_elementFloat=new Float32Array(this.m_element),this.m_elementInt64=new BigInt64Array(this.m_element),this.m_elementInt32=new Int32Array(this.m_element),this.m_elementInt16=new Int16Array(this.m_element),e.sz!==void 0){if(this.m_sz=e.sz,e.buffer){this.m_sz<0&&i(`size out of range`),this.m_buffer=e.buffer,this.m_offset=e.offset===void 0?0:e.offset,this.m_view=e.offset===void 0?new DataView(this.m_buffer):new DataView(e.buffer,e.offset,e.sz),this.m_bOwnsBuffer=!1,this.m_bLittleEndian=!0;return}this.m_sz<0&&i(`size out of range`),this.m_sz>0&&(this.m_buffer=new ArrayBuffer(this.m_sz),this.m_view=new DataView(this.m_buffer))}else e.move?(this.m_sz=e.move.m_sz,this.m_buffer=e.move.m_buffer,this.m_view=e.move.m_view,this.m_bOwnsBuffer=e.move.m_bOwnsBuffer,this.m_bLittleEndian=e.move.m_bLittleEndian,e.move.m_buffer=null,e.move.m_view=null,e.move.m_sz=0,e.move.m_bOwnsBuffer=!0):t(`unrecognized constructor options`)}swapBytesDouble(){this.doSwap()&&(this.m_elementDouble[0]=this.m_elementBytes[0]<<56|this.m_elementBytes[1]<<48|this.m_elementBytes[2]<<40|this.m_elementBytes[3]<<32|this.m_elementBytes[4]<<24|this.m_elementBytes[5]<<16|this.m_elementBytes[6]<<8|this.m_elementBytes[7])}swapBytesInt32(){this.doSwap()&&(this.m_elementInt32[0]=this.m_elementBytes[0]<<24|this.m_elementBytes[1]<<16|this.m_elementBytes[2]<<8|this.m_elementBytes[3])}getOffset(){return this.m_offset}assignMove(e){return this===e||(this.clear(),this.m_sz=e.m_sz,this.m_buffer=e.m_buffer,this.m_view=e.m_view,this.m_bOwnsBuffer=e.m_bOwnsBuffer,this.m_bLittleEndian=e.m_bLittleEndian,e.m_buffer=null,e.m_sz=0,e.m_bOwnsBuffer=!0),this}doSwap(){return this.m_bLittleEndian!==(K.getNativeByteOrder()===1)}setNativeByteOrder(){this.m_bLittleEndian=K.getNativeByteOrder()===1}setOrder(e){this.m_bLittleEndian=e===1}getOrder(){return+!!this.m_bLittleEndian}getView(){return this.m_view||a(`buffer not defined`),this.m_view}static getNativeByteOrder(){return 1}clear(){this.m_buffer=null,this.m_sz=0,this.m_bOwnsBuffer=!0}size(){return this.m_sz}readDouble(e){return this.doSwap()?(this.m_elementDouble[0]=this.m_view.getFloat64(e,this.m_bLittleEndian),this.swapBytesDouble(),this.m_elementDouble[0]):this.m_view.getFloat64(e,this.m_bLittleEndian)}writeDouble(e,t){this.m_elementDouble[0]=t,this.swapBytesDouble(),this.m_view.setFloat64(e,this.m_elementDouble[0],this.m_bLittleEndian)}readInt32(e){return this.doSwap()?(this.m_elementInt32[0]=this.m_view.getInt32(e,this.m_bLittleEndian),this.swapBytesInt32(),this.m_elementInt32[0]):this.m_view.getInt32(e,this.m_bLittleEndian)}writeInt32(e,t){this.m_elementInt32[0]=t,this.swapBytesInt32(),this.m_view.setInt32(e,this.m_elementInt32[0],this.m_bLittleEndian)}getPtr(){return this.m_buffer}setSizeNoRealloc(e){r(e>=0&&e<=this.m_sz),this.m_sz=e}}function le(e,t,i,a,s,c){let l=!1,u=!1,d=!1,f=!1,p=!1,m=!1,h=!1,g=!1,_=!1,v=!1,y=!1,b=!1,x=!1,S=!1,C=!1,O=!1,k=!1,A=!1,j=!1,M=!1,N=!1,P=!1,F=!1,I=!1,L=NaN,R=NaN,z=NaN,B=NaN,V=0,H=NaN,U=NaN,W=NaN,ee=NaN,te=NaN,ne=NaN,re=NaN,ie=NaN,ae=0,oe=0,se=!1,ce=!1,G=null,K=null,le=null,ue=null,J=null;for(;i.nextToken()!==3;){let c=i.currentString();if(i.nextToken(),c===`spatialReference`){if(s&&!l){l=!0,i.currentToken()===1?ue=de(i):i.currentToken()!==10&&n(`failed to parse spatial reference: object or null is expected`);continue}}else if(a){if(c===`hasZ`){if(!u){u=!0,se=i.currentToken()===11;continue}}else if(c===`hasM`){if(!d){d=!0,ce=i.currentToken()===11;continue}}else if(c===`rings`){if(!p&&!m&&(e===o.enumUnknown||e===o.enumPolygon)){p=!0,{geometry:J,as:G,bs:K}=fe(!0,!1,t,i);continue}}else if(c===`curveRings`){if(!m&&(e===o.enumUnknown||e===o.enumPolygon)){m=!0,{geometry:J,as:G,bs:K}=fe(!0,!0,t,i);continue}}else if(c===`paths`){if(!h&&!g&&(e===o.enumUnknown||e===o.enumPolyline)){h=!0,{geometry:J,as:G,bs:K}=fe(!1,!1,t,i);continue}}else if(c===`curvePaths`){if(!g&&(e===o.enumUnknown||e===o.enumPolyline)){g=!0,{geometry:J,as:G,bs:K}=fe(!1,!0,t,i);continue}}else if(c===`points`){if(!_&&(e===o.enumUnknown||e===o.enumMultiPoint)){_=!0,{geometry:J,as:G,bs:K}=pe(t,i);continue}}else if(c===`ids`){if(!f){f=!0,le=me(t,i);continue}}else if(c===`x`){if(!v&&(e===o.enumUnknown||e===o.enumPoint)){v=!0,L=q(i);continue}}else if(c===`y`){if(!y&&(e===o.enumUnknown||e===o.enumPoint)){y=!0,R=q(i);continue}}else if(c===`z`){if(!b&&(e===o.enumUnknown||e===o.enumPoint)){b=!0,z=q(i);continue}}else if(c===`m`){if(!x&&(e===o.enumUnknown||e===o.enumPoint)){x=!0,B=q(i);continue}}else if(c===`id`){if(!S&&(e===o.enumUnknown||e===o.enumPoint)){S=!0,V=he(i);continue}}else if(c===`xmin`){if(!C&&(e===o.enumUnknown||e===o.enumEnvelope)){C=!0,H=q(i);continue}}else if(c===`ymin`){if(!O&&(e===o.enumUnknown||e===o.enumEnvelope)){O=!0,U=q(i);continue}}else if(c===`mmin`){if(!N&&(e===o.enumUnknown||e===o.enumEnvelope)){N=!0,re=q(i);continue}}else if(c===`zmin`){if(!j&&(e===o.enumUnknown||e===o.enumEnvelope)){j=!0,te=q(i);continue}}else if(c===`idmin`){if(!F&&(e===o.enumUnknown||e===o.enumEnvelope)){F=!0,ae=he(i);continue}}else if(c===`xmax`){if(!k&&(e===o.enumUnknown||e===o.enumEnvelope)){k=!0,W=q(i);continue}}else if(c===`ymax`){if(!A&&(e===o.enumUnknown||e===o.enumEnvelope)){A=!0,ee=q(i);continue}}else if(c===`mmax`){if(!P&&(e===o.enumUnknown||e===o.enumEnvelope)){P=!0,ie=q(i);continue}}else if(c===`zmax`){if(!M&&(e===o.enumUnknown||e===o.enumEnvelope)){M=!0,ne=q(i);continue}}else if(c===`idmax`){if(!I&&(e===o.enumUnknown||e===o.enumEnvelope)){I=!0,oe=he(i);continue}}else c===`materials`&&r(0)}i.skipChildren()}if(p||m||h||g||_){let e=null,t=null,n=J;se&&(J.addAttribute(1),e=G,e||=w(n.getPointCount(),NaN)),ce&&(J.addAttribute(2),t=se?K:G),le!=null&&J.addAttribute(3),se&&e!=null&&n.setAttributeStreamRef(1,e),ce&&t!=null&&n.setAttributeStreamRef(2,t),le!=null&&ge(n,le)}else if(v||y||x||b||S){T(L,R)||n(`failed to parse point: x and y must be finite or nan`),(Number.isNaN(R)||Number.isNaN(L))&&(L=NaN,R=NaN);let e=new E({x:L,y:R});b&&e.setZ(z),x&&e.setM(B),S&&e.setID(V),J=e}else if(C||O||k||A||j||M||N||P||F||I){(Number.isNaN(U)||Number.isNaN(W)||Number.isNaN(ee))&&(H=NaN);let e=new D({xmin:H,ymin:U,xmax:W,ymax:ee});j&&M&&e.setInterval(1,0,te,ne),N&&P&&e.setInterval(2,0,re,ie),F&&I&&e.setInterval(3,0,ae,oe),J=e}return{...J?{geom:J}:{},...ue?{sr:ue}:{}}}function ue(e){let t=!1;for(;e.nextToken()!==3;){let n=e.currentString();e.nextToken(),n===`uwkid`?t||(t=!0,e.currentToken()===8&&e.currentInt32Value()):e.skipChildren()}return null}function de(e){let t=!1,n=!1,r=!1,i=!1,a=!1,o=!1,s=!1,c=!1,l=!1,u=!1,d=!1,f=!1,p=!1,m=!1,C=!1,w=!1,T=!1,E=-1,D=-1,O=-1,k=-1,A=0,j=0,M=0,N=0,P=0,F=0,I=0,L=0,R=0,z=0,B=``,V=``,H=null;for(;e.nextToken()!==3;){let h=e.currentString();e.nextToken(),h===`wkid`?t||(t=!0,e.currentToken()===8&&(E=e.currentInt32Value())):h===`latestWkid`?n||(n=!0,e.currentToken()===8&&(D=e.currentInt32Value())):h===`wkt`?a||(a=!0,e.currentToken()===6&&(B=e.currentString())):h===`wkt2`?a||e.currentToken()===6&&(V=e.currentString()):h===`vcsWkid`?r||(r=!0,e.currentToken()===8&&(O=e.currentInt32Value())):h===`latestVcsWkid`?i||(i=!0,e.currentToken()===8&&(k=e.currentInt32Value())):h===`xyTolerance`?s||(s=!0,o=!0,A=e.currentDoubleValue()):h===`zTolerance`?c||(c=!0,o=!0,j=e.currentDoubleValue()):h===`mTolerance`?l||(l=!0,o=!0,M=e.currentDoubleValue()):h===`falseX`?u||(u=!0,o=!0,I=e.currentDoubleValue()):h===`falseY`?d||(d=!0,o=!0,L=e.currentDoubleValue()):h===`falseZ`?f||(f=!0,o=!0,R=e.currentDoubleValue()):h===`falseM`?p||(p=!0,o=!0,z=e.currentDoubleValue()):h===`xyUnits`?m||(m=!0,o=!0,N=e.currentDoubleValue()):h===`zUnits`?C||(C=!0,o=!0,P=e.currentDoubleValue()):h===`mUnits`?w||(w=!0,o=!0,F=e.currentDoubleValue()):h===`unit`?T||(T=!0,H=ue(e)):e.skipChildren()}k<=0&&O>0&&(k=O),O<=0&&k>0&&(O=k);let U=null,W=!0;if(B.length!==0&&(W=!1,h(B)&&(U=g(B))),!U&&V.length!==0&&(W=!1,h(V)&&(U=g(V))),!U&&D>0&&(W=!1,_(D)&&(k<=0||v())&&(U=y(D,k))),!U&&E>0&&(W=!1,_(E)&&(O<=0||v())&&(U=y(E,O))),W&&(U=b(H)),o&&U){let e=new x;U.queryPrecisionDescriptorWithoutFalseXY(e),s&&e.setTolerance(0,A),c&&e.setTolerance(1,j),l&&e.setTolerance(2,M),m&&u&&d&&e.setGridParams(I,L,N),C&&f&&e.setZParams(R,P),w&&p&&e.setMParams(z,F),U=S(U,e)}return U}function fe(e,t,r,i){i.currentToken()!==2&&n(`failed to parse multipath: array of array of vertices is expected`);let a=e?new N:new P,o=a,s=O(0),c=w(2,0),l=k(0),m=null,h=null,g=null,_=null,v=null,y=0,b=0,x=0,S=new F,C=p.getNAN(),T=0,E=0,D=+!!e;for(;i.nextToken()!==4;){i.currentToken()!==2&&n(`failed to parse multipath: ring/path array is expected`);let r=2,a=0,j=!0,M=0,N=0,P=p.getNAN(),F=u(4,NaN),I=u(4,NaN),L=!1;for(i.nextToken();i.currentToken()!==4;){if(t&&i.currentToken()===1)j&&n(`failed to parse multipath: starting vertex array is expected`),g||(g=k(T-1,1),_=O(T-1,-1),v=w(0)),L=!0,r=1,{segFlag:x,toPointSz:M}=xe(S,F,C,i);else{for(L=!1,i.currentToken()!==2&&n(`failed to parse multipath: array is expected, rings/paths vertices consist of arrays of coordinates`),M=0;i.nextToken()!==4;)M===4&&n(`failed to parse multipath: each vertex array has to have at most 4 elements`),F[M++]=q(i);M<2&&n(`failed to parse multipath: each vertex array has to have at least 2 elements`),A(F[0],F[1])||n(`failed to parse multipath: x and y must be finite`)}i.nextToken();do{if(c.size()===T*2&&c.resize(J(T)),c.writePoint2D(2*T,P.setCoords(F[0],F[1])),m&&m.size()===T&&m.resize(Y(T)),M>2?(m||=w(T+1,NaN),m.write(T,F[2])):m&&m.write(T,NaN),h&&h.size()===T&&h.resize(Y(T)),M>3?(h||=w(T+1,NaN),h.write(T,F[3])):h&&h.write(T,NaN),j)E++,s.add(T),l.add(D),j=!1,N=M,d(I,F,0,0,N);else if(g!==null){if(!L)g.add(1),_.add(-1);else{let e=H(x),t=v.size();v.resize(t+e),g.add(x),_.add(y),S.get().writeInBufferStream(v,y),y+=e,o.incCurveType(x,1),b++}}T++,a++,C.setCoords(F[0],F[1])}while(a<r&&i.currentToken()===4)}a!==0&&(e&&a>r&&M===N&&f(F,I,M)===0?(T--,a--):g!==null&&(g.add(1),_.add(-1)))}return T&&(s.resize(E),l.resize(E),T>0&&(s.add(T),l.add(0)),o.setAttributeStreamRef(0,c),o.setPathFlagsStreamRef(l),o.setPathStreamRef(s),g!==null&&(o.updateCurveCounter(b),o.setSegmentData(_,v,g,y)),o.notifyModifiedFlags(65535)),{geometry:a,as:m,bs:h}}function pe(e,t){t.currentToken()!==2&&n(`failed to parse multipoint: array of vertices is expected`);let r=0,i=new I,a=w(2,0),o=0,s=u(4,NaN),c=new p,l=null,d=null;for(;t.nextToken()!==4;){for(t.currentToken()!==2&&n(`failed to parse multipoint: array is expected, multipoint vertices consist of arrays of cooridinates`),o=0;t.nextToken()!==4;)o===4&&n(`failed to parse multipoint: each vertex array has to have at most 4 elements`),s[o++]=q(t);o<2&&n(`failed to parse multipoint: each vertex array has to have at least 2 elements`),A(s[0],s[1])||n(`failed to parse multipoint: x and y must be finite`),a.size()===r*2&&a.resize(J(r)),a.writePoint2D(2*r,c.setCoords(s[0],s[1])),l&&l.size()===r&&l.resize(Y(r)),o>2?(l||=w(r+1,NaN),l.write(r,s[2])):l&&l.write(r,NaN),d&&d.size()===r&&d.resize(Y(r)),o>3?(d||=w(r+1,NaN),d.write(r,s[3])):d&&d.write(r,NaN),r++}if(r){let e=i.getImpl();e.setAttributeStreamRef(0,a),e.resizeNoInit(r),e.notifyModifiedFlags(65535)}return{geometry:i,as:l,bs:d}}function me(e,t){t.currentToken()!==2&&n(`failed to parse array of IDs: array of array of integers is expected`);let r=j(2,0),i=0,a=-1;for(;t.nextToken()!==4;){let e=i;r.size()===i&&r.resize(Y(i)),i++;let o=0;for(a===-1?a=+(t.currentToken()===2):a===1&&t.currentToken()!==2&&n(`failed to parse array of IDs: array of array of integers is expected`),a===0&&(r.size()===i&&r.resize(Y(i)),r.write(i,he(t)),o++,i++);t.nextToken()!==4;)r.size()===i&&r.resize(Y(i)),r.write(i,he(t)),o++,i++;if(r.write(e,o),a===0)break}return r.resize(i),r}function q(e){let t=e.currentToken();if(t===10||t===6&&e.currentString()===`NaN`)return NaN;{let t=e.currentDoubleValue();return Number.isNaN(t)?NaN:t}}function he(e){return e.currentInt32Value()}function ge(e,n){if(e.isEmpty())return;let r=j(2,0),i=e.getGeometryType(),a=0;i===I.type?a=1:i===P.type||i===N.type?a=e.getPathCount():t(`not implemented`),r.resize(e.getPointCount(),0);let o=0;for(let s=0;s<a;++s){let a=n.read(o);o++;let c=o+a,l=0,u=0;i===I.type?l=e.getPointCount():i===P.type||i===N.type?(l=e.getPathSize(s),u=e.getPathStart(s)):t(`not implemented`);for(let e=0,t=Math.min(a,l);e<t;++e)r.write(u,n.read(o)),o++,u++;o=c}e.getImpl().setAttributeStreamRef(3,r)}function J(e){let t=Math.trunc((e+1)*3/2)*2;return t<8?t=8:t<32&&(t=32),t}function Y(e){let t=Math.trunc((e+1)*3/2);return t<4?t=4:t<16&&(t=16),t}function _e(e,t,n,r,a){a>=r.size()&&i(`Byte_buffer out of range access`),e.m_bits=0,e.m_rotation=0,e.m_cosr=1,e.m_sinr=0,e.setStartXY(t),e.setEndXY(n);let o=p.getNAN();o.x=r.readDouble(a),o.y=r.readDouble(a+8);let s=r.readInt32(a+16);if(s&1)return e.m_semiMajorAxis=0,e.m_minorMajorRatio=1,e.m_interior.assign(o),e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,z(e),!1;let c=!!(s&64),l=!!(s&128),u=!!(s&32),d=!!(s&8),f=!!(s&16),m=t.equals(n);return c&&!m&&(c=!1,u=!0),u&&m&&(c=!0,u=!1,o.setCoords(0,0)),c||(l?u?(e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_interior.assign(o),e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0):(e.constructCircularArcThreePoint(t,n,o),m&&d===e.isClockwise()&&e.reverse()):u?(e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,z(e),e.queryCoord2D(.5,e.m_interior)):B(e,t,n,o,d,f)),c&&(e.m_center.assign(t),e.m_startAngle=o.x,e.m_sweepAngle=o.y,V(e,NaN,d,f),e.m_semiMajorAxis=0,e.m_minorMajorRatio=1,e.m_interior.setCoordsPoint2D(t)),e.setProjectionBehavior(0),z(e),!0}function ve(e,t,n,r,i){e.m_bits=0,e.m_center.x=r.readDouble(i),e.m_center.y=r.readDouble(i+8),e.m_rotation=r.readDouble(i+16),e.m_semiMajorAxis=r.readDouble(i+24),e.m_minorMajorRatio=r.readDouble(i+32),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y;let a=r.readInt32(i+40);if(a&1)return!1;let o=!!(a&64),s=!!(a&128),c=!!(a&512),l=!!(a&1024),u=!!(a&2048),d=!!(a&4096);return(c||l)&&!s&&(o=!0),s&&!t.equals(n)?(s=!1,o=!0):o&&t.equals(n)&&(s=!0,o=!1),s?(e.m_center.assign(t),e.m_startAngle=e.m_center.x,e.m_sweepAngle=e.m_center.y,V(e,NaN,u,d),e.m_semiMajorAxis=0,e.m_interior.setCoordsPoint2D(t)):o?(e.m_center.setNAN(),e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,z(e),e.queryCoord2D(.5,e.m_interior)):e.constructEllipticArcEndPointsCenter(t,n,e.m_semiMajorAxis,e.m_minorMajorRatio,e.m_rotation,!d,u,e.m_center),e.setProjectionBehavior(1),z(e),!0}function ye(e,t,n,i,a){return r(a+32<=i.size()),e.m_cp=m(p,2),e.m_cp[0].x=i.readDouble(a),e.m_cp[0].y=i.readDouble(a+8),e.m_cp[1].x=i.readDouble(a+16),e.m_cp[1].y=i.readDouble(a+24),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y,!0}function be(e,t,n,r,i){return e.m_cp.x=r.readDouble(i),e.m_cp.y=r.readDouble(i+8),e.m_weights[0]=r.readDouble(i+16),e.m_weights[1]=r.readDouble(i+24),e.m_weights[2]=r.readDouble(i+32),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y,!0}function xe(e,t,r,i,a){let o={segFlag:0,toPointSz:0},s=i.currentToken();s=i.nextToken();let c=i.currentString(),l=c[0];for((c.length!==1||l!==`a`&&l!==`b`&&l!==`c`&&l!==`n`&&l!==`q`)&&n(`failed to parse curve: expecting "a", "b", "n", "q", or "c"`),s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for curve parameters`),s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for to point`),o.toPointSz=0;i.nextToken()!==4;)o.toPointSz===4&&n(`failed to parse curve: vertex array cannot have more than 4 elements`),t[o.toPointSz++]=q(i);o.toPointSz<2&&n(`failed to parse curve: vertex array must have at least 2 elements`);let u=p.construct(t[0],t[1]),d=p.getNAN(),f=-1,m=-1,h=!1,g=NaN,_=NaN,v=NaN,y=[p.getNAN(),p.getNAN(),p.getNAN()],b=p.getNAN();if(l===`a`){s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for center point`),s=i.nextToken();let e=q(i);s=i.nextToken();let t=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for center point`),d.setCoords(e,t),s=i.nextToken(),f=i.currentInt32Value(),s=i.nextToken(),m=i.currentInt32Value(),s=i.nextToken(),s===4?h=!0:(h=!1,g=q(i),s=i.nextToken(),_=q(i),s=i.nextToken(),v=q(i),s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`)),o.segFlag=4}else if(l===`b`){for(let e=0;e<2;e++){s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for control point`),s=i.nextToken();let t=q(i);s=i.nextToken();let r=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for control point`),y[e].setCoords(t,r)}s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`),o.segFlag=2}else if(l===`n`){{s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for control point`),s=i.nextToken();let e=q(i);s=i.nextToken();let t=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for control point`),y[0].setCoords(e,t)}s=i.nextToken();let e=q(i);s=i.nextToken();let t=q(i);s=i.nextToken();let r=q(i);y[1].setCoords(e,t),y[2].setCoords(r,r),s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`),o.segFlag=8}else if(l===`q`){for(let e=0;e<1;e++){s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for control point`),s=i.nextToken();let t=q(i);s=i.nextToken();let r=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for control point`),y[e].setCoords(t,r)}s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`),o.segFlag=16}else{s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for interior point`),s=i.nextToken();let e=q(i);s=i.nextToken();let t=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for interior point`),b.setCoords(e,t),s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`),o.segFlag=4}return s=i.nextToken(),s!==3&&n(`failed to parse curve: end object is expected for curve`),l===`a`?(e.createEllipticArc(),h?Se(e.get(),r,u,d,!0,f,m):Ce(e.get(),r,u,d,f,m,g,_,v)):l===`b`?(e.createCubicBezier(),we(e.get(),r,u,y)):l===`n`?(e.createQuadraticRationalBezier(),Te(e.get(),r,u,y[0],y[1].x,y[1].y,y[2].x)):l===`q`?(e.createQuadraticBezier(),e.get().construct(r,y[0],u)):(e.createEllipticArc(),Se(e.get(),r,u,b,!1,-1,-1)),o}function Se(e,t,n,r,i,a,o){e.dropAllAttributes();let s=new K({sz:20,buffer:new ArrayBuffer(20)}),c=0;s.writeDouble(c,r.x),c+=8,s.writeDouble(c,r.y),c+=8;let l=0;i?(o||(l|=8),a&&(l|=16)):l|=128,s.writeInt32(c,l),c+=4,_e(e,t,n,s,0)}function Ce(e,t,n,r,i,a,o,s,c){e.dropAllAttributes();let l=new K({sz:44,buffer:new ArrayBuffer(44)}),u=0;l.writeDouble(u,r.x),u+=8,l.writeDouble(u,r.y),u+=8,l.writeDouble(u,o),u+=8,l.writeDouble(u,s),u+=8,l.writeDouble(u,c),u+=8;let d=0;a||(d|=2048),i&&(d|=4096),l.writeInt32(u,d),u+=4,ve(e,t,n,l,0)}function we(e,t,n,r){e.dropAllAttributes();let i=new K({sz:32,buffer:new ArrayBuffer(32)}),a=0;i.writeDouble(a,r[0].x),a+=8,i.writeDouble(a,r[0].y),a+=8,i.writeDouble(a,r[1].x),a+=8,i.writeDouble(a,r[1].y),a+=8,ye(e,t,n,i,0)}function Te(e,t,n,r,i,a,o){e.dropAllAttributes();let s=new K({sz:40,buffer:new ArrayBuffer(40)}),c=0;s.writeDouble(c,r.x),c+=8,s.writeDouble(c,r.y),c+=8,s.writeDouble(c,i),c+=8,s.writeDouble(c,a),c+=8,s.writeDouble(c,o),c+=8,be(e,t,n,s,0)}function Ee(e,t,n,r,i){let a=e.getGeometryType();if(a===o.enumEllipticArc)return De(e,t,n,r,i);if(a===o.enumBezier)return Oe(e,t,n,r,i);if(a===o.enumRationalBezier2)return ke(e,t,n,r,i);if(a===o.enumBezier2){let a=new L;return a.constructFromQuadraticSegment(e),Oe(a,t,n,r,i)}s(``)}function De(e,t,n,i,a){r(!R(e));let o=e.getEndXY(),s=e.hasAttribute(1)&&!t,c=e.hasAttribute(2)&&!n,l=NaN,u=NaN;if(s&&(l=e.getEndAttributeAsDbl(1,0)),c&&(u=e.getEndAttributeAsDbl(2,0)),e.isDegenerateToLine()||e.isDegenerate(0))return X(s,c,o.x,o.y,l,u,i,a),!0;let d=e.projectionBehavior()===0,f=d?e.isClosed():!1;if(d&&!f)a.startObject(),a.addFieldName(`c`),a.startArray(),X(s,c,o.x,o.y,l,u,i,a),Z(e.m_interior.x,e.m_interior.y,17,a),a.endArray(),a.endObject();else if(d){a.startObject(),a.addFieldName(`a`),a.startArray(),X(s,c,o.x,o.y,l,u,i,a),Z(e.m_center.x+0,e.m_center.y+0,17,a);let t=!e.isMajor();a.addInt32(+!!t);let n=e.isClockwise();a.addInt32(+!!n),a.endArray(),a.endObject()}else{a.startObject(),a.addFieldName(`a`),a.startArray(),X(s,c,o.x,o.y,l,u,i,a);let t=e;Z(t.m_center.x,t.m_center.y,17,a);let n=!t.isMajor();a.addInt32(+!!n);let r=t.isClockwise();a.addInt32(+!!r),a.addDouble(t.m_rotation,17),a.addDouble(t.m_semiMajorAxis,17),a.addDouble(t.m_minorMajorRatio,17),a.endArray(),a.endObject()}return!1}function Oe(e,t,n,r,i){let a=e.getEndXY(),o=e.hasAttribute(1)&&!t,s=e.hasAttribute(2)&&!n,c=NaN,l=NaN;return o&&(c=e.getEndAttributeAsDbl(1,0)),s&&(l=e.getEndAttributeAsDbl(2,0)),i.startObject(),i.addFieldName(`b`),i.startArray(),X(o,s,a.x,a.y,c,l,r,i),Z(e.m_cp[0].x,e.m_cp[0].y,r,i),Z(e.m_cp[1].x,e.m_cp[1].y,r,i),i.endArray(),i.endObject(),!1}function ke(e,t,n,r,i){let a=e.getEndXY(),o=e.hasAttribute(1)&&!t,s=e.hasAttribute(2)&&!n,c=NaN,l=NaN;o&&(c=e.getEndAttributeAsDbl(1,0)),s&&(l=e.getEndAttributeAsDbl(2,0)),i.startObject(),i.addFieldName(`n`),i.startArray(),X(o,s,a.x,a.y,c,l,r,i),Z(e.m_cp.x,e.m_cp.y,r,i);let u=r;return i.addDouble(e.m_weights[0],u),i.addDouble(e.m_weights[1],u),i.addDouble(e.m_weights[2],u),i.endArray(),i.endObject(),!1}function X(e,t,n,r,i,a,o,s){s.startArray(),s.addDouble(n,o),s.addDouble(r,o),e&&s.addDouble(i,o),t&&s.addDouble(a,o),s.endArray()}function Z(e,t,n,r){r.startArray(),r.addDouble(e,n),r.addDouble(t,n),r.endArray()}class Ae{getOperatorType(){return 10405}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(e,t,n,r,i,a){je(e,t,n,r)}exportSpatialReference(e,t,n,i){r(0)}exportProjectionTransformation(e,t,n,i){r(0)}exportDatumTransformation(e,t,n,i){r(0)}static geometryTypeToString(e){return r(0),``}}function je(e,n,i,a,s){if(n||i){if(a.startObject(),n!==null)switch(n.getGeometryType()){case o.enumPolygon:Me(!0,e,n,a);break;case o.enumPolyline:Me(!1,e,n,a);break;case o.enumMultiPoint:Ne(e,n,a);break;case o.enumPoint:Pe(e,n,a);break;case o.enumEnvelope:Fe(e,n,a);break;case o.enumMultipatch:r(0);break;default:t(`exportToJSON`)}i!==null&&(a.addFieldName(`spatialReference`),Le(e,i,a)),a.endObject()}}function Me(e,t,n,i){let a=n.getImpl(),o=!!(t&2),c=!!(t&4),l=!!(t&8),u=a.hasAttribute(1)&&!o,d=a.hasAttribute(2)&&!c,f=a.hasAttribute(3)&&!l,p=a.hasNonLinearSegments();u&&(i.addFieldName(`hasZ`),i.addBool(!0)),d&&(i.addFieldName(`hasM`),i.addBool(!0)),e?p?i.addFieldName(`curveRings`):i.addFieldName(`rings`):p?i.addFieldName(`curvePaths`):i.addFieldName(`paths`);let m=null,h=[];if(n.isEmpty())i.startArray(),i.endArray();else{let e=17-(31&t>>13);i.startArray();let r=n.getPathCount(),l=0,g=a.getAttributeStreamRef(0),_=null,v=null,y=null,b=new F,x=null,S=null,C=null;p&&(x=a.getSegmentFlagsStreamRef(),S=a.getSegmentIndexStreamRef(),C=a.getSegmentDataStreamRef()),u&&(_=a.getAttributeStreamRef(1)),d&&(v=a.getAttributeStreamRef(2)),f&&(y=a.getAttributeStreamRef(3),m=M(3,0));for(let t=0;t<r;t++){i.startArray(),f&&h.push(0);let r=n.getPathEnd(t);if(l===r){i.endArray();continue}let a=n.isClosedPath(t),p=g.read(2*l),w=g.read(2*l+1),T=u?_.read(l):NaN,E=d?v.read(l):NaN,D=f?y.read(l):0;Re(u,d,p,w,T,E,e,i);let O=1;f&&(m.add(D),h[h.length-1]++);let k=p,A=w,j=T,M=E,N=D,P=!1,F=0,I=NaN,L=NaN,R=0;for(let t=l+1,n=l,z=a?r+1:r;t<z;t++,n++){let a=x===null?1:x.read(n)&31,l,z;if(t<r?(l=g.read(2*t),z=g.read(2*t+1),u&&(I=_.read(t)),d&&(L=v.read(t)),f&&(R=y.read(t))):(l=k,z=A,I=j,L=M,R=N),a!==1){P=!0,a===4?b.createEllipticArc():a===2?b.createCubicBezier():a===16?b.createQuadraticBezier():a===8?b.createQuadraticRationalBezier():s(`JSON export.unsupported curve`);let t=b.get(),r=S.read(n);t.setStartXYCoords(p,w),t.setEndXYCoords(l,z),u&&(t.setStartAttribute(1,0,T),t.setEndAttribute(1,0,I)),d&&(t.setStartAttribute(2,0,E),t.setEndAttribute(2,0,L)),t.readFromBufferStream(C,r),Ee(b.get(),o,c,e,i)&&F++}else Re(u,d,l,z,I,L,e,i);f&&(m.add(R),h[h.length-1]++),O++,p=l,w=z,T=I,E=L,D=R}(!P||F!==0)&&(O<2&&F<1&&(Re(u,d,p,w,T,E,e,i),O++,f&&(m.add(D),h[h.length-1]++)),a&&O<3&&F<2&&(Re(u,d,k,A,j,M,e,i),O++,p=k,w=A,T=j,E=M,D=N,f&&(m.add(N),h[h.length-1]++))),i.endArray(),l=r}i.endArray()}if(f){i.addFieldName(`ids`),i.startArray();let e=0;for(let t=0,n=h.length;t<n;++t){let n=h[t];r(n===0||m!==null&&e+n<=m.size()),i.startArray();for(let t=0;t<n;++t)i.addInt32(m.read(e)),e++;i.endArray()}i.endArray()}}function Ne(e,t,n){let i=t.getImpl(),a=i.hasAttribute(1)&&!(e&2),o=i.hasAttribute(2)&&!(e&4),s=i.hasAttribute(3)&&!(e&8);a&&(n.addFieldName(`hasZ`),n.addBool(!0)),o&&(n.addFieldName(`hasM`),n.addBool(!0)),n.addFieldName(`points`);let c=t.getPointCount();if(t.isEmpty())n.startArray(),n.endArray();else{let t=17-(31&e>>13);n.startArray();let r=i.getAttributeStreamRef(0),s=null,l=null;a&&(s=i.getAttributeStreamRef(1)),o&&(l=i.getAttributeStreamRef(2));for(let e=0;e<c;e++){let i=r.read(2*e),c=r.read(2*e+1),u=NaN,d=NaN;a&&(u=s.read(e)),o&&(d=l.read(e)),Re(a,o,i,c,u,d,t,n)}n.endArray()}if(s){let e=null;i.isEmpty()||(e=i.getAttributeStreamRef(3)),r(c===0||e!==null&&e.size()>=c),n.addFieldName(`ids`),n.startArray();for(let t=0;t<c;t++)n.addInt32(e.read(t));n.endArray()}}function Pe(e,t,n){let r=t.hasAttribute(1)&&!(e&2),i=t.hasAttribute(2)&&!(e&4),a=t.hasAttribute(3)&&!(e&8);if(t.isEmpty()){n.addFieldName(`x`),n.addNull(),n.addFieldName(`y`),n.addNull(),r&&(n.addFieldName(`z`),n.addNull()),i&&(n.addFieldName(`m`),n.addNull()),a&&(n.addFieldName(`id`),n.addInt32(0));return}let o=17-(31&e>>13);n.addFieldName(`x`),n.addDouble(t.getX(),o),n.addFieldName(`y`),n.addDouble(t.getY(),o),r&&(n.addFieldName(`z`),n.addDouble(t.getZ(),o)),i&&(n.addFieldName(`m`),n.addDouble(t.getM(),o)),a&&(n.addFieldName(`id`),n.addInt32(t.getID()))}function Fe(e,t,n){let r=t.hasAttribute(1)&&!(e&2),i=t.hasAttribute(2)&&!(e&4),a=t.hasAttribute(3)&&!(e&8);if(t.isEmpty()){n.addFieldName(`xmin`),n.addNull(),n.addFieldName(`ymin`),n.addNull(),n.addFieldName(`xmax`),n.addNull(),n.addFieldName(`ymax`),n.addNull(),r&&(n.addFieldName(`zmin`),n.addNull(),n.addFieldName(`zmax`),n.addNull()),i&&(n.addFieldName(`mmin`),n.addNull(),n.addFieldName(`mmax`),n.addNull()),a&&(n.addFieldName(`idmin`),n.addInt32(0),n.addFieldName(`idmax`),n.addInt32(0));return}let o=17-(31&e>>13);if(n.addFieldName(`xmin`),n.addDouble(t.getXMin(),o),n.addFieldName(`ymin`),n.addDouble(t.getYMin(),o),n.addFieldName(`xmax`),n.addDouble(t.getXMax(),o),n.addFieldName(`ymax`),n.addDouble(t.getYMax(),o),r){let e=t.queryInterval(1,0);n.addFieldName(`zmin`),n.addDouble(e.vmin,o),n.addFieldName(`zmax`),n.addDouble(e.vmax,o)}if(i){let e=t.queryInterval(2,0);n.addFieldName(`mmin`),n.addDouble(e.vmin,o),n.addFieldName(`mmax`),n.addDouble(e.vmax,o)}if(a){let e=t.queryInterval(3,0);n.addFieldName(`idmin`),n.addInt32(e.vmin),n.addFieldName(`idmax`),n.addInt32(e.vmax)}}function Ie(e,t,r){r.startObject();let i=t.getID();i<=0&&n(`cannot export unit that has no valid WKID`),r.addFieldName(`uwkid`),r.addInt32(i),r.endObject()}function Le(e,t,n){n.startObject();let r=0;t.isCustomWkid()||(r=t.getOldID());let i=0,a=t.getVCS();if(a!==null&&(a.isCustomWkid()||(i=a.getOldID()),i<=0&&(r=0)),r>0){n.addFieldName(`wkid`),n.addInt32(r);let e=t.getLatestID();if(e>0&&e!==r&&(n.addFieldName(`latestWkid`),n.addInt32(e)),i>0){n.addFieldName(`vcsWkid`),n.addInt32(i);let e=t.getLatestVerticalID();e!==i&&(n.addFieldName(`latestVcsWkid`),n.addInt32(e))}}if(t.getCoordinateSystemType()===0)n.addFieldName(`wkid`),n.addNull(),t.getUnit()!==null&&(n.addFieldName(`unit`),Ie(e,t.getUnit(),n));else if(r<=0||e&1){let r=``;e&64&&(r=t.getText2(),n.addFieldName(`wkt2`),n.addString(r));let i=t.getText();i!==r&&(n.addFieldName(`wkt`),n.addString(i))}if(e&16){let e=new x;t.queryPrecisionDescriptor(e),n.addFieldName(`xyTolerance`),n.addDouble(e.getTolerance(0)),n.addFieldName(`zTolerance`),n.addDouble(e.getTolerance(1)),n.addFieldName(`mTolerance`),n.addDouble(e.getTolerance(2)),n.addFieldName(`falseX`),n.addDouble(e.getFalseX()),n.addFieldName(`falseY`),n.addDouble(e.getFalseY()),n.addFieldName(`xyUnits`),n.addDouble(e.getGridUnitsXY()),n.addFieldName(`falseZ`),n.addDouble(e.getFalseZ()),n.addFieldName(`zUnits`),n.addDouble(e.getGridUnitsZ()),n.addFieldName(`falseM`),n.addDouble(e.getFalseM()),n.addFieldName(`mUnits`),n.addDouble(e.getGridUnitsM())}n.endObject()}function Re(e,t,n,r,i,a,o,s){s.startArray(),s.addDouble(n,o),s.addDouble(r,o),e&&s.addDouble(i,o),t&&s.addDouble(a,o),s.endArray()}const Q={s_a:97,s_A:65,s_asterisk:42,s_b:98,s_backslash:92,s_beginArray:91,s_beginObject:123,s_colon:58,s_period:46,s_comma:44,s_doubleQuote:34,s_endArray:93,s_endObject:125,s_e:101,s_E:69,s_f:102,s_F:70,s_forwardslash:47,s_minus:45,s_plus:43,s_n:110,s_N:78,s_r:114,s_t:116,s_u:117,s_zero:48,s_nine:57};class ze{m_jsonString;m_endToken;m_startToken;m_currentTokenType;m_bHasEscapes;m_functionStack=[];m_pushPositions=[];m_utf8Decoder=new TextDecoder(`utf-8`,{fatal:!0});m_prepSubstr;m_getCurrentSubstr;m_stepOverChar;m_peekChar;m_get;m_increment;m_eof;constructor(e){e===void 0?(this.m_startToken=2**53-1,this.m_endToken=0,this.m_currentTokenType=0,this.m_functionStack.push(()=>this.accept_()),this.m_jsonString=null,this.m_bHasEscapes=!1):e.jsonString?this.resetParserFromString(e.jsonString):e.jsonStream?s(`streaming json parsing not yet impl`):t(`invalid constructor parameter`)}prepSubstrString_(){}getCurrentSubstrString_(){return this.m_jsonString.slice(this.m_startToken,this.m_endToken)}stepOverCharString_(){this.m_endToken++}peekCharString_(){return this.m_jsonString.charCodeAt(this.m_endToken)}getString_(e){let t=this.m_jsonString?.slice(this.m_startToken,this.m_startToken+e-1);return this.m_endToken+=e-1,{s:t,bDone:this.m_endToken>=this.m_jsonString.length}}incrementString_(){this.m_endToken++}eofString_(){return this.m_endToken>=this.m_jsonString.length}setStringFunctions_(){this.m_prepSubstr=this.prepSubstrString_,this.m_getCurrentSubstr=this.getCurrentSubstrString_,this.m_stepOverChar=this.stepOverCharString_,this.m_peekChar=this.peekCharString_,this.m_get=this.getString_,this.m_increment=this.incrementString_,this.m_eof=this.eofString_}setStreamFunctions_(){s(`streaming json parsing not yet impl`)}reset_(){this.m_jsonString=null,this.m_endToken=0,this.m_startToken=2**53-1,this.m_currentTokenType=0,this.m_bHasEscapes=!1,this.m_functionStack.length=0,this.m_functionStack.push(()=>this.start_()),this.m_pushPositions.length=0}resetParserFromString(e){this.reset_(),this.setStringFunctions_(),this.m_jsonString=e}resetParserFromStream(e){s(`streaming json parsing not yet impl`)}resetToPosition(e){return this.m_jsonString?(this.m_endToken=e,this.m_startToken=Number.MAX_VALUE,this.m_currentTokenType=0,this.m_functionStack.length=0,e>=this.m_jsonString.length?(this.m_functionStack.push(()=>this.accept_()),!1):(this.m_functionStack.push(()=>this.start_()),!0)):!1}nextToken(){return this.m_functionStack.at(-1)(),this.m_currentTokenType}currentToken(){return this.m_currentTokenType}currentTokenStartIndex(){return this.m_startToken}currentTokenEndIndex(){return this.m_endToken}currentText(){return r(0),``}childrenAsString(){return r(0),``}skipChildren(){this.skipChildren_()}skipChildren_(){if(this.m_currentTokenType===1){let e=1;do this.m_currentTokenType=this.nextToken(),this.m_currentTokenType===1?e++:this.m_currentTokenType===3&&e--;while(this.m_currentTokenType!==3||e!==0)}else if(this.m_currentTokenType===2){let e=1;do this.m_currentTokenType=this.nextToken(),this.m_currentTokenType===2?e++:this.m_currentTokenType===4&&e--;while(this.m_currentTokenType!==4||e!==0)}}currentTerminalAsString_(){switch(this.m_currentTokenType){case 7:case 8:case 9:return this.m_getCurrentSubstr().slice(0,this.m_endToken-this.m_startToken);case 10:return`null`;case 11:return`true`;case 12:return`false`}n(`invalid token`)}toUTF8_(e,t){let n=0,r=e;for(;t.charCodeAt(r)===Q.s_backslash&&t.charCodeAt(r+1)===Q.s_u;)n++,r+=6;r=e;let i=new Uint8Array(n),a=0;for(;t.charCodeAt(r)===Q.s_backslash&&t.charCodeAt(r+1)===Q.s_u;)i[a++]=Number.parseInt(t.slice(r+2,r+6),16),r+=6;return{u8s:this.m_utf8Decoder.decode(i),end:r}}unquoteCurrentString_(){let e=``,t=1,n=this.m_endToken-this.m_startToken-1,r=0,i=this.m_getCurrentSubstr();for(let a=t;a<n;a++)if(i.charCodeAt(a)!==Q.s_backslash)r++;else{switch(r>0&&(e+=i.slice(t,t+r)),i.charCodeAt(++a)){case Q.s_doubleQuote:e+=`"`;break;case Q.s_u:{let{u8s:t,end:n}=this.toUTF8_(a-1,i);a=n-1,e+=t;break}case Q.s_backslash:e+=`\\`;break;case Q.s_forwardslash:e+=`/`;break;case Q.s_b:e+=`\b`;break;case Q.s_f:e+=`\f`;break;case Q.s_n:e+=`
|
|
2
|
+
import{constructFromFlatGeometry as e}from"../../../chunks/FlatGeometry.js";import{d as t,b as n,g as r,r as i,q as a,G as o,a as s}from"../../../chunks/Geometry.js";import{aL as c,i as l,c as u,f as d,aM as f,P as p,d as m}from"../../../chunks/Point2D.js";import{q as h,b as g,p as _,a_ as v,c as y,e as b,a as x,f as S,a$ as C}from"../../../chunks/UnitFactory.js";import{a2 as w,a5 as T,P as E,E as D,a0 as O,a1 as k,a6 as A,a7 as j,X as M}from"../../../chunks/Envelope.js";import{P as N,a as P,S as F,M as I,I as L,a5 as R,a6 as z,a7 as B,a8 as V,a9 as H}from"../../../chunks/MultiPathImpl.js";import{convertGeometryxToFlat as U,convertFlatToGeometryJSON as W,convertGeometryToFlat as ee}from"../../FlatGeometry.js";import te from"../../SpatialReference.js";import"./initNoPeFactory.js";import{isPoint as ne,isMultipoint as re,isPolyline as ie,isPolygon as ae}from"../../support/jsonTypeUtils.js";function oe(){if(this.m_i===-1)return this.m_i=0,{value:{m_token:1,m_value:null},done:!1};if(this.m_i<this.m_keys.length){let e=this.m_bReturnKey,t=Math.trunc(this.m_i);return this.m_bReturnKey=!this.m_bReturnKey,this.m_i+=.5,e?{value:{m_token:5,m_value:this.m_keys[t]},done:!1}:{value:{m_token:6,m_value:this.m_o[this.m_keys[t]]},done:!1}}return{value:{m_token:3,m_value:null},done:!0}}function se(){if(this.m_i===-1)return this.m_i=0,{value:{m_token:2,m_value:null},done:!1};if(this.m_i<this.m_a.length){let e={value:{m_token:6,m_value:this.m_a[this.m_i++]},done:!1};return this.m_strict||e.value.m_value===void 0&&(e.value.m_value=NaN),e}return{value:{m_token:4,m_value:null},done:!0}}class ce{m_iteratorStack;m_nextFlatToken;m_currentToken=0;m_currentValue;m_options;createJSONObjectIterator(e){return{m_iteratorType:`object`,m_o:e,m_keys:this.m_options.strict?Object.keys(e):Object.keys(e).filter(t=>e[t]!==void 0),m_i:-1,m_bReturnKey:!0,next:oe}}createJSONArrayIterator(e){return{m_iteratorType:`array`,m_strict:this.m_options.strict,m_i:-1,m_a:e,next:se}}constructor(e,t){this.m_options=t?{...t}:{strict:!0};let n=e;this.m_iteratorStack=[n instanceof Array?this.createJSONArrayIterator(n):this.createJSONObjectIterator(n)],this.m_nextFlatToken={m_value:null,m_token:0}}nextToken(){if(this.m_iteratorStack.length===0)return this.m_currentToken=0;switch(this.m_nextFlatToken=this.m_iteratorStack.at(-1).next().value,this.m_currentValue=void 0,this.m_nextFlatToken.m_token){case 1:return this.m_currentToken=1;case 3:return this.m_iteratorStack.pop(),this.m_currentToken=3;case 2:return this.m_currentToken=2;case 4:return this.m_iteratorStack.pop(),this.m_currentToken=4;case 5:return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=5;case 6:if(this.m_nextFlatToken.m_value instanceof Array)return this.m_iteratorStack.push(this.createJSONArrayIterator(this.m_nextFlatToken.m_value)),this.nextToken();if(this.m_nextFlatToken.m_value instanceof Object)return this.m_iteratorStack.push(this.createJSONObjectIterator(this.m_nextFlatToken.m_value)),this.nextToken();if(typeof this.m_nextFlatToken.m_value==`number`)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=Number.isSafeInteger(this.m_currentValue)&&this.m_currentValue>=c()&&this.m_currentValue<=l()?8:7;if(typeof this.m_nextFlatToken.m_value==`string`)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=6;if(typeof this.m_nextFlatToken.m_value==`boolean`)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=this.m_nextFlatToken.m_value?11:12;if(typeof this.m_nextFlatToken.m_value==`object`)return this.m_currentValue=null,this.m_currentToken=10;t(`unrecognized json element type`)}t(`unrecognized json element type`)}currentToken(){return this.m_currentToken}skipChildren(){if(this.m_iteratorStack.length!==0)switch(this.m_currentValue=void 0,this.m_nextFlatToken.m_token){case 1:this.m_iteratorStack.pop(),this.m_nextFlatToken.m_token=3,this.m_currentToken=3;return;case 2:this.m_iteratorStack.pop(),this.m_nextFlatToken.m_token=4,this.m_currentToken=4;return}}currentString(){return this.m_currentToken!==6&&this.m_currentToken!==5&&n(`invalid token`),this.m_currentValue}currentDoubleValue(){return this.m_currentToken!==7&&this.m_currentToken!==8&&n(`invalid token`),this.m_currentValue}currentInt32Value(){return this.m_currentToken!==8&&n(`invalid token`),this.m_currentValue}currentInt64Value(){return r(0),0n}currentBoolValue(){return this.m_currentToken!==12&&this.m_currentToken!==11&&n(`invalid token`),this.m_currentValue}isError(){return 0}}class G{m_pendingKey=null;m_acceptedObject=null;m_currentObject=[];reset(){this.m_pendingKey=null,this.m_acceptedObject=null,this.m_currentObject.length=0}startObject(){let e={};this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):Array.isArray(this.m_currentObject.at(-1))&&this.m_currentObject.at(-1).push(e),this.m_currentObject.push(e)}startArray(){let e=[];this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):Array.isArray(this.m_currentObject.at(-1))&&this.m_currentObject.at(-1).push(e),this.m_currentObject.push(e)}endObject(){this.m_acceptedObject=this.m_currentObject.at(-1),this.m_currentObject.pop()}endArray(){this.m_currentObject.pop()}addFieldName(e){this.m_pendingKey=e}addValue_(e){this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):this.m_currentObject.at(-1).push(e)}addString(e){this.addValue_(e)}addDouble(e,t){this.addValue_(e)}addInt64(e){r(0)}addInt32(e){this.addValue_(e)}addBool(e){this.addValue_(e)}addNull(){this.addValue_(null)}getObject(){return this.m_acceptedObject}}class K{m_buffer=null;m_view=null;m_sz=0;m_offset=0;m_bOwnsBuffer=!0;m_bLittleEndian=!0;m_element;m_elementBytes;m_elementView;m_elementDouble;m_elementFloat;m_elementInt64;m_elementInt32;m_elementInt16;constructor(e){if(this.m_element=new ArrayBuffer(8),this.m_elementBytes=new Uint8Array(this.m_element),this.m_elementView=new DataView(this.m_element),this.m_elementDouble=new Float64Array(this.m_element),this.m_elementFloat=new Float32Array(this.m_element),this.m_elementInt64=new BigInt64Array(this.m_element),this.m_elementInt32=new Int32Array(this.m_element),this.m_elementInt16=new Int16Array(this.m_element),e.sz!==void 0){if(this.m_sz=e.sz,e.buffer){this.m_sz<0&&i(`size out of range`),this.m_buffer=e.buffer,this.m_offset=e.offset===void 0?0:e.offset,this.m_view=e.offset===void 0?new DataView(this.m_buffer):new DataView(e.buffer,e.offset,e.sz),this.m_bOwnsBuffer=!1,this.m_bLittleEndian=!0;return}this.m_sz<0&&i(`size out of range`),this.m_sz>0&&(this.m_buffer=new ArrayBuffer(this.m_sz),this.m_view=new DataView(this.m_buffer))}else e.move?(this.m_sz=e.move.m_sz,this.m_buffer=e.move.m_buffer,this.m_view=e.move.m_view,this.m_bOwnsBuffer=e.move.m_bOwnsBuffer,this.m_bLittleEndian=e.move.m_bLittleEndian,e.move.m_buffer=null,e.move.m_view=null,e.move.m_sz=0,e.move.m_bOwnsBuffer=!0):t(`unrecognized constructor options`)}swapBytesDouble(){this.doSwap()&&(this.m_elementDouble[0]=this.m_elementBytes[0]<<56|this.m_elementBytes[1]<<48|this.m_elementBytes[2]<<40|this.m_elementBytes[3]<<32|this.m_elementBytes[4]<<24|this.m_elementBytes[5]<<16|this.m_elementBytes[6]<<8|this.m_elementBytes[7])}swapBytesInt32(){this.doSwap()&&(this.m_elementInt32[0]=this.m_elementBytes[0]<<24|this.m_elementBytes[1]<<16|this.m_elementBytes[2]<<8|this.m_elementBytes[3])}getOffset(){return this.m_offset}assignMove(e){return this===e||(this.clear(),this.m_sz=e.m_sz,this.m_buffer=e.m_buffer,this.m_view=e.m_view,this.m_bOwnsBuffer=e.m_bOwnsBuffer,this.m_bLittleEndian=e.m_bLittleEndian,e.m_buffer=null,e.m_sz=0,e.m_bOwnsBuffer=!0),this}doSwap(){return this.m_bLittleEndian!==(K.getNativeByteOrder()===1)}setNativeByteOrder(){this.m_bLittleEndian=K.getNativeByteOrder()===1}setOrder(e){this.m_bLittleEndian=e===1}getOrder(){return+!!this.m_bLittleEndian}getView(){return this.m_view||a(`buffer not defined`),this.m_view}static getNativeByteOrder(){return 1}clear(){this.m_buffer=null,this.m_sz=0,this.m_bOwnsBuffer=!0}size(){return this.m_sz}readDouble(e){return this.doSwap()?(this.m_elementDouble[0]=this.m_view.getFloat64(e,this.m_bLittleEndian),this.swapBytesDouble(),this.m_elementDouble[0]):this.m_view.getFloat64(e,this.m_bLittleEndian)}writeDouble(e,t){this.m_elementDouble[0]=t,this.swapBytesDouble(),this.m_view.setFloat64(e,this.m_elementDouble[0],this.m_bLittleEndian)}readInt32(e){return this.doSwap()?(this.m_elementInt32[0]=this.m_view.getInt32(e,this.m_bLittleEndian),this.swapBytesInt32(),this.m_elementInt32[0]):this.m_view.getInt32(e,this.m_bLittleEndian)}writeInt32(e,t){this.m_elementInt32[0]=t,this.swapBytesInt32(),this.m_view.setInt32(e,this.m_elementInt32[0],this.m_bLittleEndian)}getPtr(){return this.m_buffer}setSizeNoRealloc(e){r(e>=0&&e<=this.m_sz),this.m_sz=e}}function le(e,t,i,a,s,c){let l=!1,u=!1,d=!1,f=!1,p=!1,m=!1,h=!1,g=!1,_=!1,v=!1,y=!1,b=!1,x=!1,S=!1,C=!1,O=!1,k=!1,A=!1,j=!1,M=!1,N=!1,P=!1,F=!1,I=!1,L=NaN,R=NaN,z=NaN,B=NaN,V=0,H=NaN,U=NaN,W=NaN,ee=NaN,te=NaN,ne=NaN,re=NaN,ie=NaN,ae=0,oe=0,se=!1,ce=!1,G=null,K=null,le=null,ue=null,J=null;for(;i.nextToken()!==3;){let c=i.currentString();if(i.nextToken(),c===`spatialReference`){if(s&&!l){l=!0,i.currentToken()===1?ue=de(i):i.currentToken()!==10&&n(`failed to parse spatial reference: object or null is expected`);continue}}else if(a){if(c===`hasZ`){if(!u){u=!0,se=i.currentToken()===11;continue}}else if(c===`hasM`){if(!d){d=!0,ce=i.currentToken()===11;continue}}else if(c===`rings`){if(!p&&!m&&(e===o.enumUnknown||e===o.enumPolygon)){p=!0,{geometry:J,as:G,bs:K}=fe(!0,!1,t,i);continue}}else if(c===`curveRings`){if(!m&&(e===o.enumUnknown||e===o.enumPolygon)){m=!0,{geometry:J,as:G,bs:K}=fe(!0,!0,t,i);continue}}else if(c===`paths`){if(!h&&!g&&(e===o.enumUnknown||e===o.enumPolyline)){h=!0,{geometry:J,as:G,bs:K}=fe(!1,!1,t,i);continue}}else if(c===`curvePaths`){if(!g&&(e===o.enumUnknown||e===o.enumPolyline)){g=!0,{geometry:J,as:G,bs:K}=fe(!1,!0,t,i);continue}}else if(c===`points`){if(!_&&(e===o.enumUnknown||e===o.enumMultiPoint)){_=!0,{geometry:J,as:G,bs:K}=pe(t,i);continue}}else if(c===`ids`){if(!f){f=!0,le=me(t,i);continue}}else if(c===`x`){if(!v&&(e===o.enumUnknown||e===o.enumPoint)){v=!0,L=q(i);continue}}else if(c===`y`){if(!y&&(e===o.enumUnknown||e===o.enumPoint)){y=!0,R=q(i);continue}}else if(c===`z`){if(!b&&(e===o.enumUnknown||e===o.enumPoint)){b=!0,z=q(i);continue}}else if(c===`m`){if(!x&&(e===o.enumUnknown||e===o.enumPoint)){x=!0,B=q(i);continue}}else if(c===`id`){if(!S&&(e===o.enumUnknown||e===o.enumPoint)){S=!0,V=he(i);continue}}else if(c===`xmin`){if(!C&&(e===o.enumUnknown||e===o.enumEnvelope)){C=!0,H=q(i);continue}}else if(c===`ymin`){if(!O&&(e===o.enumUnknown||e===o.enumEnvelope)){O=!0,U=q(i);continue}}else if(c===`mmin`){if(!N&&(e===o.enumUnknown||e===o.enumEnvelope)){N=!0,re=q(i);continue}}else if(c===`zmin`){if(!j&&(e===o.enumUnknown||e===o.enumEnvelope)){j=!0,te=q(i);continue}}else if(c===`idmin`){if(!F&&(e===o.enumUnknown||e===o.enumEnvelope)){F=!0,ae=he(i);continue}}else if(c===`xmax`){if(!k&&(e===o.enumUnknown||e===o.enumEnvelope)){k=!0,W=q(i);continue}}else if(c===`ymax`){if(!A&&(e===o.enumUnknown||e===o.enumEnvelope)){A=!0,ee=q(i);continue}}else if(c===`mmax`){if(!P&&(e===o.enumUnknown||e===o.enumEnvelope)){P=!0,ie=q(i);continue}}else if(c===`zmax`){if(!M&&(e===o.enumUnknown||e===o.enumEnvelope)){M=!0,ne=q(i);continue}}else if(c===`idmax`){if(!I&&(e===o.enumUnknown||e===o.enumEnvelope)){I=!0,oe=he(i);continue}}else c===`materials`&&r(0)}i.skipChildren()}if(p||m||h||g||_){let e=null,t=null,n=J;se&&(J.addAttribute(1),e=G,e||=w(n.getPointCount(),NaN)),ce&&(J.addAttribute(2),t=se?K:G),le!=null&&J.addAttribute(3),se&&e!=null&&n.setAttributeStreamRef(1,e),ce&&t!=null&&n.setAttributeStreamRef(2,t),le!=null&&ge(n,le)}else if(v||y||x||b||S){T(L,R)||n(`failed to parse point: x and y must be finite or nan`),(Number.isNaN(R)||Number.isNaN(L))&&(L=NaN,R=NaN);let e=new E({x:L,y:R});b&&e.setZ(z),x&&e.setM(B),S&&e.setID(V),J=e}else if(C||O||k||A||j||M||N||P||F||I){(Number.isNaN(U)||Number.isNaN(W)||Number.isNaN(ee))&&(H=NaN);let e=new D({xmin:H,ymin:U,xmax:W,ymax:ee});j&&M&&e.setInterval(1,0,te,ne),N&&P&&e.setInterval(2,0,re,ie),F&&I&&e.setInterval(3,0,ae,oe),J=e}return{...J?{geom:J}:{},...ue?{sr:ue}:{}}}function ue(e){let t=!1;for(;e.nextToken()!==3;){let n=e.currentString();e.nextToken(),n===`uwkid`?t||(t=!0,e.currentToken()===8&&e.currentInt32Value()):e.skipChildren()}return null}function de(e){let t=!1,n=!1,r=!1,i=!1,a=!1,o=!1,s=!1,c=!1,l=!1,u=!1,d=!1,f=!1,p=!1,m=!1,C=!1,w=!1,T=!1,E=-1,D=-1,O=-1,k=-1,A=0,j=0,M=0,N=0,P=0,F=0,I=0,L=0,R=0,z=0,B=``,V=``,H=null;for(;e.nextToken()!==3;){let h=e.currentString();e.nextToken(),h===`wkid`?t||(t=!0,e.currentToken()===8&&(E=e.currentInt32Value())):h===`latestWkid`?n||(n=!0,e.currentToken()===8&&(D=e.currentInt32Value())):h===`wkt`?a||(a=!0,e.currentToken()===6&&(B=e.currentString())):h===`wkt2`?a||e.currentToken()===6&&(V=e.currentString()):h===`vcsWkid`?r||(r=!0,e.currentToken()===8&&(O=e.currentInt32Value())):h===`latestVcsWkid`?i||(i=!0,e.currentToken()===8&&(k=e.currentInt32Value())):h===`xyTolerance`?s||(s=!0,o=!0,A=e.currentDoubleValue()):h===`zTolerance`?c||(c=!0,o=!0,j=e.currentDoubleValue()):h===`mTolerance`?l||(l=!0,o=!0,M=e.currentDoubleValue()):h===`falseX`?u||(u=!0,o=!0,I=e.currentDoubleValue()):h===`falseY`?d||(d=!0,o=!0,L=e.currentDoubleValue()):h===`falseZ`?f||(f=!0,o=!0,R=e.currentDoubleValue()):h===`falseM`?p||(p=!0,o=!0,z=e.currentDoubleValue()):h===`xyUnits`?m||(m=!0,o=!0,N=e.currentDoubleValue()):h===`zUnits`?C||(C=!0,o=!0,P=e.currentDoubleValue()):h===`mUnits`?w||(w=!0,o=!0,F=e.currentDoubleValue()):h===`unit`?T||(T=!0,H=ue(e)):e.skipChildren()}k<=0&&O>0&&(k=O),O<=0&&k>0&&(O=k);let U=null,W=!0;if(B.length!==0&&(W=!1,h(B)&&(U=g(B))),!U&&V.length!==0&&(W=!1,h(V)&&(U=g(V))),!U&&D>0&&(W=!1,_(D)&&(k<=0||v())&&(U=y(D,k))),!U&&E>0&&(W=!1,_(E)&&(O<=0||v())&&(U=y(E,O))),W&&(U=b(H)),o&&U){let e=new x;U.queryPrecisionDescriptorWithoutFalseXY(e),s&&e.setTolerance(0,A),c&&e.setTolerance(1,j),l&&e.setTolerance(2,M),m&&u&&d&&e.setGridParams(I,L,N),C&&f&&e.setZParams(R,P),w&&p&&e.setMParams(z,F),U=S(U,e)}return U}function fe(e,t,r,i){i.currentToken()!==2&&n(`failed to parse multipath: array of array of vertices is expected`);let a=e?new N:new P,o=a,s=O(0),c=w(2,0),l=k(0),m=null,h=null,g=null,_=null,v=null,y=0,b=0,x=0,S=new F,C=p.getNAN(),T=0,E=0,D=+!!e;for(;i.nextToken()!==4;){i.currentToken()!==2&&n(`failed to parse multipath: ring/path array is expected`);let r=2,a=0,j=!0,M=0,N=0,P=p.getNAN(),F=u(4,NaN),I=u(4,NaN),L=!1;for(i.nextToken();i.currentToken()!==4;){if(t&&i.currentToken()===1)j&&n(`failed to parse multipath: starting vertex array is expected`),g||(g=k(T-1,1),_=O(T-1,-1),v=w(0)),L=!0,r=1,{segFlag:x,toPointSz:M}=xe(S,F,C,i);else{for(L=!1,i.currentToken()!==2&&n(`failed to parse multipath: array is expected, rings/paths vertices consist of arrays of coordinates`),M=0;i.nextToken()!==4;)M===4&&n(`failed to parse multipath: each vertex array has to have at most 4 elements`),F[M++]=q(i);M<2&&n(`failed to parse multipath: each vertex array has to have at least 2 elements`),A(F[0],F[1])||n(`failed to parse multipath: x and y must be finite`)}i.nextToken();do{if(c.size()===T*2&&c.resize(J(T)),c.writePoint2D(2*T,P.setCoords(F[0],F[1])),m&&m.size()===T&&m.resize(Y(T)),M>2?(m||=w(T+1,NaN),m.write(T,F[2])):m&&m.write(T,NaN),h&&h.size()===T&&h.resize(Y(T)),M>3?(h||=w(T+1,NaN),h.write(T,F[3])):h&&h.write(T,NaN),j)E++,s.add(T),l.add(D),j=!1,N=M,d(I,F,0,0,N);else if(g!==null){if(!L)g.add(1),_.add(-1);else{let e=H(x),t=v.size();v.resize(t+e),g.add(x),_.add(y),S.get().writeInBufferStream(v,y),y+=e,o.incCurveType(x,1),b++}}T++,a++,C.setCoords(F[0],F[1])}while(a<r&&i.currentToken()===4)}a!==0&&(e&&a>r&&M===N&&f(F,I,M)===0?(T--,a--):g!==null&&(g.add(1),_.add(-1)))}return T&&(s.resize(E),l.resize(E),T>0&&(s.add(T),l.add(0)),o.setAttributeStreamRef(0,c),o.setPathFlagsStreamRef(l),o.setPathStreamRef(s),g!==null&&(o.updateCurveCounter(b),o.setSegmentData(_,v,g,y)),o.notifyModifiedFlags(65535)),{geometry:a,as:m,bs:h}}function pe(e,t){t.currentToken()!==2&&n(`failed to parse multipoint: array of vertices is expected`);let r=0,i=new I,a=w(2,0),o=0,s=u(4,NaN),c=new p,l=null,d=null;for(;t.nextToken()!==4;){for(t.currentToken()!==2&&n(`failed to parse multipoint: array is expected, multipoint vertices consist of arrays of cooridinates`),o=0;t.nextToken()!==4;)o===4&&n(`failed to parse multipoint: each vertex array has to have at most 4 elements`),s[o++]=q(t);o<2&&n(`failed to parse multipoint: each vertex array has to have at least 2 elements`),A(s[0],s[1])||n(`failed to parse multipoint: x and y must be finite`),a.size()===r*2&&a.resize(J(r)),a.writePoint2D(2*r,c.setCoords(s[0],s[1])),l&&l.size()===r&&l.resize(Y(r)),o>2?(l||=w(r+1,NaN),l.write(r,s[2])):l&&l.write(r,NaN),d&&d.size()===r&&d.resize(Y(r)),o>3?(d||=w(r+1,NaN),d.write(r,s[3])):d&&d.write(r,NaN),r++}if(r){let e=i.getImpl();e.setAttributeStreamRef(0,a),e.resizeNoInit(r),e.notifyModifiedFlags(65535)}return{geometry:i,as:l,bs:d}}function me(e,t){t.currentToken()!==2&&n(`failed to parse array of IDs: array of array of integers is expected`);let r=j(2,0),i=0,a=-1;for(;t.nextToken()!==4;){let e=i;r.size()===i&&r.resize(Y(i)),i++;let o=0;for(a===-1?a=+(t.currentToken()===2):a===1&&t.currentToken()!==2&&n(`failed to parse array of IDs: array of array of integers is expected`),a===0&&(r.size()===i&&r.resize(Y(i)),r.write(i,he(t)),o++,i++);t.nextToken()!==4;)r.size()===i&&r.resize(Y(i)),r.write(i,he(t)),o++,i++;if(r.write(e,o),a===0)break}return r.resize(i),r}function q(e){let t=e.currentToken();if(t===10||t===6&&e.currentString()===`NaN`)return NaN;{let t=e.currentDoubleValue();return Number.isNaN(t)?NaN:t}}function he(e){return e.currentInt32Value()}function ge(e,n){if(e.isEmpty())return;let r=j(2,0),i=e.getGeometryType(),a=0;i===I.type?a=1:i===P.type||i===N.type?a=e.getPathCount():t(`not implemented`),r.resize(e.getPointCount(),0);let o=0;for(let s=0;s<a;++s){let a=n.read(o);o++;let c=o+a,l=0,u=0;i===I.type?l=e.getPointCount():i===P.type||i===N.type?(l=e.getPathSize(s),u=e.getPathStart(s)):t(`not implemented`);for(let e=0,t=Math.min(a,l);e<t;++e)r.write(u,n.read(o)),o++,u++;o=c}e.getImpl().setAttributeStreamRef(3,r)}function J(e){let t=Math.trunc((e+1)*3/2)*2;return t<8?t=8:t<32&&(t=32),t}function Y(e){let t=Math.trunc((e+1)*3/2);return t<4?t=4:t<16&&(t=16),t}function _e(e,t,n,r,a){a>=r.size()&&i(`Byte_buffer out of range access`),e.m_bits=0,e.m_rotation=0,e.m_cosr=1,e.m_sinr=0,e.setStartXY(t),e.setEndXY(n);let o=p.getNAN();o.x=r.readDouble(a),o.y=r.readDouble(a+8);let s=r.readInt32(a+16);if(s&1)return e.m_semiMajorAxis=0,e.m_minorMajorRatio=1,e.m_interior.assign(o),e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,z(e),!1;let c=!!(s&64),l=!!(s&128),u=!!(s&32),d=!!(s&8),f=!!(s&16),m=t.equals(n);return c&&!m&&(c=!1,u=!0),u&&m&&(c=!0,u=!1,o.setCoords(0,0)),c||(l?u?(e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_interior.assign(o),e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0):(e.constructCircularArcThreePoint(t,n,o),m&&d===e.isClockwise()&&e.reverse()):u?(e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,z(e),e.queryCoord2D(.5,e.m_interior)):B(e,t,n,o,d,f)),c&&(e.m_center.assign(t),e.m_startAngle=o.x,e.m_sweepAngle=o.y,V(e,NaN,d,f),e.m_semiMajorAxis=0,e.m_minorMajorRatio=1,e.m_interior.setCoordsPoint2D(t)),e.setProjectionBehavior(0),z(e),!0}function ve(e,t,n,r,i){e.m_bits=0,e.m_center.x=r.readDouble(i),e.m_center.y=r.readDouble(i+8),e.m_rotation=r.readDouble(i+16),e.m_semiMajorAxis=r.readDouble(i+24),e.m_minorMajorRatio=r.readDouble(i+32),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y;let a=r.readInt32(i+40);if(a&1)return!1;let o=!!(a&64),s=!!(a&128),c=!!(a&512),l=!!(a&1024),u=!!(a&2048),d=!!(a&4096);return(c||l)&&!s&&(o=!0),s&&!t.equals(n)?(s=!1,o=!0):o&&t.equals(n)&&(s=!0,o=!1),s?(e.m_center.assign(t),e.m_startAngle=e.m_center.x,e.m_sweepAngle=e.m_center.y,V(e,NaN,u,d),e.m_semiMajorAxis=0,e.m_interior.setCoordsPoint2D(t)):o?(e.m_center.setNAN(),e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,z(e),e.queryCoord2D(.5,e.m_interior)):e.constructEllipticArcEndPointsCenter(t,n,e.m_semiMajorAxis,e.m_minorMajorRatio,e.m_rotation,!d,u,e.m_center),e.setProjectionBehavior(1),z(e),!0}function ye(e,t,n,i,a){return r(a+32<=i.size()),e.m_cp=m(p,2),e.m_cp[0].x=i.readDouble(a),e.m_cp[0].y=i.readDouble(a+8),e.m_cp[1].x=i.readDouble(a+16),e.m_cp[1].y=i.readDouble(a+24),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y,!0}function be(e,t,n,r,i){return e.m_cp.x=r.readDouble(i),e.m_cp.y=r.readDouble(i+8),e.m_weights[0]=r.readDouble(i+16),e.m_weights[1]=r.readDouble(i+24),e.m_weights[2]=r.readDouble(i+32),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y,!0}function xe(e,t,r,i,a){let o={segFlag:0,toPointSz:0},s=i.currentToken();s=i.nextToken();let c=i.currentString(),l=c[0];for((c.length!==1||l!==`a`&&l!==`b`&&l!==`c`&&l!==`n`&&l!==`q`)&&n(`failed to parse curve: expecting "a", "b", "n", "q", or "c"`),s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for curve parameters`),s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for to point`),o.toPointSz=0;i.nextToken()!==4;)o.toPointSz===4&&n(`failed to parse curve: vertex array cannot have more than 4 elements`),t[o.toPointSz++]=q(i);o.toPointSz<2&&n(`failed to parse curve: vertex array must have at least 2 elements`);let u=p.construct(t[0],t[1]),d=p.getNAN(),f=-1,m=-1,h=!1,g=NaN,_=NaN,v=NaN,y=[p.getNAN(),p.getNAN(),p.getNAN()],b=p.getNAN();if(l===`a`){s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for center point`),s=i.nextToken();let e=q(i);s=i.nextToken();let t=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for center point`),d.setCoords(e,t),s=i.nextToken(),f=i.currentInt32Value(),s=i.nextToken(),m=i.currentInt32Value(),s=i.nextToken(),s===4?h=!0:(h=!1,g=q(i),s=i.nextToken(),_=q(i),s=i.nextToken(),v=q(i),s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`)),o.segFlag=4}else if(l===`b`){for(let e=0;e<2;e++){s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for control point`),s=i.nextToken();let t=q(i);s=i.nextToken();let r=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for control point`),y[e].setCoords(t,r)}s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`),o.segFlag=2}else if(l===`n`){{s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for control point`),s=i.nextToken();let e=q(i);s=i.nextToken();let t=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for control point`),y[0].setCoords(e,t)}s=i.nextToken();let e=q(i);s=i.nextToken();let t=q(i);s=i.nextToken();let r=q(i);y[1].setCoords(e,t),y[2].setCoords(r,r),s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`),o.segFlag=8}else if(l===`q`){for(let e=0;e<1;e++){s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for control point`),s=i.nextToken();let t=q(i);s=i.nextToken();let r=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for control point`),y[e].setCoords(t,r)}s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`),o.segFlag=16}else{s=i.nextToken(),s!==2&&n(`failed to parse curve: start array is expected for interior point`),s=i.nextToken();let e=q(i);s=i.nextToken();let t=q(i);s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for interior point`),b.setCoords(e,t),s=i.nextToken(),s!==4&&n(`failed to parse curve: end array is expected for curve parameters`),o.segFlag=4}return s=i.nextToken(),s!==3&&n(`failed to parse curve: end object is expected for curve`),l===`a`?(e.createEllipticArc(),h?Se(e.get(),r,u,d,!0,f,m):Ce(e.get(),r,u,d,f,m,g,_,v)):l===`b`?(e.createCubicBezier(),we(e.get(),r,u,y)):l===`n`?(e.createQuadraticRationalBezier(),Te(e.get(),r,u,y[0],y[1].x,y[1].y,y[2].x)):l===`q`?(e.createQuadraticBezier(),e.get().construct(r,y[0],u)):(e.createEllipticArc(),Se(e.get(),r,u,b,!1,-1,-1)),o}function Se(e,t,n,r,i,a,o){e.dropAllAttributes();let s=new K({sz:20,buffer:new ArrayBuffer(20)}),c=0;s.writeDouble(c,r.x),c+=8,s.writeDouble(c,r.y),c+=8;let l=0;i?(o||(l|=8),a&&(l|=16)):l|=128,s.writeInt32(c,l),c+=4,_e(e,t,n,s,0)}function Ce(e,t,n,r,i,a,o,s,c){e.dropAllAttributes();let l=new K({sz:44,buffer:new ArrayBuffer(44)}),u=0;l.writeDouble(u,r.x),u+=8,l.writeDouble(u,r.y),u+=8,l.writeDouble(u,o),u+=8,l.writeDouble(u,s),u+=8,l.writeDouble(u,c),u+=8;let d=0;a||(d|=2048),i&&(d|=4096),l.writeInt32(u,d),u+=4,ve(e,t,n,l,0)}function we(e,t,n,r){e.dropAllAttributes();let i=new K({sz:32,buffer:new ArrayBuffer(32)}),a=0;i.writeDouble(a,r[0].x),a+=8,i.writeDouble(a,r[0].y),a+=8,i.writeDouble(a,r[1].x),a+=8,i.writeDouble(a,r[1].y),a+=8,ye(e,t,n,i,0)}function Te(e,t,n,r,i,a,o){e.dropAllAttributes();let s=new K({sz:40,buffer:new ArrayBuffer(40)}),c=0;s.writeDouble(c,r.x),c+=8,s.writeDouble(c,r.y),c+=8,s.writeDouble(c,i),c+=8,s.writeDouble(c,a),c+=8,s.writeDouble(c,o),c+=8,be(e,t,n,s,0)}function Ee(e,t,n,r,i){let a=e.getGeometryType();if(a===o.enumEllipticArc)return De(e,t,n,r,i);if(a===o.enumBezier)return Oe(e,t,n,r,i);if(a===o.enumRationalBezier2)return ke(e,t,n,r,i);if(a===o.enumBezier2){let a=new L;return a.constructFromQuadraticSegment(e),Oe(a,t,n,r,i)}s(``)}function De(e,t,n,i,a){r(!R(e));let o=e.getEndXY(),s=e.hasAttribute(1)&&!t,c=e.hasAttribute(2)&&!n,l=NaN,u=NaN;if(s&&(l=e.getEndAttributeAsDbl(1,0)),c&&(u=e.getEndAttributeAsDbl(2,0)),e.isDegenerateToLine()||e.isDegenerate(0))return X(s,c,o.x,o.y,l,u,i,a),!0;let d=e.projectionBehavior()===0,f=d?e.isClosed():!1;if(d&&!f)a.startObject(),a.addFieldName(`c`),a.startArray(),X(s,c,o.x,o.y,l,u,i,a),Z(e.m_interior.x,e.m_interior.y,17,a),a.endArray(),a.endObject();else if(d){a.startObject(),a.addFieldName(`a`),a.startArray(),X(s,c,o.x,o.y,l,u,i,a),Z(e.m_center.x+0,e.m_center.y+0,17,a);let t=!e.isMajor();a.addInt32(+!!t);let n=e.isClockwise();a.addInt32(+!!n),a.endArray(),a.endObject()}else{a.startObject(),a.addFieldName(`a`),a.startArray(),X(s,c,o.x,o.y,l,u,i,a);let t=e;Z(t.m_center.x,t.m_center.y,17,a);let n=!t.isMajor();a.addInt32(+!!n);let r=t.isClockwise();a.addInt32(+!!r),a.addDouble(t.m_rotation,17),a.addDouble(t.m_semiMajorAxis,17),a.addDouble(t.m_minorMajorRatio,17),a.endArray(),a.endObject()}return!1}function Oe(e,t,n,r,i){let a=e.getEndXY(),o=e.hasAttribute(1)&&!t,s=e.hasAttribute(2)&&!n,c=NaN,l=NaN;return o&&(c=e.getEndAttributeAsDbl(1,0)),s&&(l=e.getEndAttributeAsDbl(2,0)),i.startObject(),i.addFieldName(`b`),i.startArray(),X(o,s,a.x,a.y,c,l,r,i),Z(e.m_cp[0].x,e.m_cp[0].y,r,i),Z(e.m_cp[1].x,e.m_cp[1].y,r,i),i.endArray(),i.endObject(),!1}function ke(e,t,n,r,i){let a=e.getEndXY(),o=e.hasAttribute(1)&&!t,s=e.hasAttribute(2)&&!n,c=NaN,l=NaN;o&&(c=e.getEndAttributeAsDbl(1,0)),s&&(l=e.getEndAttributeAsDbl(2,0)),i.startObject(),i.addFieldName(`n`),i.startArray(),X(o,s,a.x,a.y,c,l,r,i),Z(e.m_cp.x,e.m_cp.y,r,i);let u=r;return i.addDouble(e.m_weights[0],u),i.addDouble(e.m_weights[1],u),i.addDouble(e.m_weights[2],u),i.endArray(),i.endObject(),!1}function X(e,t,n,r,i,a,o,s){s.startArray(),s.addDouble(n,o),s.addDouble(r,o),e&&s.addDouble(i,o),t&&s.addDouble(a,o),s.endArray()}function Z(e,t,n,r){r.startArray(),r.addDouble(e,n),r.addDouble(t,n),r.endArray()}class Ae{getOperatorType(){return 10405}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(e,t,n,r,i,a){je(e,t,n,r)}exportSpatialReference(e,t,n,i){r(0)}exportProjectionTransformation(e,t,n,i){r(0)}exportDatumTransformation(e,t,n,i){r(0)}static geometryTypeToString(e){return r(0),``}}function je(e,n,i,a,s){if(n||i){if(a.startObject(),n!==null)switch(n.getGeometryType()){case o.enumPolygon:Me(!0,e,n,a);break;case o.enumPolyline:Me(!1,e,n,a);break;case o.enumMultiPoint:Ne(e,n,a);break;case o.enumPoint:Pe(e,n,a);break;case o.enumEnvelope:Fe(e,n,a);break;case o.enumMultipatch:r(0);break;default:t(`exportToJSON`)}i!==null&&(a.addFieldName(`spatialReference`),Le(e,i,a)),a.endObject()}}function Me(e,t,n,i){let a=n.getImpl(),o=!!(t&2),c=!!(t&4),l=!!(t&8),u=a.hasAttribute(1)&&!o,d=a.hasAttribute(2)&&!c,f=a.hasAttribute(3)&&!l,p=a.hasNonLinearSegments();u&&(i.addFieldName(`hasZ`),i.addBool(!0)),d&&(i.addFieldName(`hasM`),i.addBool(!0)),e?p?i.addFieldName(`curveRings`):i.addFieldName(`rings`):p?i.addFieldName(`curvePaths`):i.addFieldName(`paths`);let m=null,h=[];if(n.isEmpty())i.startArray(),i.endArray();else{let e=17-(31&t>>13);i.startArray();let r=n.getPathCount(),l=0,g=a.getAttributeStreamRef(0),_=null,v=null,y=null,b=new F,x=null,S=null,C=null;p&&(x=a.getSegmentFlagsStreamRef(),S=a.getSegmentIndexStreamRef(),C=a.getSegmentDataStreamRef()),u&&(_=a.getAttributeStreamRef(1)),d&&(v=a.getAttributeStreamRef(2)),f&&(y=a.getAttributeStreamRef(3),m=M(3,0));for(let t=0;t<r;t++){i.startArray(),f&&h.push(0);let r=n.getPathEnd(t);if(l===r){i.endArray();continue}let a=n.isClosedPath(t),p=g.read(2*l),w=g.read(2*l+1),T=u?_.read(l):NaN,E=d?v.read(l):NaN,D=f?y.read(l):0;Re(u,d,p,w,T,E,e,i);let O=1;f&&(m.add(D),h[h.length-1]++);let k=p,A=w,j=T,M=E,N=D,P=!1,F=0,I=NaN,L=NaN,R=0;for(let t=l+1,n=l,z=a?r+1:r;t<z;t++,n++){let a=x===null?1:x.read(n)&31,l,z;if(t<r?(l=g.read(2*t),z=g.read(2*t+1),u&&(I=_.read(t)),d&&(L=v.read(t)),f&&(R=y.read(t))):(l=k,z=A,I=j,L=M,R=N),a!==1){P=!0,a===4?b.createEllipticArc():a===2?b.createCubicBezier():a===16?b.createQuadraticBezier():a===8?b.createQuadraticRationalBezier():s(`JSON export.unsupported curve`);let t=b.get(),r=S.read(n);t.setStartXYCoords(p,w),t.setEndXYCoords(l,z),u&&(t.setStartAttribute(1,0,T),t.setEndAttribute(1,0,I)),d&&(t.setStartAttribute(2,0,E),t.setEndAttribute(2,0,L)),t.readFromBufferStream(C,r),Ee(b.get(),o,c,e,i)&&F++}else Re(u,d,l,z,I,L,e,i);f&&(m.add(R),h[h.length-1]++),O++,p=l,w=z,T=I,E=L,D=R}P&&F===0||(O<2&&F<1&&(Re(u,d,p,w,T,E,e,i),O++,f&&(m.add(D),h[h.length-1]++)),a&&O<3&&F<2&&(Re(u,d,k,A,j,M,e,i),O++,p=k,w=A,T=j,E=M,D=N,f&&(m.add(N),h[h.length-1]++))),i.endArray(),l=r}i.endArray()}if(f){i.addFieldName(`ids`),i.startArray();let e=0;for(let t=0,n=h.length;t<n;++t){let n=h[t];r(n===0||m!==null&&e+n<=m.size()),i.startArray();for(let t=0;t<n;++t)i.addInt32(m.read(e)),e++;i.endArray()}i.endArray()}}function Ne(e,t,n){let i=t.getImpl(),a=i.hasAttribute(1)&&!(e&2),o=i.hasAttribute(2)&&!(e&4),s=i.hasAttribute(3)&&!(e&8);a&&(n.addFieldName(`hasZ`),n.addBool(!0)),o&&(n.addFieldName(`hasM`),n.addBool(!0)),n.addFieldName(`points`);let c=t.getPointCount();if(t.isEmpty())n.startArray(),n.endArray();else{let t=17-(31&e>>13);n.startArray();let r=i.getAttributeStreamRef(0),s=null,l=null;a&&(s=i.getAttributeStreamRef(1)),o&&(l=i.getAttributeStreamRef(2));for(let e=0;e<c;e++){let i=r.read(2*e),c=r.read(2*e+1),u=NaN,d=NaN;a&&(u=s.read(e)),o&&(d=l.read(e)),Re(a,o,i,c,u,d,t,n)}n.endArray()}if(s){let e=null;i.isEmpty()||(e=i.getAttributeStreamRef(3)),r(c===0||e!==null&&e.size()>=c),n.addFieldName(`ids`),n.startArray();for(let t=0;t<c;t++)n.addInt32(e.read(t));n.endArray()}}function Pe(e,t,n){let r=t.hasAttribute(1)&&!(e&2),i=t.hasAttribute(2)&&!(e&4),a=t.hasAttribute(3)&&!(e&8);if(t.isEmpty()){n.addFieldName(`x`),n.addNull(),n.addFieldName(`y`),n.addNull(),r&&(n.addFieldName(`z`),n.addNull()),i&&(n.addFieldName(`m`),n.addNull()),a&&(n.addFieldName(`id`),n.addInt32(0));return}let o=17-(31&e>>13);n.addFieldName(`x`),n.addDouble(t.getX(),o),n.addFieldName(`y`),n.addDouble(t.getY(),o),r&&(n.addFieldName(`z`),n.addDouble(t.getZ(),o)),i&&(n.addFieldName(`m`),n.addDouble(t.getM(),o)),a&&(n.addFieldName(`id`),n.addInt32(t.getID()))}function Fe(e,t,n){let r=t.hasAttribute(1)&&!(e&2),i=t.hasAttribute(2)&&!(e&4),a=t.hasAttribute(3)&&!(e&8);if(t.isEmpty()){n.addFieldName(`xmin`),n.addNull(),n.addFieldName(`ymin`),n.addNull(),n.addFieldName(`xmax`),n.addNull(),n.addFieldName(`ymax`),n.addNull(),r&&(n.addFieldName(`zmin`),n.addNull(),n.addFieldName(`zmax`),n.addNull()),i&&(n.addFieldName(`mmin`),n.addNull(),n.addFieldName(`mmax`),n.addNull()),a&&(n.addFieldName(`idmin`),n.addInt32(0),n.addFieldName(`idmax`),n.addInt32(0));return}let o=17-(31&e>>13);if(n.addFieldName(`xmin`),n.addDouble(t.getXMin(),o),n.addFieldName(`ymin`),n.addDouble(t.getYMin(),o),n.addFieldName(`xmax`),n.addDouble(t.getXMax(),o),n.addFieldName(`ymax`),n.addDouble(t.getYMax(),o),r){let e=t.queryInterval(1,0);n.addFieldName(`zmin`),n.addDouble(e.vmin,o),n.addFieldName(`zmax`),n.addDouble(e.vmax,o)}if(i){let e=t.queryInterval(2,0);n.addFieldName(`mmin`),n.addDouble(e.vmin,o),n.addFieldName(`mmax`),n.addDouble(e.vmax,o)}if(a){let e=t.queryInterval(3,0);n.addFieldName(`idmin`),n.addInt32(e.vmin),n.addFieldName(`idmax`),n.addInt32(e.vmax)}}function Ie(e,t,r){r.startObject();let i=t.getID();i<=0&&n(`cannot export unit that has no valid WKID`),r.addFieldName(`uwkid`),r.addInt32(i),r.endObject()}function Le(e,t,n){n.startObject();let r=0;t.isCustomWkid()||(r=t.getOldID());let i=0,a=t.getVCS();if(a!==null&&(a.isCustomWkid()||(i=a.getOldID()),i<=0&&(r=0)),r>0){n.addFieldName(`wkid`),n.addInt32(r);let e=t.getLatestID();if(e>0&&e!==r&&(n.addFieldName(`latestWkid`),n.addInt32(e)),i>0){n.addFieldName(`vcsWkid`),n.addInt32(i);let e=t.getLatestVerticalID();e!==i&&(n.addFieldName(`latestVcsWkid`),n.addInt32(e))}}if(t.getCoordinateSystemType()===0)n.addFieldName(`wkid`),n.addNull(),t.getUnit()!==null&&(n.addFieldName(`unit`),Ie(e,t.getUnit(),n));else if(r<=0||e&1){let r=``;e&64&&(r=t.getText2(),n.addFieldName(`wkt2`),n.addString(r));let i=t.getText();i!==r&&(n.addFieldName(`wkt`),n.addString(i))}if(e&16){let e=new x;t.queryPrecisionDescriptor(e),n.addFieldName(`xyTolerance`),n.addDouble(e.getTolerance(0)),n.addFieldName(`zTolerance`),n.addDouble(e.getTolerance(1)),n.addFieldName(`mTolerance`),n.addDouble(e.getTolerance(2)),n.addFieldName(`falseX`),n.addDouble(e.getFalseX()),n.addFieldName(`falseY`),n.addDouble(e.getFalseY()),n.addFieldName(`xyUnits`),n.addDouble(e.getGridUnitsXY()),n.addFieldName(`falseZ`),n.addDouble(e.getFalseZ()),n.addFieldName(`zUnits`),n.addDouble(e.getGridUnitsZ()),n.addFieldName(`falseM`),n.addDouble(e.getFalseM()),n.addFieldName(`mUnits`),n.addDouble(e.getGridUnitsM())}n.endObject()}function Re(e,t,n,r,i,a,o,s){s.startArray(),s.addDouble(n,o),s.addDouble(r,o),e&&s.addDouble(i,o),t&&s.addDouble(a,o),s.endArray()}const Q={s_a:97,s_A:65,s_asterisk:42,s_b:98,s_backslash:92,s_beginArray:91,s_beginObject:123,s_colon:58,s_period:46,s_comma:44,s_doubleQuote:34,s_endArray:93,s_endObject:125,s_e:101,s_E:69,s_f:102,s_F:70,s_forwardslash:47,s_minus:45,s_plus:43,s_n:110,s_N:78,s_r:114,s_t:116,s_u:117,s_zero:48,s_nine:57};class ze{m_jsonString;m_endToken;m_startToken;m_currentTokenType;m_bHasEscapes;m_functionStack=[];m_pushPositions=[];m_utf8Decoder=new TextDecoder(`utf-8`,{fatal:!0});m_prepSubstr;m_getCurrentSubstr;m_stepOverChar;m_peekChar;m_get;m_increment;m_eof;constructor(e){e===void 0?(this.m_startToken=2**53-1,this.m_endToken=0,this.m_currentTokenType=0,this.m_functionStack.push(()=>this.accept_()),this.m_jsonString=null,this.m_bHasEscapes=!1):e.jsonString?this.resetParserFromString(e.jsonString):e.jsonStream?s(`streaming json parsing not yet impl`):t(`invalid constructor parameter`)}prepSubstrString_(){}getCurrentSubstrString_(){return this.m_jsonString.slice(this.m_startToken,this.m_endToken)}stepOverCharString_(){this.m_endToken++}peekCharString_(){return this.m_jsonString.charCodeAt(this.m_endToken)}getString_(e){let t=this.m_jsonString?.slice(this.m_startToken,this.m_startToken+e-1);return this.m_endToken+=e-1,{s:t,bDone:this.m_endToken>=this.m_jsonString.length}}incrementString_(){this.m_endToken++}eofString_(){return this.m_endToken>=this.m_jsonString.length}setStringFunctions_(){this.m_prepSubstr=this.prepSubstrString_,this.m_getCurrentSubstr=this.getCurrentSubstrString_,this.m_stepOverChar=this.stepOverCharString_,this.m_peekChar=this.peekCharString_,this.m_get=this.getString_,this.m_increment=this.incrementString_,this.m_eof=this.eofString_}setStreamFunctions_(){s(`streaming json parsing not yet impl`)}reset_(){this.m_jsonString=null,this.m_endToken=0,this.m_startToken=2**53-1,this.m_currentTokenType=0,this.m_bHasEscapes=!1,this.m_functionStack.length=0,this.m_functionStack.push(()=>this.start_()),this.m_pushPositions.length=0}resetParserFromString(e){this.reset_(),this.setStringFunctions_(),this.m_jsonString=e}resetParserFromStream(e){s(`streaming json parsing not yet impl`)}resetToPosition(e){return this.m_jsonString?(this.m_endToken=e,this.m_startToken=Number.MAX_VALUE,this.m_currentTokenType=0,this.m_functionStack.length=0,e>=this.m_jsonString.length?(this.m_functionStack.push(()=>this.accept_()),!1):(this.m_functionStack.push(()=>this.start_()),!0)):!1}nextToken(){return this.m_functionStack.at(-1)(),this.m_currentTokenType}currentToken(){return this.m_currentTokenType}currentTokenStartIndex(){return this.m_startToken}currentTokenEndIndex(){return this.m_endToken}currentText(){return r(0),``}childrenAsString(){return r(0),``}skipChildren(){this.skipChildren_()}skipChildren_(){if(this.m_currentTokenType===1){let e=1;do this.m_currentTokenType=this.nextToken(),this.m_currentTokenType===1?e++:this.m_currentTokenType===3&&e--;while(this.m_currentTokenType!==3||e!==0)}else if(this.m_currentTokenType===2){let e=1;do this.m_currentTokenType=this.nextToken(),this.m_currentTokenType===2?e++:this.m_currentTokenType===4&&e--;while(this.m_currentTokenType!==4||e!==0)}}currentTerminalAsString_(){switch(this.m_currentTokenType){case 7:case 8:case 9:return this.m_getCurrentSubstr().slice(0,this.m_endToken-this.m_startToken);case 10:return`null`;case 11:return`true`;case 12:return`false`}n(`invalid token`)}toUTF8_(e,t){let n=0,r=e;for(;t.charCodeAt(r)===Q.s_backslash&&t.charCodeAt(r+1)===Q.s_u;)n++,r+=6;r=e;let i=new Uint8Array(n),a=0;for(;t.charCodeAt(r)===Q.s_backslash&&t.charCodeAt(r+1)===Q.s_u;)i[a++]=Number.parseInt(t.slice(r+2,r+6),16),r+=6;return{u8s:this.m_utf8Decoder.decode(i),end:r}}unquoteCurrentString_(){let e=``,t=1,n=this.m_endToken-this.m_startToken-1,r=0,i=this.m_getCurrentSubstr();for(let a=t;a<n;a++)if(i.charCodeAt(a)!==Q.s_backslash)r++;else{switch(r>0&&(e+=i.slice(t,t+r)),i.charCodeAt(++a)){case Q.s_doubleQuote:e+=`"`;break;case Q.s_u:{let{u8s:t,end:n}=this.toUTF8_(a-1,i);a=n-1,e+=t;break}case Q.s_backslash:e+=`\\`;break;case Q.s_forwardslash:e+=`/`;break;case Q.s_b:e+=`\b`;break;case Q.s_f:e+=`\f`;break;case Q.s_n:e+=`
|
|
3
3
|
`;break;case Q.s_r:e+=`\r`;break;case Q.s_t:e+=` `}t=a+1,r=0}return r>0&&(e+=i.slice(t,t+r)),e}currentString(){return this.m_currentTokenType!==5&&this.m_currentTokenType!==6?this.currentTerminalAsString_():this.m_bHasEscapes?this.unquoteCurrentString_():this.m_getCurrentSubstr().slice(1,this.m_endToken-this.m_startToken-2+1)}currentDoubleValue(){if(this.m_currentTokenType!==7&&this.m_currentTokenType!==8&&this.m_currentTokenType!==9&&this.m_currentTokenType!==6&&this.m_currentTokenType!==10&&n(`invalid token`),this.m_currentTokenType===10)return NaN;let e=this.m_getCurrentSubstr(),t=this.m_endToken-this.m_startToken;if(this.m_currentTokenType===6){if(this.currentString()===`NaN`)return NaN;e=e.slice(1),t-=2,t===0&&n(`invalid token`)}let r=Number.parseFloat(e);if(this.m_currentTokenType===6)Number.isNaN(r)&&n(`invalid token`);else if(Number.isNaN(r))return NaN;return r}currentInt32Value(){this.m_currentTokenType!==8&&this.m_currentTokenType!==6&&n(`invalid token`);let e=this.m_getCurrentSubstr(),t=this.m_endToken-this.m_startToken;this.m_currentTokenType===6&&(e=e.slice(1),t-=2,t===0&&n(`invalid token`));let r=parseInt(e);return Number.isNaN(r)&&n(`invalid token`),r}currentInt64Value(){return r(0),0n}currentBoolValue(){return r(0),!1}isError(){return 0}JSONString(){return r(0),``}pushPosition(){return r(0),!1}popPosition(){return r(0),!1}skipCStyleComments_(){r(0)}skipCppStyleComments_(){r(0)}skipComments_(){this.m_prepSubstr();let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),e=this.m_peekChar(),e===Q.s_asterisk?this.skipCStyleComments_():e===Q.s_forwardslash?this.skipCppStyleComments_():n(`invalid token`)}skipWhiteSpace_(){let e;do{this.m_eof()&&n(`invalid token`);let t=this.m_peekChar();for(;t>=9&&t<=13||t===32;)this.m_increment(),this.m_eof()&&n(`invalid token`),t=this.m_peekChar();t===Q.s_forwardslash?(this.m_startToken=this.m_endToken,e=!0,this.skipComments_()):e=!1}while(e)}rightBracket_(){return this.m_peekChar()===Q.s_endArray&&(this.m_startToken=this.m_endToken,this.m_increment(),this.m_currentTokenType=4,!0)}rightBrace_(){return this.m_peekChar()===Q.s_endObject&&(this.m_startToken=this.m_endToken,this.m_increment(),this.m_currentTokenType=3,!0)}string_(){this.m_prepSubstr(),this.m_bHasEscapes=!1,this.m_stepOverChar(),this.m_eof()&&n(`invalid token`);let e=this.m_peekChar();for(;e!==Q.s_doubleQuote;){let t=e===Q.s_backslash;if(this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),e=this.m_peekChar(),t){if(this.m_bHasEscapes=!0,e===Q.s_doubleQuote||e===Q.s_backslash||e===Q.s_forwardslash||e===Q.s_b||e===Q.s_f||e===Q.s_n||e===Q.s_r||e===Q.s_t)this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),e=this.m_peekChar();else if(e===Q.s_u)for(let t=0;t<4;t++)this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),e=this.m_peekChar(),e>=Q.s_zero&&e<=Q.s_nine||e>=Q.s_a&&e<=Q.s_f||e>=Q.s_A&&e<=Q.s_F||n(`invalid token`);else n(`invalid token`)}}this.m_stepOverChar()}comma_(){return this.m_peekChar()===Q.s_comma&&(this.m_increment(),!0)}colon_(){return this.m_peekChar()===Q.s_colon&&(this.m_increment(),!0)}fieldNameEnd_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.colon_()?(this.skipWhiteSpace_(),this.value_()):n(`invalid token`)}fieldNameStart_(){this.m_startToken=this.m_endToken,this.m_peekChar()!==Q.s_doubleQuote&&n(`invalid token`),this.string_(),this.m_currentTokenType=5,this.m_functionStack.push(()=>this.fieldNameEnd_())}pairEnd_(){this.skipWhiteSpace_(),this.comma_()?(this.skipWhiteSpace_(),this.fieldNameStart_()):this.rightBrace_()?this.m_functionStack.pop():n(`invalid token`)}arrayStart_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.rightBracket_()||(this.m_functionStack.push(()=>this.elementEnd_()),this.value_())}elementEnd_(){this.skipWhiteSpace_(),this.comma_()?(this.skipWhiteSpace_(),this.value_()):this.rightBracket_()?this.m_functionStack.pop():n(`invalid token`)}objectStart_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.rightBrace_()||(this.m_functionStack.push(()=>this.pairEnd_()),this.fieldNameStart_())}valueStartObject_(){this.m_increment(),this.m_currentTokenType=1,this.m_functionStack.push(()=>this.objectStart_())}valueStartArray_(){this.m_increment(),this.m_currentTokenType=2,this.m_functionStack.push(()=>this.arrayStart_())}valueString_(){this.string_(),this.m_currentTokenType=6}int_(){this.m_peekChar()===Q.s_zero?this.m_stepOverChar():this.digits_()}digits_(){let e=this.m_peekChar();do this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),e=this.m_peekChar();while(e>=Q.s_zero&&e<=Q.s_nine)}frac_(){let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),e=this.m_peekChar(),e>=Q.s_zero&&e<=Q.s_nine||n(`invalid token`),this.digits_()}exp_(){let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),e=this.m_peekChar(),(e===Q.s_plus||e===Q.s_minus)&&(this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),e=this.m_peekChar()),e>=Q.s_zero&&e<=Q.s_nine||n(`invalid token`),this.digits_()}valueNumber_(){this.m_prepSubstr();let e=!1,t=this.m_peekChar();if(t===Q.s_minus&&(this.m_stepOverChar(),this.m_eof()&&n(`invalid token`),t=this.m_peekChar(),e=!0,t>=Q.s_zero&&t<=Q.s_nine||n(`invalid token`)),this.int_(),t=this.m_peekChar(),t===Q.s_period)this.m_currentTokenType=7,this.frac_(),t=this.m_peekChar(),(t===Q.s_e||t===Q.s_E)&&this.exp_();else if(t===Q.s_e||t===Q.s_E)this.m_currentTokenType=7,this.exp_();else{let t=0,n=this.m_endToken-this.m_startToken;e&&t++;let r=n-t;if(r<10)this.m_currentTokenType=8;else if(r===10){let n=this.m_getCurrentSubstr();this.m_currentTokenType=e?n.slice(t)<=`2147483648`?8:9:n.slice(t)<=`2147483647`?8:9}else if(r<19)this.m_currentTokenType=9;else if(r===19){let n=this.m_getCurrentSubstr();this.m_currentTokenType=e?n.slice(t)<=`9223372036854775808`?9:7:n.slice(t)<=`9223372036854775807`?9:7}else this.m_currentTokenType=7}}valueNull_(){let{s:e,bDone:t}=this.m_get(5);t&&n(`invalid token`),e!==`null`&&n(`invalid token`),this.m_currentTokenType=10}valueTrue_(){let{s:e,bDone:t}=this.m_get(5);t&&n(`invalid token`),e!==`true`&&n(`invalid token`),this.m_currentTokenType=11}valueFalse_(){let{s:e,bDone:t}=this.m_get(6);t&&n(`invalid token`),e!==`false`&&n(`invalid token`),this.m_currentTokenType=12}valueNan_(){let{s:e,bDone:t}=this.m_get(4);t&&n(`invalid token`),e!==`NaN`&&n(`invalid token`),this.m_currentTokenType=7}value_(){this.m_startToken=this.m_endToken;let e=this.m_peekChar();e===Q.s_beginObject?this.valueStartObject_():e===Q.s_beginArray?this.valueStartArray_():e===Q.s_doubleQuote?this.valueString_():e===Q.s_minus||e>=Q.s_zero&&e<=Q.s_zero+9?this.valueNumber_():e===Q.s_n?this.valueNull_():e===Q.s_t?this.valueTrue_():e===Q.s_f?this.valueFalse_():e===Q.s_N?this.valueNan_():n(`invalid token`)}start_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.m_functionStack.push(()=>this.accept_());let e=this.m_peekChar();e!==Q.s_beginObject&&e!==Q.s_beginArray&&n(`invalid token`),this.value_()}accept_(){this.m_startToken=this.m_endToken,this.m_currentTokenType=0}}class Be{getOperatorType(){return 10404}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(e,t,r,i,a,o,s){let c;typeof r==`string`?(c=new ze({jsonString:r}),c.nextToken()):c=r,c.currentToken()!==1&&n(`failed to import map geometry: start of object is expected`);let l=le(t,e,c,i,a);return new C(l)}importSpatialReference(e){let n=de(e);return n===null&&t(`failed to import spatial reference`),n}importProjectionTransformation(e,t){return r(0),{}}importDatumTransformation(e,t){return r(0),{}}static stringToGeometryType(e){if(e=e.toLowerCase(),e.startsWith(`esrigeometry`)||n(`string_to_geometry_type`),e.endsWith(`point`))return o.enumPoint;if(e.endsWith(`envelope`))return o.enumEnvelope;if(e.endsWith(`multipoint`))return o.enumMultiPoint;if(e.endsWith(`polyline`))return o.enumPolyline;if(e.endsWith(`polygon`))return o.enumPolygon;n(`string_to_geometry_type`)}}const $=new G,Ve=new Ae,He=new Be;function Ue(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function We(t,n=!1){if(!n&&(ne(t)||re(t)||ie(t)||ae(t))){let n=new C;return n.setGeometry(e(ee(t))),n}let r=new ce(t,{strict:!1});return r.nextToken(),He.execute(0,o.enumUnknown,r,!0,!1)}function Ge(e){let t=null;return[e.map(e=>{if(t==null){let n=Ke(e);return t=n.getSpatialReference(),n.getGeometry()}return qe(e)}),t]}function Ke(e){let t=We(e),n=Ye(e.spatialReference);return n&&t.setSpatialReference(n),t}function qe(e){return We(e).getGeometry()}function Je(e){return We(e,!0).getGeometry()}function Ye(e){if(e==null||!e.wkid&&!e.latestWkid&&!e.wkt&&!e.wkt2)return null;let t=!1;if(e instanceof te){let{wkt2:n}=e;e=e.toJSON(),e.wkt2??=n,t=!0}(e.latestVcsWkid||e.vcsWkid)&&(t||(e={...e}),delete e?.latestVcsWkid,delete e?.vcsWkid);let n=new ce(e,{strict:!1});n.nextToken();let r=He.importSpatialReference(n);return r.getCoordinateSystemType()===0?null:r}function Xe(e,t){if(e instanceof C&&(t=e.getSpatialReference(),e=e.getGeometry()),e==null||e.isEmpty())return null;let n;switch(e.getGeometryType()){case o.enumPoint:n=U(e);break;case o.enumMultiPoint:n=U(e);break;case o.enumPolyline:n=U(e);break;case o.enumPolygon:n=U(e)}if(n){let e=W(n);return e.spatialReference=Ze(t),e.spatialReference??delete e.spatialReference,e}return $.reset(),Ve.execute(0,e,t??null,$),$.getObject()}function Ze(e){return e==null||e.getCoordinateSystemType()===0?null:($.reset(),Ve.execute(0,null,e,$),$.getObject().spatialReference)}export{Ge as fromGeometries,Ke as fromGeometry,qe as fromGeometryToGXGeometry,Je as fromGeometryToGXGeometryUsingImportOperator,Ye as fromSpatialReference,Ue as getSpatialReference,Xe as toGeometry,Ze as toSpatialReference};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{floatEqualRelative as e,floatEqualAbsolute as t}from"../../../core/mathUtils.js";import{exactEquals as n}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{expandPointInPlace as r,containsXY as i,expandXInPlace as a,expandYInPlace as o}from"../aaBoundingRect.js";import{
|
|
2
|
+
import{floatEqualRelative as e,floatEqualAbsolute as t}from"../../../core/mathUtils.js";import{exactEquals as n}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{expandPointInPlace as r,containsXY as i,expandXInPlace as a,expandYInPlace as o}from"../aaBoundingRect.js";import{findClosestAndFurthestCurveParametersToPoint as s,distance2 as c,interpolateSegment as l}from"./mathUtils.js";const u=[0,0];function d(e){let t=1-e,n=t*t,r=e*e;return[n*t,3*e*n,3*r*t,r*e]}function f(e,t,n,r,i){let[a,o,s,c]=d(i);return[e[0]*a+t[0]*o+n[0]*s+r[0]*c,e[1]*a+t[1]*o+n[1]*s+r[1]*c]}function p(e,t,n,r,i){let[a,o,s,c]=d(i);return e*a+t*o+n*s+r*c}function m(e,t,n){let r=e,[i,a,o]=t.b;return f(r,a,o,i,n)}function h(e,t){let[[r,i],a,o]=t.b,s=[r,i];return n(s,o)?n(s,a)?n(s,e)?null:[r-e[0],i-e[1]]:[r-a[0],i-a[1]]:[r-o[0],i-o[1]]}function g(e,t,n){let r=e,[i,a,o]=t.b,s=l([0,0],r,a,n),c=l(u,a,o,n),d=l([0,0],o,i,n),f=l([0,0],s,c,n),p=l([0,0],c,d,n);return[{b:[l([],f,p,n),s,f]},{b:[[...i],p,d]}]}function _(n,r,i){let a=n,[o,c,l]=r.b,u=s(i,[.1,.5,.9],e=>{let t=1-e,[n,r]=f(a,c,l,o,e);return[n,r,3*t*t*(c[0]-a[0])+6*t*e*(l[0]-c[0])+3*e*e*(o[0]-l[0]),3*t*t*(c[1]-a[1])+6*t*e*(l[1]-c[1])+3*e*e*(o[1]-l[1]),6*t*(l[0]-2*c[0]+a[0])+6*e*(o[0]-2*l[0]+c[0]),6*t*(l[1]-2*c[1]+a[1])+6*e*(o[1]-2*l[1]+c[1])]}).map(e=>Math.min(1,Math.max(0,e)));u.push(0,1);let d=1/0,p=u.map(e=>{let t=f(a,c,l,o,e),[n,r]=t,s=i[0]-n,u=i[1]-r,p=Math.sqrt(s*s+u*u);return d=Math.min(p,d),{t:e,curvePoint:t,distance:p}}),m=[];for(let n of p){let{t:r,distance:i}=n;e(i,d)&&!m.some(({t:e})=>t(e,r))&&m.push(n)}return m}function v(e,t,n){let s=t,[c,l,u]=n.b;if(r(e,s),r(e,c),i(e,l[0],l[1])&&i(e,u[0],u[1]))return e;for(let t of y(s[0],l[0],u[0],c[0]))t>0&&t<1&&a(e,p(s[0],l[0],u[0],c[0],t));for(let t of y(s[1],l[1],u[1],c[1]))t>0&&t<1&&o(e,p(s[1],l[1],u[1],c[1],t));return e}function y(e,t,n,r){let i=3*(-e+3*(t-n)+r),a=6*(e-2*t+n),o=3*(t-e);if(i===0)return a===0?[]:[-o/a];let s=Math.sqrt(a*a-4*i*o);return[(-a+s)/(2*i),(-a-s)/(2*i)]}function b(e,t,n){let r=0,i=[t];for(let t=0;t<16;t++){let t=e,a=[];for(let e of i)a.push(...g(t,e,.5)),t=e.b[0];i=a,t=e,r=0;let o=0;for(let e of i){let[n,i,a]=e.b,s=Math.sqrt(c(t,n)),l=Math.sqrt(c(t,i)),u=Math.sqrt(c(i,a)),d=Math.sqrt(c(a,n)),f=l+u+d;r+=(s+f)/2,o+=s,t=n}if(r-o<n)return r}return r}export{v as bezierCurveExtent,b as bezierCurveLength,h as calculateBezierCurveTangent,_ as closestPointsOnBezierCurve,m as interpolateBezierCurve,f as interpolateCubicBezier,p as interpolateCubicBezier1D,g as splitBezierCurve};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{set as e,invert as t,transpose as n,multiply as r}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as i}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{transformMat3 as a,exactEquals as o,normalize as s,add as c}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{expandPointInPlace as l}from"../aaBoundingRect.js";import{cloneCurve as u}from"./curveUtils.js";import{angularRangeWrap as d,angularRangeOriented as f,angularRange as p,wrapAtan2 as m,
|
|
2
|
+
import{set as e,invert as t,transpose as n,multiply as r}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as i}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{transformMat3 as a,exactEquals as o,normalize as s,add as c}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{expandPointInPlace as l}from"../aaBoundingRect.js";import{cloneCurve as u}from"./curveUtils.js";import{angularRangeWrap as d,angularRangeOriented as f,angularRange as p,wrapAtan2 as m,findClosestAndFurthestCurveParametersToPoint as h,distance2 as g,intersectLineLine as _,angularDistanceAlongOrientedArc as v}from"./mathUtils.js";class y{constructor(e,t,n,r,i,a,o,s,c){this.cx=e,this.cy=t,this.a=n,this.b=r,this.cosR=i,this.sinR=a,this.u1=o,this.u2=s,this.isInvalid=c}}function b(e,t){let[n,r,i,a,o,s,c]=t.a,[l,u]=e,[d,p]=n,[h,g]=r,_=s*c,v=Math.cos(o),b=Math.sin(o),[x,S]=f(m(1/_*(u-g)*v-1/_*(l-h)*b,1/s*(u-g)*b+1/s*(l-h)*v),Math.atan2(1/_*(p-g)*v-1/_*(d-h)*b,1/s*(p-g)*b+1/s*(d-h)*v),i,a);return new y(h,g,s,_,v,b,x,S,s===0||_===0)}function x(e,t){let{a:n,b:r,cosR:i,sinR:a,cx:o,cy:s}=e,c=Math.cos(t),l=Math.sin(t);return[n*c*i-r*l*a+o,n*c*a+r*l*i+s]}function S(e,t){let{u1:n,u2:r}=e;return x(e,n*(1-t)+r*t)}function C(e,t){let[n,r]=t.a[0],{a:i,b:a,cx:l,cy:u,cosR:d,sinR:f,isInvalid:p,u1:m,u2:h}=b(e,t);if(p){let[t,i]=e;return o([t,i],[n,r])?null:[n-t,r-i]}let g=Math.sqrt(i*i-a*a),_=[l+g*d,u+g*f],v=[l-g*d,u-g*f],y=[n-_[0],r-_[1]],x=[n-v[0],r-v[1]];s(y,y),s(x,x);let[S,C]=c(y,y,x);return h>m?[-C,S]:[C,S]}function w(e,t,n){if(n<0||n>1)return[];if(n===0||n===1)return[u(t)];let[r,[i,a],o,s,c,l,d]=t.a,{u1:f,u2:p}=e,m=S(e,n),h=f*(1-n)+p*n,g=+(Math.abs(h-f)<Math.PI),_=+(Math.abs(p-h)<Math.PI);return[{a:[[...m],[i,a],g,s,c,l,d]},{a:[[...r],[i,a],_,s,c,l,d]}]}function T(e,t){let{a:n,b:r,cosR:i,sinR:a,u1:o,u2:s}=e,c=Math.PI/6,l=[1*c,2*c,4*c,5*c,7*c,8*c,10*c,11*c],u=h(t,l,t=>{let o=Math.cos(t),s=Math.sin(t),[c,l]=x(e,t);return[c,l,-n*i*s-r*a*o,-n*a*s+r*i*o,-n*i*o+r*a*s,-n*a*o-r*i*s]}),f=p(o,s),m=new Set(u.map(e=>d(f,e)).filter(e=>e>f.min&&e<f.max));m.add(o),m.add(s);let g=1/0,_,v;for(let n of m){let r=x(e,n),[i,a]=r,c=t[0]-i,l=t[1]-a,u=c*c+l*l;u<g&&(_=(n-o)/(s-o),v=r,g=u)}return{t:_,curvePoint:v,distance:Math.sqrt(g)}}function E(e,t,n){let r=b(t,n),{a:i,b:a,u1:o,u2:s,cosR:c,sinR:u,isInvalid:f}=r,m=n.a[0];if(l(e,t),l(e,m),f)return e;let h=Math.atan2(-a*u,i*c),g=h+Math.PI,_=Math.atan2(a*c,i*u),v=_+Math.PI,y=p(o,s);for(let t of[h,g,_,v].map(e=>d(y,e)))t>y.min&&t<y.max&&l(e,x(r,t));return e}function D(e,t,n){let[r,i,a,o,s,c,l]=t.a,u=b(e,t),{u1:d,u2:f,isInvalid:p}=u,m=f-d;if(p)return Math.sqrt(g(e,r));let h=[0,0],v=0,y=[S(u,0),S(u,.25),S(u,.5),S(u,.75),S(u,1)];for(let e=0;e<14;e++){let e=y.length-1,t=m/(e*2),r=[];for(let n=0;n<e;n++)r.push(y[n]),r.push(x(u,d+(n*2+1)*t));r.push(y[y.length-1]),y=r,v=0;let a=0;for(let e=1;e<y.length;e++){let t=y[e-1],n=y[e];if(v+=Math.sqrt(g(t,n)),e>1){let r=y[e-2],o=_(h,r,t,i,n);a+=o?Math.sqrt(g(t,o)):Math.abs(n[0]-t[0])+Math.abs(n[1]-t[1])}else a+=v}if(a-v<n)return v}return v}const O=i(),k=i(),A=i(),j=i();function M(i,o,s){let[c,l,u,d,f,p,h]=o.a,{cosR:_,sinR:v,a:y,b:x,cx:S,cy:C}=b(i,o),w=a([0,0],c,s),T=a([0,0],l,s),E=s[0]*s[4]<0?1-d:d;{let t=y*y*v*v+x*x*_*_,n=2*(x*x-y*y)*v*_,r=y*y*_*_+x*x*v*v,i=-2*t*S-n*C,a=-n*S-2*r*C,o=t*S*S+n*S*C+r*C*C-y*y*x*x;e(O,t,n/2,i/2,n/2,r,a/2,i/2,a/2,o)}if(t(k,s),k==null){let e=a([0,0],i,s);return{a:[w,T,u,d,m(w[1],w[0]),Math.sqrt(g(w,e))/2,0]}}n(A,k),r(j,r(j,A,O),k);{let e=j[0],t=2*j[1],n=j[4],r=2*j[2],i=2*j[5],a=j[8],o=t*t-4*e*n,s=2*(e*i*i+n*r*r-t*r*i+o*a),c=Math.sqrt((e-n)**2+t*t),l=-Math.sqrt(s*(e+n+c))/o,d=-Math.sqrt(s*(e+n-c))/o;return{a:[w,T,u,E,.5*m(-t,n-e),l,d/l]}}}function N(e,t){let[n,r]=e,[i,[a,o],s,c,l,u,d]=t.a,[f,p]=i;if(d<1e-8||u===0){t.a=[i,[0,0],0,0,0,0,0];return}let m=u*d,h=Math.cos(l),g=Math.sin(l);function _(e,t){let n=(e*h+t*g)/u,r=(t*h-e*g)/m;return n*n+r*r}let y=_(n-a,r-o),b=_(f-a,p-o);if(y===1&&b===1)return;if(Math.hypot(f-n,p-r)<1e-8){s?t.a=[i,[0,0],0,0,0,0,0]:t.a[5]=u*Math.sqrt(y);return}let x=(h*(n-f)+g*(r-p))/2,S=(-g*(n-f)+h*(r-p))/2,C=x*x,w=S*S,T=C/(u*u)+w/(m*m);if(T>1){let e=Math.sqrt(T);u*=e,m*=e}let E=u*u,D=m*m,O=E*w+D*C,k=Math.sqrt((E*D-O)/O);isFinite(k)||(k=0),!s==!c&&(k=-k);let A=k*S*u/m,j=-(k*x*m)/u;a=h*A-g*j+(n+f)/2,o=g*A+h*j+(r+p)/2;let M=Math.atan2(r-o,n-a),N=Math.atan2(p-o,f-a);s=+(v(M,N,c)<=Math.PI),t.a[1].splice(0,2,a,o),t.a[2]=s,t.a.splice(5,2,u,m/u)}export{y as DerivedEllipse,C as calculateEllipticArc7Tangent,T as closestPointOnEllipse,b as deriveEllipse,E as ellipticArcExtent,D as ellipticArcLength,S as interpolateEllipse,N as normalizeEllipticArcAfterEndpointChange,w as splitEllipticArc7,M as transformEllipticArc};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Logger.js";import{equals as t,add as n,scale as r}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as i}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import a from"../MeshComponent.js";import o from"../MeshVertexAttributes.js";import{addMeshMaterialCloneContext as s,addMeshTextureCloneContext as c,getMeshMaterialCloneContext as l}from"./meshCloneUtils.js";import{convertVertexSpace as u}from"./vertexSpaceConversion.js";const d=()=>e.getLogger(`esri.geometry.support.triangleMeshMerge`);function f(e,t){if(e.length===0)return d().error(`merge()`,`Must specify one more geometries to merge`),null;let n=e[0].spatialReference;for(let t of e){if(!t.spatialReference.equals(n))return d().error(`merge()`,`Geometries must all be in the same spatial reference`),null;if(!t.loaded)return d().error(`merge()`,`Geometries must all be loaded before merging`),null}let r=p(e);if(r==null)return null;let i=b(e),a=[],o={position:0,uv:0,normal:0,tangent:0,color:0},f=s(c()),m=l(f);for(let n of e){let e=r.rebake?u(n,r.vertexSpace,{allowBufferReuse:!0}):n.vertexAttributes;if(!e)return d().error(`merge()`,`Failed to convert vertex space due to projection errors`),null;if(t&&t.reuseMaterials&&n.components)for(let e of n.components)e.material&&m?.materialMap?.set(e.material,e.material);g(n,o,f,a),_(`position`,e,i,o,0),_(`normal`,e,i,o,0),_(`tangent`,e,i,o,0),_(`uv`,n.vertexAttributes,i,o,0),_(`color`,n.vertexAttributes,i,o,255)}return{vertexAttributes:i,components:a,vertexSpace:r.vertexSpace,transform:r.rebake?null:r.transform,spatialReference:n}}function p(e){let a=null,o=null,s=!0,c=!0,l=null,u=i(),f=0;for(let r of e){let{vertexSpace:e,transform:i}=r;if(o==null){o=e;let t=o.origin;t&&(l=t)}if(o.type!==e.type)return d().error(`merge()`,`Inconsistent mesh vertex space for provided geometries. One was ${o.type} while another is ${e.type}. Unable to merge geometries.`),null;a!=null&&
|
|
2
|
+
import e from"../../../core/Logger.js";import{equals as t,add as n,scale as r}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as i}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import a from"../MeshComponent.js";import o from"../MeshVertexAttributes.js";import{addMeshMaterialCloneContext as s,addMeshTextureCloneContext as c,getMeshMaterialCloneContext as l}from"./meshCloneUtils.js";import{convertVertexSpace as u}from"./vertexSpaceConversion.js";const d=()=>e.getLogger(`esri.geometry.support.triangleMeshMerge`);function f(e,t){if(e.length===0)return d().error(`merge()`,`Must specify one more geometries to merge`),null;let n=e[0].spatialReference;for(let t of e){if(!t.spatialReference.equals(n))return d().error(`merge()`,`Geometries must all be in the same spatial reference`),null;if(!t.loaded)return d().error(`merge()`,`Geometries must all be loaded before merging`),null}let r=p(e);if(r==null)return null;let i=b(e),a=[],o={position:0,uv:0,normal:0,tangent:0,color:0},f=s(c()),m=l(f);for(let n of e){let e=r.rebake?u(n,r.vertexSpace,{allowBufferReuse:!0}):n.vertexAttributes;if(!e)return d().error(`merge()`,`Failed to convert vertex space due to projection errors`),null;if(t&&t.reuseMaterials&&n.components)for(let e of n.components)e.material&&m?.materialMap?.set(e.material,e.material);g(n,o,f,a),_(`position`,e,i,o,0),_(`normal`,e,i,o,0),_(`tangent`,e,i,o,0),_(`uv`,n.vertexAttributes,i,o,0),_(`color`,n.vertexAttributes,i,o,255)}return{vertexAttributes:i,components:a,vertexSpace:r.vertexSpace,transform:r.rebake?null:r.transform,spatialReference:n}}function p(e){let a=null,o=null,s=!0,c=!0,l=null,u=i(),f=0;for(let r of e){let{vertexSpace:e,transform:i}=r;if(o==null){o=e;let t=o.origin;t&&(l=t)}if(o.type!==e.type)return d().error(`merge()`,`Inconsistent mesh vertex space for provided geometries. One was ${o.type} while another is ${e.type}. Unable to merge geometries.`),null;a==null||i!=null&&i.equals(a)||(s=!1),i!=null&&a==null&&(a=i);let p=e.origin;p&&(l&&!t(p,l)&&(c=!1),f++,n(u,u,p))}if(o==null)throw Error();let p=o.clone();return p.origin==null?{rebake:!1,vertexSpace:p}:c&&s?{rebake:!1,vertexSpace:p,transform:a?.clone()}:(p.origin=r(u,u,1/f),{rebake:!0,vertexSpace:p})}function m(e,t){return t.normal>0&&!e.vertexAttributes.normal}function h(e,t,n){m(e,t)&&n.shading===`source`&&(n.shading=`flat`)}function g(e,t,n,r){if(e.components)for(let i of e.components){let a=i.clone(n),o=t.position/3;if(a.faces)for(let e=0;e<a.faces.length;e++)a.faces[e]+=o;else{a.faces=new Uint32Array(e.vertexAttributes.position.length/3);for(let e=0;e<a.faces.length;e++)a.faces[e]=e+o}h(e,t,a),r.push(a)}else if(e.vertexAttributes&&e.vertexAttributes.position){let n=e.vertexAttributes.position.length/3,i=new Uint32Array(n),o=t.position/3;for(let e=0;e<n;e++)i[e]=e+o;let s=new a({faces:i});h(e,t,s),r.push(s)}}function _(e,t,n,r,i){if(!t)return;let a=t.position;if(!a)return;let o=t[e],s=n[e];if(o==null){let t=r[e],n=x[e];if(s!=null){for(let e=0;e<a.length;e+=3)for(let e=0;e<n;e++)s[t++]=i;r[e]=t}}else s!=null&&o!=null&&(v(o,0,s,r[e],o.length),r[e]+=o.length)}function v(e,t,n,r,i){for(let a=0;a<i;a++)n[r++]=e[t++];return n}function y(e){let t=!1,n=!1,r=!1,i=!1;for(let a of e){let e=a.vertexAttributes;if(e?.position&&(e.uv&&(t=!0),e.normal&&(n=!0),e.tangent&&(i=!0),e.color&&(r=!0),n&&t&&r&&i))break}return{normal:n,uv:t,color:r,tangent:i}}function b(e){let t=0,n=0,r=0,i=0,a=0,s=y(e);for(let o of e){let e=o.vertexAttributes;e?.position&&(t+=e.position.length,s.uv&&(n+=e.position.length/x.position*x.uv),s.normal&&(r+=e.position.length/x.position*x.normal),s.color&&(i+=e.position.length/x.position*x.color),s.tangent&&(a+=e.position.length/x.position*x.tangent))}return new o({position:new Float64Array(t),uv:n?new Float32Array(n):null,normal:r?new Float32Array(r):null,tangent:a?new Float32Array(a):null,color:i?new Uint8Array(i):null})}const x={position:3,normal:3,tangent:4,uv:2,color:4};export{f as merge};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Logger.js";import{fromMat4 as t}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as n}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{fromRotationTranslationScaleOrigin as r,multiply as i,getScale as a,scale as o,getTranslation as s,fromRotation as c}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as l}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{setAxisAngle as u}from"../../../core/libs/gl-matrix-2/math/quat.js";import{create as d}from"../../../core/libs/gl-matrix-2/factories/quatf64.js";import{set as f,inverse as p,transformMat3 as m,transformMat4 as h}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as g,
|
|
2
|
+
import e from"../../../core/Logger.js";import{fromMat4 as t}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as n}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{fromRotationTranslationScaleOrigin as r,multiply as i,getScale as a,scale as o,getTranslation as s,fromRotation as c}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as l}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{setAxisAngle as u}from"../../../core/libs/gl-matrix-2/math/quat.js";import{create as d}from"../../../core/libs/gl-matrix-2/factories/quatf64.js";import{set as f,inverse as p,transformMat3 as m,transformMat4 as h}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as g,create as _,ONES as v}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import y from"../../Point.js";import{getSphericalPCPF as b}from"../../spatialReferenceEllipsoidUtils.js";import{computeTranslationToOriginAndRotation as x}from"../../projection/computeTranslationToOriginAndRotation.js";import{projectPointToVector as S}from"../../projection/projectPointToVector.js";import{angleRad as C,axis as w,fromMatrix as T,create as E}from"../axisAngleDegrees.js";import D from"../MeshTransform.js";import{isMeshWithRelativeVertexSpace as O}from"../meshVertexSpaceUtils.js";import{performGlobalOperation as k}from"./geographicUtils.js";import{logProjectionError as A,loadProjectErrorMessage as j,projectToPCPF as M,projectNormalToPCPF as N,projectTangentToPCPF as P,projectFromPCPF as F,projectNormalFromPCPF as I,projectTangentFromPCPF as L}from"./projection.js";import{projectPointToVertexSpace as R}from"./vertexSpaceConversion.js";const z=()=>e.getLogger(`esri.geometry.support.meshUtils.rotate`);function B(e,t,n){if(!e.vertexAttributes?.position||t[3]===0)return;let{spatialReference:r,vertexSpace:i}=e,a=n?.origin??e.origin;O(e)?V(e,t,a):k(i,r)?H(e,t,a):U(e,t,a)}function V(e,t,n){e.transform??=new D;let{vertexSpace:c,transform:l,spatialReference:d}=e,[m,h,b]=c.origin,x=new y({x:m,y:h,z:b,spatialReference:d}),S=G;if(x.equals(n))f(S,0,0,0);else if(!R(S,n,e)){A(z(),n.spatialReference,d,j);return}u(Z,w(t),C(t));let E=r(K,Z,g,v,S),{localMatrix:O}=l,k=i(K,E,O);l.scale=a(_(),k),o(k,k,p(G,l.scale));let M=l.rotationAxis;l.rotation=T(k),l.rotationAngle===0&&(l.rotationAxis=M),l.translation=s(_(),k)}function H(e,n,r){let i=e.spatialReference,a=b(i),o=X;if(!S(r,o,a)&&(A(z(),r.spatialReference,a,`Falling back to mesh origin`),!S(e.origin,o,a))){A(z(),e.origin.spatialReference,a);return}let s=e.vertexAttributes.position,c=e.vertexAttributes.normal,l=e.vertexAttributes.tangent,u=new Float64Array(s.length),d=c==null?null:new Float32Array(c.length),f=l==null?null:new Float32Array(l.length);x(a,o,J,a),t(Y,J);let p=q;m(w(q),w(n),Y),p[3]=n[3],M(s,i,u,a)?c!=null&&d!=null&&!N(c,s,i,u,a,d)||l!=null&&f!=null&&!P(l,s,i,u,a,f)?A(z(),i,a):(W(u,p,3,o),F(u,a,s,i)?c!=null&&d!=null&&(W(d,p,3),!I(d,s,i,u,a,c))||l!=null&&f!=null&&(W(f,p,4),!L(f,s,i,u,a,l))?A(z(),a,i):e.vertexAttributesChanged():A(z(),a,i)):A(z(),i,a)}function U(e,t,n){let r=X;if(S(n,r,e.spatialReference))W(e.vertexAttributes.position,t,3,r),W(e.vertexAttributes.normal,t,3),W(e.vertexAttributes.tangent,t,4),e.vertexAttributesChanged();else{let t=e.origin;r[0]=t.x,r[1]=t.y,r[2]=t.z,A(z(),n.spatialReference,e.spatialReference,j)}}function W(e,t,n,r=g){if(e!=null){c(J,C(t),w(t));for(let t=0;t<e.length;t+=n){for(let n=0;n<3;n++)G[n]=e[t+n]-r[n];h(G,G,J);for(let n=0;n<3;n++)e[t+n]=G[n]+r[n]}}}const G=_(),K=l(),q=E(),J=l(),Y=n(),X=_(),Z=d();export{B as rotate};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{equals as e}from"../../core/libs/gl-matrix-2/math/vec2.js";import{clone as t,create as n}from"../../core/libs/gl-matrix-2/factories/vec2f64.js";function r(e,t){let n=[],r=[];return i(n,e,t,0),i(r,n,t,1),i(n,r,t,2),i(r,n,t,3),r}function i(e,n,r,i){let c=o(r,i);if(e.length=0,n.length){c(s,n[0],n[0])===1&&a(e,n[0]);for(let r=0;r<n.length;r++){let i=n[r===n.length-1?0:r+1];switch(c(s,n[r],i)){case 1:a(e,i);break;case 3:a(e,t(s));break;case 2:a(e,t(s)),a(e,i)}}}}function a(t,n){
|
|
2
|
+
import{equals as e}from"../../core/libs/gl-matrix-2/math/vec2.js";import{clone as t,create as n}from"../../core/libs/gl-matrix-2/factories/vec2f64.js";function r(e,t){let n=[],r=[];return i(n,e,t,0),i(r,n,t,1),i(n,r,t,2),i(r,n,t,3),r}function i(e,n,r,i){let c=o(r,i);if(e.length=0,n.length){c(s,n[0],n[0])===1&&a(e,n[0]);for(let r=0;r<n.length;r++){let i=n[r===n.length-1?0:r+1];switch(c(s,n[r],i)){case 1:a(e,i);break;case 3:a(e,t(s));break;case 2:a(e,t(s)),a(e,i)}}}}function a(t,n){t.length!==0&&e(t.at(-1),n)||t.push(n)}function o(e,t){let n=t===0||t===2?0:1,r=e[t],i=t===0||t===1?1:-1,a=+(n===0);return(e,t,o)=>{if(t[n]<r&&o[n]<r)return i===1?0:1;if(t[n]>r&&o[n]>r)return+(i===1);let s=(o[a]-t[a])/(o[n]-t[n]),c=t[a]+s*(r-t[n]);return e[n]=r,e[a]=c,(t[n]<r?1:-1)*i>0?2:3}}const s=n();export{r as clipPolygonToExtent};
|
package/identity/Credential.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{id as t}from"../kernel.js";import{EventedAccessor as n}from"../core/Evented.js";import{fixJson as r}from"../core/lang.js";import{property as i}from"../core/accessorSupport/decorators.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";let o=class extends n{constructor(e){super(e),this._oAuthCred=null,this.tokenRefreshBuffer=2,e?._oAuthCred&&(this._oAuthCred=e._oAuthCred)}initialize(){this.resources=this.resources||[],this.creationTime??=Date.now()}refreshToken(){return t.refreshToken(this)}refreshServerTokens(){return t.refreshServerTokens(this)}emitTokenChange(e){clearTimeout(this._refreshTimer);let n=t,r=(this.server?n.findServerInfo(this.server):null)?.owningSystemUrl,i=r?n.findServerInfo(r):null;e
|
|
2
|
+
import{__decorate as e}from"tslib";import{id as t}from"../kernel.js";import{EventedAccessor as n}from"../core/Evented.js";import{fixJson as r}from"../core/lang.js";import{property as i}from"../core/accessorSupport/decorators.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";let o=class extends n{constructor(e){super(e),this._oAuthCred=null,this.tokenRefreshBuffer=2,e?._oAuthCred&&(this._oAuthCred=e._oAuthCred)}initialize(){this.resources=this.resources||[],this.creationTime??=Date.now()}refreshToken(){return t.refreshToken(this)}refreshServerTokens(){return t.refreshServerTokens(this)}emitTokenChange(e){clearTimeout(this._refreshTimer);let n=t,r=(this.server?n.findServerInfo(this.server):null)?.owningSystemUrl,i=r?n.findServerInfo(r):null;e===!1||r&&this.scope!==`portal`&&(!i?.webTierAuth||n.normalizeWebTierAuth)||this.expires==null&&this.validity==null||this._startRefreshTimer(),this.emit(`token-change`)}destroy(){this.userId=this.server=this.token=this.expires=this.validity=this.resources=this.creationTime=null,this._oAuthCred&&=(this._oAuthCred.destroy(),null);let e=t,n=e.credentials.indexOf(this);n>-1&&e.credentials.splice(n,1),this.emitTokenChange(),this.emit(`destroy`)}toJSON(){let e=r({userId:this.userId,server:this.server,token:this.token,expires:this.expires,validity:this.validity,ssl:this.ssl,isAdmin:this.isAdmin,creationTime:this.creationTime,scope:this.scope}),t=this.resources;return t&&t.length>0&&(e.resources=t.slice()),e}_startRefreshTimer(){clearTimeout(this._refreshTimer);let e=this.tokenRefreshBuffer*6e4,t=2**31-1,n=(this.validity?this.creationTime+this.validity*6e4:this.expires)-Date.now();n<0?n=0:n>t&&(n=t),this._refreshTimer=setTimeout(this.refreshToken.bind(this),n>e?n-e:n)}};e([i()],o.prototype,`creationTime`,void 0),e([i()],o.prototype,`expires`,void 0),e([i()],o.prototype,`isAdmin`,void 0),e([i()],o.prototype,`oAuthState`,void 0),e([i()],o.prototype,`resources`,void 0),e([i()],o.prototype,`scope`,void 0),e([i()],o.prototype,`server`,void 0),e([i()],o.prototype,`ssl`,void 0),e([i()],o.prototype,`token`,void 0),e([i()],o.prototype,`tokenRefreshBuffer`,void 0),e([i()],o.prototype,`userId`,void 0),e([i()],o.prototype,`validity`,void 0),o=e([a(`esri.identity.Credential`)],o);const s=o;export{s as default};
|
package/kernel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import"./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"./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.16`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}});export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
|
|
@@ -17,10 +17,10 @@ import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
|
|
|
17
17
|
import type { CustomParametersMixin, CustomParametersMixinProperties } from "./mixins/CustomParametersMixin.js";
|
|
18
18
|
import type { EditBusLayer, EditBusLayerEvents } from "./mixins/EditBusLayer.js";
|
|
19
19
|
import type { FeatureLayerBase, FeatureLayerBaseProperties } from "./mixins/FeatureLayerBase.js";
|
|
20
|
-
import type { FeatureLayerReload } from "./mixins/FeatureLayerReload.js";
|
|
21
20
|
import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
|
|
22
21
|
import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js";
|
|
23
22
|
import type { RefreshableLayer, RefreshableLayerEvents, RefreshableLayerProperties } from "./mixins/RefreshableLayer.js";
|
|
23
|
+
import type { ReloadableLayer } from "./mixins/ReloadableLayer.js";
|
|
24
24
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
|
|
25
25
|
import type { TemporalLayer, TemporalLayerProperties } from "./mixins/TemporalLayer.js";
|
|
26
26
|
import type { PortalItemProperties } from "../portal/PortalItem.js";
|
|
@@ -457,4 +457,4 @@ export default class AnnotationFeatureLayer extends AnnotationFeatureLayerSuperc
|
|
|
457
457
|
*/
|
|
458
458
|
saveAs(portalItem: PortalItemProperties, options?: LayerSaveAsOptions): Promise<PortalItem>;
|
|
459
459
|
}
|
|
460
|
-
declare const AnnotationFeatureLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof APIKeyMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof EditBusLayer & typeof TemporalLayer & typeof BlendLayer & typeof FeatureLayerBase & typeof
|
|
460
|
+
declare const AnnotationFeatureLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof APIKeyMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof EditBusLayer & typeof TemporalLayer & typeof BlendLayer & typeof FeatureLayerBase & typeof ReloadableLayer
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__addDisposableResource as e,__disposeResources as t,__decorate as n}from"tslib";import r from"../PopupTemplate.js";import i from"../request.js";import{ClonableMixin as a}from"../core/Clonable.js";import o from"../core/Collection.js";import s from"../core/Error.js";import{disposable as c,makeHandle as l}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as u}from"../core/MultiOriginJSONSupport.js";import{debounce as d,throwIfAbortError as f,whenOrAbort as p,onAbort as m}from"../core/promiseUtils.js";import{watch as h,sync as ee}from"../core/reactiveUtils.js";import{property as g,subclass as _}from"../core/accessorSupport/decorators.js";import v from"../geometry/SpatialReference.js";import y from"../graphic/AnnotationFeatureGraphicOrigin.js";import b from"./Layer.js";import{APIKeyMixin as x}from"./mixins/APIKeyMixin.js";import{ArcGISService as S}from"./mixins/ArcGISService.js";import{BlendLayer as C}from"./mixins/BlendLayer.js";import{CustomParametersMixin as w}from"./mixins/CustomParametersMixin.js";import{DataElementMixin as T}from"./mixins/DataElementMixin.js";import{EditBusLayer as E}from"./mixins/EditBusLayer.js";import{FeatureLayerBase as D}from"./mixins/FeatureLayerBase.js";import{FeatureLayerReload as O}from"./mixins/FeatureLayerReload.js";import{OperationalLayer as k}from"./mixins/OperationalLayer.js";import{PortalLayer as A}from"./mixins/PortalLayer.js";import{RefreshableLayer as j}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as M}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as N}from"./mixins/TemporalLayer.js";import P from"./support/AnnotationFeatureSublayer.js";import{parse as te,cleanTitle as F,titleFromUrlAndName as I}from"./support/arcgisLayerUrl.js";import{barrierWeight as L,id as R,popupEnabled as z}from"./support/commonProperties.js";import{ensureLayerCredential as B,createQuery as V,getFieldDomain as H,hasDataChanged as U}from"./support/featureLayerUtils.js";import{defineFieldProperties as W}from"./support/fieldProperties.js";import{fixTimeInfoFields as G}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as K}from"./support/versionUtils.js";import q from"../rest/support/Query.js";import{createPopupTemplate as J}from"../support/popupUtils.js";import{reader as Y}from"../core/accessorSupport/decorators/reader.js";const X=`annotation-feature-layer`,Z=W(),Q=o.ofType(P);function ne(e){return e.sublayers?.toArray().filter(e=>e.visible).map(e=>e.subtypeCode).sort((e,t)=>e-t)??null}let $=class extends O(T(D(C(N(E(M(j(S(k(A(u(w(x(a(b))))))))))))))){constructor(e){super(e),this._sublayerLookup=new Map,this.barrierWeight=`high`,this.elementField=`element`,this.fields=null,this.fieldsIndex=null,this.graphicOrigin=new y(this,null),this.operationalLayerType=`ArcGISAnnotationLayer`,this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.referenceScale=0,this.source=null,this.statusField=`status`,this.sublayers=new Q,this.sublayerTitleMode=`item-title`,this.supportedPortalItemTypes=[`Feature Service`],this.supportedSourceTypes=new Set([`Annotation Layer`]),this.symbolCollection=null,this.type=`annotation-feature`,this.unplacedAnnotationsVisible=!1,this._debouncedSaveOperations=d(async(e,t,n)=>{let{save:r,saveAs:i}=await import(`./save/featureLayerUtils.js`);switch(e){case 0:return r(this,t);case 1:return i(this,n,t)}}),this.addHandles(h(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),ee))}destroy(){this.source?.destroy()}load(e){let t=e?.signal,n=this.loadFromPortal({supportedTypes:this.supportedPortalItemTypes},e).catch(f).then(async()=>{if(this.url&&this.layerId==null&&/FeatureServer|MapServer\/*$/i.test(this.url)){let e=await this._fetchFirstValidLayerId(t);e!=null&&(this.layerId=e)}if(!this.url)throw new s(`${X}:missing-url`,`AnnotationFeatureLayer must be created with a url`);return Promise.all([this.loadDataElement(e).then(()=>{if(!this.symbolCollection)throw new s(`${X}:missing-symbol-collection`,`Invalid service with no symbol collection`)}),this.initLayerProperties(await this.createGraphicsSource(t))])}).then(()=>B(this,`load`,e));return this.addResolvingPromise(n),Promise.resolve(this)}get editingEnabled(){return this._isOverridden(`editingEnabled`)?this._get(`editingEnabled`):this.loaded&&this.capabilities!=null&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome(`editingEnabled`,e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readSublayers(e,t){let n=new Q(t.subtypes.map(({code:e})=>new P({subtypeCode:e})).reverse());if(this.visibleLayers){let e=new Set(this.visibleLayers);n.forEach(t=>{t.visible=e.has(t.subtypeCode)})}return n}readTitleFromService(e,t){let{url:n}=this,r=t.name||te(n)?.title;switch(this.sublayerTitleMode){case`item-title`:if(n)return I(n,r);break;case`item-title-and-service-name`:{let e=this.portalItem?.title;if(e&&e!==r)return e=F(e),r?`${e} - ${F(r)}`:e;break}}return r?F(r):void 0}readTitleFromPortalItem(e){return this.sublayerTitleMode===`item-title`?e:void 0}get visibleLayers(){return this.sublayers.length===0?this._get(`visibleLayers`)??null:Array.from(new Set(ne(this)))}set visibleLayers(e){this._set(`visibleLayers`,e)}createPopupTemplate(e){return J(this,e)}async createGraphicsSource(n){let r={stack:[],error:void 0,hasError:!1};try{let{default:t}=await p(import(`./graphics/sources/FeatureLayerSource.js`),n),i=new t({layer:this,supportedSourceTypes:this.supportedSourceTypes});return e(r,c(m(n,()=>i.cancelLoad())??l()),!1),await i.load({signal:n}),i}catch(e){r.error=e,r.hasError=!0}finally{t(r)}}createQuery(){let e=V(this);return e.where=this.definitionExpression||`1=1`,e}findSublayerForFeature(e){let t=this.fieldsIndex.get(this.subtypeField),n=e.attributes[t.name];return this.findSublayerForSubtypeCode(n)}findSublayerForSubtypeCode(e){return this._sublayerLookup.get(e)}getFieldDomain(e,t){return H(this,e,t,this.getField(e)?.domain??null)}async queryFeatures(e,t){let n=await this.load(),r=await n.source.queryFeatures(q.from(e)??n.createQuery(),t);if(r?.features)for(let e of r.features)e.origin=this.findSublayerForFeature(e)?.graphicOrigin??this.graphicOrigin,e.layer=e.sourceLayer=this;return r}async queryObjectIds(e,t){let n=await this.load();return n.source.queryObjectIds(q.from(e)??n.createQuery(),t)}async queryFeatureCount(e,t){let n=await this.load();return n.source.queryFeatureCount(q.from(e)??n.createQuery(),t)}async queryExtent(e,t){let n=await this.load();return n.source.queryExtent(q.from(e)??n.createQuery(),t)}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}serviceSupportsSpatialReference(e){return this.loaded&&K(this,e)}async initLayerProperties(e){this._set(`source`,e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:`service`,portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),G(this.timeInfo,this.fieldsIndex)}async reloadFromService(e){let t=this.source;await Promise.all([t.reload({signal:e}),this.loadDataElement({signal:e})]),await this.initLayerProperties(t)}async hasDataChanged(){return U(this)}_verifySource(){if(this.version&&this.version<10.8)throw new s(X+`:unsupported-version`,`The feature service must be version 10.8 or above.`);let e=[`ZOrder`,`AnnotationClassID`,`Element`,`SymbolID`,`Status`],t=e.filter(e=>!this.fieldsIndex.has(e));if(!this.fieldsIndex.has(`FeatureID`)&&!this.fieldsIndex.has(`FeatureGlobalID`)&&t.unshift(`FeatureID`,`FeatureGlobalID`),t.length)throw new s(X+`:missing-fields`,`There are missing fields to operate properly`,{requiredFields:e,missingFields:t})}_fetchFirstValidLayerId(e){return i(this.url??``,{query:{f:`json`,...this.customParameters,token:this.apiKey},responseType:`json`,signal:e}).then(e=>{let t=e.data;return t?(this.applyPreferredHost(t),[...t.layers||[],...t.tables||[]].find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id):void 0})}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null}),this.removeHandles(`sublayers-owner`),this._sublayerLookup.clear()),e&&(e.forEach(e=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),e.on(`after-remove`,({item:e})=>{e.parent=null,this._sublayerLookup.delete(e.subtypeCode)})],`sublayers-owner`))}};n([g({type:v,json:{origins:{service:{read:{source:`sourceSpatialReference`}}}}})],$.prototype,`attributeSpatialReference`,void 0),n([g(L)],$.prototype,`barrierWeight`,void 0),n([g({nonNullable:!0,json:{name:`enableEditing`,write:!0}})],$.prototype,`editingEnabled`,null),n([g({readOnly:!0})],$.prototype,`effectiveEditingEnabled`,null),n([g({readOnly:!0})],$.prototype,`elementField`,void 0),n([g({...Z.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],$.prototype,`fields`,void 0),n([g(Z.fieldsIndex)],$.prototype,`fieldsIndex`,void 0),n([g({readOnly:!0,clonable:!1})],$.prototype,`graphicOrigin`,void 0),n([g(R)],$.prototype,`id`,void 0),n([g({type:[`show`,`hide`,`hide-children`],json:{origins:{"portal-item":{read:!1,write:!1}}}})],$.prototype,`listMode`,void 0),n([g({type:[`ArcGISAnnotationLayer`],json:{origins:{"portal-item":{name:`layerType`,write:{enabled:!0,ignoreOrigin:!0,isRequired:!0}}}}})],$.prototype,`operationalLayerType`,void 0),n([g(Z.outFields)],$.prototype,`outFields`,void 0),n([g(z)],$.prototype,`popupEnabled`,void 0),n([g({type:r,json:{name:`popupInfo`,write:!0}})],$.prototype,`popupTemplate`,void 0),n([g({readOnly:!0})],$.prototype,`defaultPopupTemplate`,null),n([g({readOnly:!0})],$.prototype,`referenceScale`,void 0),n([g({clonable:!1,readOnly:!0})],$.prototype,`source`,void 0),n([g({readOnly:!0})],$.prototype,`statusField`,void 0),n([g({type:Q,json:{name:`layers`,write:{ignoreOrigin:!0}}})],$.prototype,`sublayers`,void 0),n([Y(`service`,`sublayers`,[`subtypes`])],$.prototype,`readSublayers`,null),n([g({type:String})],$.prototype,`sublayerTitleMode`,void 0),n([g({readOnly:!0})],$.prototype,`symbolCollection`,void 0),n([Y(`service`,`title`,[`name`])],$.prototype,`readTitleFromService`,null),n([Y(`portal-item`,`title`)],$.prototype,`readTitleFromPortalItem`,null),n([g({json:{read:!1},value:`annotation-feature`,readOnly:!0})],$.prototype,`type`,void 0),n([g()],$.prototype,`unplacedAnnotationsVisible`,void 0),n([g({type:[Number]})],$.prototype,`visibleLayers`,null),$=n([_(`esri.layers.AnnotationFeatureLayer`)],$);const re=$;export{re as default};
|
|
2
|
+
import{__addDisposableResource as e,__disposeResources as t,__decorate as n}from"tslib";import r from"../PopupTemplate.js";import i from"../request.js";import{ClonableMixin as a}from"../core/Clonable.js";import o from"../core/Collection.js";import s from"../core/Error.js";import{disposable as c,makeHandle as l}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as u}from"../core/MultiOriginJSONSupport.js";import{debounce as d,throwIfAbortError as f,whenOrAbort as p,onAbort as m}from"../core/promiseUtils.js";import{watch as h,sync as ee}from"../core/reactiveUtils.js";import{property as g,subclass as _}from"../core/accessorSupport/decorators.js";import v from"../geometry/SpatialReference.js";import y from"../graphic/AnnotationFeatureGraphicOrigin.js";import b from"./Layer.js";import{APIKeyMixin as x}from"./mixins/APIKeyMixin.js";import{ArcGISService as S}from"./mixins/ArcGISService.js";import{BlendLayer as C}from"./mixins/BlendLayer.js";import{CustomParametersMixin as w}from"./mixins/CustomParametersMixin.js";import{DataElementMixin as T}from"./mixins/DataElementMixin.js";import{EditBusLayer as E}from"./mixins/EditBusLayer.js";import{FeatureLayerBase as D}from"./mixins/FeatureLayerBase.js";import{OperationalLayer as O}from"./mixins/OperationalLayer.js";import{PortalLayer as k}from"./mixins/PortalLayer.js";import{RefreshableLayer as A}from"./mixins/RefreshableLayer.js";import{ReloadableLayer as j}from"./mixins/ReloadableLayer.js";import{ScaleRangeLayer as M}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as N}from"./mixins/TemporalLayer.js";import P from"./support/AnnotationFeatureSublayer.js";import{parse as te,cleanTitle as F,titleFromUrlAndName as I}from"./support/arcgisLayerUrl.js";import{barrierWeight as L,id as R,popupEnabled as z}from"./support/commonProperties.js";import{ensureLayerCredential as B,createQuery as V,getFieldDomain as H,hasDataChanged as U}from"./support/featureLayerUtils.js";import{defineFieldProperties as W}from"./support/fieldProperties.js";import{fixTimeInfoFields as G}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as K}from"./support/versionUtils.js";import q from"../rest/support/Query.js";import{createPopupTemplate as J}from"../support/popupUtils.js";import{reader as Y}from"../core/accessorSupport/decorators/reader.js";const X=`annotation-feature-layer`,Z=W(),Q=o.ofType(P);function ne(e){return e.sublayers?.toArray().filter(e=>e.visible).map(e=>e.subtypeCode).sort((e,t)=>e-t)??null}let $=class extends j(T(D(C(N(E(M(A(S(O(k(u(w(x(a(b))))))))))))))){constructor(e){super(e),this._sublayerLookup=new Map,this.barrierWeight=`high`,this.elementField=`element`,this.fields=null,this.fieldsIndex=null,this.graphicOrigin=new y(this,null),this.operationalLayerType=`ArcGISAnnotationLayer`,this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.referenceScale=0,this.source=null,this.statusField=`status`,this.sublayers=new Q,this.sublayerTitleMode=`item-title`,this.supportedPortalItemTypes=[`Feature Service`],this.supportedSourceTypes=new Set([`Annotation Layer`]),this.symbolCollection=null,this.type=`annotation-feature`,this.unplacedAnnotationsVisible=!1,this._debouncedSaveOperations=d(async(e,t,n)=>{let{save:r,saveAs:i}=await import(`./save/featureLayerUtils.js`);switch(e){case 0:return r(this,t);case 1:return i(this,n,t)}}),this.addHandles(h(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),ee))}destroy(){this.source?.destroy()}load(e){let t=e?.signal,n=this.loadFromPortal({supportedTypes:this.supportedPortalItemTypes},e).catch(f).then(async()=>{if(this.url&&this.layerId==null&&/FeatureServer|MapServer\/*$/i.test(this.url)){let e=await this._fetchFirstValidLayerId(t);e!=null&&(this.layerId=e)}if(!this.url)throw new s(`${X}:missing-url`,`AnnotationFeatureLayer must be created with a url`);return Promise.all([this.loadDataElement(e).then(()=>{if(!this.symbolCollection)throw new s(`${X}:missing-symbol-collection`,`Invalid service with no symbol collection`)}),this.initLayerProperties(await this.createGraphicsSource(t))])}).then(()=>B(this,`load`,e));return this.addResolvingPromise(n),Promise.resolve(this)}get editingEnabled(){return this._isOverridden(`editingEnabled`)?this._get(`editingEnabled`):this.loaded&&this.capabilities!=null&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome(`editingEnabled`,e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readSublayers(e,t){let n=new Q(t.subtypes.map(({code:e})=>new P({subtypeCode:e})).reverse());if(this.visibleLayers){let e=new Set(this.visibleLayers);n.forEach(t=>{t.visible=e.has(t.subtypeCode)})}return n}readTitleFromService(e,t){let{url:n}=this,r=t.name||te(n)?.title;switch(this.sublayerTitleMode){case`item-title`:if(n)return I(n,r);break;case`item-title-and-service-name`:{let e=this.portalItem?.title;if(e&&e!==r)return e=F(e),r?`${e} - ${F(r)}`:e;break}}return r?F(r):void 0}readTitleFromPortalItem(e){return this.sublayerTitleMode===`item-title`?e:void 0}get visibleLayers(){return this.sublayers.length===0?this._get(`visibleLayers`)??null:Array.from(new Set(ne(this)))}set visibleLayers(e){this._set(`visibleLayers`,e)}createPopupTemplate(e){return J(this,e)}async createGraphicsSource(n){let r={stack:[],error:void 0,hasError:!1};try{let{default:t}=await p(import(`./graphics/sources/FeatureLayerSource.js`),n),i=new t({layer:this,supportedSourceTypes:this.supportedSourceTypes});return e(r,c(m(n,()=>i.cancelLoad())??l()),!1),await i.load({signal:n}),i}catch(e){r.error=e,r.hasError=!0}finally{t(r)}}createQuery(){let e=V(this);return e.where=this.definitionExpression||`1=1`,e}findSublayerForFeature(e){let t=this.fieldsIndex.get(this.subtypeField),n=e.attributes[t.name];return this.findSublayerForSubtypeCode(n)}findSublayerForSubtypeCode(e){return this._sublayerLookup.get(e)}getFieldDomain(e,t){return H(this,e,t,this.getField(e)?.domain??null)}async queryFeatures(e,t){let n=await this.load(),r=await n.source.queryFeatures(q.from(e)??n.createQuery(),t);if(r?.features)for(let e of r.features)e.origin=this.findSublayerForFeature(e)?.graphicOrigin??this.graphicOrigin,e.layer=e.sourceLayer=this;return r}async queryObjectIds(e,t){let n=await this.load();return n.source.queryObjectIds(q.from(e)??n.createQuery(),t)}async queryFeatureCount(e,t){let n=await this.load();return n.source.queryFeatureCount(q.from(e)??n.createQuery(),t)}async queryExtent(e,t){let n=await this.load();return n.source.queryExtent(q.from(e)??n.createQuery(),t)}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}serviceSupportsSpatialReference(e){return this.loaded&&K(this,e)}async initLayerProperties(e){this._set(`source`,e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:`service`,portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),G(this.timeInfo,this.fieldsIndex)}async reloadFromService(e){let t=this.source;await Promise.all([t.reload({signal:e}),this.loadDataElement({signal:e})]),await this.initLayerProperties(t)}async hasDataChanged(){return U(this)}_verifySource(){if(this.version&&this.version<10.8)throw new s(X+`:unsupported-version`,`The feature service must be version 10.8 or above.`);let e=[`ZOrder`,`AnnotationClassID`,`Element`,`SymbolID`,`Status`],t=e.filter(e=>!this.fieldsIndex.has(e));if(!this.fieldsIndex.has(`FeatureID`)&&!this.fieldsIndex.has(`FeatureGlobalID`)&&t.unshift(`FeatureID`,`FeatureGlobalID`),t.length)throw new s(X+`:missing-fields`,`There are missing fields to operate properly`,{requiredFields:e,missingFields:t})}_fetchFirstValidLayerId(e){return i(this.url??``,{query:{f:`json`,...this.customParameters,token:this.apiKey},responseType:`json`,signal:e}).then(e=>{let t=e.data;return t?(this.applyPreferredHost(t),[...t.layers||[],...t.tables||[]].find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id):void 0})}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null}),this.removeHandles(`sublayers-owner`),this._sublayerLookup.clear()),e&&(e.forEach(e=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),e.on(`after-remove`,({item:e})=>{e.parent=null,this._sublayerLookup.delete(e.subtypeCode)})],`sublayers-owner`))}};n([g({type:v,json:{origins:{service:{read:{source:`sourceSpatialReference`}}}}})],$.prototype,`attributeSpatialReference`,void 0),n([g(L)],$.prototype,`barrierWeight`,void 0),n([g({nonNullable:!0,json:{name:`enableEditing`,write:!0}})],$.prototype,`editingEnabled`,null),n([g({readOnly:!0})],$.prototype,`effectiveEditingEnabled`,null),n([g({readOnly:!0})],$.prototype,`elementField`,void 0),n([g({...Z.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],$.prototype,`fields`,void 0),n([g(Z.fieldsIndex)],$.prototype,`fieldsIndex`,void 0),n([g({readOnly:!0,clonable:!1})],$.prototype,`graphicOrigin`,void 0),n([g(R)],$.prototype,`id`,void 0),n([g({type:[`show`,`hide`,`hide-children`],json:{origins:{"portal-item":{read:!1,write:!1}}}})],$.prototype,`listMode`,void 0),n([g({type:[`ArcGISAnnotationLayer`],json:{origins:{"portal-item":{name:`layerType`,write:{enabled:!0,ignoreOrigin:!0,isRequired:!0}}}}})],$.prototype,`operationalLayerType`,void 0),n([g(Z.outFields)],$.prototype,`outFields`,void 0),n([g(z)],$.prototype,`popupEnabled`,void 0),n([g({type:r,json:{name:`popupInfo`,write:!0}})],$.prototype,`popupTemplate`,void 0),n([g({readOnly:!0})],$.prototype,`defaultPopupTemplate`,null),n([g({readOnly:!0})],$.prototype,`referenceScale`,void 0),n([g({clonable:!1,readOnly:!0})],$.prototype,`source`,void 0),n([g({readOnly:!0})],$.prototype,`statusField`,void 0),n([g({type:Q,json:{name:`layers`,write:{ignoreOrigin:!0}}})],$.prototype,`sublayers`,void 0),n([Y(`service`,`sublayers`,[`subtypes`])],$.prototype,`readSublayers`,null),n([g({type:String})],$.prototype,`sublayerTitleMode`,void 0),n([g({readOnly:!0})],$.prototype,`symbolCollection`,void 0),n([Y(`service`,`title`,[`name`])],$.prototype,`readTitleFromService`,null),n([Y(`portal-item`,`title`)],$.prototype,`readTitleFromPortalItem`,null),n([g({json:{read:!1},value:`annotation-feature`,readOnly:!0})],$.prototype,`type`,void 0),n([g()],$.prototype,`unplacedAnnotationsVisible`,void 0),n([g({type:[Number]})],$.prototype,`visibleLayers`,null),$=n([_(`esri.layers.AnnotationFeatureLayer`)],$);const re=$;export{re as default};
|
package/layers/CatalogLayer.d.ts
CHANGED
|
@@ -15,11 +15,11 @@ import type { CustomParametersMixin, CustomParametersMixinProperties } from "./m
|
|
|
15
15
|
import type { DisplayFilteredLayer, DisplayFilteredLayerProperties } from "./mixins/DisplayFilteredLayer.js";
|
|
16
16
|
import type { EditBusLayer } from "./mixins/EditBusLayer.js";
|
|
17
17
|
import type { FeatureLayerBase, FeatureLayerBaseProperties } from "./mixins/FeatureLayerBase.js";
|
|
18
|
-
import type { FeatureLayerReload } from "./mixins/FeatureLayerReload.js";
|
|
19
18
|
import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
|
|
20
19
|
import type { OrderedLayer, OrderedLayerProperties } from "./mixins/OrderedLayer.js";
|
|
21
20
|
import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js";
|
|
22
21
|
import type { RefreshableLayer, RefreshableLayerProperties } from "./mixins/RefreshableLayer.js";
|
|
22
|
+
import type { ReloadableLayer } from "./mixins/ReloadableLayer.js";
|
|
23
23
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
|
|
24
24
|
import type { TemporalLayer, TemporalLayerProperties } from "./mixins/TemporalLayer.js";
|
|
25
25
|
import type { RequestOptions } from "../request/types.js";
|
|
@@ -673,4 +673,4 @@ export default class CatalogLayer extends CatalogLayerSuperclass {
|
|
|
673
673
|
*/
|
|
674
674
|
queryObjectIds(query?: QueryProperties | null | undefined, options?: RequestOptions): Promise<ObjectId[]>;
|
|
675
675
|
}
|
|
676
|
-
declare const CatalogLayerSuperclass: typeof Layer & typeof APIKeyMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof TemporalLayer & typeof OrderedLayer & typeof BlendLayer & typeof EditBusLayer & typeof FeatureLayerBase & typeof DisplayFilteredLayer & typeof
|
|
676
|
+
declare const CatalogLayerSuperclass: typeof Layer & typeof APIKeyMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof TemporalLayer & typeof OrderedLayer & typeof BlendLayer & typeof EditBusLayer & typeof FeatureLayerBase & typeof DisplayFilteredLayer & typeof ReloadableLayer
|