@arcgis/core 6.0.0-next.14 → 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/08fe248e412bb170210d.js +1 -0
- package/assets/esri/core/workers/chunks/{fb444954be74c1962ced.js → 10d80e793019dfb45ca2.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/5736feefa261589b6273.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/8e19629899a5becf8e19.js +1 -0
- 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/{aadfe34a99c9ec7a0e11.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/assets/esri/libs/pdfjs/wasm/openjpeg_nowasm_fallback.js +1 -0
- 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/ObjectPool.js +1 -1
- package/core/PooledArray.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/accessorSupport/tracking/SimpleTrackingTarget.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/buffer/BufferPool.js +1 -1
- package/geometry/support/coordsUtils.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/meshUtils.d.ts +5 -6
- package/geometry/support/polygonExtentClipping.js +1 -1
- package/identity/Credential.js +1 -1
- package/interfaces.d.ts +18 -9
- 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/GeospatialPDFLayer.d.ts +154 -4
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/Layer.d.ts +2 -0
- 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/FeatureTileController3D.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/LabelClass.d.ts +3 -2
- package/layers/support/PortalItemData.d.ts +31 -8
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/featureReductionProperties.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/types.d.ts +4 -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/knowledgeGraph/ObjectValue.js +1 -1
- 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/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
- package/views/3d/analysis/LineOfSight/{LineOfSightRootPlugin.js → LineOfSightPlacementRootPlugin.js} +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.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/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.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/ManipulatedObject3DGraphic.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/MemoryController.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/terrain/TerrainData.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/RenderOccluded.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/PathBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
- package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
- package/views/3d/webgl-engine/lib/PathProfile.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/lib/pathGeometryUtils.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/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +10 -1
- package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor.d.ts +10 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.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/HistogramRangeSlider.d.ts +2 -2
- package/widgets/HistogramRangeSlider.js +1 -1
- package/widgets/Legend.d.ts +1 -0
- package/widgets/Print.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.d.ts +5 -2
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel.js +1 -1
- package/widgets/ValuePicker/ValuePickerBaseComponent.d.ts +5 -1
- package/widgets/ValuePicker/ValuePickerCollection.d.ts +2 -0
- package/widgets/ValuePicker/ValuePickerCombobox.d.ts +7 -1
- package/widgets/ValuePicker/ValuePickerLabel.d.ts +7 -1
- package/widgets/ValuePicker/ValuePickerSlider.d.ts +2 -0
- package/widgets/ValuePicker/ValuePickerSliderVisibleElements.d.ts +5 -1
- package/widgets/ValuePicker/ValuePickerVisibleElements.d.ts +5 -1
- package/widgets/ValuePicker/types.d.ts +2 -0
- 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/037a8cc19debbaaa4e10.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/1c65ab9ed611c322ce27.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/22e8c0aad2fe75943865.js +0 -1
- package/assets/esri/core/workers/chunks/2eae542fe7f0f6576ac1.js +0 -1
- package/assets/esri/core/workers/chunks/408e81c8f1eff8a7b379.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/5bfea0c55aca826de536.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/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/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
- /package/views/3d/analysis/LineOfSight/{lineOfSightPlacementUtils.js → placementUtils.js} +0 -0
package/chunks/lclayout.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
2
|
var e=(()=>{var e=typeof document<`u`?document.currentScript?.src:void 0;return(function(t={}){var n,r=Object.assign({},t),i,a,o=new Promise((e,t)=>{i=e,a=t}),s=!0,c=Object.assign({},r),l=`./this.program`,u=``;function d(e){return r.locateFile?r.locateFile(e,u):u+e}typeof document<`u`&&document.currentScript&&(u=document.currentScript.src),e&&(u=e),u=u.startsWith(`blob:`)?``:u.substr(0,u.replace(/[?#].*/,``).lastIndexOf(`/`)+1),r.print||console.log.bind(console);var f=r.printErr||console.error.bind(console);Object.assign(r,c),c=null,r.arguments&&r.arguments,r.thisProgram&&(l=r.thisProgram),r.quit&&r.quit;var p;r.wasmBinary&&(p=r.wasmBinary);var m,h=!1,g,_,v,y,b,x,ee,te;function ne(){var e=m.buffer;r.HEAP8=g=new Int8Array(e),r.HEAP16=v=new Int16Array(e),r.HEAPU8=_=new Uint8Array(e),r.HEAPU16=y=new Uint16Array(e),r.HEAP32=b=new Int32Array(e),r.HEAPU32=x=new Uint32Array(e),r.HEAPF32=ee=new Float32Array(e),r.HEAPF64=te=new Float64Array(e)}var re=[],ie=[],ae=[];function oe(){if(r.preRun)for(typeof r.preRun==`function`&&(r.preRun=[r.preRun]);r.preRun.length;)le(r.preRun.shift());T(re)}function se(){T(ie)}function ce(){if(r.postRun)for(typeof r.postRun==`function`&&(r.postRun=[r.postRun]);r.postRun.length;)de(r.postRun.shift());T(ae)}function le(e){re.unshift(e)}function ue(e){ie.unshift(e)}function de(e){ae.unshift(e)}var S=0,C=null;function fe(e){S++,r.monitorRunDependencies?.(S)}function pe(e){if(S--,r.monitorRunDependencies?.(S),S==0&&C){var t=C;C=null,t()}}function me(e){r.onAbort?.(e),e=`Aborted(`+e+`)`,f(e),h=!0,e+=`. Build with -sASSERTIONS for more info.`;var t=new WebAssembly.RuntimeError(e);throw a(t),t}var he=`data:application/octet-stream;base64,`,ge=e=>e.startsWith(he),w=`lclayout.wasm`;ge(w)||(w=d(w));function _e(e){if(e==w&&p)return new Uint8Array(p);throw`both async and sync fetching of the wasm failed`}function ve(e){return!p&&s&&typeof fetch==`function`?fetch(e,{credentials:`same-origin`}).then(t=>{if(!t.ok)throw`failed to load wasm binary file at '${e}'`;return t.arrayBuffer()}).catch(()=>_e(e)):Promise.resolve().then(()=>_e(e))}function ye(e,t,n){return ve(e).then(e=>WebAssembly.instantiate(e,t)).then(n,e=>{f(`failed to asynchronously prepare wasm: ${e}`),me(e)})}function be(e,t,n,r){return!e&&typeof WebAssembly.instantiateStreaming==`function`&&!ge(t)&&typeof fetch==`function`?fetch(t,{credentials:`same-origin`}).then(e=>WebAssembly.instantiateStreaming(e,n).then(r,function(e){return f(`wasm streaming compile failed: ${e}`),f(`falling back to ArrayBuffer instantiation`),ye(t,n,r)})):ye(t,n,r)}function xe(){return{a:mn}}function Se(){var e=xe();function t(e,t){return X=e.exports,m=X.N,ne(),$e=X.Q,ue(X.O),pe(),X}fe();function n(e){t(e.instance)}if(r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){f(`Module.instantiateWasm callback failed with error: ${e}`),a(e)}return be(p,w,e,n).catch(a),{}}var T=e=>{for(;e.length>0;)e.shift()(r)};r.noExitRuntime;class Ce{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){x[this.ptr+4>>2]=e}get_type(){return x[this.ptr+4>>2]}set_destructor(e){x[this.ptr+8>>2]=e}get_destructor(){return x[this.ptr+8>>2]}set_caught(e){e=+!!e,g[this.ptr+12]=e}get_caught(){return g[this.ptr+12]!=0}set_rethrown(e){e=+!!e,g[this.ptr+13]=e}get_rethrown(){return g[this.ptr+13]!=0}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){x[this.ptr+16>>2]=e}get_adjusted_ptr(){return x[this.ptr+16>>2]}get_exception_ptr(){if(gn(this.get_type()))return x[this.excPtr>>2];var e=this.get_adjusted_ptr();return e===0?this.excPtr:e}}var we=0,Te=(e,t,n)=>{throw new Ce(e).init(t,n),we=e,we},E={},D=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function O(e){return this.fromWireType(x[e>>2])}var k={},A={},j={},Ee,De=e=>{throw new Ee(e)},M=(e,t,n)=>{e.forEach(function(e){j[e]=t});function r(t){var r=n(t);r.length!==e.length&&De(`Mismatched type converter count`);for(var i=0;i<e.length;++i)F(e[i],r[i])}var i=Array(t.length),a=[],o=0;t.forEach((e,t)=>{A.hasOwnProperty(e)?i[t]=A[e]:(a.push(e),k.hasOwnProperty(e)||(k[e]=[]),k[e].push(()=>{i[t]=A[e],++o,o===a.length&&r(i)}))}),a.length===0&&r(i)},Oe=e=>{var t=E[e];delete E[e];var n=t.rawConstructor,r=t.rawDestructor,i=t.fields,a=i.map(e=>e.getterReturnType).concat(i.map(e=>e.setterArgumentType));M([e],a,e=>{var a={};return i.forEach((t,n)=>{var r=t.fieldName,o=e[n],s=t.getter,c=t.getterContext,l=e[n+i.length],u=t.setter,d=t.setterContext;a[r]={read:e=>o.fromWireType(s(c,e)),write:(e,t)=>{var n=[];u(d,e,l.toWireType(n,t)),D(n)}}}),[{name:t.name,fromWireType:e=>{var t={};for(var n in a)t[n]=a[n].read(e);return r(e),t},toWireType:(e,t)=>{for(var i in a)if(!(i in t))throw TypeError(`Missing field: "${i}"`);var o=n();for(i in a)a[i].write(o,t[i]);return e!==null&&e.push(r,o),o},argPackAdvance:I,readValueFromPointer:O,destructorFunction:r}]})},ke=(e,t,n,r,i)=>{},Ae=()=>{for(var e=Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);je=e},je,N=e=>{for(var t=``,n=e;_[n];)t+=je[_[n++]];return t},Me,P=e=>{throw new Me(e)};function Ne(e,t,n={}){var r=t.name;if(e||P(`type "${r}" must have a positive integer typeid pointer`),A.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;P(`Cannot register type '${r}' twice`)}if(A[e]=t,delete j[e],k.hasOwnProperty(e)){var i=k[e];delete k[e],i.forEach(e=>e())}}function F(e,t,n={}){if(!(`argPackAdvance`in t))throw TypeError(`registerType registeredInstance requires argPackAdvance`);return Ne(e,t,n)}var I=8,Pe=(e,t,n,r)=>{t=N(t),F(e,{name:t,fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:r},argPackAdvance:I,readValueFromPointer:function(e){return this.fromWireType(_[e])},destructorFunction:null})},Fe=(e,t,n)=>{e=N(e),M([],[t],t=>(t=t[0],r[e]=t.fromWireType(n),[]))},L=[],R=[],z=e=>{e>9&&--R[e+1]===0&&(R[e]=void 0,L.push(e))},Ie=()=>R.length/2-5-L.length,Le=()=>{R.push(0,1,void 0,1,null,1,!0,1,!1,1),r.count_emval_handles=Ie},B={toValue:e=>(e||P(`Cannot use deleted val. handle = `+e),R[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let t=L.pop()||R.length;return R[t]=e,R[t+1]=1,t}}}},Re={name:`emscripten::val`,fromWireType:e=>{var t=B.toValue(e);return z(e),t},toWireType:(e,t)=>B.toHandle(t),argPackAdvance:I,readValueFromPointer:O,destructorFunction:null},ze=e=>F(e,Re),Be=(e,t,n)=>{if(e[t].overloadTable===void 0){var r=e[t];e[t]=function(...r){return e[t].overloadTable.hasOwnProperty(r.length)||P(`Function '${n}' called with an invalid number of arguments (${r.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[r.length].apply(this,r)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}},Ve=(e,t,n)=>{r.hasOwnProperty(e)?((n===void 0||r[e].overloadTable!==void 0&&r[e].overloadTable[n]!==void 0)&&P(`Cannot register public name '${e}' twice`),Be(r,e,e),r.hasOwnProperty(n)&&P(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),r[e].overloadTable[n]=t):(r[e]=t,n!==void 0&&(r[e].numArguments=n))},He=(e,t,n)=>{switch(t){case 1:return n?function(e){return this.fromWireType(g[e])}:function(e){return this.fromWireType(_[e])};case 2:return n?function(e){return this.fromWireType(v[e>>1])}:function(e){return this.fromWireType(y[e>>1])};case 4:return n?function(e){return this.fromWireType(b[e>>2])}:function(e){return this.fromWireType(x[e>>2])};default:throw TypeError(`invalid integer width (${t}): ${e}`)}},Ue=(e,t,n,r)=>{t=N(t);function i(){}i.values={},F(e,{name:t,constructor:i,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:I,readValueFromPointer:He(t,n,r),destructorFunction:null}),Ve(t,i)},V=(e,t)=>Object.defineProperty(t,"name",{value:e}),We=e=>{var t=hn(e),n=N(t);return Q(t),n},H=(e,t)=>{var n=A[e];return n===void 0&&P(`${t} has unknown type ${We(e)}`),n},Ge=(e,t,n)=>{var r=H(e,`enum`);t=N(t);var i=r.constructor,a=Object.create(r.constructor.prototype,{value:{value:n},constructor:{value:V(`${r.name}_${t}`,function(){})}});i.values[n]=a,i[t]=a},Ke=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(ee[e>>2])};case 8:return function(e){return this.fromWireType(te[e>>3])};default:throw TypeError(`invalid float width (${t}): ${e}`)}},qe=(e,t,n)=>{t=N(t),F(e,{name:t,fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:I,readValueFromPointer:Ke(t,n),destructorFunction:null})};function Je(e){for(var t=1;t<e.length;++t)if(e[t]!==null&&e[t].destructorFunction===void 0)return!0;return!1}function Ye(e,t,n,r,i,a){var o=t.length;o<2&&P(`argTypes array size mismatch! Must at least get return value and 'this' types!`),t[1];var s=Je(t),c=t[0].name!==`void`,l=o-2,u=Array(l),d=[],f=[];return V(e,function(...n){n.length!==l&&P(`function ${e} called with ${n.length} arguments, expected ${l}`),f.length=0;var a;d.length=1,d[0]=i;for(var o=0;o<l;++o)u[o]=t[o+2].toWireType(f,n[o]),d.push(u[o]);var p=r(...d);function m(e){if(s)D(f);else for(var n=2;n<t.length;n++){var r=n===1?a:u[n-2];t[n].destructorFunction!==null&&t[n].destructorFunction(r)}if(c)return t[0].fromWireType(e)}return m(p)})}var Xe=(e,t)=>{for(var n=[],r=0;r<e;r++)n.push(x[t+r*4>>2]);return n},Ze=(e,t,n)=>{r.hasOwnProperty(e)||De(`Replacing nonexistent public symbol`),r[e].overloadTable!==void 0&&n!==void 0?r[e].overloadTable[n]=t:(r[e]=t,r[e].argCount=n)},Qe=(e,t,n)=>{e=e.replace(/p/g,`i`);var i=r[`dynCall_`+e];return i(t,...n)},U=[],$e,et=e=>{var t=U[e];return t||(e>=U.length&&(U.length=e+1),U[e]=t=$e.get(e)),t},tt=(e,t,n=[])=>e.includes(`j`)?Qe(e,t,n):et(t)(...n),nt=(e,t)=>(...n)=>tt(e,t,n),W=(e,t)=>{e=N(e);function n(){return e.includes(`j`)?nt(e,t):et(t)}var r=n();return typeof r!=`function`&&P(`unknown function pointer with signature ${e}: ${t}`),r},rt=(e,t)=>{var n=V(t,function(e){this.name=t,this.message=e;var n=Error(e).stack;n!==void 0&&(this.stack=this.toString()+`
|
|
3
3
|
`+n.replace(/^Error(:[^\n]*)?\n/,``))});return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},n},it,at=(e,t)=>{var n=[],r={};function i(e){r[e]||A[e]||(j[e]?j[e].forEach(i):(n.push(e),r[e]=!0))}throw t.forEach(i),new it(`${e}: `+n.map(We).join([`, `]))},ot=e=>{e=e.trim();let t=e.indexOf(`(`);return t===-1?e:e.substr(0,t)},st=(e,t,n,r,i,a,o)=>{var s=Xe(t,n);e=N(e),e=ot(e),i=W(r,i),Ve(e,function(){at(`Cannot call ${e} due to unbound types`,s)},t-1),M([],s,n=>{var r=[n[0],null].concat(n.slice(1));return Ze(e,Ye(e,r,null,i,a),t-1),[]})},ct=(e,t,n)=>{switch(t){case 1:return n?e=>g[e]:e=>_[e];case 2:return n?e=>v[e>>1]:e=>y[e>>1];case 4:return n?e=>b[e>>2]:e=>x[e>>2];default:throw TypeError(`invalid integer width (${t}): ${e}`)}},lt=(e,t,n,r,i)=>{t=N(t);var a=e=>e;if(r===0){var o=32-8*n;a=e=>e<<o>>>o}var s=t.includes(`unsigned`);F(e,{name:t,fromWireType:a,toWireType:s?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:I,readValueFromPointer:ct(t,n,r!==0),destructorFunction:null})},ut=(e,t,n)=>{var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=x[e>>2],n=x[e+4>>2];return new r(g.buffer,n,t)}n=N(n),F(e,{name:n,fromWireType:i,argPackAdvance:I,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},dt=(e,t)=>{ze(e)},ft=(e,t,n,r)=>{if(!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343){var c=e.charCodeAt(++o);s=65536+((s&1023)<<10)|c&1023}if(s<=127){if(n>=a)break;t[n++]=s}else if(s<=2047){if(n+1>=a)break;t[n++]=192|s>>6,t[n++]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|s&63}else{if(n+3>=a)break;t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|s&63}}return t[n]=0,n-i},pt=(e,t,n)=>ft(e,_,t,n),mt=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},ht=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0,gt=(e,t,n)=>{for(var r=t+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&ht)return ht.decode(e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128))a+=String.fromCharCode(o);else{var s=e[t++]&63;if((o&224)==192)a+=String.fromCharCode((o&31)<<6|s);else{var c=e[t++]&63;if(o=(o&240)==224?(o&15)<<12|s<<6|c:(o&7)<<18|s<<12|c<<6|e[t++]&63,o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}}}return a},G=(e,t)=>e?gt(_,e,t):``,_t=(e,t)=>{t=N(t);var n=t===`std::string`;F(e,{name:t,fromWireType(e){var t=x[e>>2],r=e+4,i;if(n)for(var a=r,o=0;o<=t;++o){var s=r+o;if(o==t||_[s]==0){var c=s-a,l=G(a,c);i===void 0?i=l:(i+=`\0`,i+=l),a=s+1}}else{for(var u=Array(t),o=0;o<t;++o)u[o]=String.fromCharCode(_[r+o]);i=u.join(``)}return Q(e),i},toWireType(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r,i=typeof t==`string`;i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||P(`Cannot pass non-string to std::string`),r=n&&i?mt(t):t.length;var a=Z(4+r+1),o=a+4;if(x[a>>2]=r,n&&i)pt(t,o,r+1);else if(i)for(var s=0;s<r;++s){var c=t.charCodeAt(s);c>255&&(Q(o),P(`String has UTF-16 code units that do not fit in 8 bits`)),_[o+s]=c}else for(var s=0;s<r;++s)_[o+s]=t[s];return e!==null&&e.push(Q,a),a},argPackAdvance:I,readValueFromPointer:O,destructorFunction(e){Q(e)}})},vt=typeof TextDecoder<`u`?new TextDecoder(`utf-16le`):void 0,yt=(e,t)=>{for(var n=e,r=n>>1,i=r+t/2;!(r>=i)&&y[r];)++r;if(n=r<<1,n-e>32&&vt)return vt.decode(_.subarray(e,n));for(var a=``,o=0;!(o>=t/2);++o){var s=v[e+o*2>>1];if(s==0)break;a+=String.fromCharCode(s)}return a},bt=(e,t,n)=>{if(n??=2147483647,n<2)return 0;n-=2;for(var r=t,i=n<e.length*2?n/2:e.length,a=0;a<i;++a){var o=e.charCodeAt(a);v[t>>1]=o,t+=2}return v[t>>1]=0,t-r},xt=e=>e.length*2,St=(e,t)=>{for(var n=0,r=``;!(n>=t/4);){var i=b[e+n*4>>2];if(i==0)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|a&1023)}else r+=String.fromCharCode(i)}return r},Ct=(e,t,n)=>{if(n??=2147483647,n<4)return 0;for(var r=t,i=r+n-4,a=0;a<e.length;++a){var o=e.charCodeAt(a);if(o>=55296&&o<=57343){var s=e.charCodeAt(++a);o=65536+((o&1023)<<10)|s&1023}if(b[t>>2]=o,t+=4,t+4>i)break}return b[t>>2]=0,t-r},wt=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r>=55296&&r<=57343&&++n,t+=4}return t},Tt=(e,t,n)=>{n=N(n);var r,i,a,o;t===2?(r=yt,i=bt,o=xt,a=e=>y[e>>1]):t===4&&(r=St,i=Ct,o=wt,a=e=>x[e>>2]),F(e,{name:n,fromWireType:e=>{for(var n=x[e>>2],i,o=e+4,s=0;s<=n;++s){var c=e+4+s*t;if(s==n||a(c)==0){var l=c-o,u=r(o,l);i===void 0?i=u:(i+=`\0`,i+=u),o=c+t}}return Q(e),i},toWireType:(e,r)=>{typeof r!=`string`&&P(`Cannot pass non-string to C++ string type ${n}`);var a=o(r),s=Z(4+a+t);return x[s>>2]=a/t,i(r,s+4,a+t),e!==null&&e.push(Q,s),s},argPackAdvance:I,readValueFromPointer:O,destructorFunction(e){Q(e)}})},Et=(e,t,n,r,i,a)=>{E[e]={name:N(t),rawConstructor:W(n,r),rawDestructor:W(i,a),fields:[]}},Dt=(e,t,n,r,i,a,o,s,c,l)=>{E[e].fields.push({fieldName:N(t),getterReturnType:n,getter:W(r,i),getterContext:a,setterArgumentType:o,setter:W(s,c),setterContext:l})},Ot=(e,t)=>{t=N(t),F(e,{isVoid:!0,name:t,argPackAdvance:0,fromWireType:()=>void 0,toWireType:(e,t)=>void 0})},kt=1,At=()=>kt,jt=(e,t,n)=>_.copyWithin(e,t,t+n),Mt=(e,t,n)=>{var r=[],i=e.toWireType(r,n);return r.length&&(x[t>>2]=B.toHandle(r)),i},Nt=(e,t,n)=>(e=B.toValue(e),t=H(t,`emval::as`),Mt(t,n,e)),K=[],Pt=(e,t,n,r)=>(e=K[e],t=B.toValue(t),e(null,t,n,r)),Ft={},It=e=>{var t=Ft[e];return t===void 0?N(e):t},Lt=(e,t,n,r,i)=>(e=K[e],t=B.toValue(t),n=It(n),e(t,t[n],r,i)),Rt=e=>{var t=K.length;return K.push(e),t},zt=(e,t)=>{for(var n=Array(e),r=0;r<e;++r)n[r]=H(x[t+r*4>>2],`parameter `+r);return n},Bt=Reflect.construct,Vt=(e,t,n)=>{var r=zt(e,t),i=r.shift();e--;var a=Array(e);return Rt(V(`methodCaller<(${r.map(e=>e.name).join(`, `)}) => ${i.name}>`,(t,o,s,c)=>{for(var l=0,u=0;u<e;++u)a[u]=r[u].readValueFromPointer(c+l),l+=r[u].argPackAdvance;return Mt(i,s,n===1?Bt(o,a):o.apply(t,a))}))},Ht=(e,t)=>(e=B.toValue(e),t=B.toValue(t),B.toHandle(e[t])),Ut=()=>B.toHandle([]),Wt=e=>{e=B.toValue(e);for(var t=Array(e.length),n=0;n<e.length;n++)t[n]=e[n];return B.toHandle(t)},Gt=e=>B.toHandle(It(e)),Kt=e=>{D(B.toValue(e)),z(e)},qt=(e,t)=>{e=H(e,`_emval_take_value`);var n=e.readValueFromPointer(t);return B.toHandle(n)},Jt=()=>{me(``)},Yt=()=>Date.now(),Xt=()=>2147483648,Zt=()=>Xt(),Qt=()=>performance.now(),$t=e=>{var t=(e-m.buffer.byteLength+65535)/65536;try{return m.grow(t),ne(),1}catch{}},en=e=>{var t=_.length;e>>>=0;var n=Xt();if(e>n)return!1;for(var r=(e,t)=>e+(t-e%t)%t,i=1;i<=4;i*=2){var a=t*(1+.2/i);if(a=Math.min(a,e+100663296),$t(Math.min(n,r(Math.max(e,a),65536))))return!0}return!1},q={},tn=()=>l||`./this.program`,J=()=>{if(!J.strings){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(typeof navigator==`object`&&navigator.languages&&navigator.languages[0]||`C`).replace(`-`,`_`)+`.UTF-8`,_:tn()};for(var t in q)q[t]===void 0?delete e[t]:e[t]=q[t];var n=[];for(var t in e)n.push(`${t}=${e[t]}`);J.strings=n}return J.strings},nn=(e,t)=>{for(var n=0;n<e.length;++n)g[t++]=e.charCodeAt(n);g[t]=0},rn=(e,t)=>{var n=0;return J().forEach((r,i)=>{var a=t+n;x[e+i*4>>2]=a,nn(r,a),n+=r.length+1}),0},an=(e,t)=>{var n=J();x[e>>2]=n.length;var r=0;return n.forEach(e=>r+=e.length+1),x[t>>2]=r,0},Y=e=>e%4==0&&(e%100!=0||e%400==0),on=(e,t)=>{for(var n=0,r=0;r<=t;n+=e[r++]);return n},sn=[31,29,31,30,31,30,31,31,30,31,30,31],cn=[31,28,31,30,31,30,31,31,30,31,30,31],ln=(e,t)=>{for(var n=new Date(e.getTime());t>0;){var r=Y(n.getFullYear()),i=n.getMonth(),a=(r?sn:cn)[i];if(t>a-n.getDate())t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1));else return n.setDate(n.getDate()+t),n}return n};function un(e,t,n){var r=mt(e)+1,i=Array(r);return ft(e,i,0,i.length),i}var dn=(e,t)=>{g.set(e,t)},fn=(e,t,n,r)=>{var i=x[r+40>>2],a={tm_sec:b[r>>2],tm_min:b[r+4>>2],tm_hour:b[r+8>>2],tm_mday:b[r+12>>2],tm_mon:b[r+16>>2],tm_year:b[r+20>>2],tm_wday:b[r+24>>2],tm_yday:b[r+28>>2],tm_isdst:b[r+32>>2],tm_gmtoff:b[r+36>>2],tm_zone:i?G(i):``},o=G(n),s={"%c":`%a %b %d %H:%M:%S %Y`,"%D":`%m/%d/%y`,"%F":`%Y-%m-%d`,"%h":`%b`,"%r":`%I:%M:%S %p`,"%R":`%H:%M`,"%T":`%H:%M:%S`,"%x":`%m/%d/%y`,"%X":`%H:%M:%S`,"%Ec":`%c`,"%EC":`%C`,"%Ex":`%m/%d/%y`,"%EX":`%H:%M:%S`,"%Ey":`%y`,"%EY":`%Y`,"%Od":`%d`,"%Oe":`%e`,"%OH":`%H`,"%OI":`%I`,"%Om":`%m`,"%OM":`%M`,"%OS":`%S`,"%Ou":`%u`,"%OU":`%U`,"%OV":`%V`,"%Ow":`%w`,"%OW":`%W`,"%Oy":`%y`};for(var c in s)o=o.replace(new RegExp(c,`g`),s[c]);var l=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],u=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`];function d(e,t,n){for(var r=typeof e==`number`?e.toString():e||``;r.length<t;)r=n[0]+r;return r}function f(e,t){return d(e,t,`0`)}function p(e,t){function n(e){return e<0?-1:+(e>0)}var r;return(r=n(e.getFullYear()-t.getFullYear()))===0&&(r=n(e.getMonth()-t.getMonth()))===0&&(r=n(e.getDate()-t.getDate())),r}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=ln(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=m(n),a=m(r);return p(i,t)<=0?p(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var g={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>u[e.tm_mon].substring(0,3),"%B":e=>u[e.tm_mon],"%C":e=>f((e.tm_year+1900)/100|0,2),"%d":e=>f(e.tm_mday,2),"%e":e=>d(e.tm_mday,2,` `),"%g":e=>h(e).toString().substring(2),"%G":h,"%H":e=>f(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return t==0?t=12:t>12&&(t-=12),f(t,2)},"%j":e=>f(e.tm_mday+on(Y(e.tm_year+1900)?sn:cn,e.tm_mon-1),3),"%m":e=>f(e.tm_mon+1,2),"%M":e=>f(e.tm_min,2),"%n":()=>`
|
|
4
|
-
`,"%p":e=>e.tm_hour>=0&&e.tm_hour<12?`AM`:`PM`,"%S":e=>f(e.tm_sec,2),"%t":()=>` `,"%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return f(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,!t){t=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(n==4||n==5&&Y(e.tm_year%400-1))&&t++}else if(t==53){var r=(e.tm_wday+371-e.tm_yday)%7;r
|
|
4
|
+
`,"%p":e=>e.tm_hour>=0&&e.tm_hour<12?`AM`:`PM`,"%S":e=>f(e.tm_sec,2),"%t":()=>` `,"%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return f(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,!t){t=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(n==4||n==5&&Y(e.tm_year%400-1))&&t++}else if(t==53){var r=(e.tm_wday+371-e.tm_yday)%7;r==4||r==3&&Y(e.tm_year)||(t=1)}return f(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return f(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff,n=t>=0;return t=Math.abs(t)/60,t=t/60*100+t%60,(n?`+`:`-`)+String(`0000`+t).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>`%`};for(var c in o=o.replace(/%%/g,`\0\0`),g)o.includes(c)&&(o=o.replace(new RegExp(c,`g`),g[c](a)));o=o.replace(/\0\0/g,`%`);var _=un(o);return _.length>t?0:(dn(_,e),_.length-1)},pn=(e,t,n,r,i)=>fn(e,t,n,r);Ee=r.InternalError=class extends Error{constructor(e){super(e),this.name=`InternalError`}},Ae(),Me=r.BindingError=class extends Error{constructor(e){super(e),this.name=`BindingError`}},Le(),it=r.UnboundTypeError=rt(Error,`UnboundTypeError`);var mn={a:Te,k:Oe,z:ke,w:Pe,t:Fe,M:ze,r:Ue,j:Ge,v:qe,e:st,m:lt,f:ut,L:dt,u:_t,s:Tt,l:Et,c:Dt,x:Ot,F:At,J:jt,g:Nt,y:Pt,p:Lt,b:z,n:Vt,h:Ht,q:Ut,K:Wt,o:Gt,d:Kt,i:qt,E:Jt,G:Yt,A:Zt,I:Qt,H:en,C:rn,D:an,B:pn},X=Se(),hn=e=>(hn=X.P)(e),Z=r._malloc=e=>(Z=r._malloc=X.R)(e),Q=r._free=e=>(Q=r._free=X.S)(e),gn=e=>(gn=X.T)(e);r.dynCall_viijii=(e,t,n,i,a,o,s)=>(r.dynCall_viijii=X.U)(e,t,n,i,a,o,s),r.dynCall_iiiiij=(e,t,n,i,a,o,s)=>(r.dynCall_iiiiij=X.V)(e,t,n,i,a,o,s),r.dynCall_iiiiijj=(e,t,n,i,a,o,s,c,l)=>(r.dynCall_iiiiijj=X.W)(e,t,n,i,a,o,s,c,l),r.dynCall_iiiiiijj=(e,t,n,i,a,o,s,c,l,u)=>(r.dynCall_iiiiiijj=X.X)(e,t,n,i,a,o,s,c,l,u);var $;C=function e(){$||_n(),$||(C=e)};function _n(){if(S>0||(oe(),S>0))return;function e(){$||($=!0,r.calledRun=!0,!h&&(se(),i(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),ce()))}r.setStatus?(r.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){r.setStatus(``)},1),e()},1)):e()}if(r.preInit)for(typeof r.preInit==`function`&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return _n(),n=o,n})})();export{e as default};
|
package/config.d.ts
CHANGED
|
@@ -373,6 +373,8 @@ export interface RequestConfig {
|
|
|
373
373
|
* Maximum number of characters allowed in the URL for HTTP GET requests made by
|
|
374
374
|
* [request](https://developers.arcgis.com/javascript/latest/references/core/request/). If this limit is exceeded, HTTP POST method will be used.
|
|
375
375
|
*
|
|
376
|
+
* Set to `0` to skip URL-length checks.
|
|
377
|
+
*
|
|
376
378
|
* @default 2000
|
|
377
379
|
*/
|
|
378
380
|
maxUrlLength: number;
|
package/config.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@6.0.0-next.
|
|
2
|
+
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@6.0.0-next.16/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
|
package/core/ObjectPool.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
|
|
2
|
+
import has from"./has.js";const e=()=>!!has(`esri-tests-disable-memory-pools`);function t(e){return e?.release&&typeof e.release==`function`}function n(e){return e?.acquire&&typeof e.acquire==`function`}class r{constructor(e,t,n,r=1,i=0){this._creator=e,this._acquireFunction=t,this._releaseFunction=n,this.allocationSize=r,this._pool=Array(i),this._initialSize=i;for(let e=0;e<i;e++)this._pool[e]=this._creator();this.allocationSize=Math.max(r,1)}destroy(){this.prune(0)}acquire(...t){let r;if(e())r=this._creator();else{if(this._pool.length===0){let e=this.allocationSize;for(let t=0;t<e;t++)this._pool[t]=this._creator()}r=this._pool.pop()}return this._acquireFunction?this._acquireFunction(r,...t):n(r)&&r.acquire(...t),r}release(n){n&&!e()&&(this._releaseFunction?this._releaseFunction(n):t(n)&&n.release(),this._pool.push(n))}prune(e=this._initialSize){if(!(e>=this._pool.length)){for(let t=e;t<this._pool.length;++t){let e=this._pool[t];this._dispose(e)}this._pool.length=e}}_dispose(e){e.dispose&&typeof e.dispose==`function`&&e.dispose()}}export{r as default};
|
package/core/PooledArray.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{PositionHint as e,indexOf as t,removeUnorderedMany as n}from"./arrayUtils.js";import{toConst as r}from"./compilerUtils.js";import{sort as i,iterableSort as a}from"./heapSort.js";class o{constructor(t){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new e,t&&(t.initialSize&&(this.data=Array(t.initialSize)),t.allocator&&(this._allocator=t.allocator),t.deallocator!==void 0&&(this._deallocator=t.deallocator),t.shrink&&(this._shrink=()=>s(this)))}toArray(){return this.data.slice(0,this.length)}filter(e){let t=[];for(let n=0;n<this._length;n++){let r=this.data[n];e(r)&&t.push(r)}return t}at(e){if(e=Math.trunc(e)||0,e<0&&(e+=this._length),!(e<0||e>=this._length))return this.data[e]}includes(e,t){let n=this.data.indexOf(e,t);return n!==-1&&n<this.length}get length(){return this._length}set length(e){if(e>this._length){if(this._allocator){for(;this._length<e;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=e}else{if(this._deallocator)for(let t=e;t<this._length;++t)this.data[t]=this._deallocator(this.data[t]);this._length=e,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(e){this.data[this._length++]=e}pushArray(e,t=e.length){for(let n=0;n<t;n++)this.data[this._length++]=e[n]}pushAll(e){for(let t of e)this.data[this._length++]=t}fill(e,t){for(let n=0;n<t;n++)this.data[this._length++]=e}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));let e=this.data[this._length];return++this._length,e}unshift(e){this.data.unshift(e),this._length++,s(this)}pop(){if(this.length===0)return;let e=this.data[this.length-1];return--this.length,this._shrink(),e}remove(e){let n=t(this.data,r(e),this.length,this._hint);if(n!==-1)return this.data.splice(n,1),--this.length,e}removeUnordered(e){return this.removeUnorderedIndex(t(this.data,r(e),this.length,this._hint))}removeUnorderedIndex(e){if(!(e>=this.length||e<0))return this.swapElements(e,this.length-1),this.pop()}removeUnorderedMany(e,t=e.length,r){this.length=n(this.data,e,this.length,t,this._hint,r),this._shrink()}front(){if(this.length!==0)return this.data[0]}back(){if(this.length!==0)return this.data[this.length-1]}swapElements(e,t){if(e>=this.length||t>=this.length||e===t)return;let n=this.data[e];this.data[e]=this.data[t],this.data[t]=n}sort(e){i(this.data,0,this.length,e)}iterableSort(e){return a(this.data,0,this.length,e)}some(e,t){for(let n=0;n<this.length;++n)if(e.call(t,this.data[n],n,this.data))return!0;return!1}find(e,t){let{data:n,length:r}=this;for(let i=0;i<r;++i)if(e.call(t,n[i]))return n[i]}filterInPlace(e,t){let n=0;for(let r=0;r<this._length;++r){let i=this.data[r];e.call(t,i,r,this.data)&&(this.data[r]=this.data[n],this.data[n]=i,n++)}if(this._deallocator)for(let e=n;e<this._length;e++)this.data[e]=this._deallocator(this.data[e]);return this._length=n,this._shrink(),this}forAll(e,t){let{data:n,length:r}=this;for(let i=0;i<r;++i)e.call(t,n[i],i,n)}forEach(e,t){this.data.slice(0,this.length).forEach(e,t)}map(e,t){let n=Array(this.length);for(let r=0;r<this.length;++r)n[r]=e.call(t,this.data[r],r,this.data);return n}reduce(e,t){let n=t;for(let t=0;t<this.length;++t)n=e(n,this.data[t],t,this.data);return n}has(e){let t=this.length,n=this.data;for(let r=0;r<t;++r)if(n[r]===e)return!0;return!1}*[Symbol.iterator](){for(let e=0;e<this.length;++e)yield this.data[e]}}function s(e){e.data.length>1.5*e.length&&(e.data.length=Math.floor(e.length*1.1))}export{o as default};
|
|
2
|
+
import{PositionHint as e,indexOf as t,removeUnorderedMany as n}from"./arrayUtils.js";import{toConst as r}from"./compilerUtils.js";import{sort as i,iterableSort as a}from"./heapSort.js";class o{constructor(t){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new e,t&&(t.initialSize&&(this.data=Array(t.initialSize)),t.allocator&&(this._allocator=t.allocator),t.deallocator!==void 0&&(this._deallocator=t.deallocator),t.shrink&&(this._shrink=()=>s(this)))}toArray(){return this.data.slice(0,this.length)}filter(e){let t=[];for(let n=0;n<this._length;n++){let r=this.data[n];e(r)&&t.push(r)}return t}at(e){if(e=Math.trunc(e)||0,e<0&&(e+=this._length),!(e<0||e>=this._length))return this.data[e]}includes(e,t){let n=this.data.indexOf(e,t);return n!==-1&&n<this.length}get length(){return this._length}set length(e){if(e>this._length){if(this._allocator){for(;this._length<e;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=e}else{if(this._deallocator)for(let t=e;t<this._length;++t)this.data[t]=this._deallocator(this.data[t]);this._length=e,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(e){this.data[this._length++]=e}pushArray(e,t=e.length){for(let n=0;n<t;n++)this.data[this._length++]=e[n]}pushAll(e){for(let t of e)this.data[this._length++]=t}fill(e,t){for(let n=0;n<t;n++)this.data[this._length++]=e}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));let e=this.data[this._length];return++this._length,e}unshift(e){this.data.unshift(e),this._length++,s(this)}pop(){if(this.length===0)return;let e=this.data[this.length-1];return--this.length,this._shrink(),e}remove(e){let n=t(this.data,r(e),this.length,this._hint);if(n!==-1)return this.data.splice(n,1),--this.length,e}removeUnordered(e){return this.removeUnorderedIndex(t(this.data,r(e),this.length,this._hint))}removeUnorderedIndex(e){if(!(e>=this.length||e<0))return this.swapElements(e,this.length-1),this.pop()}removeUnorderedMany(e,t=e.length,r){this.length=n(this.data,e,this.length,t,this._hint,r),this._shrink()}front(){if(this.length!==0)return this.data[0]}back(){if(this.length!==0)return this.data[this.length-1]}swapElements(e,t){if(e>=this.length||t>=this.length||e===t)return;let n=this.data[e];this.data[e]=this.data[t],this.data[t]=n}sort(e){i(this.data,0,this.length,e)}stableSort(e){let t=this.toArray().sort(e);for(let e=0;e<t.length;++e)this.data[e]=t[e]}iterableSort(e){return a(this.data,0,this.length,e)}some(e,t){for(let n=0;n<this.length;++n)if(e.call(t,this.data[n],n,this.data))return!0;return!1}find(e,t){let{data:n,length:r}=this;for(let i=0;i<r;++i)if(e.call(t,n[i]))return n[i]}filterInPlace(e,t){let n=0;for(let r=0;r<this._length;++r){let i=this.data[r];e.call(t,i,r,this.data)&&(this.data[r]=this.data[n],this.data[n]=i,n++)}if(this._deallocator)for(let e=n;e<this._length;e++)this.data[e]=this._deallocator(this.data[e]);return this._length=n,this._shrink(),this}forAll(e,t){let{data:n,length:r}=this;for(let i=0;i<r;++i)e.call(t,n[i],i,n)}forEach(e,t){this.data.slice(0,this.length).forEach(e,t)}map(e,t){let n=Array(this.length);for(let r=0;r<this.length;++r)n[r]=e.call(t,this.data[r],r,this.data);return n}reduce(e,t){let n=t;for(let t=0;t<this.length;++t)n=e(n,this.data[t],t,this.data);return n}has(e){let t=this.length,n=this.data;for(let r=0;r<t;++r)if(n[r]===e)return!0;return!1}*[Symbol.iterator](){for(let e=0;e<this.length;++e)yield this.data[e]}}function s(e){e.data.length>1.5*e.length&&(e.data.length=Math.floor(e.length*1.1))}export{o as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{clone as e}from"../lang.js";class t{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(n){let r=new t;return this._values.forEach((t,i)=>{
|
|
2
|
+
import{clone as e}from"../lang.js";class t{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(n){let r=new t;return this._values.forEach((t,i)=>{n&&n.has(i)||r.set(i,e(t.value),t.origin)}),r}get(e,t){t=this._normalizeOrigin(t);let n=this._values.get(e);return t==null||n?.origin===t?n?.value:void 0}originOf(e){return this._values.get(e)?.origin??7}keys(e){e=this._normalizeOrigin(e);let t=[...this._values.keys()];return e==null?t:t.filter(t=>this._values.get(t)?.origin===e)}set(e,t,r){if(r=this._normalizeOrigin(r),r===0){let t=this._values.get(e);if(t?.origin!=null&&t.origin>r)return}this._values.set(e,new n(t,r))}delete(e,t){t=this._normalizeOrigin(t),(t==null||this._values.get(e)?.origin===t)&&this._values.delete(e)}has(e,t){return t=this._normalizeOrigin(t),t==null?this._values.has(e):this._values.get(e)?.origin===t}isAtOrigin(e,t){return t=this._normalizeOrigin(t),this.has(e,t)&&this.originOf(e)===t}isBelowOrigin(e,t){return t=this._normalizeOrigin(t),!this.has(e)||this.originOf(e)<t}forEach(e){this._values.forEach(({value:t},n)=>e(t,n))}_normalizeOrigin(e){if(e!=null)return e===0?e:7}}class n{constructor(e,t){this.value=e,this.origin=t}}export{t as DefaultsStore};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{clone as e}from"../lang.js";import{originIdNum as t}from"./PropertyOrigin.js";class n{constructor(){this._propertyOriginMap=new Map,this._originStores=Array(t),this._values=new Map,this.multipleOriginsSupported=!0}clone(r){let i=new n,a=this._originStores[0];a&&a.forEach((t,n)=>{i.set(n,e(t),0)});for(let n=2;n<t;n++){let t=this._originStores[n];t&&t.forEach((t,a)=>{
|
|
2
|
+
import{clone as e}from"../lang.js";import{originIdNum as t}from"./PropertyOrigin.js";class n{constructor(){this._propertyOriginMap=new Map,this._originStores=Array(t),this._values=new Map,this.multipleOriginsSupported=!0}clone(r){let i=new n,a=this._originStores[0];a&&a.forEach((t,n)=>{i.set(n,e(t),0)});for(let n=2;n<t;n++){let t=this._originStores[n];t&&t.forEach((t,a)=>{r&&r.has(a)||i.set(a,e(t),n)})}return i}get(e,t){let n=t===void 0?this._values:this._originStores[t];return n?n.get(e):void 0}keys(e){let t=e==null?this._values:this._originStores[e];return t?[...t.keys()]:[]}set(e,t,n=7){let r=this._originStores[n];if(r||(r=new Map,this._originStores[n]=r),r.set(e,t),!this._values.has(e)||this._propertyOriginMap.get(e)<=n){let r=this._values.get(e);return this._values.set(e,t),this._propertyOriginMap.set(e,n),r!==t}return!1}delete(e,t=7){let n=this._originStores[t];if(!n)return;let r=n.get(e);if(n.delete(e),this._values.has(e)&&this._propertyOriginMap.get(e)===t){this._values.delete(e);for(let n=t-1;n>=0;n--){let t=this._originStores[n];if(t&&t.has(e)){this._values.set(e,t.get(e)),this._propertyOriginMap.set(e,n);break}}}return r}has(e,t){let n=t===void 0?this._values:this._originStores[t];return n?n.has(e):!1}revert(e,t){for(;t>0&&!this.has(e,t);)--t;let n=this._originStores[t]?.get(e),r=this._values.get(e);return this._values.set(e,n),this._propertyOriginMap.set(e,t),r!==n}originOf(e){return this._propertyOriginMap.get(e)||0}isAtOrigin(e,t){return this.has(e,t)&&this.originOf(e)===t}isBelowOrigin(e,t){return!this.has(e)||this.originOf(e)<t}forEach(e){this._values.forEach(e)}}export{n as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{clone as e}from"../lang.js";class t{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(n){let r=new t;return this._values.forEach((t,i)=>{
|
|
2
|
+
import{clone as e}from"../lang.js";class t{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(n){let r=new t;return this._values.forEach((t,i)=>{n&&n.has(i)||r.set(i,e(t))}),r}get(e){return this._values.get(e)}originOf(){return 7}keys(){return[...this._values.keys()]}set(e,t){this._values.set(e,t)}delete(e){this._values.delete(e)}has(e){return this._values.has(e)}isAtOrigin(e,t){return this.has(e)}isBelowOrigin(e,t){return!this.has(e)}forEach(e){this._values.forEach(e)}}export{t as Store};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{propertyJSONMeta as e}from"./property.js";function t(t,n,r){let i,a;return n===void 0||Array.isArray(n)?(a=t,r=n,i=[void 0]):(a=n,i=Array.isArray(t)?t:[t]),(t,n)=>{let o=t.constructor.prototype;i.forEach(i=>{let s=e(t,i,a);
|
|
2
|
+
import{propertyJSONMeta as e}from"./property.js";function t(t,n,r){let i,a;return n===void 0||Array.isArray(n)?(a=t,r=n,i=[void 0]):(a=n,i=Array.isArray(t)?t:[t]),(t,n)=>{let o=t.constructor.prototype;i.forEach(i=>{let s=e(t,i,a);s.read&&typeof s.read==`object`||(s.read={}),s.read.reader=o[n],r&&(s.read.source=(s.read.source||[]).concat(r))})}}export{t as reader};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{propertyJSONMeta as e}from"./property.js";function t(t,n,r){let i,a;return n===void 0?(a=t,i=[void 0]):typeof n==`string`?(a=n,i=Array.isArray(t)?t:[t]):(a=t,i=[void 0],r=n),(t,n)=>{let o=t.constructor.prototype;for(let s of i){let i=e(t,s,a);
|
|
2
|
+
import{propertyJSONMeta as e}from"./property.js";function t(t,n,r){let i,a;return n===void 0?(a=t,i=[void 0]):typeof n==`string`?(a=n,i=Array.isArray(t)?t:[t]):(a=t,i=[void 0],r=n),(t,n)=>{let o=t.constructor.prototype;for(let s of i){let i=e(t,s,a);i.write&&typeof i.write==`object`||(i.write={}),r&&(i.write.target=r),i.write.writer=o[n]}}}export{t as writer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{TrackingTarget as e}from"./TrackingTarget.js";class t extends e{constructor(e){super(new n(e)),this._observer&&r.register(this,new WeakRef(this._observer),this)}destroy(){this._observer&&r.unregister(this
|
|
2
|
+
import{TrackingTarget as e}from"./TrackingTarget.js";class t extends e{constructor(e){super(new n(e)),this._observer&&r.register(this,new WeakRef(this._observer),this)}destroy(){this._observer&&r.unregister(this),this.accessed?.clear(),this.clear(),this._observer?.destroy()}}class n{constructor(e){this._notify=e,this._invalidCount=0,this.destroyed=!1}onInvalidated(){this._invalidCount++}onCommitted(){if(this.destroyed)return;let e=this._invalidCount;e===1?(this._invalidCount=0,this._notify()):this._invalidCount=e>0?e-1:0}destroy(){this.destroyed=!0,this._notify=i}}const r=new FinalizationRegistry(e=>{e.deref()?.destroy()});function i(){}export{t as SimpleTrackingTarget};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../Error.js";import t from"../Logger.js";import{removeMaybe as n}from"../maybe.js";import{onAbortOrThrow as r,isPromiseLike as i,isAbortError as a}from"../promiseUtils.js";import{staticWorkerMessages as o}from"./staticWorkerMessages.js";import{MessageType as s,receiveMessage as c,toInvokeError as l,postMessage as u,newJobId as d}from"./utils.js";import{createWorker as f}from"./workerFactory.js";const{ABORT:p,INVOKE:m,OPEN:h,OPENED:g,RESPONSE:_}=s;class v{static async create(e){let t=await f();return new v(t,e)}constructor(e,n){this._outJobs=new Map,this._inJobs=new Map,this.worker=e,this.id=n,e.addEventListener(`message`,this._onMessage.bind(this)),e.addEventListener(`error`,e=>{e.preventDefault(),t.getLogger(`esri.core.workers.WorkerOwner`).error(e)})}terminate(){this.worker.terminate()}async open(e,t={}){let{signal:
|
|
2
|
+
import e from"../Error.js";import t from"../Logger.js";import{removeMaybe as n}from"../maybe.js";import{onAbortOrThrow as r,isPromiseLike as i,isAbortError as a}from"../promiseUtils.js";import{staticWorkerMessages as o}from"./staticWorkerMessages.js";import{MessageType as s,receiveMessage as c,toInvokeError as l,postMessage as u,newJobId as d}from"./utils.js";import{createWorker as f}from"./workerFactory.js";const{ABORT:p,INVOKE:m,OPEN:h,OPENED:g,RESPONSE:_}=s;class v{static async create(e){let t=await f();return new v(t,e)}constructor(e,n){this._outJobs=new Map,this._inJobs=new Map,this.worker=e,this.id=n,e.addEventListener(`message`,this._onMessage.bind(this)),e.addEventListener(`error`,e=>{e.preventDefault(),t.getLogger(`esri.core.workers.WorkerOwner`).error(e)})}terminate(){this.worker.terminate()}async open(e,t,n={}){let{signal:i}=n,a=d();return new Promise((n,o)=>{let s={resolve:n,reject:o,abortHandle:r(i,()=>{this._outJobs.delete(a),this._post({type:p,jobId:a})})};this._outJobs.set(a,s),this._post({type:h,jobId:a,isESM:t,modulePath:e})})}_onMessage(e){let t=c(e);if(t)switch(t.type){case g:this._onOpenedMessage(t);break;case _:this._onResponseMessage(t);break;case p:this._onAbortMessage(t);break;case m:this._onInvokeMessage(t)}}_onAbortMessage(e){let t=this._inJobs,n=e.jobId,r=t.get(n);r&&(r.controller&&r.controller.abort(),t.delete(n))}_onInvokeMessage(e){let{methodName:t,jobId:n,data:r,abortable:s}=e,c=s?new AbortController:null,u=this._inJobs,d=o[t],f;try{if(typeof d!=`function`)throw TypeError(`${t} is not a function`);f=d.call(null,r,{signal:c?c.signal:null})}catch(e){this._post({type:_,jobId:n,error:l(e)});return}i(f)?(u.set(n,{controller:c,promise:f}),f.then(e=>{u.has(n)&&(u.delete(n),this._post({type:_,jobId:n},e))},e=>{u.has(n)&&(u.delete(n),e||={message:`Error encountered at method`+t},a(e)||this._post({type:_,jobId:n,error:l(e||{message:`Error encountered at method ${t}`})}))})):this._post({type:_,jobId:n},f)}_onOpenedMessage(e){let{jobId:t,data:r}=e,i=this._outJobs.get(t);i&&(this._outJobs.delete(t),n(i.abortHandle),i.resolve(r))}_onResponseMessage(t){let{jobId:r,error:i,data:a}=t,o=this._outJobs.get(r);o&&(this._outJobs.delete(r),n(o.abortHandle),i?o.reject(e.fromJSON(JSON.parse(i))):o.resolve(a))}_post(e,t,n){return u(this.worker,e,t,n)}}export{v as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{getAssetUrl as e}from"../../assets.js";import t from"../../config.js";import{getLocale as n}from"../../intl.js";import{fullVersion as r}from"../../kernel.js";import has from"../has.js";import i from"../Logger.js";import{makeAbsolute as a}from"../urlUtils.js";import{loaderConfig as o}from"./loaderConfig.js";import{receiveMessage as s,MessageType as c}from"./utils.js";import l from"./WorkerFallback.js";const u=()=>i.getLogger(`esri.core.workers.workerFactory`),{HANDSHAKE:d}=c;let f,p;const m=`Failed to create Worker. Fallback to execute module in main thread`;async function h(){if(!has(`esri-workers`))return g(new l);if(!f&&!p)try{let e='"use strict";let globalId=0;const outgoing=new Map,configuration={CONFIGURATION};self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}self.invokeStaticMessage=(e,o,r)=>{const t=r&&r.signal,n=globalId++;let s=null;return new Promise((r,i)=>{if(t){if(t.aborted)return i(createAbortError());s=()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))},t.addEventListener("abort",s)}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}).finally(()=>{t&&t.removeEventListener("abort",s)})};let workerVersionChecked=!1;function checkWorkerVersion(e){if(!workerVersionChecked&&e.kernelInfo){workerVersionChecked=!0;const{fullVersion:o}=configuration.kernelInfo,{fullVersion:r,version:t}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==r&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://esriurl.com/using-local-assets.\\nModules version: ${o}\\nAssets version: ${r??t}\\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let t;function n(e){const o=t.connect(e);self.postMessage({type:2,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],e=>{t=e.default||e,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(e=>e||new Promise(e=>{require([o.modulePath],e)})).then(n)}):"System"in self&&"function"==typeof System.import?System.import(workerPath).then(e=>(t=e.default,checkWorkerVersion(t),t.loadWorker(o.modulePath))).then(e=>e||System.import(o.modulePath)).then(n):esriConfig.workers.useDynamicImport?import(workerPath).then(e=>{t=e.default||e,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(n)}):(self.RemoteClient||importScripts(workerPath),t=self.RemoteClient.default||self.RemoteClient,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(n));break;case 3:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.split(`{CONFIGURATION}`).join(_());f=URL.createObjectURL(new Blob([e],{type:`text/javascript`}))}catch(e){p=e||{}}let e;if(!f)u().warn(m,p),e=new l;else try{e=new Worker(f,{name:`esri-worker-${v++}`})}catch{u().warn(m,p),e=new l}return g(e)}async function g(e){return new Promise(t=>{function n(i){let a=s(i);a&&a.type===d&&(e.removeEventListener(`message`,n),e.removeEventListener(`error`,r),t(e))}function r(t){t.preventDefault(),e.removeEventListener(`message`,n),e.removeEventListener(`error`,r),u().warn(`Failed to create Worker. Fallback to execute module in main thread`,t),e=new l,e.addEventListener(`message`,n),e.addEventListener(`error`,r)}e.addEventListener(`message`,n),e.addEventListener(`error`,r)})}function _(){let i;if(t.default!=null){let e={...t};delete e.default,i=JSON.parse(JSON.stringify(e))}else i=JSON.parse(JSON.stringify(t));i.assetsPath=a(i.assetsPath),i.defaultAssetsPath=i.defaultAssetsPath?a(i.defaultAssetsPath):void 0,i.request.interceptors=[],i.log.interceptors=[],i.locale=n(),i.has={"esri-csp-restrictions":has(`esri-csp-restrictions`),"esri-2d-debug":!1,"esri-2d-update-debug":has(`esri-2d-update-debug`),"esri-2d-annotation-dimension-debug":has(`esri-2d-annotation-dimension-debug`),"esri-2d-log-updating":!1,"esri-2d-complex-shaping":has(`esri-2d-complex-shaping`),"esri-2d-force-complex-shaping":has(`esri-2d-force-complex-shaping`),"esri-2d-stabilize-glyphs":has(`esri-2d-stabilize-glyphs`),"featurelayer-pbf":has(`featurelayer-pbf`),"featurelayer-snapping-density-sample-interval":has(`featurelayer-snapping-density-sample-interval`),"featurelayer-snapping-density-max-vertices-per-feature":has(`featurelayer-snapping-density-max-vertices-per-feature`),"featurelayer-snapping-density-max-distance":has(`featurelayer-snapping-density-max-distance`),"featurelayer-simplify-thresholds":has(`featurelayer-simplify-thresholds`),"featurelayer-simplify-payload-size-factors":has(`featurelayer-simplify-payload-size-factors`),"featurelayer-simplify-mobile-factor":has(`featurelayer-simplify-mobile-factor`),"featurelayer-query-max-depth":has(`featurelayer-query-max-depth`),"featurelayer-query-max-page-size":has(`featurelayer-query-max-page-size`),"featurelayer-query-tile-max-features":has(`featurelayer-query-tile-max-features`),"featurelayer-query-tile-concurrency":has(`featurelayer-query-tile-concurrency`),"featurelayer-query-pausing-enabled":has(`featurelayer-query-pausing-enabled`),"featurelayer-snapshot-concurrency":has(`featurelayer-snapshot-concurrency`),"featurelayer-snapshot-enabled":has(`featurelayer-snapshot-enabled`),"featurelayer-pixel-buffering-enabled":has(`featurelayer-pixel-buffering-enabled`),"parquetlayer-full-query-feature-count":has(`parquetlayer-full-query-feature-count`),"parquetlayer-cache-enabled":has(`parquetlayer-cache-enabled`),"parquetlayer-legacy-field-overrides-enabled":has(`parquetlayer-legacy-field-overrides-enabled`),"esri-atomics":has(`esri-atomics`),"esri-shared-array-buffer":has(`esri-shared-array-buffer`),"esri-tiles-debug":has(`esri-tiles-debug`),"esri-workers-arraybuffer-transfer":has(`esri-workers-arraybuffer-transfer`),"feature-polyline-generalization-factor":has(`feature-polyline-generalization-factor`),"host-webworker":1},i.workers.loaderUrl&&(i.workers.loaderUrl=a(i.workers.loaderUrl)),i.workers.workerPath?i.workers.workerPath=a(i.workers.workerPath):i.workers.workerPath=a(e(`esri/core/workers/RemoteClient.js`)),i.workers.useDynamicImport=has(`esri-esbuild-build`);let s=t.workers.loaderConfig,c=o({baseUrl:s?.baseUrl,locale:n(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...s?.has},map:{...s?.map},paths:{...s?.paths},packages:s?.packages||[]});return JSON.stringify({esriConfig:i,loaderConfig:c,kernelInfo:{fullVersion:r}})}let v=0;export{h as createWorker};
|
|
2
|
+
import{getAssetUrl as e}from"../../assets.js";import t from"../../config.js";import{getLocale as n}from"../../intl.js";import{fullVersion as r}from"../../kernel.js";import has from"../has.js";import i from"../Logger.js";import{makeAbsolute as a}from"../urlUtils.js";import{loaderConfig as o}from"./loaderConfig.js";import{receiveMessage as s,MessageType as c}from"./utils.js";import l from"./WorkerFallback.js";const u=()=>i.getLogger(`esri.core.workers.workerFactory`),{HANDSHAKE:d}=c;let f,p;const m=`Failed to create Worker. Fallback to execute module in main thread`;async function h(){if(!has(`esri-workers`))return g(new l);if(!f&&!p)try{let e='"use strict";let globalId=0;const outgoing=new Map,configuration={CONFIGURATION};self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}self.invokeStaticMessage=(e,o,r)=>{const t=r&&r.signal,n=globalId++;let s=null;return new Promise((r,i)=>{if(t){if(t.aborted)return i(createAbortError());s=()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))},t.addEventListener("abort",s)}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}).finally(()=>{t&&t.removeEventListener("abort",s)})};let workerVersionChecked=!1;function checkWorkerVersion(e){if(!workerVersionChecked&&e.kernelInfo){workerVersionChecked=!0;const{fullVersion:o}=configuration.kernelInfo,{fullVersion:r,version:t}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==r&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://esriurl.com/using-local-assets.\\nModules version: ${o}\\nAssets version: ${r??t}\\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let t;function n(e){const o=t.connect(e);self.postMessage({type:2,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],e=>{t=e.default||e,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(e=>e||o.isESM&&import(o.modulePath)||new Promise(e=>{require([o.modulePath],e)})).then(n)}):"System"in self&&"function"==typeof System.import?System.import(workerPath).then(e=>(t=e.default,checkWorkerVersion(t),t.loadWorker(o.modulePath))).then(e=>e||o.isESM&&import(o.modulePath)||System.import(o.modulePath)).then(n):esriConfig.workers.useDynamicImport?import(workerPath).then(e=>{t=e.default||e,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(n)}):(self.RemoteClient||importScripts(workerPath),t=self.RemoteClient.default||self.RemoteClient,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(n));break;case 3:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.split(`{CONFIGURATION}`).join(_());f=URL.createObjectURL(new Blob([e],{type:`text/javascript`}))}catch(e){p=e||{}}let e;if(!f)u().warn(m,p),e=new l;else try{e=new Worker(f,{name:`esri-worker-${v++}`})}catch{u().warn(m,p),e=new l}return g(e)}async function g(e){return new Promise(t=>{function n(i){let a=s(i);a&&a.type===d&&(e.removeEventListener(`message`,n),e.removeEventListener(`error`,r),t(e))}function r(t){t.preventDefault(),e.removeEventListener(`message`,n),e.removeEventListener(`error`,r),u().warn(`Failed to create Worker. Fallback to execute module in main thread`,t),e=new l,e.addEventListener(`message`,n),e.addEventListener(`error`,r)}e.addEventListener(`message`,n),e.addEventListener(`error`,r)})}function _(){let i;if(t.default!=null){let e={...t};delete e.default,i=JSON.parse(JSON.stringify(e))}else i=JSON.parse(JSON.stringify(t));i.assetsPath=a(i.assetsPath),i.defaultAssetsPath=i.defaultAssetsPath?a(i.defaultAssetsPath):void 0,i.request.interceptors=[],i.log.interceptors=[],i.locale=n(),i.has={"esri-csp-restrictions":has(`esri-csp-restrictions`),"esri-2d-debug":!1,"esri-2d-update-debug":has(`esri-2d-update-debug`),"esri-2d-annotation-dimension-debug":has(`esri-2d-annotation-dimension-debug`),"esri-2d-log-updating":!1,"esri-2d-complex-shaping":has(`esri-2d-complex-shaping`),"esri-2d-force-complex-shaping":has(`esri-2d-force-complex-shaping`),"esri-2d-stabilize-glyphs":has(`esri-2d-stabilize-glyphs`),"featurelayer-pbf":has(`featurelayer-pbf`),"featurelayer-snapping-density-sample-interval":has(`featurelayer-snapping-density-sample-interval`),"featurelayer-snapping-density-max-vertices-per-feature":has(`featurelayer-snapping-density-max-vertices-per-feature`),"featurelayer-snapping-density-max-distance":has(`featurelayer-snapping-density-max-distance`),"featurelayer-simplify-thresholds":has(`featurelayer-simplify-thresholds`),"featurelayer-simplify-payload-size-factors":has(`featurelayer-simplify-payload-size-factors`),"featurelayer-simplify-mobile-factor":has(`featurelayer-simplify-mobile-factor`),"featurelayer-query-max-depth":has(`featurelayer-query-max-depth`),"featurelayer-query-max-page-size":has(`featurelayer-query-max-page-size`),"featurelayer-query-tile-max-features":has(`featurelayer-query-tile-max-features`),"featurelayer-query-tile-concurrency":has(`featurelayer-query-tile-concurrency`),"featurelayer-query-pausing-enabled":has(`featurelayer-query-pausing-enabled`),"featurelayer-snapshot-concurrency":has(`featurelayer-snapshot-concurrency`),"featurelayer-snapshot-enabled":has(`featurelayer-snapshot-enabled`),"featurelayer-pixel-buffering-enabled":has(`featurelayer-pixel-buffering-enabled`),"parquetlayer-full-query-feature-count":has(`parquetlayer-full-query-feature-count`),"parquetlayer-cache-enabled":has(`parquetlayer-cache-enabled`),"parquetlayer-legacy-field-overrides-enabled":has(`parquetlayer-legacy-field-overrides-enabled`),"esri-atomics":has(`esri-atomics`),"esri-shared-array-buffer":has(`esri-shared-array-buffer`),"esri-tiles-debug":has(`esri-tiles-debug`),"esri-workers-arraybuffer-transfer":has(`esri-workers-arraybuffer-transfer`),"feature-polyline-generalization-factor":has(`feature-polyline-generalization-factor`),"host-webworker":1},i.workers.loaderUrl&&(i.workers.loaderUrl=a(i.workers.loaderUrl)),i.workers.workerPath?i.workers.workerPath=a(i.workers.workerPath):i.workers.workerPath=a(e(`esri/core/workers/RemoteClient.js`)),i.workers.useDynamicImport=has(`esri-esbuild-build`);let s=t.workers.loaderConfig,c=o({baseUrl:s?.baseUrl,locale:n(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...s?.has},map:{...s?.map},paths:{...s?.paths},packages:s?.packages||[]});return JSON.stringify({esriConfig:i,loaderConfig:c,kernelInfo:{fullVersion:r}})}let v=0;export{h as createWorker};
|
package/core/workers/workers.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../Error.js";import{handlesGroup as
|
|
2
|
+
import{deprecatedPropertyValue as e}from"../deprecate.js";import t from"../Error.js";import{handlesGroup as n}from"../handleUtils.js";import has from"../has.js";import r from"../Logger.js";import{getOrCreateMapValue as i}from"../MapUtils.js";import{throwIfAborted as a}from"../promiseUtils.js";import o from"./Connection.js";import{register as s}from"./connectionRegistry.js";import{registry as c}from"./registry.js";import l from"./RemoteClient.js";import u from"./WorkerOwner.js";function d(){let e=has(`min-workers-pool-size`)??2,t=has(`max-workers-pool-size`)??8,n=has(`host-browser`)&&navigator.hardwareConcurrency!==void 0?navigator.hardwareConcurrency-1:t;return Math.min(Math.max(e,n),t)}const f=[],p=new Map;let m=d(),h=0;function g(){m=d();h=0;p.clear()}function _(){E()}async function v(e,t={},n){let r=new o,{registryTarget:i,...a}=t;await r.open(e,a,n);i&&s(i,r);return r}async function y(n,a={}){if(typeof n!=`string`)throw new t(`workers:undefined-module`,`modulePath is missing`);let o=a.strategy||`distributed`;has(`host-webworker`)&&!has(`esri-workers`)&&(o=`local`);let s=a.isESM??!1;!s&&!Object.hasOwn(c,n)&&e(r.getLogger(`esri.core.workers`),`isESM`,`false`,{replacement:"Call `open` using the `isESM` option value `true`, and author the worker as an ES module.",see:`https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open`,version:`5.2`,warnOnce:!0});let l=i(p,n,()=>new D(n,s));switch(o){case`local`:return b(l,a);default:return x(l,a)}}async function b({modulePath:e},t){let n=await l.loadWorker(e);n||=await import(
|
|
3
3
|
/* @vite-ignore */
|
|
4
4
|
/* webpackIgnore: true */
|
|
5
|
-
e);
|
|
5
|
+
e);a(t.signal);let r=t.client||n;return await v([l.connect(n,t.schedule)],{...t,client:r})}async function x(e,t){await E();a(t.signal);let r=[];return v(S(e,t.strategy===`dedicated`?1:t.maxNumWorkers&&t.maxNumWorkers>0?Math.min(t.maxNumWorkers,m):m,t.signal,r),t,()=>n(r).remove())}function*S(e,t,n,r){let i=new Set;for(let a=0;a<t;a++){let t=e.getNextProxyId(e=>!i.has(e));if(t==null)break;i.add(t);r.push(e.useProxy(t));yield f[t].open(e.modulePath,e.isESM,{signal:n})}}function C(){if(w){T.abort();w=null}for(let e=0;e<f.length;e++)f[e]&&f[e].terminate();f.length=0;g()}let w=null,T;async function E(){if(w)return w;T=new AbortController;let e=[];for(let t=0;t<m;t++){let n=u.create(t).then(e=>{f[t]=e;return e});e.push(n)}w=Promise.all(e);return w}class D{constructor(e,t){this.modulePath=e;this.isESM=t;this._proxyUseCount=new Map}useProxy(e){this._proxyUseCount.set(e,this._getProxyUseCount(e)+1);return{remove:()=>this._unuseProxy(e)}}getNextProxyId(e){let t=Array.from(this._proxyUseCount.keys()),n,r=h;h=(h+1)%m;for(let i=0;i<t.length;i++){let a=t[(r+i)%t.length];if(!e(a))continue;t.length===m&&(n??=a);if(this._getProxyUseCount(a)===0)return a}if(n!=null)return n;for(let t=0;t<m;t++){let n=(t+r)%m;if(e(n)&&!this._proxyUseCount.has(n))return n}}_unuseProxy(e){this._proxyUseCount.set(e,Math.max(0,this._getProxyUseCount(e)-1))}_getProxyUseCount(e){return this._proxyUseCount.get(e)??0}}export{o as Connection,l as RemoteClient,_ as initialize,y as open,v as openWithPorts,C as terminate};
|
package/core/workers.d.ts
CHANGED
|
@@ -41,6 +41,15 @@ export type OpenStrategy = "distributed" | "dedicated" | "local";
|
|
|
41
41
|
export interface OpenOptions extends AbortOptions {
|
|
42
42
|
/** The objects defining the API accessible from the module. */
|
|
43
43
|
client?: any;
|
|
44
|
+
/**
|
|
45
|
+
* Indicates whether the module is an ES module.
|
|
46
|
+
* Set to `true` when loading a custom ES module worker.
|
|
47
|
+
* The default is `false` for backward compatibility with legacy AMD custom workers. Loading custom workers this way is deprecated.
|
|
48
|
+
*
|
|
49
|
+
* @default false
|
|
50
|
+
* @since 5.2
|
|
51
|
+
*/
|
|
52
|
+
isESM?: boolean;
|
|
44
53
|
/**
|
|
45
54
|
* Indicates how to load the module. See the table below for a list of possible values.
|
|
46
55
|
*
|
|
@@ -12,12 +12,13 @@ export interface DynamicChoiceInputProperties extends SingleChoiceInputPropertie
|
|
|
12
12
|
*
|
|
13
13
|
* @since 5.2
|
|
14
14
|
* @see [FieldElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/FieldElement/)
|
|
15
|
+
* @see [Sample - Edit features with dynamic choices ](https://developers.arcgis.com/javascript/latest/sample-code/editor-dynamic-choices/)
|
|
15
16
|
* @example
|
|
16
17
|
* // Creates a new dynamic choice input for a field element within a form
|
|
17
18
|
* const dynamicChoiceInput = new DynamicChoiceInput({
|
|
18
19
|
* choiceExpression: dynamicChoiceExpression.name, // reference to the defined expression
|
|
19
|
-
* noValueOptionLabel: "No Value (null)",
|
|
20
|
-
* showNoValueOption: false,
|
|
20
|
+
* noValueOptionLabel: "No Value (null)", // label for the option representing a null value
|
|
21
|
+
* showNoValueOption: false, // whether to display the choice representing a null value (ie. "No Value")
|
|
21
22
|
* });
|
|
22
23
|
*/
|
|
23
24
|
export default class DynamicChoiceInput extends SingleChoiceInput {
|
|
@@ -25,6 +26,7 @@ export default class DynamicChoiceInput extends SingleChoiceInput {
|
|
|
25
26
|
/**
|
|
26
27
|
* A reference to an [Arcade](https://developers.arcgis.com/javascript/latest/arcade/) expression that returns a dictionary. The dictionary should have a `choices` array of objects, with each object in the array having a `name` property that is the text displayed to the user, and a `code` property that is the value assigned to the field when that choice is selected.
|
|
27
28
|
*
|
|
29
|
+
* @see [Sample - Edit features with dynamic choices ](https://developers.arcgis.com/javascript/latest/sample-code/editor-dynamic-choices/)
|
|
28
30
|
* @example
|
|
29
31
|
* // Set the choice expression for the dynamic choice input
|
|
30
32
|
* fieldElement.input = new DynamicChoiceInput({
|
package/geometry/Mesh.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{ClonableMixin as t}from"../core/Clonable.js";import{LoadableMixin as n}from"../core/Loadable.js";import r from"../core/Logger.js";import{EsriPromiseMixin as i}from"../core/Promise.js";import{throwIfAborted as a,isPromiseLike as o,whenOrAbort as s}from"../core/promiseUtils.js";import{watch as c}from"../core/reactiveUtils.js";import{property as l,subclass as u}from"../core/accessorSupport/decorators.js";import{fromValues as d}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import f from"./Geometry.js";import p from"./Point.js";import m from"./Polygon.js";import{create as h,
|
|
2
|
+
import{__decorate as e}from"tslib";import{ClonableMixin as t}from"../core/Clonable.js";import{LoadableMixin as n}from"../core/Loadable.js";import r from"../core/Logger.js";import{EsriPromiseMixin as i}from"../core/Promise.js";import{throwIfAborted as a,isPromiseLike as o,whenOrAbort as s}from"../core/promiseUtils.js";import{watch as c}from"../core/reactiveUtils.js";import{property as l,subclass as u}from"../core/accessorSupport/decorators.js";import{fromValues as d}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import f from"./Geometry.js";import p from"./Point.js";import m from"./Polygon.js";import{create as h,zero as g,fromBuffer as _}from"./support/aaBoundingBox.js";import{composeAxes as v,create as y}from"./support/axisAngleDegrees.js";import b from"./support/MeshComponent.js";import{componentNotFoundMessage as x,meshNotLoadedMessage as S,invalidLocationMessage as C,invalidPolygonMessage as w,InvalidLocationError as T}from"./support/meshErrors.js";import E from"./support/MeshGeoreferencedVertexSpace.js";import D from"./support/MeshLocalVertexSpace.js";import O from"./support/MeshTransform.js";import k from"./support/MeshVertexAttributes.js";import{vertexSpaceOriginToPoint as A,isRelativeVertexSpace as j}from"./support/meshVertexSpaceUtils.js";import{centerAt as M}from"./support/meshUtils/centerAt.js";import{computeMeshExtent as N}from"./support/meshUtils/extent.js";import{loadExternal as P}from"./support/meshUtils/loadExternal.js";import{addMeshMaterialCloneContext as F,addMeshTextureCloneContext as I,getMeshCloneContext as L}from"./support/meshUtils/meshCloneUtils.js";import{Metadata as R}from"./support/meshUtils/Metadata.js";import{convertUnitGeometry as z,createUnitSizeBox as B,extractSingleFaceOfBox as V,createUnitSizeSphere as H,createUnitSizeCylinder as U,convertPlaneSizeParameter as W,createUnitSizePlane as G}from"./support/meshUtils/primitives.js";import{rotate as K}from"./support/meshUtils/rotate.js";import{scale as q}from"./support/meshUtils/scale.js";import{polygonToRenderInfoNotElevationAligned as J}from"../views/3d/support/renderInfoUtils/polygon.js";var Y;const X={base:null,key:`type`,defaultKeyValue:`georeferenced`,typeMap:{georeferenced:E,local:D}};let Z=Y=class extends t(n(i(f))){constructor(e){super(e),this.components=null,this.vertexSpace=new E,this.transform=null,this.metadata=new R,this.hasZ=!0,this.hasM=!1,this.vertexAttributes=new k,this.type=`mesh`}initialize(){(this.metadata.externalSources.length===0||this.vertexAttributes.position.length)&&(this.loadStatus=`loaded`),this.when(()=>{this.addHandles(c(()=>({vertexAttributes:this.vertexAttributes,components:this.components?.map(e=>e.clone())}),()=>this._clearSources(),{once:!0,sync:!0}))}).catch(()=>{})}get hasExtent(){return this.loaded?this.vertexAttributes.position.length>0&&(!this.components||this.components.length>0):this.metadata.displaySource?.extent!=null}get _transformedExtent(){let{spatialReference:e,vertexSpace:t}=this,n=this;return N({get transform(){return n.transform},vertexSpace:t,spatialReference:e,untransformedBounds:this._untransformedBounds})}get _untransformedBounds(){let{vertexAttributes:{position:e},components:t}=this;return e.length===0||t?.length===0?h(g):_(e)}get origin(){let e=A(this.vertexSpace,this.spatialReference);if(e!=null)return e;let{center:t,zmin:n}=this._transformedExtent;return new p({x:t.x,y:t.y,z:n,spatialReference:this.spatialReference})}get extent(){return!this.loaded&&this.metadata?.displaySource?.extent!=null?this.metadata.displaySource.extent.clone():this._transformedExtent}addComponent(e){this._checkIfLoaded(`addComponent()`)&&(this.components||=[],this.components.push(b.from(e)),this.notifyChange(`components`))}removeComponent(e){if(this._checkIfLoaded(`removeComponent()`)){if(this.components){let t=this.components.indexOf(e);if(t!==-1){this.components.splice(t,1),this.notifyChange(`components`);return}}r.getLogger(this).error(`removeComponent()`,x)}}rotate(e,t,n,r){return v(e,t,n,Q),K(this,Q,r),this}offset(e,t,n){if(!this._checkIfLoaded(`offset()`))return this;let{vertexSpace:r,vertexAttributes:i}=this,a=i?.position;if(!a)return this;if(j(r)){let[i,a,o]=r.origin;r.origin=d(i+e,a+t,o+n)}else{for(let r=0;r<a.length;r+=3)a[r]+=e,a[r+1]+=t,a[r+2]+=n;this.vertexAttributesChanged()}return this}scale(e,t){return this._checkIfLoaded(`scale()`)&&q(this,e,t),this}centerAt(e,t){return this._checkIfLoaded(`centerAt()`)&&M(this,e,t),this}load(e){let{metadata:{displaySource:t}}=this;return t&&this.addResolvingPromise(P(this,t,e)),Promise.resolve(this)}addExternalSources(e){this.metadata.externalSources.addMany(e)}updateDisplaySource(e){this.metadata.displaySource=e}clone(e){return super.clone(F(I(e)))}cloneShallow(){return new Y({components:this.components,spatialReference:this.spatialReference,vertexAttributes:this.vertexAttributes,vertexSpace:this.vertexSpace.clone(),transform:this.transform,metadata:this.metadata})}vertexAttributesChanged(){this.notifyChange(`vertexAttributes`)}async toBinaryGLTF(e){let[{toBinaryGLTF:t}]=await Promise.all([import(`./support/meshUtils/exporters/gltf/gltfexport.js`),this.load(e)]);return a(e),await t(this,e)}get usedMemory(){return this.components?this.components.reduce((e,t)=>e+t.memoryUsage,this.vertexAttributes.usedMemory):this.vertexAttributes.usedMemory}_clearSources(){this.metadata.clearSources()}_checkIfLoaded(e){return this.loaded?!0:(r.getLogger(this).error(e,S),!1)}static createBox(e,t){if(!(e instanceof p))return r.getLogger(this.prototype).error(`.createBox()`,C),null;let n=new Y(z(B(),e,t));return t?.imageFace&&t.imageFace!==`all`?V(n,t.imageFace):n}static createSphere(e,t){return e instanceof p?new Y(z(H(t?.densificationFactor||0),e,t)):(r.getLogger(this.prototype).error(`.createSphere()`,C),null)}static createCylinder(e,t){return e instanceof p?new Y(z(U(t?.densificationFactor||0),e,t)):(r.getLogger(this.prototype).error(`.createCylinder()`,C),null)}static createPlane(e,t){if(!(e instanceof p))return r.getLogger(this.prototype).error(`.createPlane()`,C),null;let n=t?.facing??`up`,i=W(n,t?.size);return new Y(z(G(n),e,{...t,size:i}))}static createFromPolygon(e,t){if(!(e instanceof m))return r.getLogger(this.prototype).error(`.createFromPolygon()`,w),null;let n=J(e,{method:`earcut`}),i=o(n)?null:n,a=i?.positions??[],s=i?.polygonIndices??[];return new Y({vertexAttributes:new k({position:a}),components:[new b({faces:s,shading:`flat`,material:t?.material??null})],spatialReference:e.spatialReference,vertexSpace:new E})}static async createFromGLTF(e,t,n){if(!(e instanceof p)){let e=new T;throw r.getLogger(this.prototype).error(`.createfromGLTF()`,e.message),e}let{loadGLTFMesh:i}=await s(import(`./support/meshUtils/loadGLTFMesh.js`),n);return new Y((await i(e,t,n)).mesh)}};e([l({type:[b],json:{write:!0}})],Z.prototype,`components`,void 0),e([l({nonNullable:!0,types:X,constructOnly:!0,json:{write:!0},clonable:(e,t)=>L(t)?.vertexSpace??e.clone(t)})],Z.prototype,`vertexSpace`,void 0),e([l({type:O,clonable:(e,t)=>{let n=L(t);return n&&`transform`in n?n.transform:e?.clone()??e},json:{write:!0}})],Z.prototype,`transform`,void 0),e([l({constructOnly:!0,type:R,clonable:(e,t)=>L(t)?.metadata??e.clone()})],Z.prototype,`metadata`,void 0),e([l()],Z.prototype,`hasExtent`,null),e([l()],Z.prototype,`_transformedExtent`,null),e([l()],Z.prototype,`_untransformedBounds`,null),e([l()],Z.prototype,`origin`,null),e([l({readOnly:!0,json:{read:!1}})],Z.prototype,`extent`,null),e([l({readOnly:!0,json:{read:!1,write:!0,default:!0}})],Z.prototype,`hasZ`,void 0),e([l({readOnly:!0,json:{read:!1,write:!0,default:!1}})],Z.prototype,`hasM`,void 0),e([l({type:k,nonNullable:!0,json:{write:!0},clonable:(e,t)=>L(t)?.vertexAttributes??e.clone(t)})],Z.prototype,`vertexAttributes`,void 0),Z=Y=e([u(`esri.geometry.Mesh`)],Z);const Q=y();export{Z as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{S as e}from"../../../chunks/SimpleGeometryCursor.js";import{G as t}from"../../../chunks/GeometryCursor.js";import{g as n,b as r,p as i,t as a,i as o,G as s}from"../../../chunks/Geometry.js";import{v as c,P as l,d as u,o as d,s as f,w as p,i as m,c as h}from"../../../chunks/Point2D.js";import{r as g,h as _,P as v,M as y}from"../../../chunks/MultiPathImpl.js";function b(e,t,n,r,i,a){let o=r-t;if(o<=a)return _(e,t,n,r,i),n;let s=S(e,t,r,i,Math.min(Math.max(o>>1,3),100)),c=e[s];e[t]=f(e[s],e[s]=e[t]);let l=t+1,u=!1;for(let n=t+1;n!==r;++n)i(e[n],c)&&(e[l]=f(e[n],e[n]=e[l]),++l,u=!0);if(!u)for(let r=t+1;r<n;++r)i(c,e[r])||(r!==l&&(e[l]=f(e[r],e[r]=e[l])),++l);return--l,e[l]=f(e[t],e[t]=e[l]),l}function x(e,t,n){let r=Math.trunc(t/2),i=BigInt(r),a=BigInt(t);for(let t=0;t<n;++t)e.push(Number(i%a)),i=6364136223846793005n*i+1442695040888963407n&9223372036854775807n,i=BigInt.asUintN(64,i);p(e),e.length=c(e,(e,t)=>e===t)}function S(e,t,n,r,i){let a=[];x(a,n-t,i);let o=[];for(let n=0,r=a.length;n<r;n++){let r=a[n];o.push(d(e[t+r],r))}let s=Math.trunc(o.length/2);return o.sort((e,t)=>r(e.first,t.first)?-1:1),t+o[s].second}function C(){return{p:new l,userData:NaN,edge:null}}class w{info=0;mask=!1;p=null;a=[null,null];twin=null;nextFreeEdge(){return this.twin}setIndex(e){this.info=e,this.mask=!1}getIndex(){return this.info}setMask(){this.mask=!0}getMask(){return this.mask}}function T(e,t){return{first:e,second:t}}function E(e,t){e.first=t.first,e.second=t.second}function D(){return this.i1-this.i0}function O(){return{i0:NaN,i1:NaN,nextFreeEdgeIndex:[-1],box:[T(null,null),T(null,null)],size:D}}function k(){return{k:0,pTask:null,pTask0:null,pTask1:null}}function A(){return{p:[new l,new l],points:[null,null]}}function j(){return{p:[null,null,null]}}class M{m_nextFreePairEdge=T(null,null);m_points=[];m_pointZero=null;m_edges=[];m_voronoiToEdge=[];m_nextFreeEdge=0;clear(){this.m_nextFreePairEdge=T(null,null),this.m_points.length=0,this.m_pointZero=null,this.m_edges.length=0,this.m_voronoiToEdge.length=0,this.m_nextFreeEdge=0}reservePoints(e){n(e>1)}prepare(e){{let t=C();t.p.x=1/0,t.p.y=1/0,t.userData=e,this.m_points.push(t)}}addVertex(e,t){let n=C();n.p.assign(e),n.userData=t,n.edge=null,this.m_points.push(n)}removeDuplicates(){let e=this.m_points.shift();this.m_points.sort((e,t)=>e.p.compareX(t.p));let t=c(this.m_points,(e,t)=>e.p.equals(t.p)),n=t!==this.m_points.length;return this.m_points.length=t,this.m_points.unshift(e),n}boundVoronoiCells(e,t){let n=this.m_points.length;if(n<2)return!1;let r=[this.m_points[1].p.clone(),this.m_points[1].p.clone()];for(let e=2;e<n;e++){let t=this.m_points[e].p;t.x<r[0].x&&(r[0].x=t.x),r[1].x<t.x&&(r[1].x=t.x),t.y<r[0].y&&(r[0].y=t.y),r[1].y<t.y&&(r[1].y=t.y)}let i=new l;i.x=.5*(r[0].x+r[1].x),i.y=.5*(r[0].y+r[1].y);let a=0;for(let e=1;e<n;e++){let t=this.m_points[e].p,n=l.sqrDistanceCoords(t.x,t.y,i.x,i.y);a<n&&(a=n)}let o=Math.sqrt(a),s=Math.max(o+2*e,1.5*o);{let e=.8660254037844386,n=.5,r=1,a=0;for(let o=0;o<12;o++){let o=new l;o.x=i.x+s*r,o.y=i.y+s*a,this.addVertex(o,t);let c=r*e-a*n,u=r*n+a*e;r=c,a=u}}return!0}construct(){let e=O();return this.constructTask(e)?(this.solveTask(e),!0):!1}constructTask(e){if(this.m_pointZero=this.createZeroHandle(),n(this.m_pointZero!==void 0),this.m_points.length<3)return!1;let t=6*(this.m_points.length-2);this.m_edges=u(w,t);for(let e=0;e<t;e++)this.m_edges[e].setIndex(e);return e.i0=1,e.i1=this.m_points.length,e.nextFreeEdgeIndex[0]=0,!0}splitTask(e,t,n,r){let i=e,a=t,o=n,s=r;i.k=this.findMaxSide(s.i0,s.i1);let c=s.i0+s.i1>>1,l=1250;c=i.k===0?b(this.m_points,s.i0,c,s.i1,(e,t)=>e.p[0]===t.p[0]?e.p[1]<t.p[1]:e.p[0]<t.p[0],l):b(this.m_points,s.i0,c,s.i1,(e,t)=>e.p[1]===t.p[1]?e.p[0]<t.p[0]:e.p[1]<t.p[1],l),a.i0=s.i0,a.i1=c,a.nextFreeEdgeIndex[0]=s.nextFreeEdgeIndex[0],s.nextFreeEdgeIndex[0]+=6*(a.i1-a.i0-1)+2,o.i0=c,o.i1=s.i1,o.nextFreeEdgeIndex[0]=s.nextFreeEdgeIndex[0],s.nextFreeEdgeIndex[0]+=6*(o.i1-o.i0-1)+2,i.pTask=s,i.pTask0=a,i.pTask1=o}solveMergeTask(e){let t=this.newPairEdgeEx(e.pTask.nextFreeEdgeIndex,!1);if(e.pTask.box[e.k]=T(e.pTask0.box[e.k].first,e.pTask1.box[e.k].second),e.pTask.box[1-e.k]=T(P(this.getPointXYFromEdge(e.pTask0.box[1-e.k].first),this.getPointXYFromEdge(e.pTask1.box[1-e.k].first),1-e.k)?e.pTask0.box[1-e.k].first:e.pTask1.box[1-e.k].first,P(this.getPointXYFromEdge(e.pTask0.box[1-e.k].second),this.getPointXYFromEdge(e.pTask1.box[1-e.k].second),1-e.k)?e.pTask1.box[1-e.k].second:e.pTask0.box[1-e.k].second),e.pTask.i0+2===e.pTask.i1){let n=e.pTask0.box[e.k].second,r=n.twin,i=e.pTask1.box[e.k].first,a=i.twin;this.joinEdges2(r,a),this.joinEdges2(a,r),this.join(n,i,0,1,t);return}let n=[[,,],[,,]];n[0][0]=n[1][0]=T(e.pTask0.box[e.k].second,e.pTask0.box[e.k].second.twin),n[0][1]=n[1][1]=T(e.pTask1.box[e.k].first,e.pTask1.box[e.k].first.twin);let r=[!1,!1];if(e.pTask0.i0+1===e.pTask0.i1?(this.findEdgeSide(n[0],r,1,0),this.findEdgeSide(n[1],r,1,1)):(this.findEdge(n[0],r,0),this.findEdge(n[1],r,1)),!r[0]&&!r[1])this.getNextDEdge(n[0][0].first,0)!==n[0][0].first&&(n[1][0]=this.newPairEdgeEx(e.pTask0.nextFreeEdgeIndex,!1),this.insertEdge(n[0][0].first,n[1][0].first,0),this.insertEdge(n[0][0].second,n[1][0].second,1)),this.getNextDEdge(n[0][1].first,0)!==n[0][1].first&&(n[1][1]=this.newPairEdgeEx(e.pTask1.nextFreeEdgeIndex,!1),this.insertEdge(n[0][1].first,n[1][1].first,1),this.insertEdge(n[0][1].second,n[1][1].second,0));else{if(r[0]){let t=this.newPairEdgeEx(e.pTask0.nextFreeEdgeIndex,!1);this.insertEdge(n[0][0].first,t.first,0),this.insertEdge(n[0][0].second,t.second,1)}if(r[1]){let t=this.newPairEdgeEx(e.pTask1.nextFreeEdgeIndex,!1);this.insertEdge(n[0][1].first,t.first,1),this.insertEdge(n[0][1].second,t.second,0)}}this.merge(n[1][0],n[0][0],n[0][1],n[1][1],t)}static c_aTableDelaunayTriangulationSolution=Uint8Array.from([41,74,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,33,33,65,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,86,54,86,0,0,0,0,0,0,0,214,173,0,0,0,0,0,0,0,107,239,0,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,181,0,0,0,0,0,0,117,117,245,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,167,0,0,0,0,0,0,231,103,231,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,198,0,0,41,0,0,74,0,0,49,0,0,49,0,0,50,0,0,194,0,0,193,0,0,194,0,0,0,0,0,206,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,198,0,0,0,0,0,82,50,82,0,0,0,0,0,0,0,198,0,66,0,0,65,0,0,66,49,66,33,57,65,82,50,90,0,194,0,0,193,0,0,194,0,0,0,0,0,0,0,214,0,0,0,0,0,86,54,86,0,0,0,0,0,0,0,222,0,0,0,0,0,0,178,0,0,0,0,0,0,230,102,230,177,0,0,177,0,0,178,0,177,0,0,177,0,0,178,0,113,226,113,113,249,226,122,226,0,0,0,0,0,0,102,0,0,0,0,0,0,0,190,0,0,0,0,0,0,230,102,230,0,0,0,165,0,0,0,0,0,0,0,0,243,0,0,0,0,0,173,0,0,0,0,0,0,0,0,165,0,0,0,0,0,0,0,0,245,0,0,0,0,0,107,0,0,239,0,0,163,0,0,163,0,0,167,0,0,247,0,0,243,0,0,247,0,0,37,37,69,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,69,0,0,0,0,0,37,37,69,0,0,0,0,0,0,0,221,0,0,0,0,215,0,0,211,0,0,215,35,87,35,35,91,87,63,87,0,215,0,0,211,0,0,215,0,0,0,165,0,0,0,0,0,0,115,115,243,0,0,0,0,0,0,181,0,0,0,0,0,0,0,189,0,0,0,0,0,0,117,117,245,0,0,0,99,0,0,99,0,0,103,0,163,0,0,163,0,0,167,0,99,247,115,123,243,231,103,255]);solveTask(e){let t=e;switch(t.i1-t.i0){case 1:{this.insertPoint(t.i0,t.nextFreeEdgeIndex);let e=this.m_points[t.i0].edge;t.box[0]=t.box[1]=d(e,e)}break;case 2:{let e=t.i0,n=e+1;this.insertPoint(e,t.nextFreeEdgeIndex),this.insertPoint(n,t.nextFreeEdgeIndex);let r=this.m_points[e],i=this.m_points[n],a=r.edge,o=i.edge,s=a.twin,c=o.twin;this.joinEdges2(s,c),this.joinEdges2(c,s);let l=this.newPairEdgeEx(t.nextFreeEdgeIndex,!1);this.join(a,o,0,1,l);for(let e=0;e<2;e++)t.box[e]=P(this.getPointXY(r),this.getPointXY(i),e)?T(a,o):T(o,a)}break;case 3:{let e=[t.i0,t.i0+1,t.i0+2];this.insertPoint(e[0],t.nextFreeEdgeIndex),this.insertPoint(e[1],t.nextFreeEdgeIndex),this.insertPoint(e[2],t.nextFreeEdgeIndex);let n=[this.m_points[e[0]],this.m_points[e[1]],this.m_points[e[2]]],r=this.caseFromCompare(n[0].p,n[1].p,n[2].p),i=[n[0].edge,n[1].edge,n[2].edge],a=M.c_aTableDelaunayTriangulationSolution[r],o=F(19*F((a&7)+1)),s=F(19*F((a>>5)+1)),c=F(a<<3)>>6,l=o&3,u=o>>6,d=s&3,p=s>>6;t.box[0]=T(i[l],i[u]),t.box[1]=T(i[d],i[p]);let m=[i[0].twin,i[1].twin,i[2].twin],h=[this.newPairEdgeEx(t.nextFreeEdgeIndex,!1),this.newPairEdgeEx(t.nextFreeEdgeIndex,!1),this.newPairEdgeEx(t.nextFreeEdgeIndex,!1)];switch(c===3&&(c=this.orientation(n[0].p,n[1].p,n[2].p)+1),c){case 0:this.joinEdges2(m[0],m[2]),this.joinEdges2(m[2],m[1]),this.joinEdges2(m[1],m[0]),this.join(i[0],i[2],0,1,h[0]),this.join(i[2],i[1],0,1,h[1]),this.join(i[1],i[0],0,1,h[2]);break;case 1:{let e=[0,1,2];e[3-(l+u)]=f(e[1],e[1]=e[3-(l+u)]),this.joinEdges2(m[e[0]],m[e[1]]),this.joinEdges2(m[e[1]],m[e[2]]),this.joinEdges2(m[e[2]],m[e[0]]),this.join(i[e[0]],i[e[1]],0,1,h[0]),this.join(i[e[1]],i[e[2]],0,1,h[1]),this.join(h[1].first,m[e[2]],0,1,h[2])}break;case 2:this.joinEdges2(m[0],m[1]),this.joinEdges2(m[1],m[2]),this.joinEdges2(m[2],m[0]),this.join(i[0],i[1],0,1,h[0]),this.join(i[1],i[2],0,1,h[1]),this.join(i[2],i[0],0,1,h[2])}}break;default:{let t=k(),n=O(),r=O();this.splitTask(t,n,r,e),this.solveTask(n),this.solveTask(r),this.solveMergeTask(t)}}}getOutsideHull(){let e=[],t=this.m_points[0].edge,n=t;do e.push(this.getPointFromEdge(this.getTwinEdge(n))),n=this.getNextDEdge(n,0);while(n!==t);return e}getConvexHull(){let e=[],t=this.m_points[0].edge,n=t;do{let t=this.getPointFromEdge(this.getTwinEdge(n));e.length<2||!this.insideLine(this.getPointXY(e.at(-2)),this.getPointXY(e.at(-1)),this.getPointXY(t))?e.push(t):e[e.length-1]=t,n=this.getNextDEdge(n,0)}while(n!==t);return 2<e.length&&this.insideLine(this.getPointXY(e[0]),this.getPointXY(e.at(-1)),this.getPointXY(e.at(-2)))&&e.pop(),2<e.length&&this.insideLine(this.getPointXY(e[1]),this.getPointXY(e[0]),this.getPointXY(e.at(-1)))&&(e[0]=e.at(-1),e.pop()),e}getVoronoiPolygon(e,t){e.length=0;let n=this.getEdgeFromPoint(t),r=n;for(;;){let t=this.calculateCircleCenter(r);e.push(t);let i=this.getNextDEdge(r,1);if(i===n)break;r=i}}getNearestPoint(e){this.isInfinitePointFromPoint(e)&&r(`Not supported for the infinite point`);let t=this.getPointXY(e),n=this.m_pointZero,i=Number.MAX_VALUE,a=this.getEdgeFromPoint(e),o=a;do{let e=this.getPointFromEdge(this.getTwinEdge(o));if(!this.isInfinitePointFromPoint(e)){let r=l.sqrDistance(t,this.getPointXY(e));r<i&&(n=e,i=r)}o=this.getCounterClockwiseEdge(o)}while(o!==a);return n}addConstraint(e,t){let n=[null],i=[null];if(!this.constraintFindFirstEdge(n,i,e,t))return T(i[0],n[0]);n[0]=this.getTwinEdge(n[0]);let a=this.getPointXY(e),o=this.getPointXY(t),s=[[],[]],c=n[0];for(;;){let e=this.getClockwiseEdge(i[0]);e.getMask()&&r(`add_constraint`);let c=T(e,this.getTwinEdge(e));this.deleteTwinEdges(c,!0);let l=this.getCounterClockwiseEdge(this.getTwinEdge(n[0])),u=this.getTwinEdge(this.getClockwiseEdge(i[0])),d=this.getPointFromEdge(u);if(d===t){s[0].push(n[0]),n[0]=l,s[1].push(i[0]),i[0]=u;break}let f=this.orientation(a,o,this.getPointXY(d));f===0&&r(`add_constraint - point on constraint`),0<f?(s[0].push(n[0]),n[0]=l):(s[1].push(i[0]),i[0]=u)}s[0].push(n[0]),s[1].push(i[0]);let l=this.newPairEdge();l.first.setMask(),l.second.setMask(),this.join(i[0],c,1,1,l),this.triangulateConstraint(s[0],1,s[0].length-1,l),s[1].reverse();let u=T(l.second,l.first);return this.triangulateConstraint(s[1],1,s[1].length-1,u),u}verify(){for(let e=0,t=this.m_edges.length;e<t;e++){let t=this.m_edges[e];if(!t.getMask()&&!this.testEdge(t))return!1}return!0}getDelaunayTriangleCount(){return this.m_points.length-2<<1}getVoronoiSegments(e=Number.MAX_VALUE){let t=[];for(let n=0,r=this.m_edges.length;n<r;n+=2){let r=T(null,null);if(r.first=this.m_edges[n],r.second=r.first.twin,this.isInfinitePointFromEdge(r.first)&&(r.second=f(r.first,r.first=r.second)),this.isInfinitePointFromEdge(r.second)){let n=u(l,3);n[0]=this.calculateCircleCenter(this.getNextDEdge(r.first,0).twin,1),n[2]=this.calculateCircleCenter(this.getNextDEdge(r.first,1),1);let i=u(l,2);i[0].assign(n[0]),i[1].assign(n[2]),i[0].rightPerpendicularThis(),i[1].leftPerpendicularThis(),n[1]=n[0].add(i[0]).add(n[2].add(i[1])),n[1].normalize();for(let t of n)t.mulThis(e);let a=A();a.points[0]=r.first.p,a.points[1]=r.second.p;for(let e=0;e<n.length-1;e++){for(let t=0;t<2;t++)a.p[t]=n[e+t];a.p[0].equals(a.p[1])||t.push(a)}}else if(this.isInfinitePointFromEdge(this.getNextDEdge(r.first,0).twin)&&this.isInfinitePointFromEdge(this.getNextDEdge(r.first,1).twin)){let e=u(l,3);e[0]=this.calculateCircleCenter(r.first),e[1]=this.getPointXY(this.getPointFromEdge(r.first)).add(this.getPointXY(this.getPointFromEdge(r.second))).mul(.5),e[2]=this.calculateCircleCenter(r.second);let n=A();n.points[0]=r.first.p,n.points[1]=r.second.p;for(let r=0;r<e.length-1;r++){for(let t=0;t<2;t++)n.p[t]=e[r+t];n.p[0].equals(n.p[1])||t.push(n)}}else{let e=A();e.p[0]=this.calculateCircleCenter(r.first),e.p[1]=this.calculateCircleCenter(r.second),e.points[0]=r.first.p,e.points[1]=r.second.p,e.p[0].equals(e.p[1])||t.push(e)}}return t}startDelaunayTriangles(){return-1}nextDelaunayTriangle(e,t){for(;;){if(++t[0],t[0]===this.m_edges.length)return!1;let n=this.m_edges[t[0]];if(e.p[0]=this.getPointFromEdge(n),this.isInfinitePointFromPoint(e.p[0]))continue;let r=this.getTwinEdge(n);if(e.p[1]=this.getPointFromEdge(r),this.isInfinitePointFromPoint(e.p[1])||this.getPointXY(e.p[1]).lt(this.getPointXY(e.p[0])))continue;let i=this.getTwinEdge(this.getNextDEdge(n,1));if(e.p[2]=this.getPointFromEdge(i),!this.isInfinitePointFromPoint(e.p[2])&&!this.getPointXY(e.p[2]).lt(this.getPointXY(e.p[0])))return!0}}getPointCount(){return this.m_points.length-1}getPoint(e){return this.m_points[e+1]}getInfinitePoint(){return this.m_pointZero}isInfinitePointFromPoint(e){return e===this.m_pointZero}getPointXY(e){return e.p}getPointIndex(e){return e.userData}setPointIndex(e,t){e.userData=t}getEdgeFromPoint(e){return e.edge}isInfinitePointFromEdge(e){return e.p===this.m_pointZero}getEdgeCount(){return this.m_edges.length}getEdge(e){return this.m_edges[e]}getEdgeIndex(e){return e.getIndex()}getPointFromEdge(e){return e.p}getPointXYFromEdge(e){return e.p.p}getCounterClockwiseEdge(e){return e.a[0]}getClockwiseEdge(e){return e.a[1]}getTwinEdge(e){return e.twin}getPreviousEdge(e){return this.getTwinEdge(this.getCounterClockwiseEdge(e))}getNextEdge(e){return this.getClockwiseEdge(this.getTwinEdge(e))}getNextDEdge(e,t=1){return e.a[t]}newPairEdge(){let e=T(this.m_nextFreePairEdge.first,this.m_nextFreePairEdge.second);return this.m_nextFreePairEdge.first=this.m_nextFreePairEdge.first.nextFreeEdge(),this.m_nextFreePairEdge.second=this.m_nextFreePairEdge.second.nextFreeEdge(),e.first.twin=e.second,e.second.twin=e.first,e}newPairEdgeEx(e,t){let n;if(t&&this.m_nextFreePairEdge.first!==null)n=T(this.m_nextFreePairEdge.first,this.m_nextFreePairEdge.second),this.m_nextFreePairEdge.first=this.m_nextFreePairEdge.first.nextFreeEdge(),this.m_nextFreePairEdge.second=this.m_nextFreePairEdge.second.nextFreeEdge();else{let t=e[0]++,r=e[0]++;n=T(this.m_edges[t],this.m_edges[r])}return n.first.twin=n.second,n.second.twin=n.first,n}insertEdge(e,t,n){t.p=e.p;let r=e.a[n],i=t.a;i[n]=r,i[1-n]=e,e.a[n]=t,r.a[1-n]=t}insertPoint(e,t){let n=this.m_points[e],r=this.newPairEdgeEx(t,!1),i=r.first,a=r.second;n.edge=r.first,i.p=this.m_points[e],i.a[0]=r.first,i.a[1]=r.first,a.p=this.m_pointZero,a.a[0]=r.second,a.a[1]=r.second,this.m_points[0].edge===null&&(this.m_points[0].edge=r.second)}deleteTwinEdges(e,t){this.deleteEdge(e.first),this.deleteEdge(e.second),t&&(e.first.twin=this.m_nextFreePairEdge.first,e.second.twin=this.m_nextFreePairEdge.second,this.m_nextFreePairEdge=e)}join(e,t,n,r,i){this.insertEdge(e,i.first,n),this.insertEdge(t,i.second,r)}joinEdges2(e,t){e.a[1]=t,t.a[0]=e}checkEdge(e,t,n,r,i){for(;;){let a=T(null,null);if(a.first=this.getNextDEdge(e.first,r),a.second=a.first.twin,this.isInfinitePointFromEdge(a.second))return e;let o=this.getPointXYFromEdge(e.second),s=this.getPointXYFromEdge(a.second);if(this.inCircle(t,n,o,s)<=0)return e;if(this.deleteTwinEdges(e,i),!i){let t=this.getNextDEdge(e.second,r).twin;this.join(a.second,t,r,r,e)}e=a}}calculateCircleCenter(e,t=Number.MAX_VALUE){let n=this.getPointXYFromEdge(e),r=this.getPointXYFromEdge(e.twin),i=this.getNextDEdge(e,0);if(this.isInfinitePointFromEdge(i.twin)){let e=new l;if(Number.isNaN(t))e.setNAN();else{let i=r.sub(n);i.leftPerpendicularThis(),e.assign(i),e.divThis(Math.max(Math.abs(e.x),Math.abs(e.y))),e.normalize(),e.mulThis(t)}return e}let a=this.getPointXYFromEdge(i.twin);return this.calculateCircleCenterFromThreePoints(n,r,a)}createZeroHandle(){return this.m_points[0]}deleteEdge(e){let t=e,n=t.p;n.edge===e&&(n.edge=t.a[0]),t.a[0].a[1]=t.a[1],t.a[1].a[0]=t.a[0]}testEdge(e){if(this.isInfinitePointFromEdge(e))return!0;let t=e.twin;if(this.isInfinitePointFromEdge(t))return!0;let n=this.getNextDEdge(e,0).twin,r=this.getNextDEdge(t,0).twin;if(this.isInfinitePointFromEdge(n)||this.isInfinitePointFromEdge(r))return!0;let i=this.getPointXYFromEdge(e),a=this.getPointXYFromEdge(t),o=this.getPointXYFromEdge(n),s=this.getPointXYFromEdge(r);return this.orientation(i,a,o)<=0||0<=this.orientation(i,a,s)?!1:this.inCircle(i,a,o,s)<=0}findMaxSide(e,t){let n=[this.m_points[e].p.clone(),this.m_points[e].p.clone()];for(e++;e!==t;e++){let t=this.m_points[e].p;t.x<n[0].x&&(n[0].x=t.x),n[1].x<t.x&&(n[1].x=t.x),t.y<n[0].y&&(n[0].y=t.y),n[1].y<t.y&&(n[1].y=t.y)}return+(n[1].x-n[0].x<n[1].y-n[0].y)}findEdge(e,t,n){let r=!1,i=0;for(;;){let a=T(null,null);if(a.second=this.getNextDEdge(e[i].second,n^i),a.first=a.second.twin,n===0&&this.orientation(this.getPointXYFromEdge(e[0].first),this.getPointXYFromEdge(e[1].first),this.getPointXYFromEdge(a.first))<0||n===1&&0<this.orientation(this.getPointXYFromEdge(e[0].first),this.getPointXYFromEdge(e[1].first),this.getPointXYFromEdge(a.first)))e[i]=a,t[i]=!0,r=!1;else{if(r)return;i^=1,r=!0}}}findEdgeSide(e,t,n,r){for(;;){let i=T(null,null);if(i.second=this.getNextDEdge(e[n].second,r^n),i.first=i.second.twin,!(r===0&&this.orientation(this.getPointXYFromEdge(e[0].first),this.getPointXYFromEdge(e[1].first),this.getPointXYFromEdge(i.first))<0||r===1&&0<this.orientation(this.getPointXYFromEdge(e[0].first),this.getPointXYFromEdge(e[1].first),this.getPointXYFromEdge(i.first))))return;e[n]=i,t[n]=!0}}merge(e,t,n,r,i){let a={...e},o={...r},s={...i},c={...t},l={...n},u=c.second,d=l.second;for(;;){if(this.join(c.first,l.first,0,1,s),c.first=this.getNextDEdge(s.first,0),l.first=this.getNextDEdge(s.second,1),c.first===a.first&&l.first===o.first){this.joinEdges2(u,d),this.joinEdges2(o.second,a.second);break}c.second=c.first.twin,l.second=l.first.twin;let e=this.getPointXYFromEdge(s.first),t=this.getPointXYFromEdge(s.second);if(c.first===a.first){let n=T(null,null);n.first=this.getNextDEdge(l.first,1),n.second=n.first.twin,n=this.checkEdge(n,e,t,1,!1),E(c,s),E(s,l),l=T(n.second,n.first)}else if(l.first===o.first){let n=T(null,null);n.first=this.getNextDEdge(c.first,0),n.second=n.first.twin,n=this.checkEdge(n,e,t,0,!1),l=T(s.second,s.first),E(s,c),c=T(n.second,n.first)}else{let n=T(null,null);n.first=this.getNextDEdge(c.first,0),n.second=n.first.twin,n=this.checkEdge(n,e,t,0,!1);let r=T(null,null);r.first=this.getNextDEdge(l.first,1),r.second=r.first.twin,r=this.checkEdge(r,e,t,1,!1);let i=this.getPointXYFromEdge(n.second),a=this.getPointXYFromEdge(r.second),o=this.inCircle(e,t,i,a);o===0&&(o=this.orientation(e,t,a)),0<o?(E(c,s),E(s,l),l=T(r.second,r.first)):(l=T(s.second,s.first),E(s,c),c=T(n.second,n.first))}this.deleteTwinEdges(s,!1)}}findEdgeClockwise(e,t,n,r,i,a){for(e[0]=r;;){t[0]=e[0],++t[0]===n.length&&(t[0]=0);let r=this.orientation(i,a,this.getPointXYFromEdge(n[t[0]]));if(r<=0)return r<0;e[0]=t[0]}}findEdgeCounterClockwise(e,t,n,r,i,a){for(t[0]=r;;){e[0]=t[0]===0?n.length:t[0],e[0]--;let r=this.orientation(i,a,this.getPointXYFromEdge(n[e[0]]));if(0<=r)return 0<r;t[0]=e[0]}}constraintFindFirstEdge(e,t,n,i){let a=[];{let r=this.getEdgeFromPoint(n),o=r;do{let n=this.getTwinEdge(o);if(this.getPointFromEdge(n)===i)return e[0]=n,t[0]=o,e[0].setMask(),t[0].setMask(),!1;a.push(n),o=this.getClockwiseEdge(o)}while(o!==r)}a.length<3&&r(`add_constraint`);let o=-1;for(let e=0,t=a.length;e<t;e++)this.isInfinitePointFromEdge(a[e])&&(o!==-1&&r(`add_constraint`),o=e);let s=this.getPointXY(n),c=this.getPointXY(i),l,u;if(o!==-1)for(g(a,0,o+1,a.length),a.pop(),this.orientation(s,c,this.getPointXYFromEdge(a[0]))===0&&r(`add_constraint - point on constraint`),this.orientation(s,c,this.getPointXYFromEdge(a.at(-1)))===0&&r(`add_constraint - point on constraint`),l=0,u=a.length-1;l+1!==u;){let e=l+u>>1,t=this.orientation(s,c,this.getPointXYFromEdge(a[e]));t===0&&r(`add_constraint - point on constraint`),0<t?l=e:u=e}else{let e=0,t=this.orientation(s,c,this.getPointXYFromEdge(a[e]));if(t!==0){if(0<t){let t=[0],n=[0];this.findEdgeClockwise(t,n,a,e,s,c)||r(`add_constraint`),l=t[0],u=n[0]}else{let t=[0],n=[0];this.findEdgeCounterClockwise(t,n,a,e,s,c)||r(`add_constraint`),l=t[0],u=n[0]}}else{e++,t=this.orientation(s,c,this.getPointXYFromEdge(a[e])),t<=0&&r(`add_constraint`);let n=[0],i=[0];this.findEdgeClockwise(n,i,a,e,s,c)||r(`add_constraint`),l=n[0],u=i[0]}}return e[0]=a[l],t[0]=a[u],!0}triangulateConstraint(e,t,n,r){if(t===n)return;let i=n;for(let a=t;a!==n;++a)this.inCircle(this.getPointXYFromEdge(r.first),this.getPointXYFromEdge(r.second),this.getPointXYFromEdge(e[i]),this.getPointXYFromEdge(e[a]))<0&&(i=a);if(i!==n){let t=this.newPairEdge();this.join(r.first,e[i],1,1,t),e[i]=t.second,this.triangulateConstraint(e,i+1,n,t)}if(i!==t){let n=this.newPairEdge();this.join(e[i],r.second,1,0,n),this.triangulateConstraint(e,t,i-1,n)}}insideLine(e,t,n){return this.orientation(e,t,n)===0?t.x<e.x!=t.x<n.x||t.y<e.y!=t.y<n.y:!1}orientation(e,t,n){return l.orientationRobust(e,t,n)}inCircle(e,t,n,r){return l.inCircleRobust(e,t,n,r)}calculateCircleCenterFromThreePoints(e,t,n){return t.lt(e)&&(t=f(e,e=t)),n.lt(t)&&(n=f(t,t=n)),t.lt(e)&&(t=f(e,e=t)),l.calculateCircleCenterFromThreePoints(e,t,n)}compare(e,t){return 3*((N(e[0]<t[0])<<1)+N(e[0]>t[0]))+(N(e[1]<t[1])<<1)+N(e[1]>t[1])-1}caseFromCompare(e,t,n){return(this.compare(e,t)<<6)+(this.compare(e,n)<<3)+this.compare(t,n)}}function N(e){return+!!e}function P(e,t,n){return e[n]===t[n]?e[1-n]<t[1-n]:e[n]<t[n]}function F(e){return e&255}class I{m_numberOfSets;m_elements;m_sizes;constructor(e){this.m_numberOfSets=e,this.m_elements=Array.from({length:e},(e,t)=>t),this.m_sizes=h(e,1)}getNumberOfSets(){return this.m_numberOfSets}connected(e,t){return this.findRoot(e)===this.findRoot(t)}connect(e,t){let n=this.findRoot(e),r=this.findRoot(t);return n!==r&&(this.m_sizes[n]<this.m_sizes[r]?(this.m_sizes[r]+=this.m_sizes[n],this.m_elements[n]=r):(this.m_sizes[n]+=this.m_sizes[r],this.m_elements[r]=n),--this.m_numberOfSets,!0)}connectRange(e,t,n){if(t!==n)for(let r=t;r<n;++r)this.connect(e[t],e[r])}size(){return this.m_elements.length}size1(e){return n(0),0}findRoot(e){let t=e;if(this.m_elements[t]!==t)do this.m_elements[t]=this.m_elements[this.m_elements[t]],t=this.m_elements[t];while(this.m_elements[t]!==t);return t}}function L(){return d(NaN,d([0,0,0],[0,0,0]))}function R(e,t){if(e.first!==t.first)return e.first-t.first;let n=e.second.first,r=t.second.first;for(let e=0;e<3;++e)if(n[e]!==r[e])return n[e]-r[e];n=e.second.second,r=t.second.second;for(let e=0;e<3;++e)if(n[e]!==r[e])return n[e]-r[e];return 0}class z{getOperatorType(){return 10112}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!1}executeMany(e,t,n,r){return new B(e,t,n,r)}execute(e,t,n,r=null){let i=new B(null,t,!1,n);return i.addGeometry(e),i.buildAlphaShape(r)}}class B extends t{m_progressTracker;m_bMerge;m_alpha;m_bDone;m_multiPointForAttributes=null;m_inputGeometryCursor=null;m_index=-1;m_nDelaunayPoints=0;m_cDelaunay=new M;m_vertexDescription=null;alphaShapeConstruct(e,t){let n=e.getEdgeCount(),r=new v({vd:this.m_vertexDescription});if(!r)throw Error(`alphaShapeConstruct`);for(let i=0;i<n;++i){if(t[i]!==2)continue;let n=T(null,null);if(n.first=e.getEdge(i),n.second=e.getTwinEdge(n.first),t[e.getEdgeIndex(n.second)]!==1)continue;e.getPointXYFromEdge(n.first),r.startPath(e.getPointXYFromEdge(n.first));let a=i,o=n.second;for(;;){for(t[a]=3,o=e.getCounterClockwiseEdge(o);t[e.getEdgeIndex(o)]===1;)o=e.getCounterClockwiseEdge(o);if(o===n.first)break;r.lineTo(e.getPointXYFromEdge(o)),a=e.getEdgeIndex(o),o=e.getTwinEdge(o)}}return r}alphaShape(e,t){let n=e.getEdgeCount(),r=new Uint8Array(n);for(let i=0;i<n;++i){if(r[i]!==0)continue;let n=j(),a=e.getEdge(i);n.p[0]=e.getPointFromEdge(a);let o=e.getClockwiseEdge(e.getTwinEdge(a));n.p[1]=e.getPointFromEdge(o);let s=e.getEdgeIndex(o),c=e.getClockwiseEdge(e.getTwinEdge(o));n.p[2]=e.getPointFromEdge(c);let d=e.getEdgeIndex(c),f=1;for(let t=0;t<3;++t)if(e.isInfinitePointFromPoint(n.p[t])){f=2;break}if(f===1){let r=u(l,3);for(let t=0;t<3;++t)r[t]=e.getPointXY(n.p[t]);let i=l.sqrDistance(r[0],r[1]),a=l.sqrDistance(r[1],r[2]),o=l.sqrDistance(r[2],r[0]),s=2*r[1].sub(r[0]).crossProduct(r[2].sub(r[0]));t<i*a*o/(s*s)&&(f=2)}r[i]=r[s]=r[d]=f}return this.alphaShapeConstruct(e,r)}alphaShapeAlphaOut(e,t){let n=e.getEdgeCount(),r=new Uint8Array(n),i=[],a=new I(e.getPointCount());for(let t=0;t<n;++t){if(r[t]!==0)continue;let n=j(),a=e.getEdge(t);n.p[0]=e.getPointFromEdge(a);let o=e.getClockwiseEdge(e.getTwinEdge(a));n.p[1]=e.getPointFromEdge(o);let s=e.getEdgeIndex(o),c=e.getClockwiseEdge(e.getTwinEdge(o));n.p[2]=e.getPointFromEdge(c);let u=e.getEdgeIndex(c),d=1;for(let t=0;t<3;++t)if(e.isInfinitePointFromPoint(n.p[t])){d=2;break}if(d===1){let r=[,,,];for(let t=0;t<3;++t)r[t]=e.getPointXY(n.p[t]);let a=l.sqrDistance(r[0],r[1]),o=l.sqrDistance(r[1],r[2]),c=l.sqrDistance(r[2],r[0]),f=r[1].sub(r[0]).crossProduct(r[2].sub(r[0])),p=L();p.first=a*o*c/(f*f),p.second.first[0]=t,p.second.first[1]=s,p.second.first[2]=u,p.second.second[0]=e.getPointIndex(n.p[0]),p.second.second[1]=e.getPointIndex(n.p[1]),p.second.second[2]=e.getPointIndex(n.p[2]),i.push(p),d=2}r[t]=r[s]=r[u]=d}i.sort((e,t)=>R(e,t));let o=0;for(let e of i){if(a.getNumberOfSets()===1&&e.first!==o)break;r[e.second.first[0]]=r[e.second.first[1]]=r[e.second.first[2]]=1;let t=[e.second.second[0],e.second.second[1],e.second.second[2]];a.connectRange(t,0,3),o=e.first}return t&&(t[0]=.25*o),this.alphaShapeConstruct(e,r)}constructor(e,t,n,r){super(),this.m_progressTracker=r,this.m_alpha=Number.isNaN(t)||!Number.isFinite(t)||t<0?-1:t<Number.MIN_VALUE?0:t,this.m_bMerge=n,this.m_bDone=!1,this.m_inputGeometryCursor=e,this.prepareDelaunay()}prepareDelaunay(){this.m_nDelaunayPoints=0,this.m_cDelaunay.clear(),this.m_alpha!==0&&this.m_cDelaunay.prepare(m())}next(){if(this.m_bMerge){if(!this.m_bDone){let e=this.calculateAlphaShapeMerging(this.m_inputGeometryCursor,this.m_progressTracker);return this.m_bDone=!0,e}return null}if(!this.m_bDone){let e=this.m_inputGeometryCursor.next();if(e!==null)return i(e),a(e),this.m_index=this.m_inputGeometryCursor.getGeometryID(),this.calculateAlphaShape(e,this.m_progressTracker);this.m_bDone=!0}return null}tock(){return!0}getRank(){return 1}getGeometryID(){return this.m_index}calculateAlphaShapeMerging(e,t){let n;for(;n=e.next();)i(n),a(n),this.addGeometry(n);return this.buildAlphaShape()}calculateAlphaShape(e,t){return e.isEmpty()?new v({vd:e.getDescription()}):(this.prepareDelaunay(),this.addGeometry(e),this.buildAlphaShape())}buildAlphaShape(e=null){if(e&&(e[0]=this.m_alpha),this.m_alpha===0)return this.m_vertexDescription?new v({vd:this.m_vertexDescription}):new v;if(this.m_cDelaunay.removeDuplicates())for(let e=0,t=this.m_cDelaunay.getPointCount();e<t;++e)this.m_cDelaunay.setPointIndex(this.m_cDelaunay.getPoint(e),e);return this.m_cDelaunay.construct()?this.m_alpha<0?this.alphaShapeAlphaOut(this.m_cDelaunay,e):this.alphaShape(this.m_cDelaunay,this.m_alpha):this.m_vertexDescription?new v({vd:this.m_vertexDescription}):new v}addGeometry(e){if(i(e),a(e),this.m_alpha===0||((!this.m_vertexDescription||!this.m_bMerge)&&(this.m_vertexDescription=e.getDescription(),this.m_multiPointForAttributes=this.m_vertexDescription.getAttributeCount()>1?new y({vd:this.m_vertexDescription}):null),e.isEmpty()))return;let t=e.getGeometryType();if(o(t)){let t=e,n=new l;for(let e=0,r=t.getPointCount();e<r;e++)t.queryXY(e,n),this.m_cDelaunay.addVertex(n,this.m_nDelaunayPoints++);this.m_multiPointForAttributes&&this.m_multiPointForAttributes.addPoints(t,0,-1)}else if(t===s.enumPoint){let t=e,n=t.getXY();this.m_cDelaunay.addVertex(n,this.m_nDelaunayPoints++),this.m_multiPointForAttributes&&this.m_multiPointForAttributes.add(t)}else r(`bad geometry type`)}}const V=new z;function H(e,t,n){return V.execute(e,t,null,n)}function U(t,n,r){let i=V.executeMany(new e(t),n,r,null);return Array.from(i)}function W(){return V.supportsCurves()}export{H as execute,U as executeMany,W as supportsCurves};
|
|
2
|
+
import{S as e}from"../../../chunks/SimpleGeometryCursor.js";import{G as t}from"../../../chunks/GeometryCursor.js";import{g as n,b as r,p as i,t as a,i as o,G as s}from"../../../chunks/Geometry.js";import{v as c,P as l,d as u,o as d,s as f,w as p,i as m,c as h}from"../../../chunks/Point2D.js";import{r as g,h as _,P as v,M as y}from"../../../chunks/MultiPathImpl.js";function b(e,t,n,r,i,a){let o=r-t;if(o<=a)return _(e,t,n,r,i),n;let s=S(e,t,r,i,Math.min(Math.max(o>>1,3),100)),c=e[s];e[t]=f(e[s],e[s]=e[t]);let l=t+1,u=!1;for(let n=t+1;n!==r;++n)i(e[n],c)&&(e[l]=f(e[n],e[n]=e[l]),++l,u=!0);if(!u)for(let r=t+1;r<n;++r)i(c,e[r])||(r!==l&&(e[l]=f(e[r],e[r]=e[l])),++l);return--l,e[l]=f(e[t],e[t]=e[l]),l}function x(e,t,n){let r=Math.trunc(t/2),i=BigInt(r),a=BigInt(t);for(let t=0;t<n;++t)e.push(Number(i%a)),i=6364136223846793005n*i+1442695040888963407n&9223372036854775807n,i=BigInt.asUintN(64,i);p(e),e.length=c(e,(e,t)=>e===t)}function S(e,t,n,r,i){let a=[];x(a,n-t,i);let o=[];for(let n=0,r=a.length;n<r;n++){let r=a[n];o.push(d(e[t+r],r))}let s=Math.trunc(o.length/2);return o.sort((e,t)=>r(e.first,t.first)?-1:1),t+o[s].second}function C(){return{p:new l,userData:NaN,edge:null}}class w{info=0;mask=!1;p=null;a=[null,null];twin=null;nextFreeEdge(){return this.twin}setIndex(e){this.info=e,this.mask=!1}getIndex(){return this.info}setMask(){this.mask=!0}getMask(){return this.mask}}function T(e,t){return{first:e,second:t}}function E(e,t){e.first=t.first,e.second=t.second}function D(){return this.i1-this.i0}function O(){return{i0:NaN,i1:NaN,nextFreeEdgeIndex:[-1],box:[T(null,null),T(null,null)],size:D}}function k(){return{k:0,pTask:null,pTask0:null,pTask1:null}}function A(){return{p:[new l,new l],points:[null,null]}}function j(){return{p:[null,null,null]}}class M{m_nextFreePairEdge=T(null,null);m_points=[];m_pointZero=null;m_edges=[];m_voronoiToEdge=[];m_nextFreeEdge=0;clear(){this.m_nextFreePairEdge=T(null,null),this.m_points.length=0,this.m_pointZero=null,this.m_edges.length=0,this.m_voronoiToEdge.length=0,this.m_nextFreeEdge=0}reservePoints(e){n(e>1)}prepare(e){{let t=C();t.p.x=1/0,t.p.y=1/0,t.userData=e,this.m_points.push(t)}}addVertex(e,t){let n=C();n.p.assign(e),n.userData=t,n.edge=null,this.m_points.push(n)}removeDuplicates(){let e=this.m_points.shift();this.m_points.sort((e,t)=>e.p.compareX(t.p));let t=c(this.m_points,(e,t)=>e.p.equals(t.p)),n=t!==this.m_points.length;return this.m_points.length=t,this.m_points.unshift(e),n}boundVoronoiCells(e,t){let n=this.m_points.length;if(n<2)return!1;let r=[this.m_points[1].p.clone(),this.m_points[1].p.clone()];for(let e=2;e<n;e++){let t=this.m_points[e].p;t.x<r[0].x&&(r[0].x=t.x),r[1].x<t.x&&(r[1].x=t.x),t.y<r[0].y&&(r[0].y=t.y),r[1].y<t.y&&(r[1].y=t.y)}let i=new l;i.x=.5*(r[0].x+r[1].x),i.y=.5*(r[0].y+r[1].y);let a=0;for(let e=1;e<n;e++){let t=this.m_points[e].p,n=l.sqrDistanceCoords(t.x,t.y,i.x,i.y);a<n&&(a=n)}let o=Math.sqrt(a),s=Math.max(o+2*e,1.5*o);{let e=.8660254037844386,n=.5,r=1,a=0;for(let o=0;o<12;o++){let o=new l;o.x=i.x+s*r,o.y=i.y+s*a,this.addVertex(o,t);let c=r*e-a*n,u=r*n+a*e;r=c,a=u}}return!0}construct(){let e=O();return this.constructTask(e)?(this.solveTask(e),!0):!1}constructTask(e){if(this.m_pointZero=this.createZeroHandle(),n(this.m_pointZero!==void 0),this.m_points.length<3)return!1;let t=6*(this.m_points.length-2);this.m_edges=u(w,t);for(let e=0;e<t;e++)this.m_edges[e].setIndex(e);return e.i0=1,e.i1=this.m_points.length,e.nextFreeEdgeIndex[0]=0,!0}splitTask(e,t,n,r){let i=e,a=t,o=n,s=r;i.k=this.findMaxSide(s.i0,s.i1);let c=s.i0+s.i1>>1,l=1250;c=i.k===0?b(this.m_points,s.i0,c,s.i1,(e,t)=>e.p[0]===t.p[0]?e.p[1]<t.p[1]:e.p[0]<t.p[0],l):b(this.m_points,s.i0,c,s.i1,(e,t)=>e.p[1]===t.p[1]?e.p[0]<t.p[0]:e.p[1]<t.p[1],l),a.i0=s.i0,a.i1=c,a.nextFreeEdgeIndex[0]=s.nextFreeEdgeIndex[0],s.nextFreeEdgeIndex[0]+=6*(a.i1-a.i0-1)+2,o.i0=c,o.i1=s.i1,o.nextFreeEdgeIndex[0]=s.nextFreeEdgeIndex[0],s.nextFreeEdgeIndex[0]+=6*(o.i1-o.i0-1)+2,i.pTask=s,i.pTask0=a,i.pTask1=o}solveMergeTask(e){let t=this.newPairEdgeEx(e.pTask.nextFreeEdgeIndex,!1);if(e.pTask.box[e.k]=T(e.pTask0.box[e.k].first,e.pTask1.box[e.k].second),e.pTask.box[1-e.k]=T(P(this.getPointXYFromEdge(e.pTask0.box[1-e.k].first),this.getPointXYFromEdge(e.pTask1.box[1-e.k].first),1-e.k)?e.pTask0.box[1-e.k].first:e.pTask1.box[1-e.k].first,P(this.getPointXYFromEdge(e.pTask0.box[1-e.k].second),this.getPointXYFromEdge(e.pTask1.box[1-e.k].second),1-e.k)?e.pTask1.box[1-e.k].second:e.pTask0.box[1-e.k].second),e.pTask.i0+2===e.pTask.i1){let n=e.pTask0.box[e.k].second,r=n.twin,i=e.pTask1.box[e.k].first,a=i.twin;this.joinEdges2(r,a),this.joinEdges2(a,r),this.join(n,i,0,1,t);return}let n=[[,,],[,,]];n[0][0]=n[1][0]=T(e.pTask0.box[e.k].second,e.pTask0.box[e.k].second.twin),n[0][1]=n[1][1]=T(e.pTask1.box[e.k].first,e.pTask1.box[e.k].first.twin);let r=[!1,!1];if(e.pTask0.i0+1===e.pTask0.i1?(this.findEdgeSide(n[0],r,1,0),this.findEdgeSide(n[1],r,1,1)):(this.findEdge(n[0],r,0),this.findEdge(n[1],r,1)),!r[0]&&!r[1])this.getNextDEdge(n[0][0].first,0)!==n[0][0].first&&(n[1][0]=this.newPairEdgeEx(e.pTask0.nextFreeEdgeIndex,!1),this.insertEdge(n[0][0].first,n[1][0].first,0),this.insertEdge(n[0][0].second,n[1][0].second,1)),this.getNextDEdge(n[0][1].first,0)!==n[0][1].first&&(n[1][1]=this.newPairEdgeEx(e.pTask1.nextFreeEdgeIndex,!1),this.insertEdge(n[0][1].first,n[1][1].first,1),this.insertEdge(n[0][1].second,n[1][1].second,0));else{if(r[0]){let t=this.newPairEdgeEx(e.pTask0.nextFreeEdgeIndex,!1);this.insertEdge(n[0][0].first,t.first,0),this.insertEdge(n[0][0].second,t.second,1)}if(r[1]){let t=this.newPairEdgeEx(e.pTask1.nextFreeEdgeIndex,!1);this.insertEdge(n[0][1].first,t.first,1),this.insertEdge(n[0][1].second,t.second,0)}}this.merge(n[1][0],n[0][0],n[0][1],n[1][1],t)}static c_aTableDelaunayTriangulationSolution=Uint8Array.from([41,74,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,33,33,65,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,86,54,86,0,0,0,0,0,0,0,214,173,0,0,0,0,0,0,0,107,239,0,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,181,0,0,0,0,0,0,117,117,245,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,167,0,0,0,0,0,0,231,103,231,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,198,0,0,41,0,0,74,0,0,49,0,0,49,0,0,50,0,0,194,0,0,193,0,0,194,0,0,0,0,0,206,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,198,0,0,0,0,0,82,50,82,0,0,0,0,0,0,0,198,0,66,0,0,65,0,0,66,49,66,33,57,65,82,50,90,0,194,0,0,193,0,0,194,0,0,0,0,0,0,0,214,0,0,0,0,0,86,54,86,0,0,0,0,0,0,0,222,0,0,0,0,0,0,178,0,0,0,0,0,0,230,102,230,177,0,0,177,0,0,178,0,177,0,0,177,0,0,178,0,113,226,113,113,249,226,122,226,0,0,0,0,0,0,102,0,0,0,0,0,0,0,190,0,0,0,0,0,0,230,102,230,0,0,0,165,0,0,0,0,0,0,0,0,243,0,0,0,0,0,173,0,0,0,0,0,0,0,0,165,0,0,0,0,0,0,0,0,245,0,0,0,0,0,107,0,0,239,0,0,163,0,0,163,0,0,167,0,0,247,0,0,243,0,0,247,0,0,37,37,69,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,69,0,0,0,0,0,37,37,69,0,0,0,0,0,0,0,221,0,0,0,0,215,0,0,211,0,0,215,35,87,35,35,91,87,63,87,0,215,0,0,211,0,0,215,0,0,0,165,0,0,0,0,0,0,115,115,243,0,0,0,0,0,0,181,0,0,0,0,0,0,0,189,0,0,0,0,0,0,117,117,245,0,0,0,99,0,0,99,0,0,103,0,163,0,0,163,0,0,167,0,99,247,115,123,243,231,103,255]);solveTask(e){let t=e;switch(t.i1-t.i0){case 1:{this.insertPoint(t.i0,t.nextFreeEdgeIndex);let e=this.m_points[t.i0].edge;t.box[0]=t.box[1]=d(e,e)}break;case 2:{let e=t.i0,n=e+1;this.insertPoint(e,t.nextFreeEdgeIndex),this.insertPoint(n,t.nextFreeEdgeIndex);let r=this.m_points[e],i=this.m_points[n],a=r.edge,o=i.edge,s=a.twin,c=o.twin;this.joinEdges2(s,c),this.joinEdges2(c,s);let l=this.newPairEdgeEx(t.nextFreeEdgeIndex,!1);this.join(a,o,0,1,l);for(let e=0;e<2;e++)t.box[e]=P(this.getPointXY(r),this.getPointXY(i),e)?T(a,o):T(o,a)}break;case 3:{let e=[t.i0,t.i0+1,t.i0+2];this.insertPoint(e[0],t.nextFreeEdgeIndex),this.insertPoint(e[1],t.nextFreeEdgeIndex),this.insertPoint(e[2],t.nextFreeEdgeIndex);let n=[this.m_points[e[0]],this.m_points[e[1]],this.m_points[e[2]]],r=this.caseFromCompare(n[0].p,n[1].p,n[2].p),i=[n[0].edge,n[1].edge,n[2].edge],a=M.c_aTableDelaunayTriangulationSolution[r],o=F(19*F((a&7)+1)),s=F(19*F((a>>5)+1)),c=F(a<<3)>>6,l=o&3,u=o>>6,d=s&3,p=s>>6;t.box[0]=T(i[l],i[u]),t.box[1]=T(i[d],i[p]);let m=[i[0].twin,i[1].twin,i[2].twin],h=[this.newPairEdgeEx(t.nextFreeEdgeIndex,!1),this.newPairEdgeEx(t.nextFreeEdgeIndex,!1),this.newPairEdgeEx(t.nextFreeEdgeIndex,!1)];switch(c===3&&(c=this.orientation(n[0].p,n[1].p,n[2].p)+1),c){case 0:this.joinEdges2(m[0],m[2]),this.joinEdges2(m[2],m[1]),this.joinEdges2(m[1],m[0]),this.join(i[0],i[2],0,1,h[0]),this.join(i[2],i[1],0,1,h[1]),this.join(i[1],i[0],0,1,h[2]);break;case 1:{let e=[0,1,2];e[3-(l+u)]=f(e[1],e[1]=e[3-(l+u)]),this.joinEdges2(m[e[0]],m[e[1]]),this.joinEdges2(m[e[1]],m[e[2]]),this.joinEdges2(m[e[2]],m[e[0]]),this.join(i[e[0]],i[e[1]],0,1,h[0]),this.join(i[e[1]],i[e[2]],0,1,h[1]),this.join(h[1].first,m[e[2]],0,1,h[2])}break;case 2:this.joinEdges2(m[0],m[1]),this.joinEdges2(m[1],m[2]),this.joinEdges2(m[2],m[0]),this.join(i[0],i[1],0,1,h[0]),this.join(i[1],i[2],0,1,h[1]),this.join(i[2],i[0],0,1,h[2])}}break;default:{let t=k(),n=O(),r=O();this.splitTask(t,n,r,e),this.solveTask(n),this.solveTask(r),this.solveMergeTask(t)}}}getOutsideHull(){let e=[],t=this.m_points[0].edge,n=t;do e.push(this.getPointFromEdge(this.getTwinEdge(n))),n=this.getNextDEdge(n,0);while(n!==t);return e}getConvexHull(){let e=[],t=this.m_points[0].edge,n=t;do{let t=this.getPointFromEdge(this.getTwinEdge(n));e.length<2||!this.insideLine(this.getPointXY(e.at(-2)),this.getPointXY(e.at(-1)),this.getPointXY(t))?e.push(t):e[e.length-1]=t,n=this.getNextDEdge(n,0)}while(n!==t);return 2<e.length&&this.insideLine(this.getPointXY(e[0]),this.getPointXY(e.at(-1)),this.getPointXY(e.at(-2)))&&e.pop(),2<e.length&&this.insideLine(this.getPointXY(e[1]),this.getPointXY(e[0]),this.getPointXY(e.at(-1)))&&(e[0]=e.at(-1),e.pop()),e}getVoronoiPolygon(e,t){e.length=0;let n=this.getEdgeFromPoint(t),r=n;for(;;){let t=this.calculateCircleCenter(r);e.push(t);let i=this.getNextDEdge(r,1);if(i===n)break;r=i}}getNearestPoint(e){this.isInfinitePointFromPoint(e)&&r(`Not supported for the infinite point`);let t=this.getPointXY(e),n=this.m_pointZero,i=Number.MAX_VALUE,a=this.getEdgeFromPoint(e),o=a;do{let e=this.getPointFromEdge(this.getTwinEdge(o));if(!this.isInfinitePointFromPoint(e)){let r=l.sqrDistance(t,this.getPointXY(e));r<i&&(n=e,i=r)}o=this.getCounterClockwiseEdge(o)}while(o!==a);return n}addConstraint(e,t){let n=[null],i=[null];if(!this.constraintFindFirstEdge(n,i,e,t))return T(i[0],n[0]);n[0]=this.getTwinEdge(n[0]);let a=this.getPointXY(e),o=this.getPointXY(t),s=[[],[]],c=n[0];for(;;){let e=this.getClockwiseEdge(i[0]);e.getMask()&&r(`add_constraint`);let c=T(e,this.getTwinEdge(e));this.deleteTwinEdges(c,!0);let l=this.getCounterClockwiseEdge(this.getTwinEdge(n[0])),u=this.getTwinEdge(this.getClockwiseEdge(i[0])),d=this.getPointFromEdge(u);if(d===t){s[0].push(n[0]),n[0]=l,s[1].push(i[0]),i[0]=u;break}let f=this.orientation(a,o,this.getPointXY(d));f===0&&r(`add_constraint - point on constraint`),0<f?(s[0].push(n[0]),n[0]=l):(s[1].push(i[0]),i[0]=u)}s[0].push(n[0]),s[1].push(i[0]);let l=this.newPairEdge();l.first.setMask(),l.second.setMask(),this.join(i[0],c,1,1,l),this.triangulateConstraint(s[0],1,s[0].length-1,l),s[1].reverse();let u=T(l.second,l.first);return this.triangulateConstraint(s[1],1,s[1].length-1,u),u}verify(){for(let e=0,t=this.m_edges.length;e<t;e++){let t=this.m_edges[e];if(!t.getMask()&&!this.testEdge(t))return!1}return!0}getDelaunayTriangleCount(){return this.m_points.length-2<<1}getVoronoiSegments(e=Number.MAX_VALUE){let t=[];for(let n=0,r=this.m_edges.length;n<r;n+=2){let r=T(null,null);if(r.first=this.m_edges[n],r.second=r.first.twin,this.isInfinitePointFromEdge(r.first)&&(r.second=f(r.first,r.first=r.second)),this.isInfinitePointFromEdge(r.second)){let n=u(l,3);n[0]=this.calculateCircleCenter(this.getNextDEdge(r.first,0).twin,1),n[2]=this.calculateCircleCenter(this.getNextDEdge(r.first,1),1);let i=u(l,2);i[0].assign(n[0]),i[1].assign(n[2]),i[0].rightPerpendicularThis(),i[1].leftPerpendicularThis(),n[1]=n[0].add(i[0]).add(n[2].add(i[1])),n[1].normalize();for(let t of n)t.mulThis(e);let a=A();a.points[0]=r.first.p,a.points[1]=r.second.p;for(let e=0;e<n.length-1;e++){for(let t=0;t<2;t++)a.p[t]=n[e+t];a.p[0].equals(a.p[1])||t.push(a)}}else if(this.isInfinitePointFromEdge(this.getNextDEdge(r.first,0).twin)&&this.isInfinitePointFromEdge(this.getNextDEdge(r.first,1).twin)){let e=u(l,3);e[0]=this.calculateCircleCenter(r.first),e[1]=this.getPointXY(this.getPointFromEdge(r.first)).add(this.getPointXY(this.getPointFromEdge(r.second))).mul(.5),e[2]=this.calculateCircleCenter(r.second);let n=A();n.points[0]=r.first.p,n.points[1]=r.second.p;for(let r=0;r<e.length-1;r++){for(let t=0;t<2;t++)n.p[t]=e[r+t];n.p[0].equals(n.p[1])||t.push(n)}}else{let e=A();e.p[0]=this.calculateCircleCenter(r.first),e.p[1]=this.calculateCircleCenter(r.second),e.points[0]=r.first.p,e.points[1]=r.second.p,e.p[0].equals(e.p[1])||t.push(e)}}return t}startDelaunayTriangles(){return-1}nextDelaunayTriangle(e,t){for(;;){if(++t[0],t[0]===this.m_edges.length)return!1;let n=this.m_edges[t[0]];if(e.p[0]=this.getPointFromEdge(n),this.isInfinitePointFromPoint(e.p[0]))continue;let r=this.getTwinEdge(n);if(e.p[1]=this.getPointFromEdge(r),this.isInfinitePointFromPoint(e.p[1])||this.getPointXY(e.p[1]).lt(this.getPointXY(e.p[0])))continue;let i=this.getTwinEdge(this.getNextDEdge(n,1));if(e.p[2]=this.getPointFromEdge(i),!this.isInfinitePointFromPoint(e.p[2])&&!this.getPointXY(e.p[2]).lt(this.getPointXY(e.p[0])))return!0}}getPointCount(){return this.m_points.length-1}getPoint(e){return this.m_points[e+1]}getInfinitePoint(){return this.m_pointZero}isInfinitePointFromPoint(e){return e===this.m_pointZero}getPointXY(e){return e.p}getPointIndex(e){return e.userData}setPointIndex(e,t){e.userData=t}getEdgeFromPoint(e){return e.edge}isInfinitePointFromEdge(e){return e.p===this.m_pointZero}getEdgeCount(){return this.m_edges.length}getEdge(e){return this.m_edges[e]}getEdgeIndex(e){return e.getIndex()}getPointFromEdge(e){return e.p}getPointXYFromEdge(e){return e.p.p}getCounterClockwiseEdge(e){return e.a[0]}getClockwiseEdge(e){return e.a[1]}getTwinEdge(e){return e.twin}getPreviousEdge(e){return this.getTwinEdge(this.getCounterClockwiseEdge(e))}getNextEdge(e){return this.getClockwiseEdge(this.getTwinEdge(e))}getNextDEdge(e,t=1){return e.a[t]}newPairEdge(){let e=T(this.m_nextFreePairEdge.first,this.m_nextFreePairEdge.second);return this.m_nextFreePairEdge.first=this.m_nextFreePairEdge.first.nextFreeEdge(),this.m_nextFreePairEdge.second=this.m_nextFreePairEdge.second.nextFreeEdge(),e.first.twin=e.second,e.second.twin=e.first,e}newPairEdgeEx(e,t){let n;if(t&&this.m_nextFreePairEdge.first!==null)n=T(this.m_nextFreePairEdge.first,this.m_nextFreePairEdge.second),this.m_nextFreePairEdge.first=this.m_nextFreePairEdge.first.nextFreeEdge(),this.m_nextFreePairEdge.second=this.m_nextFreePairEdge.second.nextFreeEdge();else{let t=e[0]++,r=e[0]++;n=T(this.m_edges[t],this.m_edges[r])}return n.first.twin=n.second,n.second.twin=n.first,n}insertEdge(e,t,n){t.p=e.p;let r=e.a[n],i=t.a;i[n]=r,i[1-n]=e,e.a[n]=t,r.a[1-n]=t}insertPoint(e,t){let n=this.m_points[e],r=this.newPairEdgeEx(t,!1),i=r.first,a=r.second;n.edge=r.first,i.p=this.m_points[e],i.a[0]=r.first,i.a[1]=r.first,a.p=this.m_pointZero,a.a[0]=r.second,a.a[1]=r.second,this.m_points[0].edge===null&&(this.m_points[0].edge=r.second)}deleteTwinEdges(e,t){this.deleteEdge(e.first),this.deleteEdge(e.second),t&&(e.first.twin=this.m_nextFreePairEdge.first,e.second.twin=this.m_nextFreePairEdge.second,this.m_nextFreePairEdge=e)}join(e,t,n,r,i){this.insertEdge(e,i.first,n),this.insertEdge(t,i.second,r)}joinEdges2(e,t){e.a[1]=t,t.a[0]=e}checkEdge(e,t,n,r,i){for(;;){let a=T(null,null);if(a.first=this.getNextDEdge(e.first,r),a.second=a.first.twin,this.isInfinitePointFromEdge(a.second))return e;let o=this.getPointXYFromEdge(e.second),s=this.getPointXYFromEdge(a.second);if(this.inCircle(t,n,o,s)<=0)return e;if(this.deleteTwinEdges(e,i),!i){let t=this.getNextDEdge(e.second,r).twin;this.join(a.second,t,r,r,e)}e=a}}calculateCircleCenter(e,t=Number.MAX_VALUE){let n=this.getPointXYFromEdge(e),r=this.getPointXYFromEdge(e.twin),i=this.getNextDEdge(e,0);if(this.isInfinitePointFromEdge(i.twin)){let e=new l;if(Number.isNaN(t))e.setNAN();else{let i=r.sub(n);i.leftPerpendicularThis(),e.assign(i),e.divThis(Math.max(Math.abs(e.x),Math.abs(e.y))),e.normalize(),e.mulThis(t)}return e}let a=this.getPointXYFromEdge(i.twin);return this.calculateCircleCenterFromThreePoints(n,r,a)}createZeroHandle(){return this.m_points[0]}deleteEdge(e){let t=e,n=t.p;n.edge===e&&(n.edge=t.a[0]),t.a[0].a[1]=t.a[1],t.a[1].a[0]=t.a[0]}testEdge(e){if(this.isInfinitePointFromEdge(e))return!0;let t=e.twin;if(this.isInfinitePointFromEdge(t))return!0;let n=this.getNextDEdge(e,0).twin,r=this.getNextDEdge(t,0).twin;if(this.isInfinitePointFromEdge(n)||this.isInfinitePointFromEdge(r))return!0;let i=this.getPointXYFromEdge(e),a=this.getPointXYFromEdge(t),o=this.getPointXYFromEdge(n),s=this.getPointXYFromEdge(r);return this.orientation(i,a,o)<=0||0<=this.orientation(i,a,s)?!1:this.inCircle(i,a,o,s)<=0}findMaxSide(e,t){let n=[this.m_points[e].p.clone(),this.m_points[e].p.clone()];for(e++;e!==t;e++){let t=this.m_points[e].p;t.x<n[0].x&&(n[0].x=t.x),n[1].x<t.x&&(n[1].x=t.x),t.y<n[0].y&&(n[0].y=t.y),n[1].y<t.y&&(n[1].y=t.y)}return+(n[1].x-n[0].x<n[1].y-n[0].y)}findEdge(e,t,n){let r=!1,i=0;for(;;){let a=T(null,null);if(a.second=this.getNextDEdge(e[i].second,n^i),a.first=a.second.twin,n===0&&this.orientation(this.getPointXYFromEdge(e[0].first),this.getPointXYFromEdge(e[1].first),this.getPointXYFromEdge(a.first))<0||n===1&&0<this.orientation(this.getPointXYFromEdge(e[0].first),this.getPointXYFromEdge(e[1].first),this.getPointXYFromEdge(a.first)))e[i]=a,t[i]=!0,r=!1;else{if(r)return;i^=1,r=!0}}}findEdgeSide(e,t,n,r){for(;;){let i=T(null,null);if(i.second=this.getNextDEdge(e[n].second,r^n),i.first=i.second.twin,!(r===0&&this.orientation(this.getPointXYFromEdge(e[0].first),this.getPointXYFromEdge(e[1].first),this.getPointXYFromEdge(i.first))<0||r===1&&0<this.orientation(this.getPointXYFromEdge(e[0].first),this.getPointXYFromEdge(e[1].first),this.getPointXYFromEdge(i.first))))return;e[n]=i,t[n]=!0}}merge(e,t,n,r,i){let a={...e},o={...r},s={...i},c={...t},l={...n},u=c.second,d=l.second;for(;;){if(this.join(c.first,l.first,0,1,s),c.first=this.getNextDEdge(s.first,0),l.first=this.getNextDEdge(s.second,1),c.first===a.first&&l.first===o.first){this.joinEdges2(u,d),this.joinEdges2(o.second,a.second);break}c.second=c.first.twin,l.second=l.first.twin;let e=this.getPointXYFromEdge(s.first),t=this.getPointXYFromEdge(s.second);if(c.first===a.first){let n=T(null,null);n.first=this.getNextDEdge(l.first,1),n.second=n.first.twin,n=this.checkEdge(n,e,t,1,!1),E(c,s),E(s,l),l=T(n.second,n.first)}else if(l.first===o.first){let n=T(null,null);n.first=this.getNextDEdge(c.first,0),n.second=n.first.twin,n=this.checkEdge(n,e,t,0,!1),l=T(s.second,s.first),E(s,c),c=T(n.second,n.first)}else{let n=T(null,null);n.first=this.getNextDEdge(c.first,0),n.second=n.first.twin,n=this.checkEdge(n,e,t,0,!1);let r=T(null,null);r.first=this.getNextDEdge(l.first,1),r.second=r.first.twin,r=this.checkEdge(r,e,t,1,!1);let i=this.getPointXYFromEdge(n.second),a=this.getPointXYFromEdge(r.second),o=this.inCircle(e,t,i,a);o===0&&(o=this.orientation(e,t,a)),0<o?(E(c,s),E(s,l),l=T(r.second,r.first)):(l=T(s.second,s.first),E(s,c),c=T(n.second,n.first))}this.deleteTwinEdges(s,!1)}}findEdgeClockwise(e,t,n,r,i,a){for(e[0]=r;;){t[0]=e[0],++t[0]===n.length&&(t[0]=0);let r=this.orientation(i,a,this.getPointXYFromEdge(n[t[0]]));if(r<=0)return r<0;e[0]=t[0]}}findEdgeCounterClockwise(e,t,n,r,i,a){for(t[0]=r;;){e[0]=t[0]===0?n.length:t[0],e[0]--;let r=this.orientation(i,a,this.getPointXYFromEdge(n[e[0]]));if(0<=r)return 0<r;t[0]=e[0]}}constraintFindFirstEdge(e,t,n,i){let a=[];{let r=this.getEdgeFromPoint(n),o=r;do{let n=this.getTwinEdge(o);if(this.getPointFromEdge(n)===i)return e[0]=n,t[0]=o,e[0].setMask(),t[0].setMask(),!1;a.push(n),o=this.getClockwiseEdge(o)}while(o!==r)}a.length<3&&r(`add_constraint`);let o=-1;for(let e=0,t=a.length;e<t;e++)this.isInfinitePointFromEdge(a[e])&&(o!==-1&&r(`add_constraint`),o=e);let s=this.getPointXY(n),c=this.getPointXY(i),l,u;if(o!==-1)for(g(a,0,o+1,a.length),a.pop(),this.orientation(s,c,this.getPointXYFromEdge(a[0]))===0&&r(`add_constraint - point on constraint`),this.orientation(s,c,this.getPointXYFromEdge(a.at(-1)))===0&&r(`add_constraint - point on constraint`),l=0,u=a.length-1;l+1!==u;){let e=l+u>>1,t=this.orientation(s,c,this.getPointXYFromEdge(a[e]));t===0&&r(`add_constraint - point on constraint`),0<t?l=e:u=e}else{let e=0,t=this.orientation(s,c,this.getPointXYFromEdge(a[e]));if(t!==0){if(0<t){let t=[0],n=[0];this.findEdgeClockwise(t,n,a,e,s,c)||r(`add_constraint`),l=t[0],u=n[0]}else{let t=[0],n=[0];this.findEdgeCounterClockwise(t,n,a,e,s,c)||r(`add_constraint`),l=t[0],u=n[0]}}else{e++,t=this.orientation(s,c,this.getPointXYFromEdge(a[e])),t<=0&&r(`add_constraint`);let n=[0],i=[0];this.findEdgeClockwise(n,i,a,e,s,c)||r(`add_constraint`),l=n[0],u=i[0]}}return e[0]=a[l],t[0]=a[u],!0}triangulateConstraint(e,t,n,r){if(t===n)return;let i=n;for(let a=t;a!==n;++a)this.inCircle(this.getPointXYFromEdge(r.first),this.getPointXYFromEdge(r.second),this.getPointXYFromEdge(e[i]),this.getPointXYFromEdge(e[a]))<0&&(i=a);if(i!==n){let t=this.newPairEdge();this.join(r.first,e[i],1,1,t),e[i]=t.second,this.triangulateConstraint(e,i+1,n,t)}if(i!==t){let n=this.newPairEdge();this.join(e[i],r.second,1,0,n),this.triangulateConstraint(e,t,i-1,n)}}insideLine(e,t,n){return this.orientation(e,t,n)===0?t.x<e.x!=t.x<n.x||t.y<e.y!=t.y<n.y:!1}orientation(e,t,n){return l.orientationRobust(e,t,n)}inCircle(e,t,n,r){return l.inCircleRobust(e,t,n,r)}calculateCircleCenterFromThreePoints(e,t,n){return t.lt(e)&&(t=f(e,e=t)),n.lt(t)&&(n=f(t,t=n)),t.lt(e)&&(t=f(e,e=t)),l.calculateCircleCenterFromThreePoints(e,t,n)}compare(e,t){return 3*((N(e[0]<t[0])<<1)+N(e[0]>t[0]))+(N(e[1]<t[1])<<1)+N(e[1]>t[1])-1}caseFromCompare(e,t,n){return(this.compare(e,t)<<6)+(this.compare(e,n)<<3)+this.compare(t,n)}}function N(e){return+!!e}function P(e,t,n){return e[n]===t[n]?e[1-n]<t[1-n]:e[n]<t[n]}function F(e){return e&255}class I{m_numberOfSets;m_elements;m_sizes;constructor(e){this.m_numberOfSets=e,this.m_elements=Array.from({length:e},(e,t)=>t),this.m_sizes=h(e,1)}getNumberOfSets(){return this.m_numberOfSets}connected(e,t){return this.findRoot(e)===this.findRoot(t)}connect(e,t){let n=this.findRoot(e),r=this.findRoot(t);return n!==r&&(this.m_sizes[n]<this.m_sizes[r]?(this.m_sizes[r]+=this.m_sizes[n],this.m_elements[n]=r):(this.m_sizes[n]+=this.m_sizes[r],this.m_elements[r]=n),--this.m_numberOfSets,!0)}connectRange(e,t,n){if(t!==n)for(let r=t;r<n;++r)this.connect(e[t],e[r])}size(){return this.m_elements.length}size1(e){return n(0),0}findRoot(e){let t=e;if(this.m_elements[t]!==t)do this.m_elements[t]=this.m_elements[this.m_elements[t]],t=this.m_elements[t];while(this.m_elements[t]!==t);return t}}function L(){return d(NaN,d([0,0,0],[0,0,0]))}function R(e,t){if(e.first!==t.first)return e.first-t.first;let n=e.second.first,r=t.second.first;for(let e=0;e<3;++e)if(n[e]!==r[e])return n[e]-r[e];n=e.second.second,r=t.second.second;for(let e=0;e<3;++e)if(n[e]!==r[e])return n[e]-r[e];return 0}class z{getOperatorType(){return 10112}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!1}executeMany(e,t,n,r){return new B(e,t,n,r)}execute(e,t,n,r=null){let i=new B(null,t,!1,n);return i.addGeometry(e),i.buildAlphaShape(r)}}class B extends t{m_progressTracker;m_bMerge;m_alpha;m_bDone;m_multiPointForAttributes=null;m_inputGeometryCursor=null;m_index=-1;m_nDelaunayPoints=0;m_cDelaunay=new M;m_vertexDescription=null;alphaShapeConstruct(e,t){let n=e.getEdgeCount(),r=new v({vd:this.m_vertexDescription});if(!r)throw Error(`alphaShapeConstruct`);for(let i=0;i<n;++i){if(t[i]!==2)continue;let n=T(null,null);if(n.first=e.getEdge(i),n.second=e.getTwinEdge(n.first),t[e.getEdgeIndex(n.second)]!==1)continue;e.getPointXYFromEdge(n.first),r.startPath(e.getPointXYFromEdge(n.first));let a=i,o=n.second;for(;;){for(t[a]=3,o=e.getCounterClockwiseEdge(o);t[e.getEdgeIndex(o)]===1;)o=e.getCounterClockwiseEdge(o);if(o===n.first)break;r.lineTo(e.getPointXYFromEdge(o)),a=e.getEdgeIndex(o),o=e.getTwinEdge(o)}}return r}alphaShape(e,t){let n=e.getEdgeCount(),r=new Uint8Array(n);for(let i=0;i<n;++i){if(r[i]!==0)continue;let n=j(),a=e.getEdge(i);n.p[0]=e.getPointFromEdge(a);let o=e.getClockwiseEdge(e.getTwinEdge(a));n.p[1]=e.getPointFromEdge(o);let s=e.getEdgeIndex(o),c=e.getClockwiseEdge(e.getTwinEdge(o));n.p[2]=e.getPointFromEdge(c);let d=e.getEdgeIndex(c),f=1;for(let t=0;t<3;++t)if(e.isInfinitePointFromPoint(n.p[t])){f=2;break}if(f===1){let r=u(l,3);for(let t=0;t<3;++t)r[t]=e.getPointXY(n.p[t]);let i=l.sqrDistance(r[0],r[1]),a=l.sqrDistance(r[1],r[2]),o=l.sqrDistance(r[2],r[0]),s=2*r[1].sub(r[0]).crossProduct(r[2].sub(r[0]));t<i*a*o/(s*s)&&(f=2)}r[i]=r[s]=r[d]=f}return this.alphaShapeConstruct(e,r)}alphaShapeAlphaOut(e,t){let n=e.getEdgeCount(),r=new Uint8Array(n),i=[],a=new I(e.getPointCount());for(let t=0;t<n;++t){if(r[t]!==0)continue;let n=j(),a=e.getEdge(t);n.p[0]=e.getPointFromEdge(a);let o=e.getClockwiseEdge(e.getTwinEdge(a));n.p[1]=e.getPointFromEdge(o);let s=e.getEdgeIndex(o),c=e.getClockwiseEdge(e.getTwinEdge(o));n.p[2]=e.getPointFromEdge(c);let u=e.getEdgeIndex(c),d=1;for(let t=0;t<3;++t)if(e.isInfinitePointFromPoint(n.p[t])){d=2;break}if(d===1){let r=[,,,];for(let t=0;t<3;++t)r[t]=e.getPointXY(n.p[t]);let a=l.sqrDistance(r[0],r[1]),o=l.sqrDistance(r[1],r[2]),c=l.sqrDistance(r[2],r[0]),f=r[1].sub(r[0]).crossProduct(r[2].sub(r[0])),p=L();p.first=a*o*c/(f*f),p.second.first[0]=t,p.second.first[1]=s,p.second.first[2]=u,p.second.second[0]=e.getPointIndex(n.p[0]),p.second.second[1]=e.getPointIndex(n.p[1]),p.second.second[2]=e.getPointIndex(n.p[2]),i.push(p),d=2}r[t]=r[s]=r[u]=d}i.sort((e,t)=>R(e,t));let o=0;for(let e of i){if(a.getNumberOfSets()===1&&e.first!==o)break;r[e.second.first[0]]=r[e.second.first[1]]=r[e.second.first[2]]=1;let t=[e.second.second[0],e.second.second[1],e.second.second[2]];a.connectRange(t,0,3),o=e.first}return t&&(t[0]=.25*o),this.alphaShapeConstruct(e,r)}constructor(e,t,n,r){super(),this.m_progressTracker=r,this.m_alpha=Number.isNaN(t)||!Number.isFinite(t)||t<0?-1:t<Number.MIN_VALUE?0:t,this.m_bMerge=n,this.m_bDone=!1,this.m_inputGeometryCursor=e,this.prepareDelaunay()}prepareDelaunay(){this.m_nDelaunayPoints=0,this.m_cDelaunay.clear(),this.m_alpha!==0&&this.m_cDelaunay.prepare(m())}next(){if(this.m_bMerge){if(!this.m_bDone){let e=this.calculateAlphaShapeMerging(this.m_inputGeometryCursor,this.m_progressTracker);return this.m_bDone=!0,e}return null}if(!this.m_bDone){let e=this.m_inputGeometryCursor.next();if(e!==null)return i(e),a(e),this.m_index=this.m_inputGeometryCursor.getGeometryID(),this.calculateAlphaShape(e,this.m_progressTracker);this.m_bDone=!0}return null}tock(){return!0}getRank(){return 1}getGeometryID(){return this.m_index}calculateAlphaShapeMerging(e,t){let n;for(;n=e.next();)i(n),a(n),this.addGeometry(n);return this.buildAlphaShape()}calculateAlphaShape(e,t){return e.isEmpty()?new v({vd:e.getDescription()}):(this.prepareDelaunay(),this.addGeometry(e),this.buildAlphaShape())}buildAlphaShape(e=null){if(e&&(e[0]=this.m_alpha),this.m_alpha===0)return this.m_vertexDescription?new v({vd:this.m_vertexDescription}):new v;if(this.m_cDelaunay.removeDuplicates())for(let e=0,t=this.m_cDelaunay.getPointCount();e<t;++e)this.m_cDelaunay.setPointIndex(this.m_cDelaunay.getPoint(e),e);return this.m_cDelaunay.construct()?this.m_alpha<0?this.alphaShapeAlphaOut(this.m_cDelaunay,e):this.alphaShape(this.m_cDelaunay,this.m_alpha):this.m_vertexDescription?new v({vd:this.m_vertexDescription}):new v}addGeometry(e){if(i(e),a(e),this.m_alpha===0||(this.m_vertexDescription&&this.m_bMerge||(this.m_vertexDescription=e.getDescription(),this.m_multiPointForAttributes=this.m_vertexDescription.getAttributeCount()>1?new y({vd:this.m_vertexDescription}):null),e.isEmpty()))return;let t=e.getGeometryType();if(o(t)){let t=e,n=new l;for(let e=0,r=t.getPointCount();e<r;e++)t.queryXY(e,n),this.m_cDelaunay.addVertex(n,this.m_nDelaunayPoints++);this.m_multiPointForAttributes&&this.m_multiPointForAttributes.addPoints(t,0,-1)}else if(t===s.enumPoint){let t=e,n=t.getXY();this.m_cDelaunay.addVertex(n,this.m_nDelaunayPoints++),this.m_multiPointForAttributes&&this.m_multiPointForAttributes.add(t)}else r(`bad geometry type`)}}const V=new z;function H(e,t,n){return V.execute(e,t,null,n)}function U(t,n,r){let i=V.executeMany(new e(t),n,r,null);return Array.from(i)}function W(){return V.supportsCurves()}export{H as execute,U as executeMany,W as supportsCurves};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{S as e}from"../../../chunks/SimpleGeometryCursor.js";import{G as t}from"../../../chunks/GeometryCursor.js";import{e as n}from"../../../chunks/Envelope.js";import{t as r,b as i,G as a,h as o,g as s,a as c}from"../../../chunks/Geometry.js";import{a as l,P as u,L as d,d as f}from"../../../chunks/MultiPathImpl.js";import{P as p,l as m,n as h,r as g,u as _,h as v}from"../../../chunks/Point2D.js";import{s as y}from"../../../chunks/Bufferer-CclWhXVb.js";import{O as b}from"../../../chunks/OperatorGraphicBuffer.js";function x(e,t,n,a,o,s,c){if(e===null&&i(``),e.getDimension()<1&&i(``),o>0||i(``),r(e),t===0||e.isEmpty())return e;let l=new D(c);return l.m_bUseZ=e.hasAttribute(1),l.m_bUseM=e.hasAttribute(2),l.m_inputGeometry=e,l.m_distance=t,l.m_tolerance=o,l.m_joins=n,l.m_miterLimit=a>1?a:1,l.m_miterLimit=y(l.m_miterLimit),l.m_progressCounter=0,l.m_options=s,l.constructOffset()}const S=1.4142135623730951,C=.017453292519943295,w=1024;class T{x;y;m_next;m_prev;z;m;type;static construct(e,t,n){let r=new T;return r.x=e.x,r.y=e.y,r.m_next=-1,r.m_prev=-1,r.z=t,r.m=n,r.type=0,r}clone(){let e=new T;return e.x=this.x,e.y=this.y,e.m_next=this.m_next,e.m_prev=this.m_prev,e.z=this.z,e.m=this.m,e.type=this.type,e}asPoint2D(){return new p(this.x,this.y)}}function E(){return{pt:new T,bAtExistingPt:!1}}class D{m_progressTracker;m_inputGeometry;m_distance=-1;m_tolerance=-1;m_miterLimit=10;m_joins=0;m_progressCounter=0;m_options=0;m_bUseZ=!1;m_bUseM=!1;m_srcPts=[];m_srcPtCount=0;m_offsetPts=[];m_offsetPtCount=0;m_resultPath;m_a1=0;m_a2=0;constructor(e){this.m_progressTracker=e}constructOffset(){let t=this.m_inputGeometry.getGeometryType();if(t===a.enumLine)return this.offsetLine();if(t===a.enumEnvelope)return this.offsetEnvelope();if(o(t)){let e=new l;return e.addSegment(this.m_inputGeometry,!0),this.m_inputGeometry=e,this.constructOffset()}if(t===a.enumPolyline){let e=new l;return this.offsetMultiPath(e),e}if(t===a.enumPolygon){if(this.m_options===1){let t;switch(this.m_joins){case 1:t=2;break;case 2:t=1;break;case 0:t=0;break;case 3:t=2;break;default:s(!1,`Invalid join type`)}return new b().executeMany(new e([this.m_inputGeometry]),null,[-1],t,1,this.m_miterLimit,this.m_tolerance,360,!1,0,null).next()}let t=new u;return this.offsetMultiPath(t),t}c(``)}offsetLine(){let e=this.m_inputGeometry,t=e.getStartXY(),n=e.getEndXY(),r=new p;r.setSub(n,t),r.normalize(),r.leftPerpendicularThis(),r.scale(this.m_distance),t.addThis(r),n.addThis(r);let i=e.clone();return i.setStartXY(t),i.setEndXY(n),i}offsetEnvelope(){let e=this.m_inputGeometry;if(this.m_distance>0&&this.m_joins!==2){let t=new u;return t.addEnvelope(e,!1),this.m_inputGeometry=t,this.constructOffset()}let t=e.clone();return t.inflateCoords(this.m_distance,this.m_distance),t}progress(){}static buildPoint(e,t,n,r){r.x=e.x+t*Math.cos(n),r.y=e.y+t*Math.sin(n),r.type=e.type,r.z=e.z,r.m=e.m,r.m_next=-1,r.m_prev=-1}addPoint(e){this.m_offsetPts.push(e.clone()),this.m_offsetPtCount++}addPointEx(e,t){if(this.m_offsetPtCount===0){this.addPoint(e);return}let n=this.m_srcPtCount,r=this.m_srcPts[t===0?n-1:t-1],i=this.m_srcPts[t],a=D.dotSign(r,i,this.m_offsetPts[this.m_offsetPtCount-1],e);if(a>0)this.addPoint(e);else if(a<0){if(D.dotSign(r,i,i,this.m_offsetPts[this.m_offsetPtCount-1])>0){let i=new T,a;a=t===0?n-2:t===1?n-1:t-2;let o=this.m_srcPts[a],s=Math.atan2(r.y-o.y,r.x-o.x);if(D.buildPoint(r,this.m_distance,s-m,i),this.m_offsetPts[this.m_offsetPtCount-1]=i.clone(),this.m_joins===1||this.m_joins===2){i.x=(i.x+r.x)*.5,i.y=(i.y+r.y)*.5,this.addPoint(i),D.buildPoint(r,this.m_distance,this.m_a1+m,i);let e=i.clone();e.x=(e.x+r.x)*.5,e.y=(e.y+r.y)*.5,e.type|=256,this.addPoint(e),this.addPoint(i)}else D.buildPoint(r,this.m_distance,this.m_a1+m,i),i.type|=256,this.addPoint(i);this.addPointEx(e,t)}else{let e=new T;if(D.buildPoint(i,this.m_distance,this.m_a1+m,e),this.addPoint(e),this.m_joins===1||this.m_joins===2){e.x=(e.x+i.x)*.5,e.y=(e.y+i.y)*.5,this.addPoint(e),D.buildPoint(i,this.m_distance,this.m_a2-m,e);let t=e.clone();t.x=(t.x+i.x)*.5,t.y=(t.y+i.y)*.5,t.type|=256,this.addPoint(t),this.addPoint(e)}else D.buildPoint(i,this.m_distance,this.m_a2-m,e),e.type|=256,this.addPoint(e)}}}buildOffset(){let e=new T,t=this.m_srcPtCount;this.m_offsetPtCount=0;let n=this.m_tolerance*.5,r=0,i=0;for(let a=0;a<t;a++){let o=this.m_srcPts[a],s=a===0?this.m_srcPts[t-1]:this.m_srcPts[a-1],c=a===t-1?this.m_srcPts[0]:this.m_srcPts[a+1],l=0,u,d;{let e=s.x-o.x,t=s.y-o.y,n=c.x-o.x,f=c.y-o.y;u=Math.atan2(t,e),d=Math.atan2(f,n),this.m_a1=u,this.m_a2=d,a===0&&(r=u,i=d),l=p.orientationRobust(o.asPoint2D(),s.asPoint2D(),c.asPoint2D())}let f=d;d<u&&(d+=h);let g=Math.abs(Math.abs(u-d)-Math.PI)<1e-8;if(g||l*this.m_distance>0){if(!g&&(this.m_joins===1||this.m_joins===2)){D.buildPoint(o,this.m_distance,u+m,e),this.addPoint(e);let t=.001;e.x=o.x+(e.x-o.x)*t,e.y=o.y+(e.y-o.y)*t,this.addPoint(e),D.buildPoint(o,this.m_distance,d-m,e);let n=e.clone();n.x=o.x+(n.x-o.x)*t,n.y=o.y+(n.y-o.y)*t,n.type|=256,this.addPoint(n),this.addPoint(e)}else{let t=(d-u)*.5,n=t===0?this.m_distance:this.m_distance/Math.abs(Math.sin(t));D.buildPoint(o,n,(u+d)*.5,e),this.addPointEx(e,a)}}else if(o.type&512){let t=1-n/Math.abs(this.m_distance),r=1,i=this.m_distance<0?-Math.PI:Math.PI;if(t>-1&&t<1){let e=Math.acos(t)*2;e<C&&(e=C),r=Math.trunc(Math.PI/e+1.5),r>1&&(i/=r)}r<=1&&(r=2,i/=2);let s=u+m;D.buildPoint(o,this.m_distance,s,e),a===0&&(e.type|=w),this.addPointEx(e,a);let c=this.m_distance/Math.cos(i/2);for(s+=i/2,D.buildPoint(o,c,s,e),e.type|=w,this.addPoint(e);--r>0;)s+=i,D.buildPoint(o,c,s,e),e.type|=w,this.addPoint(e);D.buildPoint(o,this.m_distance,d-m,e),e.type|=w,this.addPoint(e)}else if(this.m_joins===1)D.buildPoint(o,this.m_distance,u+m,e),this.addPointEx(e,a),D.buildPoint(o,this.m_distance,d-m,e),this.addPoint(e);else if(this.m_joins===0){let t=1-n/Math.abs(this.m_distance),r=1,i=d-m-(u+m);if(t>-1&&t<1){let e=Math.acos(t)*2;e<C&&(e=C),r=Math.trunc(Math.abs(i)/e+1.5),r>1&&(i/=r)}let s=this.m_distance/Math.cos(i*.5),c=u+m+i*.5;for(D.buildPoint(o,s,c,e),this.addPointEx(e,a);--r>0;)c+=i,D.buildPoint(o,s,c,e),this.addPoint(e)}else if(this.m_joins===2){let t=s.x-o.x,n=s.y-o.y,r=c.x-o.x,i=c.y-o.y,l=Math.sqrt(t*t+n*n),f=Math.sqrt(r*r+i*i),m=(t*r+n*i)/l/f;if(m=Math.max(m,-1),m>1-1e-8){D.buildPoint(o,S*this.m_distance,d-Math.PI*.25,e),this.addPointEx(e,a),D.buildPoint(o,S*this.m_distance,d+Math.PI*.25,e),this.addPoint(e);continue}let h=Math.abs(this.m_distance/Math.sin(Math.acos(m)*.5)),g=Math.abs(this.m_miterLimit*this.m_distance);if(h>g){let t=(d-u)*.5,n=this.m_distance/Math.abs(Math.sin(t));D.buildPoint(o,n,(u+d)*.5,e);let r=p.construct(e.x,e.y),i=p.construct(o.x,o.y),s=new p;s.setSub(r,i);let c=new p;c.setScaleAdd(g/s.length(),s,i);let l=Math.sqrt(h*h-this.m_distance*this.m_distance),f=(h-g)*Math.abs(this.m_distance)/l;this.m_distance>0?s.rightPerpendicularThis():s.leftPerpendicularThis(),s.scale(f/s.length());let m=new p;m.setAdd(c,s);let _=new p;_.setSub(c,s),e.x=m.x,e.y=m.y,this.addPointEx(e,a),e.x=_.x,e.y=_.y,this.addPoint(e);continue}let _=(d-u)*.5,v=this.m_distance/Math.abs(Math.sin(_));D.buildPoint(o,v,(u+d)*.5,e),this.addPointEx(e,a)}else{d=f;let t;if(this.m_distance>0?(d>u&&(d-=h),t=u-d<m):(d<u&&(d+=h),t=d-u<m),t){let t=this.m_distance*S,n;n=t<0?u+Math.PI*.25:u+3*Math.PI*.25,D.buildPoint(o,t,n,e),this.addPointEx(e,a),n=t<0?d-Math.PI*.25:d-3*Math.PI*.25,D.buildPoint(o,t,n,e),this.addPoint(e)}else{let t=(d-u)*.5,n=this.m_distance/Math.abs(Math.sin(t));d<u&&(d+=h),D.buildPoint(o,n,(u+d)/2,e),this.addPointEx(e,a)}}}return this.m_a1=r,this.m_a2=i,this.addPointEx(this.m_offsetPts[0],0),this.m_offsetPts[0]=this.m_offsetPts[this.m_offsetPtCount-1].clone(),this.removeBadSegsFast()}removeBadSegsFast(){for(let e=0;e<this.m_offsetPtCount;e++){let t=this.m_offsetPts[e];t.m_next=e+1,t.m_prev=e-1}this.m_offsetPts[0].m_prev=this.m_offsetPtCount-2,this.m_offsetPts[this.m_offsetPtCount-2].m_next=0;let e=this.m_offsetPtCount,t=0;for(let n=0;n<e;n++)if(this.m_offsetPts[t].type&256){let n=this.m_offsetPts[t].m_next,r=this.deleteClosedSeg(t);if(r!==-1){if(t>r){t=r,e=0;do e++,t=this.m_offsetPts[t].m_next;while(t!==r)}t=r}else{s(this.m_offsetPts[t].m_next===n);break}}else t=this.m_offsetPts[t].m_next;return this.compressOffsetArray(t),!0}deleteClosedSeg(e){let t=this.m_offsetPtCount-1,n=e;for(let r=1;r<=t-2&&(n=this.m_offsetPts[n].m_next,e!==n);r++){let t=n,i=e;for(let a=1;a<=r&&(i=this.m_offsetPts[i].m_prev,i!==e);a++){if(!(this.m_offsetPts[i].type&256)&&!(this.m_offsetPts[t].type&256)){let e=this.handleClosedIntersection(i,t);if(e!==-1)return e}if(t=this.m_offsetPts[t].m_prev,t===n)break}}return-1}handleClosedIntersection(e,t){let n=this.m_offsetPts[this.m_offsetPts[e].m_prev],r=this.m_offsetPts[e],i=this.m_offsetPts[this.m_offsetPts[t].m_prev],a=this.m_offsetPts[t];if(!this.sectGraphicRect(n,r,i,a))return-1;if(p.orientationRobustEx(n.asPoint2D(),r.asPoint2D(),i.asPoint2D(),a.asPoint2D())*this.m_distance<0){let o=this.findIntersection(n,r,i,a),s=!1;if(o[0]>=0){let c=E();if(o[0]>=0&&o[0]<=1&&(c.pt.x=g(n.x,r.x,o[0]),c.pt.y=g(n.y,r.y,o[0]),this.m_bUseZ&&(c.pt.z=g(i.z,a.z,o[1])),this.m_bUseM&&(c.pt.m=g(i.m,a.m,o[1])),(o[1]===0||o[1]===1)&&(o[0]===0||o[0]===1)&&(c.bAtExistingPt=!0),s=!((o[1]===0||o[1]===1)&&o[0]>0&&o[0]<1||(o[0]===0||o[0]===1)&&o[1]>0&&o[1]<1)),s&&!c.bAtExistingPt){let n=!1,a=c.pt.asPoint2D(),o=i.asPoint2D(),s=c.pt.asPoint2D(),l=this.m_offsetPts[e].m_prev;for(;;){if(p.getClosestCoordinate(o,s,a,!1)<1e-8){n=!1;break}if((s.y>a.y&&o.y<=a.y||s.y<a.y&&s.y<=a.y)&&p.orientationRobustEx(s,a,s,o)<0&&(n=!n),o.x=s.x,o.y=s.y,l=this.m_offsetPts[l].m_next,l===t)break;s.x=this.m_offsetPts[l].x,s.y=this.m_offsetPts[l].y}if(n)return-1;let u=this.m_offsetPts[e].m_prev;return c.pt.type=r.type,c.pt.m_next=t,c.pt.m_prev=u,this.m_offsetPts[e]=c.pt,this.m_offsetPts[t].m_prev=e,t}}}return-1}sectGraphicRect(e,t,n,r){return Math.max(e.x,t.x)>=Math.min(n.x,r.x)&&Math.max(n.x,r.x)>=Math.min(e.x,t.x)&&Math.max(e.y,t.y)>=Math.min(n.y,r.y)&&Math.max(n.y,r.y)>=Math.min(e.y,t.y)}findIntersection(e,t,n,r){let[i,a,o,s]=[e,t,n,r].map(e=>e.asPoint2D());if(i.equals(o))return[0,0];if(i.equals(s))return[0,1];if(a.equals(o))return[1,0];if(a.equals(s))return[1,1];let c=[];return d.segmentIntersectRobust(i,a,o,s,1e-15,c)===1?c:[-1,-1]}compressOffsetArray(e){for(;this.m_offsetPts[e].m_prev<e;)e=this.m_offsetPts[e].m_prev;let t=0,n=e;do{let e=this.m_offsetPts[n].clone();this.m_offsetPts[t]=e,n=e.m_next,t++}while(n!==e);this.m_offsetPts[t]=this.m_offsetPts[0].clone(),this.m_offsetPtCount=t+1}addPart(e,t,n){if(!(t<2)){for(let n=0;n<t;n++){let t=this.m_offsetPts[e+n];if(n?this.m_bUseZ?this.m_resultPath.lineTo3DCoords(t.x,t.y,t.z):this.m_resultPath.lineToCoords(t.x,t.y):this.m_bUseZ?this.m_resultPath.startPath3DCoords(t.x,t.y,t.z):this.m_resultPath.startPathCoords(t.x,t.y),this.m_bUseM){let e=this.m_resultPath.getPointCount()-1;this.m_resultPath.setAttribute(2,e,0,t.m)}}n&&this.m_resultPath.closePathWithLine()}}offsetMultiPath(e){let t=f(this.m_inputGeometry,0,this.m_tolerance,0,this.m_progressTracker,12e3),n=t.querySegmentIterator();n.resetToFirstPath();let r=-1;for(;n.nextPath();)r++,this.offsetPath(t,r,e)}offsetPath(e,t,n){let r=e.getPathStart(t),i=e.getPathEnd(t);if(this.m_resultPath=n,e.isClosedPath(t)){let t=e.getXY(r);for(;i>r&&e.getXY(i-1).equals(t);)i--;if(i-r>=2){this.m_srcPtCount=i-r,this.m_srcPts.length=this.m_srcPtCount;for(let t=r;t<i;t++)this.progress(),this.m_srcPts[t-r]=T.construct(e.getXY(t),this.m_bUseZ?e.getAttributeAsDbl(1,t,0):0,this.m_bUseM?e.getAttributeAsDbl(2,t,0):0);this.buildOffset()&&this.addPart(0,this.m_offsetPtCount-1,!0)}}else{let t=e.getXY(r);for(;r<i-1&&e.getXY(r+1).equals(t);)r++;let n=e.getXY(i-1);for(;r<i-1&&e.getXY(i-2).equals(n);)i--;if(i-r>=2){this.m_srcPtCount=(i-r)*2-2,this.m_srcPts.length=this.m_srcPtCount;let n=T.construct(t,this.m_bUseZ?e.getAttributeAsDbl(1,r,0):0,this.m_bUseM?e.getAttributeAsDbl(2,r,0):0);n.type|=1536,this.m_srcPts[0]=n;let a=1,o=this.m_srcPtCount-1;for(let t=r+1;t<i-1;t++,a++,o--)this.progress(),n=T.construct(e.getXY(t),this.m_bUseZ?e.getAttributeAsDbl(1,t,0):0,this.m_bUseM?e.getAttributeAsDbl(2,t,0):0),this.m_srcPts[a]=n.clone(),n.type|=w,this.m_srcPts[o]=n.clone();if(n=T.construct(e.getXY(i-1),this.m_bUseZ?e.getAttributeAsDbl(1,i-1,0):0,this.m_bUseM?e.getAttributeAsDbl(2,i-1,0):0),n.type|=512,this.m_srcPts[a]=n.clone(),this.buildOffset()){if(this.m_offsetPts.length>=2){let e=-1,t=-1,n=!!(this.m_offsetPts[this.m_offsetPtCount-1].type&w);n||(e=0);for(let r=1;r<this.m_offsetPtCount;r++){this.progress();let i=!!(this.m_offsetPts[r].type&w);i?n||(t=r-1,t-e+1>1&&this.addPart(e,t-e+1,!1)):n&&(e=r-1),n=i}n||(t=this.m_offsetPtCount-1,t-e+1>1&&this.addPart(e,t-e+1,!1))}else{let e=this.m_offsetPtCount-1;e-0>=1&&this.addPart(0,e-0+1,!1)}}}}this.m_srcPts.length=0,this.m_srcPtCount=0,this.m_offsetPts.length=0,this.m_offsetPtCount=0}static dotSign(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,o=r.x-n.x,s=r.y-n.y,c=_(i,a,o,s);return v(c)}}class O{getOperatorType(){return 10108}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}executeMany(e,t,n,r,i,a,o,s=0){return new k(e,t,n,r,i,a,o,s)}execute(e,t,n,r,i,a,o,s=0){return new k(null,t,n,r,i,a,o,s).offset(e)}}class k extends t{m_inputGeoms;m_spatialReference;m_progressTracker;m_distance;m_miterLimit;m_joins;m_flattenError;m_index;m_options;constructor(e,t,n,r,i,a,o,s){super(),this.m_progressTracker=o,this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_distance=n,this.m_joins=r,this.m_miterLimit=i,this.m_flattenError=a,this.m_options=s}tock(){return!0}getRank(){return 1}next(){if(!this.m_inputGeoms)return null;let e;for(;e=this.m_inputGeoms.next();)return this.m_index=this.m_inputGeoms.getGeometryID(),this.offset(e);return null}getGeometryID(){return this.m_index}offset(e){r(e);let t;return t=this.m_flattenError<=0?n(this.m_spatialReference,e,!0).total():this.m_flattenError,x(e,this.m_distance,this.m_joins,this.m_miterLimit,t,this.m_options,this.m_progressTracker)}}const A=new O;function j(e,t,n,r,i,a){return A.execute(e,t,n,r,i,a,null)}function M(t,n,r,i,a,o){let s=A.executeMany(new e(t),n,r,i,a,o,null);return Array.from(s)}function N(){return A.supportsCurves()}export{j as execute,M as executeMany,N as supportsCurves};
|
|
2
|
+
import{S as e}from"../../../chunks/SimpleGeometryCursor.js";import{G as t}from"../../../chunks/GeometryCursor.js";import{e as n}from"../../../chunks/Envelope.js";import{t as r,b as i,G as a,h as o,g as s,a as c}from"../../../chunks/Geometry.js";import{a as l,P as u,L as d,d as f}from"../../../chunks/MultiPathImpl.js";import{P as p,l as m,n as h,r as g,u as _,h as v}from"../../../chunks/Point2D.js";import{s as y}from"../../../chunks/Bufferer-CclWhXVb.js";import{O as b}from"../../../chunks/OperatorGraphicBuffer.js";function x(e,t,n,a,o,s,c){if(e===null&&i(``),e.getDimension()<1&&i(``),o>0||i(``),r(e),t===0||e.isEmpty())return e;let l=new D(c);return l.m_bUseZ=e.hasAttribute(1),l.m_bUseM=e.hasAttribute(2),l.m_inputGeometry=e,l.m_distance=t,l.m_tolerance=o,l.m_joins=n,l.m_miterLimit=a>1?a:1,l.m_miterLimit=y(l.m_miterLimit),l.m_progressCounter=0,l.m_options=s,l.constructOffset()}const S=1.4142135623730951,C=.017453292519943295,w=1024;class T{x;y;m_next;m_prev;z;m;type;static construct(e,t,n){let r=new T;return r.x=e.x,r.y=e.y,r.m_next=-1,r.m_prev=-1,r.z=t,r.m=n,r.type=0,r}clone(){let e=new T;return e.x=this.x,e.y=this.y,e.m_next=this.m_next,e.m_prev=this.m_prev,e.z=this.z,e.m=this.m,e.type=this.type,e}asPoint2D(){return new p(this.x,this.y)}}function E(){return{pt:new T,bAtExistingPt:!1}}class D{m_progressTracker;m_inputGeometry;m_distance=-1;m_tolerance=-1;m_miterLimit=10;m_joins=0;m_progressCounter=0;m_options=0;m_bUseZ=!1;m_bUseM=!1;m_srcPts=[];m_srcPtCount=0;m_offsetPts=[];m_offsetPtCount=0;m_resultPath;m_a1=0;m_a2=0;constructor(e){this.m_progressTracker=e}constructOffset(){let t=this.m_inputGeometry.getGeometryType();if(t===a.enumLine)return this.offsetLine();if(t===a.enumEnvelope)return this.offsetEnvelope();if(o(t)){let e=new l;return e.addSegment(this.m_inputGeometry,!0),this.m_inputGeometry=e,this.constructOffset()}if(t===a.enumPolyline){let e=new l;return this.offsetMultiPath(e),e}if(t===a.enumPolygon){if(this.m_options===1){let t;switch(this.m_joins){case 1:t=2;break;case 2:t=1;break;case 0:t=0;break;case 3:t=2;break;default:s(!1,`Invalid join type`)}return new b().executeMany(new e([this.m_inputGeometry]),null,[-1],t,1,this.m_miterLimit,this.m_tolerance,360,!1,0,null).next()}let t=new u;return this.offsetMultiPath(t),t}c(``)}offsetLine(){let e=this.m_inputGeometry,t=e.getStartXY(),n=e.getEndXY(),r=new p;r.setSub(n,t),r.normalize(),r.leftPerpendicularThis(),r.scale(this.m_distance),t.addThis(r),n.addThis(r);let i=e.clone();return i.setStartXY(t),i.setEndXY(n),i}offsetEnvelope(){let e=this.m_inputGeometry;if(this.m_distance>0&&this.m_joins!==2){let t=new u;return t.addEnvelope(e,!1),this.m_inputGeometry=t,this.constructOffset()}let t=e.clone();return t.inflateCoords(this.m_distance,this.m_distance),t}progress(){}static buildPoint(e,t,n,r){r.x=e.x+t*Math.cos(n),r.y=e.y+t*Math.sin(n),r.type=e.type,r.z=e.z,r.m=e.m,r.m_next=-1,r.m_prev=-1}addPoint(e){this.m_offsetPts.push(e.clone()),this.m_offsetPtCount++}addPointEx(e,t){if(this.m_offsetPtCount===0){this.addPoint(e);return}let n=this.m_srcPtCount,r=this.m_srcPts[t===0?n-1:t-1],i=this.m_srcPts[t],a=D.dotSign(r,i,this.m_offsetPts[this.m_offsetPtCount-1],e);if(a>0)this.addPoint(e);else if(a<0){if(D.dotSign(r,i,i,this.m_offsetPts[this.m_offsetPtCount-1])>0){let i=new T,a;a=t===0?n-2:t===1?n-1:t-2;let o=this.m_srcPts[a],s=Math.atan2(r.y-o.y,r.x-o.x);if(D.buildPoint(r,this.m_distance,s-m,i),this.m_offsetPts[this.m_offsetPtCount-1]=i.clone(),this.m_joins===1||this.m_joins===2){i.x=(i.x+r.x)*.5,i.y=(i.y+r.y)*.5,this.addPoint(i),D.buildPoint(r,this.m_distance,this.m_a1+m,i);let e=i.clone();e.x=(e.x+r.x)*.5,e.y=(e.y+r.y)*.5,e.type|=256,this.addPoint(e),this.addPoint(i)}else D.buildPoint(r,this.m_distance,this.m_a1+m,i),i.type|=256,this.addPoint(i);this.addPointEx(e,t)}else{let e=new T;if(D.buildPoint(i,this.m_distance,this.m_a1+m,e),this.addPoint(e),this.m_joins===1||this.m_joins===2){e.x=(e.x+i.x)*.5,e.y=(e.y+i.y)*.5,this.addPoint(e),D.buildPoint(i,this.m_distance,this.m_a2-m,e);let t=e.clone();t.x=(t.x+i.x)*.5,t.y=(t.y+i.y)*.5,t.type|=256,this.addPoint(t),this.addPoint(e)}else D.buildPoint(i,this.m_distance,this.m_a2-m,e),e.type|=256,this.addPoint(e)}}}buildOffset(){let e=new T,t=this.m_srcPtCount;this.m_offsetPtCount=0;let n=this.m_tolerance*.5,r=0,i=0;for(let a=0;a<t;a++){let o=this.m_srcPts[a],s=a===0?this.m_srcPts[t-1]:this.m_srcPts[a-1],c=a===t-1?this.m_srcPts[0]:this.m_srcPts[a+1],l=0,u,d;{let e=s.x-o.x,t=s.y-o.y,n=c.x-o.x,f=c.y-o.y;u=Math.atan2(t,e),d=Math.atan2(f,n),this.m_a1=u,this.m_a2=d,a===0&&(r=u,i=d),l=p.orientationRobust(o.asPoint2D(),s.asPoint2D(),c.asPoint2D())}let f=d;d<u&&(d+=h);let g=Math.abs(Math.abs(u-d)-Math.PI)<1e-8;if(g||l*this.m_distance>0){if(!g&&(this.m_joins===1||this.m_joins===2)){D.buildPoint(o,this.m_distance,u+m,e),this.addPoint(e);let t=.001;e.x=o.x+(e.x-o.x)*t,e.y=o.y+(e.y-o.y)*t,this.addPoint(e),D.buildPoint(o,this.m_distance,d-m,e);let n=e.clone();n.x=o.x+(n.x-o.x)*t,n.y=o.y+(n.y-o.y)*t,n.type|=256,this.addPoint(n),this.addPoint(e)}else{let t=(d-u)*.5,n=t===0?this.m_distance:this.m_distance/Math.abs(Math.sin(t));D.buildPoint(o,n,(u+d)*.5,e),this.addPointEx(e,a)}}else if(o.type&512){let t=1-n/Math.abs(this.m_distance),r=1,i=this.m_distance<0?-Math.PI:Math.PI;if(t>-1&&t<1){let e=Math.acos(t)*2;e<C&&(e=C),r=Math.trunc(Math.PI/e+1.5),r>1&&(i/=r)}r<=1&&(r=2,i/=2);let s=u+m;D.buildPoint(o,this.m_distance,s,e),a===0&&(e.type|=w),this.addPointEx(e,a);let c=this.m_distance/Math.cos(i/2);for(s+=i/2,D.buildPoint(o,c,s,e),e.type|=w,this.addPoint(e);--r>0;)s+=i,D.buildPoint(o,c,s,e),e.type|=w,this.addPoint(e);D.buildPoint(o,this.m_distance,d-m,e),e.type|=w,this.addPoint(e)}else if(this.m_joins===1)D.buildPoint(o,this.m_distance,u+m,e),this.addPointEx(e,a),D.buildPoint(o,this.m_distance,d-m,e),this.addPoint(e);else if(this.m_joins===0){let t=1-n/Math.abs(this.m_distance),r=1,i=d-m-(u+m);if(t>-1&&t<1){let e=Math.acos(t)*2;e<C&&(e=C),r=Math.trunc(Math.abs(i)/e+1.5),r>1&&(i/=r)}let s=this.m_distance/Math.cos(i*.5),c=u+m+i*.5;for(D.buildPoint(o,s,c,e),this.addPointEx(e,a);--r>0;)c+=i,D.buildPoint(o,s,c,e),this.addPoint(e)}else if(this.m_joins===2){let t=s.x-o.x,n=s.y-o.y,r=c.x-o.x,i=c.y-o.y,l=Math.sqrt(t*t+n*n),f=Math.sqrt(r*r+i*i),m=(t*r+n*i)/l/f;if(m=Math.max(m,-1),m>1-1e-8){D.buildPoint(o,S*this.m_distance,d-Math.PI*.25,e),this.addPointEx(e,a),D.buildPoint(o,S*this.m_distance,d+Math.PI*.25,e),this.addPoint(e);continue}let h=Math.abs(this.m_distance/Math.sin(Math.acos(m)*.5)),g=Math.abs(this.m_miterLimit*this.m_distance);if(h>g){let t=(d-u)*.5,n=this.m_distance/Math.abs(Math.sin(t));D.buildPoint(o,n,(u+d)*.5,e);let r=p.construct(e.x,e.y),i=p.construct(o.x,o.y),s=new p;s.setSub(r,i);let c=new p;c.setScaleAdd(g/s.length(),s,i);let l=Math.sqrt(h*h-this.m_distance*this.m_distance),f=(h-g)*Math.abs(this.m_distance)/l;this.m_distance>0?s.rightPerpendicularThis():s.leftPerpendicularThis(),s.scale(f/s.length());let m=new p;m.setAdd(c,s);let _=new p;_.setSub(c,s),e.x=m.x,e.y=m.y,this.addPointEx(e,a),e.x=_.x,e.y=_.y,this.addPoint(e);continue}let _=(d-u)*.5,v=this.m_distance/Math.abs(Math.sin(_));D.buildPoint(o,v,(u+d)*.5,e),this.addPointEx(e,a)}else{d=f;let t;if(this.m_distance>0?(d>u&&(d-=h),t=u-d<m):(d<u&&(d+=h),t=d-u<m),t){let t=this.m_distance*S,n;n=t<0?u+Math.PI*.25:u+3*Math.PI*.25,D.buildPoint(o,t,n,e),this.addPointEx(e,a),n=t<0?d-Math.PI*.25:d-3*Math.PI*.25,D.buildPoint(o,t,n,e),this.addPoint(e)}else{let t=(d-u)*.5,n=this.m_distance/Math.abs(Math.sin(t));d<u&&(d+=h),D.buildPoint(o,n,(u+d)/2,e),this.addPointEx(e,a)}}}return this.m_a1=r,this.m_a2=i,this.addPointEx(this.m_offsetPts[0],0),this.m_offsetPts[0]=this.m_offsetPts[this.m_offsetPtCount-1].clone(),this.removeBadSegsFast()}removeBadSegsFast(){for(let e=0;e<this.m_offsetPtCount;e++){let t=this.m_offsetPts[e];t.m_next=e+1,t.m_prev=e-1}this.m_offsetPts[0].m_prev=this.m_offsetPtCount-2,this.m_offsetPts[this.m_offsetPtCount-2].m_next=0;let e=this.m_offsetPtCount,t=0;for(let n=0;n<e;n++)if(this.m_offsetPts[t].type&256){let n=this.m_offsetPts[t].m_next,r=this.deleteClosedSeg(t);if(r!==-1){if(t>r){t=r,e=0;do e++,t=this.m_offsetPts[t].m_next;while(t!==r)}t=r}else{s(this.m_offsetPts[t].m_next===n);break}}else t=this.m_offsetPts[t].m_next;return this.compressOffsetArray(t),!0}deleteClosedSeg(e){let t=this.m_offsetPtCount-1,n=e;for(let r=1;r<=t-2&&(n=this.m_offsetPts[n].m_next,e!==n);r++){let t=n,i=e;for(let a=1;a<=r&&(i=this.m_offsetPts[i].m_prev,i!==e);a++){if(!(this.m_offsetPts[i].type&256)&&!(this.m_offsetPts[t].type&256)){let e=this.handleClosedIntersection(i,t);if(e!==-1)return e}if(t=this.m_offsetPts[t].m_prev,t===n)break}}return-1}handleClosedIntersection(e,t){let n=this.m_offsetPts[this.m_offsetPts[e].m_prev],r=this.m_offsetPts[e],i=this.m_offsetPts[this.m_offsetPts[t].m_prev],a=this.m_offsetPts[t];if(!this.sectGraphicRect(n,r,i,a))return-1;if(p.orientationRobustEx(n.asPoint2D(),r.asPoint2D(),i.asPoint2D(),a.asPoint2D())*this.m_distance<0){let o=this.findIntersection(n,r,i,a),s=!1;if(o[0]>=0){let c=E();if(o[0]>=0&&o[0]<=1&&(c.pt.x=g(n.x,r.x,o[0]),c.pt.y=g(n.y,r.y,o[0]),this.m_bUseZ&&(c.pt.z=g(i.z,a.z,o[1])),this.m_bUseM&&(c.pt.m=g(i.m,a.m,o[1])),o[1]!==0&&o[1]!==1||o[0]!==0&&o[0]!==1||(c.bAtExistingPt=!0),s=!((o[1]===0||o[1]===1)&&o[0]>0&&o[0]<1||(o[0]===0||o[0]===1)&&o[1]>0&&o[1]<1)),s&&!c.bAtExistingPt){let n=!1,a=c.pt.asPoint2D(),o=i.asPoint2D(),s=c.pt.asPoint2D(),l=this.m_offsetPts[e].m_prev;for(;;){if(p.getClosestCoordinate(o,s,a,!1)<1e-8){n=!1;break}if((s.y>a.y&&o.y<=a.y||s.y<a.y&&s.y<=a.y)&&p.orientationRobustEx(s,a,s,o)<0&&(n=!n),o.x=s.x,o.y=s.y,l=this.m_offsetPts[l].m_next,l===t)break;s.x=this.m_offsetPts[l].x,s.y=this.m_offsetPts[l].y}if(n)return-1;let u=this.m_offsetPts[e].m_prev;return c.pt.type=r.type,c.pt.m_next=t,c.pt.m_prev=u,this.m_offsetPts[e]=c.pt,this.m_offsetPts[t].m_prev=e,t}}}return-1}sectGraphicRect(e,t,n,r){return Math.max(e.x,t.x)>=Math.min(n.x,r.x)&&Math.max(n.x,r.x)>=Math.min(e.x,t.x)&&Math.max(e.y,t.y)>=Math.min(n.y,r.y)&&Math.max(n.y,r.y)>=Math.min(e.y,t.y)}findIntersection(e,t,n,r){let[i,a,o,s]=[e,t,n,r].map(e=>e.asPoint2D());if(i.equals(o))return[0,0];if(i.equals(s))return[0,1];if(a.equals(o))return[1,0];if(a.equals(s))return[1,1];let c=[];return d.segmentIntersectRobust(i,a,o,s,1e-15,c)===1?c:[-1,-1]}compressOffsetArray(e){for(;this.m_offsetPts[e].m_prev<e;)e=this.m_offsetPts[e].m_prev;let t=0,n=e;do{let e=this.m_offsetPts[n].clone();this.m_offsetPts[t]=e,n=e.m_next,t++}while(n!==e);this.m_offsetPts[t]=this.m_offsetPts[0].clone(),this.m_offsetPtCount=t+1}addPart(e,t,n){if(!(t<2)){for(let n=0;n<t;n++){let t=this.m_offsetPts[e+n];if(n?this.m_bUseZ?this.m_resultPath.lineTo3DCoords(t.x,t.y,t.z):this.m_resultPath.lineToCoords(t.x,t.y):this.m_bUseZ?this.m_resultPath.startPath3DCoords(t.x,t.y,t.z):this.m_resultPath.startPathCoords(t.x,t.y),this.m_bUseM){let e=this.m_resultPath.getPointCount()-1;this.m_resultPath.setAttribute(2,e,0,t.m)}}n&&this.m_resultPath.closePathWithLine()}}offsetMultiPath(e){let t=f(this.m_inputGeometry,0,this.m_tolerance,0,this.m_progressTracker,12e3),n=t.querySegmentIterator();n.resetToFirstPath();let r=-1;for(;n.nextPath();)r++,this.offsetPath(t,r,e)}offsetPath(e,t,n){let r=e.getPathStart(t),i=e.getPathEnd(t);if(this.m_resultPath=n,e.isClosedPath(t)){let t=e.getXY(r);for(;i>r&&e.getXY(i-1).equals(t);)i--;if(i-r>=2){this.m_srcPtCount=i-r,this.m_srcPts.length=this.m_srcPtCount;for(let t=r;t<i;t++)this.progress(),this.m_srcPts[t-r]=T.construct(e.getXY(t),this.m_bUseZ?e.getAttributeAsDbl(1,t,0):0,this.m_bUseM?e.getAttributeAsDbl(2,t,0):0);this.buildOffset()&&this.addPart(0,this.m_offsetPtCount-1,!0)}}else{let t=e.getXY(r);for(;r<i-1&&e.getXY(r+1).equals(t);)r++;let n=e.getXY(i-1);for(;r<i-1&&e.getXY(i-2).equals(n);)i--;if(i-r>=2){this.m_srcPtCount=(i-r)*2-2,this.m_srcPts.length=this.m_srcPtCount;let n=T.construct(t,this.m_bUseZ?e.getAttributeAsDbl(1,r,0):0,this.m_bUseM?e.getAttributeAsDbl(2,r,0):0);n.type|=1536,this.m_srcPts[0]=n;let a=1,o=this.m_srcPtCount-1;for(let t=r+1;t<i-1;t++,a++,o--)this.progress(),n=T.construct(e.getXY(t),this.m_bUseZ?e.getAttributeAsDbl(1,t,0):0,this.m_bUseM?e.getAttributeAsDbl(2,t,0):0),this.m_srcPts[a]=n.clone(),n.type|=w,this.m_srcPts[o]=n.clone();if(n=T.construct(e.getXY(i-1),this.m_bUseZ?e.getAttributeAsDbl(1,i-1,0):0,this.m_bUseM?e.getAttributeAsDbl(2,i-1,0):0),n.type|=512,this.m_srcPts[a]=n.clone(),this.buildOffset()){if(this.m_offsetPts.length>=2){let e=-1,t=-1,n=!!(this.m_offsetPts[this.m_offsetPtCount-1].type&w);n||(e=0);for(let r=1;r<this.m_offsetPtCount;r++){this.progress();let i=!!(this.m_offsetPts[r].type&w);i?n||(t=r-1,t-e+1>1&&this.addPart(e,t-e+1,!1)):n&&(e=r-1),n=i}n||(t=this.m_offsetPtCount-1,t-e+1>1&&this.addPart(e,t-e+1,!1))}else{let e=this.m_offsetPtCount-1;e-0>=1&&this.addPart(0,e-0+1,!1)}}}}this.m_srcPts.length=0,this.m_srcPtCount=0,this.m_offsetPts.length=0,this.m_offsetPtCount=0}static dotSign(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,o=r.x-n.x,s=r.y-n.y,c=_(i,a,o,s);return v(c)}}class O{getOperatorType(){return 10108}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}executeMany(e,t,n,r,i,a,o,s=0){return new k(e,t,n,r,i,a,o,s)}execute(e,t,n,r,i,a,o,s=0){return new k(null,t,n,r,i,a,o,s).offset(e)}}class k extends t{m_inputGeoms;m_spatialReference;m_progressTracker;m_distance;m_miterLimit;m_joins;m_flattenError;m_index;m_options;constructor(e,t,n,r,i,a,o,s){super(),this.m_progressTracker=o,this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_distance=n,this.m_joins=r,this.m_miterLimit=i,this.m_flattenError=a,this.m_options=s}tock(){return!0}getRank(){return 1}next(){if(!this.m_inputGeoms)return null;let e;for(;e=this.m_inputGeoms.next();)return this.m_index=this.m_inputGeoms.getGeometryID(),this.offset(e);return null}getGeometryID(){return this.m_index}offset(e){r(e);let t;return t=this.m_flattenError<=0?n(this.m_spatialReference,e,!0).total():this.m_flattenError,x(e,this.m_distance,this.m_joins,this.m_miterLimit,t,this.m_options,this.m_progressTracker)}}const A=new O;function j(e,t,n,r,i,a){return A.execute(e,t,n,r,i,a,null)}function M(t,n,r,i,a,o){let s=A.executeMany(new e(t),n,r,i,a,o,null);return Array.from(s)}function N(){return A.supportsCurves()}export{j as execute,M as executeMany,N as supportsCurves};
|