@arcgis/core 4.34.0-next.23 → 4.34.0-next.25
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/Basemap.js +1 -1
- package/analysis/VolumeMeasurement/CutFillOptions.d.ts +4 -0
- package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
- package/analysis/VolumeMeasurementAnalysis.js +1 -1
- package/applications/Components/imageryUtils.d.ts +4 -0
- package/applications/Components/imageryUtils.js +5 -0
- package/arcade/parser.js +1 -1
- package/arcade/validation/arcadeValidator.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/026fbeb0ff5b9e6c74df.js +1 -0
- package/assets/esri/core/workers/chunks/{0867aa688fa8938906da.js → 03bef3f4b6b09b1e864b.js} +1 -1
- package/assets/esri/core/workers/chunks/06cdbccc9f325dcc303d.js +1 -0
- package/assets/esri/core/workers/chunks/07613c89255bdab6b7c6.js +1 -0
- package/assets/esri/core/workers/chunks/09618761df5c4fdd52a0.js +1 -0
- package/assets/esri/core/workers/chunks/0ae00339991f5387203e.js +1 -0
- package/assets/esri/core/workers/chunks/0b4b294f3ce74fde5620.js +1 -0
- package/assets/esri/core/workers/chunks/{146520d263b910b5bdc7.js → 0e96a3b7228f1ff8e6c5.js} +1 -1
- package/assets/esri/core/workers/chunks/109ef17dd4f9430bb686.js +1 -0
- package/assets/esri/core/workers/chunks/1597aca21334cab3b802.js +1 -0
- package/assets/esri/core/workers/chunks/196564ad230bef6b59cf.js +1 -0
- package/assets/esri/core/workers/chunks/19f8d551cbebc11db1eb.js +1 -0
- package/assets/esri/core/workers/chunks/1ceee047e3fa617b0600.js +1 -0
- package/assets/esri/core/workers/chunks/1d27701832ea139fcc20.js +1 -0
- package/assets/esri/core/workers/chunks/1f296f85becf1ca6714d.js +1 -0
- package/assets/esri/core/workers/chunks/1f8d7bd44d53c30df383.js +1 -0
- package/assets/esri/core/workers/chunks/1fabb5ec59da698c1618.js +1 -0
- package/assets/esri/core/workers/chunks/{919d2fd7ebc0c840a759.js → 219b2911668db120452b.js} +1 -1
- package/assets/esri/core/workers/chunks/234cbc290b074eeb5dd6.js +1 -0
- package/assets/esri/core/workers/chunks/29ae5723fa35aa73ff9b.js +1 -0
- package/assets/esri/core/workers/chunks/2b4b073254fe8b6a081c.js +1 -0
- package/assets/esri/core/workers/chunks/30293b88501b5d6162fc.js +1 -0
- package/assets/esri/core/workers/chunks/31533f5e8b76b307f61c.js +1 -0
- package/assets/esri/core/workers/chunks/347117e61e1c6edd074f.js +1 -0
- package/assets/esri/core/workers/chunks/3616eb2607843524483f.js +1 -0
- package/assets/esri/core/workers/chunks/36648facd56ee91afc7c.js +1 -0
- package/assets/esri/core/workers/chunks/394477e88be0c6790f02.js +1 -0
- package/assets/esri/core/workers/chunks/3b80b01551d124534a1b.js +1 -0
- package/assets/esri/core/workers/chunks/{89d91ce2f566dd3f57f7.js → 3be9ec0503a669bcfce6.js} +1 -1
- package/assets/esri/core/workers/chunks/3c9cf06ac6aa1db6c4f6.js +1 -0
- package/assets/esri/core/workers/chunks/40fc7c43feaeef8b814d.js +1 -0
- package/assets/esri/core/workers/chunks/42cddc8f8c8d73e22ee2.js +1 -0
- package/assets/esri/core/workers/chunks/437a4100a837ee16df7c.js +1 -0
- package/assets/esri/core/workers/chunks/{63cc4647b7775ff8aedf.js → 44d28849e59f62616e72.js} +1 -1
- package/assets/esri/core/workers/chunks/453e536f566d80a9863b.js +1 -0
- package/assets/esri/core/workers/chunks/472c677a74d779ce62d7.js +1 -0
- package/assets/esri/core/workers/chunks/4b68b6985430c42316b7.js +1 -0
- package/assets/esri/core/workers/chunks/{6bb1ecaa0afc2c7de79e.js → 4cc3eeb0b824c53793d0.js} +1 -1
- package/assets/esri/core/workers/chunks/4ce671bc4d36387b55fa.js +1 -0
- package/assets/esri/core/workers/chunks/51cfa2f70ec222e1582b.js +1 -0
- package/assets/esri/core/workers/chunks/5284d46aecd6fe0345b8.js +1 -0
- package/assets/esri/core/workers/chunks/567385709e18ace93b1e.js +1 -0
- package/assets/esri/core/workers/chunks/5a9b27f2b343cd5b0852.js +1 -0
- package/assets/esri/core/workers/chunks/{4c2f3e43992a918e4c2d.js → 5ef3256c32c4b622bd11.js} +1 -1
- package/assets/esri/core/workers/chunks/{5ce62d9fff80d014d186.js → 60aeb7a5ccd8bc71be02.js} +1 -1
- package/assets/esri/core/workers/chunks/{55e9b02d70812f7cdac2.js → 63966066a963e9a1fb14.js} +1 -1
- package/assets/esri/core/workers/chunks/63f50ff2ae94f684d56b.js +1 -0
- package/assets/esri/core/workers/chunks/{8bf04be4052bf148777a.js → 6a1cf6b0ffdf6080b5c4.js} +1 -1
- package/assets/esri/core/workers/chunks/6deaa08e3a61a455e564.js +1 -0
- package/assets/esri/core/workers/chunks/6e9b4bfe2a1497c96100.js +1 -0
- package/assets/esri/core/workers/chunks/6efc3d120c9c2c09cb06.js +1 -0
- package/assets/esri/core/workers/chunks/7338ce95bceb2c7fab87.js +1 -0
- package/assets/esri/core/workers/chunks/{c64fa94cba71ba2794e2.js → 771012f129890f9a089c.js} +1 -1
- package/assets/esri/core/workers/chunks/{d1b363c418a67b087306.js → 780ff9314f26ae62f75f.js} +1 -1
- package/assets/esri/core/workers/chunks/820cf4337b248a0cb63c.js +1 -0
- package/assets/esri/core/workers/chunks/{b57c0ef7bc57e3c91257.js → 865fccacf44ae5b70eba.js} +1 -1
- package/assets/esri/core/workers/chunks/{fedbf639a0788417a70f.js → 86abfce1f2ac93cc4d54.js} +1 -1
- package/assets/esri/core/workers/chunks/{c94cc026c4ed330408fb.js → 8894483b91bcda845b6f.js} +1 -1
- package/assets/esri/core/workers/chunks/{f050ab9d100012b77bb9.js → 8c5b1114cc2a58305a81.js} +1 -1
- package/assets/esri/core/workers/chunks/{6ca764b4baadef5c1515.js → 92737419b66894799a34.js} +1 -1
- package/assets/esri/core/workers/chunks/9511e55e4fabb3235eac.js +1 -0
- package/assets/esri/core/workers/chunks/{f43110391f124b8a179c.js → 9a78cb291c966f8ddda6.js} +2 -2
- package/assets/esri/core/workers/chunks/9f8341caab3b1d02f387.js +1 -0
- package/assets/esri/core/workers/chunks/a08d018d8c137fc4ca17.js +1 -0
- package/assets/esri/core/workers/chunks/{7051bcc178eb512819f6.js → a55338add265d330124b.js} +1 -1
- package/assets/esri/core/workers/chunks/afe4fd3b1b3521712edd.js +1 -0
- package/assets/esri/core/workers/chunks/{9991bd3c7991bffd8260.js → b37f3c416cefc1a6ea2c.js} +1 -1
- package/assets/esri/core/workers/chunks/{6782114a752b9cc59168.js → b6b8272a74a5c24a6b86.js} +1 -1
- package/assets/esri/core/workers/chunks/b9f66d735a7e63417b3d.js +1 -0
- package/assets/esri/core/workers/chunks/bb50b4a3af627f91d789.js +1 -0
- package/assets/esri/core/workers/chunks/{f42155b7a4e6c5e80757.js → bbc2a4976d044b990193.js} +1 -1
- package/assets/esri/core/workers/chunks/bbf2c31d217de1b8ba6e.js +1 -0
- package/assets/esri/core/workers/chunks/be3977f7fe0c46a1b493.js +1 -0
- package/assets/esri/core/workers/chunks/befba7ceeb26a38732c1.js +1 -0
- package/assets/esri/core/workers/chunks/bf3fc71881aa559fc931.js +1 -0
- package/assets/esri/core/workers/chunks/c19421707257fc93acb9.js +1 -0
- package/assets/esri/core/workers/chunks/c1fb5290e0e259b74389.js +1 -0
- package/assets/esri/core/workers/chunks/c361bf4d41a1843d4640.js +1 -0
- package/assets/esri/core/workers/chunks/c51099eab5a99c88e5de.js +1 -0
- package/assets/esri/core/workers/chunks/c56b05a8be498b6f3ee7.js +1 -0
- package/assets/esri/core/workers/chunks/c82e78590c2fabc67609.js +1 -0
- package/assets/esri/core/workers/chunks/{cab1a1067f44ce374673.js → c9e580867f7ac17be329.js} +1 -1
- package/assets/esri/core/workers/chunks/{92ad9098006568358550.js → cafcb46d723d38b377a9.js} +1 -1
- package/assets/esri/core/workers/chunks/{1d75cb1747ffb7b8b050.js → cb81d448ed6bad205346.js} +1 -1
- package/assets/esri/core/workers/chunks/{0f6203ae32663b2b52db.js → d08a523b548e892e1222.js} +1 -1
- package/assets/esri/core/workers/chunks/d29ae64703a947bfb83b.js +1 -0
- package/assets/esri/core/workers/chunks/d2ce360961ca4b58666c.js +1 -0
- package/assets/esri/core/workers/chunks/{04c17957c15234ca0321.js → d81260303a11d3fbe940.js} +1 -1
- package/assets/esri/core/workers/chunks/de1457b07f4e263f1524.js +1 -0
- package/assets/esri/core/workers/chunks/{6bf43bc3714d7b3878fa.js → e547318638c8f496c1a0.js} +1 -1
- package/assets/esri/core/workers/chunks/e8e993fb8697b8f3e0c7.js +346 -0
- package/assets/esri/core/workers/chunks/{53781ccca16e53d4a8c3.js → f291ccf9da6aa7d7ae23.js} +1 -1
- package/assets/esri/core/workers/chunks/f61a8cc7e2b198e521ba.js +1 -0
- package/assets/esri/core/workers/chunks/f9442a281cb91c64c7cd.js +1 -0
- package/assets/esri/core/workers/chunks/fb785bc38323cce6e549.js +1 -0
- package/assets/esri/core/workers/chunks/{c3213b487c11076985af.js → fbf3240b36718fa5dc76.js} +1 -1
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
- package/chunks/Bufferer-Dw9Qi4T1.js +1 -1
- package/chunks/ComponentShader.glsl.js +36 -36
- package/chunks/Envelope.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorClip.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/RibbonLine.glsl.js +40 -33
- package/chunks/index.js +1 -1
- package/chunks/persistableUrlUtils.js +1 -1
- package/config.js +1 -1
- package/core/AsyncUpdate.js +1 -1
- package/core/Clonable.js +1 -1
- package/core/Evented.js +1 -1
- package/core/Identifiable.js +1 -1
- package/core/JSONSupport.js +1 -1
- package/core/Loadable.js +1 -1
- package/core/MapUtils.js +1 -1
- package/core/MemCache.js +1 -1
- package/core/MemCachePool.js +1 -1
- package/core/MultiOriginJSONSupport.js +1 -1
- package/core/ObjectPool.js +1 -1
- package/core/Promise.js +1 -1
- package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
- package/core/accessorSupport/overrideDefaultsFrom.js +1 -1
- package/core/quantity.d.ts +1 -0
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/support/buffer/BufferPool.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/interfaces.d.ts +211 -8
- package/kernel.js +1 -1
- package/layers/CatalogLayer.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayerBase.js +1 -1
- package/layers/mixins/APIKeyMixin.js +1 -1
- package/layers/mixins/ArcGISCachedService.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/ArcGISMapService.js +1 -1
- package/layers/mixins/ArcGISService.js +1 -1
- package/layers/mixins/BlendLayer.js +1 -1
- package/layers/mixins/CustomParametersMixin.js +1 -1
- package/layers/mixins/DisplayFilteredLayer.js +1 -1
- package/layers/mixins/EditBusLayer.js +1 -1
- package/layers/mixins/FeatureEffectLayer.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/mixins/FeatureReductionLayer.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/mixins/OrderedLayer.js +1 -1
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/mixins/PublishableLayer.js +1 -1
- package/layers/mixins/RasterJobHandlerMixin.js +1 -1
- package/layers/mixins/RasterPresetRendererMixin.js +1 -1
- package/layers/mixins/RefreshableLayer.js +1 -1
- package/layers/mixins/ScaleRangeLayer.js +1 -1
- package/layers/mixins/SceneService.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- package/layers/mixins/TemporalLayer.js +1 -1
- package/layers/mixins/TemporalSceneLayer.js +1 -1
- package/layers/mixins/TrackableLayer.js +1 -1
- package/layers/ogc/wfsUtils.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/bestImageUtils.js +1 -1
- package/layers/support/ControlPointsGeoreference.js +1 -1
- package/layers/support/PixelBlock.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/arcgisLayerUrl.js +1 -1
- package/layers/support/multiLayerServiceUtils.js +1 -1
- package/layers/support/rasterDatasets/pixelReader.js +5 -0
- package/layers/support/rasterFormats/pixelRangeUtils.js +1 -1
- package/layers/support/rasterFunctions/clipUtils.js +1 -1
- package/layers/support/rasterFunctions/pixelUtils.js +1 -1
- package/layers/support/rasterFunctions/rasterFunctionHelper.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/networks/support/UtilityNetworkLookupHelper.js +1 -1
- package/package.json +1 -1
- package/renderers/mixins/VisualVariablesMixin.js +1 -1
- package/renderers/support/DictionaryControlString.js +1 -1
- package/rest/support/CameraInfoMixin.js +1 -1
- package/rest/support/NormalizationBinParametersMixin.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/heatmap.js +1 -1
- package/smartMapping/renderers/pieChart.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/smartMapping/renderers/support/rendererUtils.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/symbology/color.js +1 -1
- package/smartMapping/symbology/support/utils.js +1 -1
- package/support/LayersMixin.js +1 -1
- package/support/TablesMixin.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/support/utils.js +1 -1
- package/views/2d/engine/ParentChildStage.js +1 -1
- package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
- package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterInputEvaluator.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
- package/views/2d/engine/webgl/textureUtils.js +1 -1
- package/views/2d/layers/BitmapTileLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
- package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/features/support/FeatureFilterEvaluator.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/3d/analysis/AnalysisView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/CutFillVolumeMeasurementController.js +5 -0
- package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/images/heading-rotate-svg.js +1 -1
- package/views/3d/analysis/images/tilt-rotate-svg.js +1 -1
- package/views/3d/glTF/DefaultLoadingContext.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
- package/views/3d/layers/BuildingSublayerView3D.js +1 -1
- package/views/3d/layers/ElevationLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/StreamLayerView3D.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/StreamController.js +5 -0
- package/views/3d/layers/graphics/StreamGraphics3DGraphicsPipeline.js +1 -1
- package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
- package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
- package/views/3d/layers/graphics/wosrLoader.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
- package/views/3d/layers/support/DefinitionExpressionSceneLayerView.js +1 -1
- package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
- package/views/3d/layers/support/TemporalSceneLayerView.js +1 -1
- package/views/3d/layers/support/fetchTile.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/support/StreamDataLoader.js +1 -1
- package/views/3d/support/StreamDataRequester.js +5 -0
- package/views/3d/support/StreamTextureCollection.js +1 -1
- package/views/3d/support/engineContent/line.js +1 -1
- package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
- package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
- package/views/3d/support/flow/StreamlinesResources3D.js +1 -1
- package/views/3d/support/flow/geometryUtils.js +1 -1
- package/views/3d/support/index.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
- package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
- package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +17 -0
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/BreakpointsOwner.js +1 -1
- package/views/DOMContainer.js +1 -1
- package/views/PopupView.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/Viewport2DBaseMixin.js +1 -1
- package/views/Viewport2DMixin.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawScreenTool.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/MultipointDrawAction.js +1 -1
- package/views/draw/PointDrawAction.js +1 -1
- package/views/draw/PolygonDrawAction.js +1 -1
- package/views/draw/PolylineDrawAction.js +1 -1
- package/views/interactive/tooltip/infos/TooltipInfoWithCoordinates.js +1 -1
- package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
- package/views/layers/CatalogFootprintLayerView.js +1 -1
- package/views/layers/CatalogLayerView.js +1 -1
- package/views/layers/DimensionLayerView.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/views/layers/ImageryLayerView.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/LineOfSightLayerView.js +1 -1
- package/views/layers/MapImageLayerView.js +1 -1
- package/views/layers/MediaLayerView.js +1 -1
- package/views/layers/OGCFeatureLayerView.js +1 -1
- package/views/layers/PointCloudLayerView.js +1 -1
- package/views/layers/RefreshableLayerView.js +1 -1
- package/views/layers/StreamLayerView.js +1 -1
- package/views/layers/ViewshedLayerView.js +1 -1
- package/views/layers/WMSLayerView.js +1 -1
- package/views/magnifier/mask-svg.js +1 -1
- package/views/magnifier/overlay-svg.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/video/VideoOperationalDataView.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/views/webgl/Renderbuffer.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/Util.js +1 -1
- package/webmap/Bookmark.js +1 -1
- package/webscene/SunLighting.js +1 -1
- package/webscene/VirtualLighting.js +1 -1
- package/webscene/spec-certification/spec.js +1 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/Directions/DirectionsSearchTool.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/Editor/support/SketchController.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/support/FeatureContentMixin.js +1 -1
- package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
- package/widgets/FeatureTable/support/EditableColumnTemplateMixin.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageViewer.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/mixins/ImageMeasurementMixin.js +1 -1
- package/widgets/OrientedImageryViewer/mixins/SketchHandlerMixin.js +1 -1
- package/widgets/OrientedImageryViewer/mixins/TriangulatedImageMeasurementMixin.js +1 -1
- package/widgets/OrientedImageryViewer/mixins/TriangulatedSketchHandlerMixin.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
- package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
- package/widgets/PanoramicViewer.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/ToolbarGroupBase.js +1 -1
- package/widgets/Slider/SliderViewModel.js +1 -1
- package/widgets/support/GoTo.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/assets/esri/core/workers/chunks/00eef04fd026adaf0df8.js +0 -1
- package/assets/esri/core/workers/chunks/0202c2ac73354e3970b2.js +0 -1
- package/assets/esri/core/workers/chunks/02dc6e31b1244e5bb785.js +0 -1
- package/assets/esri/core/workers/chunks/080c79d6caca3b6a2db2.js +0 -1
- package/assets/esri/core/workers/chunks/084236ca316aad980192.js +0 -1
- package/assets/esri/core/workers/chunks/0b484224a92b52c34330.js +0 -1
- package/assets/esri/core/workers/chunks/0ba6177ba118a0f032e2.js +0 -1
- package/assets/esri/core/workers/chunks/16a78f5a82f5ca163816.js +0 -1
- package/assets/esri/core/workers/chunks/19ae76283a0cb0fe4dee.js +0 -346
- package/assets/esri/core/workers/chunks/1cc30073f8200b67cff6.js +0 -1
- package/assets/esri/core/workers/chunks/242b216d61940aebe8e1.js +0 -1
- package/assets/esri/core/workers/chunks/32756905bcf11699b3f7.js +0 -1
- package/assets/esri/core/workers/chunks/35d238a5a6501f89bed7.js +0 -1
- package/assets/esri/core/workers/chunks/3fcd73ba832cb53d3a07.js +0 -1
- package/assets/esri/core/workers/chunks/40c1d65039c8f1d6afa0.js +0 -1
- package/assets/esri/core/workers/chunks/496e02cfe3d84010f675.js +0 -1
- package/assets/esri/core/workers/chunks/49dce142ad1ea4c01d00.js +0 -1
- package/assets/esri/core/workers/chunks/4b89d5b9e35bf79b321e.js +0 -1
- package/assets/esri/core/workers/chunks/54a49a25845897a15ab1.js +0 -1
- package/assets/esri/core/workers/chunks/573a8393bec916dcf16f.js +0 -1
- package/assets/esri/core/workers/chunks/576e408fb0834f3948e8.js +0 -1
- package/assets/esri/core/workers/chunks/5e805c9e9012dd39ec86.js +0 -1
- package/assets/esri/core/workers/chunks/6136bf09950adc46bc33.js +0 -1
- package/assets/esri/core/workers/chunks/666afe669866c44830bd.js +0 -1
- package/assets/esri/core/workers/chunks/6a0fbc54638f7de138c1.js +0 -1
- package/assets/esri/core/workers/chunks/81006d9eed65bbb82962.js +0 -1
- package/assets/esri/core/workers/chunks/843b6029d4c13115e1ac.js +0 -1
- package/assets/esri/core/workers/chunks/86d6007c45f2aa643ac8.js +0 -1
- package/assets/esri/core/workers/chunks/8ea34878a1ef24b4ded3.js +0 -1
- package/assets/esri/core/workers/chunks/8eea6251aa09725e654e.js +0 -1
- package/assets/esri/core/workers/chunks/90145d49a0cec902435c.js +0 -1
- package/assets/esri/core/workers/chunks/916691122d7fb38497d6.js +0 -1
- package/assets/esri/core/workers/chunks/9ae18a17f62d91167202.js +0 -1
- package/assets/esri/core/workers/chunks/9c510df592befb9ff892.js +0 -1
- package/assets/esri/core/workers/chunks/9f91d519da67714f915f.js +0 -1
- package/assets/esri/core/workers/chunks/a6a7279b09d7962147ec.js +0 -1
- package/assets/esri/core/workers/chunks/aba520714efc01bead36.js +0 -1
- package/assets/esri/core/workers/chunks/acb9c166259872828646.js +0 -1
- package/assets/esri/core/workers/chunks/accff253af360c34e8a8.js +0 -1
- package/assets/esri/core/workers/chunks/ad3871f497ecea1a08c9.js +0 -1
- package/assets/esri/core/workers/chunks/ae6eed26fc932bc08356.js +0 -1
- package/assets/esri/core/workers/chunks/b4bb461955a4c2bce072.js +0 -1
- package/assets/esri/core/workers/chunks/b98279213f45a0c27600.js +0 -1
- package/assets/esri/core/workers/chunks/ba5b24beebeb703b5919.js +0 -1
- package/assets/esri/core/workers/chunks/bd7d19ba0c7d9143a455.js +0 -1
- package/assets/esri/core/workers/chunks/bffaf1f20f18c75fad4e.js +0 -1
- package/assets/esri/core/workers/chunks/c4f8da6c238eb5e91f91.js +0 -1
- package/assets/esri/core/workers/chunks/cd64181298d82c8d0e9d.js +0 -1
- package/assets/esri/core/workers/chunks/cdabea4718a7e7d34cb8.js +0 -1
- package/assets/esri/core/workers/chunks/ce7155ae63e7bb74be00.js +0 -1
- package/assets/esri/core/workers/chunks/d45383d76ba99718b6d9.js +0 -1
- package/assets/esri/core/workers/chunks/d915d0a30d9beb24bd3a.js +0 -1
- package/assets/esri/core/workers/chunks/dc6538a2d5a1e60d0209.js +0 -1
- package/assets/esri/core/workers/chunks/dca633ae3bfd4a3f9bb3.js +0 -1
- package/assets/esri/core/workers/chunks/def8a854a05f17d3538e.js +0 -1
- package/assets/esri/core/workers/chunks/dfa7976085f7408a366c.js +0 -1
- package/assets/esri/core/workers/chunks/e0a5b499b3ae38c21278.js +0 -1
- package/assets/esri/core/workers/chunks/e1a20ba7d6279f59adc0.js +0 -1
- package/assets/esri/core/workers/chunks/e49a135a2933306a6105.js +0 -1
- package/assets/esri/core/workers/chunks/e9a9174c4d1a0a9effb6.js +0 -1
- package/assets/esri/core/workers/chunks/edead1a123860cc74b1b.js +0 -1
- package/assets/esri/core/workers/chunks/f3d5d92e0aefc2593208.js +0 -1
- package/assets/esri/core/workers/chunks/f90573c9dc36e51cd588.js +0 -1
- package/assets/esri/core/workers/chunks/fa9658dbfb921f9c13af.js +0 -1
- package/assets/esri/core/workers/chunks/fb5e2b1ced03eef28e96.js +0 -1
- package/assets/esri/core/workers/chunks/fd8f4eabb8bbc593dd9c.js +0 -1
- package/layers/graphics/controllers/StreamController.js +0 -5
package/chunks/OperatorClip.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{G as e}from"./SimpleGeometryCursor.js";import{a as t,c as s,G as i,i as n,g as r,d as h}from"./Geometry.js";import{c as m}from"./Envelope.js";import{Envelope2D as a}from"./Envelope2D.js";import{E as o,n as x,L as p,S as c}from"./MultiPathImpl.js";import{d as l,m as _,P as u,e as g,f as y}from"./Point2D.js";function f(e,t,s,i,n){return v(e,t,null,s,i,n)}function v(e,s,o,x,p,c){const l=e.getGeometryType();if(l===i.enumPoint){const t=e.getXY();return s.contains(t)?e:e.createInstance()}if(l===i.enumEnvelope){const t=a.constructEmpty();if(e.queryEnvelope(t),t.intersect(s)){const s=e.clone();return s.setEnvelope(t),s}return e.createInstance()}if(e.isEmpty())return e;if(s.isEmpty())return e.createInstance();const _=s.clone();{const t=new a;if(e.queryLooseEnvelope(t),_.containsEnvelope(t))return e;if(!_.isIntersecting(t))return e.createInstance();0===p&&(t.intersect(_),t.inflate(Math.max(.1*t.maxDimension(),1)),t.intersect(_),_.assign(t))}let u=x;if((null!==o||Number.isNaN(u))&&(u=m(o,_,!1).total()),l===i.enumGeometryCollection){const t=e,s=e.createInstance();for(let e=0,i=t.getGeometryCount();e<i;e++){const i=t.getGeometry(e);if(i.isEmpty())continue;const n=f(i,_,u,p,c);n.isEmpty()||(n===i?s.addGeometry(n.clone()):s.addGeometry(n))}return s}n(l)||t("Clip: geometry not supported");const g=e.getImpl().getAccelerators();if(null!==g){const e=g.getRasterizedGeometry();r(null===e)}switch(l){case i.enumMultiPoint:{const t=e;let s;const i=t.getPointCount(),n=t.getImpl().getAttributeStreamRef(0);let h=0;for(let e=0;e<i;e++){const i=n.readPoint2D(2*e);_.contains(i)||(0===h&&(s=t.createInstance()),h<e&&s.addPoints(t,h,e),h=e+1)}return h>0&&s.addPoints(t,h,i),0===h?t:(r(null!==s),s)}case i.enumPolygon:case i.enumPolyline:return P(e,_,u,p,c);default:h("")}}function d(e,t,s,i,n,r){const h=new E(t,r),m=new a;return e.queryLooseEnvelope(m),t.containsEnvelope(m)?e:t.isIntersecting(m)?h.clipPolesOut(e,n):e.createInstance()}function P(e,t,s,i,n){return new E(t,n).clipMultiPath2(e,s,i)}class E{constructor(e,t){this.m_shape=new o,this.m_geometry=x,this.m_verticesOnExtentIndex=-1,this.m_verticesOnExtent=[],this.m_progressCounter=0,this.m_extent=new a(e),this.m_progressTracker=t}progress_(){}clipMultiPath2(e,t,s){return e.getGeometryType()===i.enumPolygon?this.clipPolygonOrProjectedPolyline2(e,s):this.clipPolyline(e,t)}clipPolygonOrProjectedPolyline2(e,t){const s=e.getGeometryType()===i.enumPolyline;if(0===this.m_extent.width()||0===this.m_extent.height())return e.createInstance();const n=a.constructEmpty();e.queryLooseEnvelope(n),this.m_geometry=s?this.m_shape.addGeometry(e):this.m_shape.addGeometry(e,this.m_extent);const h=a.constructEmpty(),m=a.constructEmpty(),o=new u,c=new u,g=l(9,Number.NaN),y=l(9,Number.NaN),f=_(u,9);let v=null;const d=new p,P=[];let I=!1;for(let i=0;!I&&i<4;i++){let e=!1;const t=!!(1&i);let a=0;switch(i){case 0:a=this.m_extent.xmin,e=n.xmin<=a&&n.xmax>=a;break;case 1:a=this.m_extent.ymin,e=n.ymin<=a&&n.ymax>=a;break;case 2:a=this.m_extent.xmax,e=n.xmin<=a&&n.xmax>=a;break;case 3:a=this.m_extent.ymax,e=n.ymin<=a&&n.ymax>=a}if(e){I=!0;for(let e=this.m_shape.getFirstPath(this.m_geometry);e!==x;){let n=!0,p=-1,l=-1;const _=this.m_shape.getFirstVertex(e);let u=_;do{this.progress_(),v=this.m_shape.getSegment(u);let e=v;if(null===e){const t=this.m_shape.getNextVertex(u);if(t===x){r(s),0===p&&P.push(u);break}this.m_shape.queryXY(u,o),d.setStartXY(o),this.m_shape.queryXY(t,c),d.setEndXY(c),e=d}e.queryLooseEnvelope(h);let _=E.checkSegmentIntersection(h,i,a);e.isCurve()&&0===_&&e.isCurve()&&(d.setStartXY(e.getStartXY()),d.setEndXY(e.getEndXY()),this.m_shape.replaceCurveWithLine(u),e=d,d.queryEnvelope(h),_=E.checkSegmentIntersection(h,i,a));let V=0,X=x;if(-1===_){const s=e.intersectionWithAxis2D(t,a,g,y);if(s>0){let i=null;if(e.isCurve()){i=f,r(s<=9);for(let e=0;e<s;e++)t?f[e].setCoords(g[e],a):f[e].setCoords(a,g[e]);V=this.m_shape.splitSegmentAxisAware(u,y,s,i,t?1:0)}else V=this.m_shape.splitSegmentAxisAware(u,y,s,null,-1)}else V=0;V+=1;let h=u,x=this.m_shape.getNextVertex(h);e=null;for(let e=0;e<V;e++){this.m_shape.queryXY(h,o),this.m_shape.queryXY(x,c),v=this.m_shape.getSegment(h);let e=v;null===e&&(d.setStartXY(o),d.setEndXY(c),e=d),e.queryEnvelope(m);let s=E.checkSegmentIntersection(m,i,a);if(e.isCurve()&&0===s&&(this.m_shape.replaceCurveWithLine(h),d.setStartXY(o),d.setEndXY(c),e=d,e.queryEnvelope(m),s=E.checkSegmentIntersection(m,i,a)),-1===s){if(t){Math.abs(o.y-a)<Math.abs(c.y-a)?(o.y=a,this.m_shape.setXY(h,o)):(c.y=a,this.m_shape.setXY(x,c))}else{Math.abs(o.x-a)<Math.abs(c.x-a)?(o.x=a,this.m_shape.setXY(h,o)):(c.x=a,this.m_shape.setXY(x,c))}v=this.m_shape.getSegment(h),e=v,null===e&&(d.setStartXY(o),d.setEndXY(c),e=d),e.queryEnvelope(m),s=E.checkSegmentIntersection(m,i,a),-1===s&&(s=E.checkSegmentIntersectionLoose(m,i,a))}const r=p;p=s,-1===l&&(l=p),0===r&&1===p||1===r&&0===p||0===r&&0===p&&P.push(h),1===p&&(I=!1,n=!1),h=x,X=h,x=this.m_shape.getNextVertex(x)}}if(0===V){const e=p;p=_,-1===l&&(l=p),0===e&&p>=1||e>=1&&0===p||0===e&&0===p&&P.push(u),1===p&&(I=!1,n=!1),X=this.m_shape.getNextVertex(u)}if(u=X,P.length>=256){for(let e=1,t=P.length-1;e<t;e++){const t=P[e];s?this.m_shape.snapVertexForPoleClipping(t,a):this.m_shape.removeVertex(t,!1)}P[1]=P.at(-1),P.length=2}}while(u!==_);if(!n){0!==l||!s&&0!==p&&2!==p||P.push(_);for(let e=0,t=P.length;e<t;e++){const t=P[e];s?this.m_shape.snapVertexForPoleClipping(t,a):this.m_shape.removeVertex(t,!1)}}P.length=0,e=n||0===this.m_shape.getPathSize(e)?this.m_shape.removePath(e):this.m_shape.getNextPath(e)}}}if(I)return e.createInstance();v=null,s?this.removeSpikesAlongPoles():this.resolveBoundaryOverlaps(),t>0&&this.densifyAlongClipExtent(t);const V=this.m_shape.getGeometry(this.m_geometry);if(V.getGeometryType()===i.enumPolygon){V.setFillRule(e.getFillRule())}return V}clipPolyline(e,t){const s=a.constructEmpty(),i=a.constructEmpty(),n=l(9,Number.NaN),r=l(9,Number.NaN),h=new c;let m=e;const o=a.constructEmpty();e.queryLooseEnvelope(o);for(let a=0;a<4;a++){let t=!1;const x=!!(1&a);let p=0;switch(a){case 0:p=this.m_extent.xmin,t=o.xmin<=p&&o.xmax>=p;break;case 1:p=this.m_extent.ymin,t=o.ymin<=p&&o.ymax>=p;break;case 2:p=this.m_extent.xmax,t=o.xmin<=p&&o.xmax>=p;break;case 3:p=this.m_extent.ymax,t=o.ymin<=p&&o.ymax>=p}if(!t)continue;const c=m;m=e.createInstance();const l=c.getImpl().querySegmentIterator();l.resetToFirstPath();const _=new u,g=new u;for(;l.nextPath();){let e=-1,t=!0;for(;l.hasNextSegment();){this.progress_();const o=l.nextSegment(),c=o.isDegenerate(0);o.queryLooseEnvelope(s);const u=E.checkSegmentIntersection(s,a,p);if(-1===u){const s=o.intersectionWithAxis2D(x,p,n,r);let l=0;_.assign(o.getStartXY());for(let u=0;u<=s;u++){const y=u<s?r[u]:1;if(l===y)continue;o.queryCut(l,y,h,!1);const f=h.get();let v=!1;if(f.getStartXY().equals(_)||(f.setStartXY(_),v=!0),u<s&&(x?(g.x=n[u],g.y=p):(g.x=p,g.y=n[u]),f.getEndXY().equals(g)||(f.setEndXY(g),v=!0)),v&&f.normalizeAfterEndpointChange(),!c&&f.isDegenerate(0))continue;f.queryEnvelope(i);let d=E.checkSegmentIntersection(i,a,p);if(-1===d){const e=f.getStartXY(),t=f.getEndXY();if(v=!1,x){Math.abs(e.y-p)<Math.abs(t.y-p)?(e.y=p,f.setStartXY(e),e.equals(f.getStartXY())||(f.setStartXY(e),v=!0)):(t.y=p,t.equals(f.getEndXY())||(f.setEndXY(t),v=!0))}else{Math.abs(e.x-p)<Math.abs(t.x-p)?(e.x=p,e.equals(f.getStartXY())||(f.setStartXY(e),v=!0)):(t.x=p,t.equals(f.getEndXY())||(f.setEndXY(t),v=!0))}v&&f.normalizeAfterEndpointChange(),f.queryEnvelope(i),d=E.checkSegmentIntersection(i,a,p),-1===d&&(d=E.checkSegmentIntersectionLoose(i,a,p))}_.assign(f.getEndXY()),l=y,e=d,e>=1?(m.addSegment(f,t),t=!1):t=!0}}else e=u,e>=1?(m.addSegment(o,t),t=!1):t=!0}}}return m}static checkSegmentIntersection(e,t,s){switch(t){case 0:return e.xmin<s&&e.xmax<=s?0:e.xmin>=s?e.xmax===s?2:1:-1;case 1:return e.ymin<s&&e.ymax<=s?0:e.ymin>=s?e.ymax===s?2:1:-1;case 2:return e.xmin>=s&&e.xmax>s?0:e.xmax<=s?e.xmin===s?2:1:-1;case 3:return e.ymin>=s&&e.ymax>s?0:e.ymax<=s?e.ymin===s?2:1:-1}return h(""),0}static checkSegmentIntersectionLoose(e,t,s){switch(t){case 0:{const t=Math.abs(e.xmin-s),i=Math.abs(e.xmax-s);return e.xmin<s?t>i?0:1:(h(""),1)}case 1:{const t=Math.abs(e.ymin-s),i=Math.abs(e.ymax-s);return e.ymin<s?t>i?0:1:(h(""),1)}case 2:{const t=Math.abs(e.xmin-s),i=Math.abs(e.xmax-s);return e.xmax>s?t<i?0:1:(h(""),1)}case 3:{const t=Math.abs(e.ymin-s),i=Math.abs(e.ymax-s);return e.ymax>s?t<i?0:1:(h(""),1)}}return h(""),0}resolveBoundaryOverlaps(){this.m_verticesOnExtentIndex=-1,this.splitSegments(!1,this.m_extent.xmin),this.splitSegments(!1,this.m_extent.xmax),this.splitSegments(!0,this.m_extent.ymin),this.splitSegments(!0,this.m_extent.ymax),this.m_verticesOnExtent.length=0,this.m_verticesOnExtentIndex=this.m_shape.createUserIndex();const e=new u;for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==x;t=this.m_shape.getNextPath(t)){let s=this.m_shape.getFirstVertex(t);for(let i=0,n=this.m_shape.getPathSize(t);i<n;i++,s=this.m_shape.getNextVertex(s))this.progress_(),this.m_shape.queryXY(s,e),this.m_extent.xmin!==e.x&&this.m_extent.xmax!==e.x&&this.m_extent.ymin!==e.y&&this.m_extent.ymax!==e.y||(this.m_shape.setUserIndex(s,this.m_verticesOnExtentIndex,this.m_verticesOnExtent.length),this.m_verticesOnExtent.push(s))}this.dbgCheckPathFirst(),this.resolveOverlaps(!1,this.m_extent.xmin),this.dbgCheckPathFirst(),this.resolveOverlaps(!1,this.m_extent.xmax),this.dbgCheckPathFirst(),this.resolveOverlaps(!0,this.m_extent.ymin),this.dbgCheckPathFirst(),this.resolveOverlaps(!0,this.m_extent.ymax),this.fixPaths()}densifyAlongClipExtent(e){const t=new u(0,0),s=new u(0,0),i=l(2048,Number.NaN);for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==x;n=this.m_shape.getNextPath(n)){const m=this.m_shape.getFirstVertex(n);let a=m;do{const n=this.m_shape.getNextVertex(a);this.m_shape.queryXY(a,t);let m=-1;if(t.x===this.m_extent.xmin?(this.m_shape.queryXY(n,s),s.x===this.m_extent.xmin&&(m=1)):t.x===this.m_extent.xmax&&(this.m_shape.queryXY(n,s),s.x===this.m_extent.xmax&&(m=1)),t.y===this.m_extent.ymin?(this.m_shape.queryXY(n,s),s.y===this.m_extent.ymin&&(m=0)):t.y===this.m_extent.ymax&&(this.m_shape.queryXY(n,s),s.y===this.m_extent.ymax&&(m=0)),-1===m){a=n;continue}if(this.isCurve(a)){a=n;continue}const o=t.clone(),x=new u(0,0);if(m){const i=t.y-this.m_extent.ymin;x.y=g(s.y-t.y),o.y=e*y(Math.floor(Math.abs(i)/e),i)+this.m_extent.ymin,x.y<0&&(o.y+=e)}else{const i=t.x-this.m_extent.xmin;x.x=g(s.x-t.x),o.x=e*y(Math.floor(Math.abs(i)/e),i)+this.m_extent.xmin,x.x<0&&(o.x+=e)}const p=m?s.y-t.y:s.x-t.x,c=Math.abs(p);if(c/e>65536&&h(""),c>0){const s=Math.trunc(c/e)+2;i.length<s&&(i.length=s);let n=0;for(let h=0;;h++){const s=o.add(x.mul(h*e)),a=(m?s.y-t.y:s.x-t.x)/p;if(a>=1)break;a<=0||(r(n<=i.length),i[n]=a,n++)}0!==n&&this.m_shape.splitSegment(a,i,n)}a=n}while(a!==m)}}splitSegments(e,t){let s=-1;const i=new u,n=[];for(let _=this.m_shape.getFirstPath(this.m_geometry);_!==x;_=this.m_shape.getNextPath(_)){let r=this.m_shape.getFirstVertex(_),h=x;for(let m=0,a=this.m_shape.getPathSize(_);m<a;m++,r=h)if(this.progress_(),h=this.m_shape.getNextVertex(r),this.m_shape.queryXY(r,i),(e?i.y===t:i.x===t)&&(this.m_shape.queryXY(h,i),e?i.y===t:i.x===t)){if(this.isCurve(r))continue;-1===s&&(s=this.m_shape.createUserIndex()),1!==this.m_shape.getUserIndex(r,s)&&(n.push(r),this.m_shape.setUserIndex(r,s,1)),1!==this.m_shape.getUserIndex(h,s)&&(n.push(h),this.m_shape.setUserIndex(h,s,1))}}if(-1!==s&&this.m_shape.removeUserIndex(s),n.length<3)return;n.sort((e,t)=>this.compareVertices(e,t));const r=new u,h=new u,m=new u;h.setNAN();let a=-1;let o=[],p=[];const c=this.m_shape.createUserIndex(),l=this.m_shape.createUserIndex();for(let x=0,_=n.length;x<_;x++){const s=n[x];if(this.m_shape.queryXY(s,i),!i.isEqualPoint2D(h)){if(-1===a){a=x,h.setCoordsPoint2D(i);continue}for(let i=a;i<x;i++){const s=n[i],m=this.m_shape.getNextVertex(s),a=this.m_shape.getPrevVertex(s);let x=!1;this.m_shape.queryXY(m,r),h.compare(r)<0&&(e?r.y===t:r.x===t)&&(this.isCurve(s)||(o.push(s),x=!0,this.m_shape.setUserIndex(s,l,1))),this.m_shape.queryXY(a,r),h.compare(r)<0&&(e?r.y===t:r.x===t)&&(this.isCurve(a)||(x||o.push(s),this.m_shape.setUserIndex(s,c,1)))}for(let e=0,t=o.length;e<t;e++){const t=o[e],s=this.m_shape.getUserIndex(t,c),n=this.m_shape.getUserIndex(t,l);if(1===s){const e=this.m_shape.getPrevVertex(t);this.m_shape.queryXY(e,m);let s=0;if(!m.isEqualPoint2D(i)){const n=u.distance(h,m);s=u.distance(m,i)/n,0===s?s=Number.EPSILON:1===s&&(s=1-Number.EPSILON),this.m_shape.splitSegment(e,[s],1);const r=this.m_shape.getPrevVertex(t);this.m_shape.setXY(r,i),p.push(r),this.m_shape.setUserIndex(r,c,1),this.m_shape.setUserIndex(r,l,-1)}}if(1===n){const e=this.m_shape.getNextVertex(t);this.m_shape.queryXY(e,m);let s=0;if(!m.isEqualPoint2D(i)){const e=u.distance(h,m);s=u.distance(h,i)/e,0===s?s=Number.EPSILON:1===s&&(s=1-Number.EPSILON),this.m_shape.splitSegment(t,[s],1);const n=this.m_shape.getNextVertex(t);this.m_shape.setXY(n,i),p.push(n),this.m_shape.setUserIndex(n,c,-1),this.m_shape.setUserIndex(n,l,1)}}}const s=o;o=p,p=s,p.length=0,a=x,h.setCoordsPoint2D(i)}}this.m_shape.removeUserIndex(c),this.m_shape.removeUserIndex(l)}resolveOverlaps(e,t){const s=new u,i=[];let n=-1;for(let r=0,o=this.m_verticesOnExtent.length;r<o;r++){this.progress_();const h=this.m_verticesOnExtent[r];if(h===x)continue;const m=this.m_shape.getNextVertex(h);if(this.m_shape.queryXY(h,s),(e?s.y===t:s.x===t)&&(this.m_shape.queryXY(m,s),e?s.y===t:s.x===t)){if(this.isCurve(h))continue;-1===n&&(n=this.m_shape.createUserIndex()),-2!==this.m_shape.getUserIndex(h,n)&&(i.push(h),this.m_shape.setUserIndex(h,n,-2)),-2!==this.m_shape.getUserIndex(m,n)&&(i.push(m),this.m_shape.setUserIndex(m,n,-2))}}if(0===i.length)return void(-1!==n&&this.m_shape.removeUserIndex(n));r(-1!==n),i.sort((e,t)=>this.compareVertices(e,t));for(let r=0,o=i.length;r<o;r++){const e=i[r];this.m_shape.setUserIndex(e,n,r)}const h=new u,m=new u;m.setNAN();let a=-1;for(let r=0,o=i.length;r<o;r++){this.progress_();const o=i[r];if(o!==x&&(this.m_shape.queryXY(o,s),!s.isEqualPoint2D(m))){if(-1!==a)for(;;){let s=!1;const o=r;for(let p=a;p<o;p++){const a=i[p];if(a===x)continue;let o=x;const c=this.m_shape.getNextVertex(a);this.m_shape.queryXY(c,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(a)||(o=c));let l=x;const _=this.m_shape.getPrevVertex(a);if(this.m_shape.queryXY(_,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(_)||(l=_)),o===x||l===x){if(o!==x||l!==x){for(let c=p+1;c<r;c++){const r=i[c];if(r===x)continue;const p=this.m_shape.getNextVertex(r);let _=x;this.m_shape.queryXY(p,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(r)||(_=p));const u=this.m_shape.getPrevVertex(r);let g=x;if(this.m_shape.queryXY(u,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(u)||(g=u)),_!==x&&g!==x){this.beforeRemoveVertex(r,i,n),this.m_shape.removeVertex(r,!1),this.beforeRemoveVertex(_,i,n),this.m_shape.removeVertex(_,!1),s=!0;break}if(o!==x&&g!==x){this.removeOverlap(i,a,o,r,g,n),s=!0;break}if(l!==x&&_!==x){this.removeOverlap(i,r,_,a,l,n),s=!0;break}}if(s)break}}else this.beforeRemoveVertex(a,i,n),this.m_shape.removeVertex(a,!1),this.beforeRemoveVertex(o,i,n),this.m_shape.removeVertex(o,!1),s=!0}if(!s)break}a=r,m.setCoordsPoint2D(s)}}this.m_shape.removeUserIndex(n)}beforeRemoveVertex(e,t,s){let i=this.m_shape.getUserIndex(e,s);r(i>=0),t[i]=x,i=this.m_shape.getUserIndex(e,this.m_verticesOnExtentIndex),r(i>=0),this.m_verticesOnExtent[i]=x;const n=this.m_shape.getPathFromVertex(e);if(n!==x){this.m_shape.getFirstVertex(n)===e&&(this.m_shape.setFirstVertex(n,x),this.m_shape.setLastVertex(n,x))}}removeOverlap(e,t,s,i,n,r){this.m_shape.setNextVertex(t,i),this.m_shape.setPrevVertex(i,t),this.m_shape.setPrevVertex(s,n),this.m_shape.setNextVertex(n,s),this.beforeRemoveVertex(i,e,r),this.m_shape.removeVertexInternal(i,!1),this.beforeRemoveVertex(n,e,r),this.m_shape.removeVertexInternal(n,!0)}removeSpikesAlongPoles(){this.removeSpikesOnPole(this.m_extent.ymin),this.removeSpikesOnPole(this.m_extent.ymax)}removeSpikesOnPole(e){for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==x;t=this.m_shape.getNextPath(t)){const s=this.m_shape.getPathSize(t);if(s<3)continue;let i=this.m_shape.getFirstVertex(t);const n=new u;this.m_shape.queryXY(i,n);let r=n.y===e&&!this.isCurve(i);i=this.m_shape.getNextVertex(i);const h=new u;this.m_shape.queryXY(i,h);let m=h.y===e&&!this.isCurve(i);i=this.m_shape.getNextVertex(i);const a=new u;for(let t=0,o=s-2;t<o;t++,i=this.m_shape.getNextVertex(i)){this.progress_(),this.m_shape.queryXY(i,a);const t=a.y===e;if(m&&r&&t){if((h.x-n.x)*(a.x-h.x)<=0){this.m_shape.removeVertex(this.m_shape.getPrevVertex(i),!1),h.setCoordsPoint2D(a),m=t&&!this.isCurve(i);continue}}n.setCoordsPoint2D(h),r=m,h.setCoordsPoint2D(a),m=t&&!this.isCurve(i)}}}fixPaths(){for(let n=0,r=this.m_verticesOnExtent.length;n<r;n++){const e=this.m_verticesOnExtent[n];e!==x&&this.m_shape.setPathToVertex(e,x)}const e=this.m_shape.hasCurves();let t=0,s=0;for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==x;){const e=this.m_shape.getFirstVertex(n);if(e===x||n!==this.m_shape.getPathFromVertex(e)){const e=n;n=this.m_shape.getNextPath(n),this.m_shape.setFirstVertex(e,x),this.m_shape.removePathOnly(e);continue}let i=e,r=0;do{this.m_shape.setPathToVertex(i,n),r++,i=this.m_shape.getNextVertex(i)}while(i!==e);this.m_shape.setRingAreaValid(n,!1),this.m_shape.setLastVertex(n,this.m_shape.getPrevVertex(e)),this.m_shape.setPathSize(n,r),s+=r,t++,n=this.m_shape.getNextPath(n)}for(let n=0,h=this.m_verticesOnExtent.length;n<h;n++){let i=this.m_verticesOnExtent[n];if(i===x)continue;let h=this.m_shape.getPathFromVertex(i);if(h!==x)continue;h=this.m_shape.insertPath(this.m_geometry,x);let m=!1,a=0;const o=i;do{this.m_shape.setPathToVertex(i,h),a++,e&&a<=2&&(m||=this.isCurve(i)),i=this.m_shape.getNextVertex(i)}while(i!==o);if(m?0===a:a<=2){let e=this.m_shape.getUserIndex(o,this.m_verticesOnExtentIndex);r(e>=0),this.m_verticesOnExtent[e]=x;const t=this.m_shape.removeVertex(o,!1);2===a&&(e=this.m_shape.getUserIndex(t,this.m_verticesOnExtentIndex),e>=0&&(this.m_verticesOnExtent[e]=x),this.m_shape.removeVertex(t,!1));const s=h;h=this.m_shape.getNextPath(h),this.m_shape.setFirstVertex(s,x),this.m_shape.removePathOnly(s)}else this.m_shape.setClosedPath(h,!0),this.m_shape.setPathSize(h,a),this.m_shape.setFirstVertex(h,o),this.m_shape.setLastVertex(h,this.m_shape.getPrevVertex(o)),this.m_shape.setRingAreaValid(h,!1),s+=a,t++}this.m_shape.setGeometryPathCount(this.m_geometry,t),this.m_shape.setGeometryVertexCount(this.m_geometry,s);let i=0;for(let n=this.m_shape.getFirstGeometry();n!==x;n=this.m_shape.getNextGeometry(n))i+=this.m_shape.getPointCount(n);this.m_shape.setTotalPointCount(i)}dbgCheckPathFirst(){}isCurve(e){return null!==this.m_shape.getSegment(e)}compareVertices(e,t){const s=new u;this.m_shape.queryXY(e,s);const i=new u;this.m_shape.queryXY(t,i);return s.compare(i)}clipPolesOut(e,t){return this.clipPolygonOrProjectedPolyline2(e,t)}}class I{getOperatorType(){return 10004}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,i){return new V(e,t,s,i)}execute(e,t,s,i){return X(e,t,s,i)}}class V extends e{constructor(e,s,i,n){super(),this.m_progressTracker=n,this.m_index=-1,e||t(""),this.m_envelope=s,this.m_inputGeometryCursor=e,this.m_spatialRefImpl=i,this.m_tolerance=m(i,s,!1).total()}next(){let e;return(e=this.m_inputGeometryCursor.next())?(s(e),this.m_index=this.m_inputGeometryCursor.getGeometryID(),f(e,this.m_envelope,this.m_tolerance,0,this.m_progressTracker)):null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}}function X(e,t,s,i){return v(e,t,s,Number.NaN,0,i)}export{I as O,d as a,f as c};
|
|
5
|
+
import{G as e}from"./SimpleGeometryCursor.js";import{a as t,c as s,G as i,i as n,g as r,d as h}from"./Geometry.js";import{c as m}from"./Envelope.js";import{Envelope2D as a}from"./Envelope2D.js";import{E as o,n as x,L as p,S as c}from"./MultiPathImpl.js";import{d as l,m as _,P as u,e as g,f as y}from"./Point2D.js";function f(e,t,s,i,n){return v(e,t,null,s,i,n)}function v(e,s,o,x,p,c){const l=e.getGeometryType();if(l===i.enumPoint){const t=e.getXY();return s.contains(t)?e:e.createInstance()}if(l===i.enumEnvelope){const t=a.constructEmpty();if(e.queryEnvelope(t),t.intersect(s)){const s=e.clone();return s.setEnvelope(t),s}return e.createInstance()}if(e.isEmpty())return e;if(s.isEmpty())return e.createInstance();const _=s.clone();{const t=new a;if(e.queryLooseEnvelope(t),_.containsEnvelope(t))return e;if(!_.isIntersecting(t))return e.createInstance();0===p&&(t.intersect(_),t.inflate(Math.max(.1*t.maxDimension(),1)),t.intersect(_),_.assign(t))}let u=x;if((null!==o||Number.isNaN(u))&&(u=m(o,_,!1).total()),l===i.enumGeometryCollection){const t=e,s=e.createInstance();for(let e=0,i=t.getGeometryCount();e<i;e++){const i=t.getGeometry(e);if(i.isEmpty())continue;const n=f(i,_,u,p,c);n.isEmpty()||(n===i?s.addGeometry(n.clone()):s.addGeometry(n))}return s}n(l)||t("Clip: geometry not supported");const g=e.getImpl().getAccelerators();if(null!==g){const e=g.getRasterizedGeometry();r(null===e)}switch(l){case i.enumMultiPoint:{const t=e;let s;const i=t.getPointCount(),n=t.getImpl().getAttributeStreamRef(0);let h=0;for(let e=0;e<i;e++){const i=n.readPoint2D(2*e);_.contains(i)||(0===h&&(s=t.createInstance()),h<e&&s.addPoints(t,h,e),h=e+1)}return h>0&&s.addPoints(t,h,i),0===h?t:(r(null!==s),s)}case i.enumPolygon:case i.enumPolyline:return P(e,_,u,p,c);default:h("")}}function d(e,t,s,i,n,r){const h=new E(t,r),m=new a;return e.queryLooseEnvelope(m),t.containsEnvelope(m)?e:t.isIntersecting(m)?h.clipPolesOut(e,n):e.createInstance()}function P(e,t,s,i,n){return new E(t,n).clipMultiPath2(e,s,i)}class E{constructor(e,t){this.m_shape=new o,this.m_geometry=x,this.m_verticesOnExtentIndex=-1,this.m_verticesOnExtent=[],this.m_progressCounter=0,this.m_extent=new a(e),this.m_progressTracker=t}progress_(){}clipMultiPath2(e,t,s){return e.getGeometryType()===i.enumPolygon?this.clipPolygonOrProjectedPolyline2(e,s):this.clipPolyline(e,t)}clipPolygonOrProjectedPolyline2(e,t){const s=e.getGeometryType()===i.enumPolyline;if(0===this.m_extent.width()||0===this.m_extent.height())return e.createInstance();const n=a.constructEmpty();e.queryLooseEnvelope(n),this.m_geometry=s?this.m_shape.addGeometry(e):this.m_shape.addGeometry(e,this.m_extent);const h=a.constructEmpty(),m=a.constructEmpty(),o=new u,c=new u,g=l(9,Number.NaN),y=l(9,Number.NaN),f=_(u,9);let v=null;const d=new p,P=[];let I=!1;for(let i=0;!I&&i<4;i++){let e=!1;const t=!!(1&i);let a=0;switch(i){case 0:a=this.m_extent.xmin,e=n.xmin<=a&&n.xmax>=a;break;case 1:a=this.m_extent.ymin,e=n.ymin<=a&&n.ymax>=a;break;case 2:a=this.m_extent.xmax,e=n.xmin<=a&&n.xmax>=a;break;case 3:a=this.m_extent.ymax,e=n.ymin<=a&&n.ymax>=a}if(e){I=!0;for(let e=this.m_shape.getFirstPath(this.m_geometry);e!==x;){let n=!0,p=-1,l=-1;const _=this.m_shape.getFirstVertex(e);let u=_;do{this.progress_(),v=this.m_shape.getSegment(u);let e=v;if(null===e){const t=this.m_shape.getNextVertex(u);if(t===x){r(s),0===p&&P.push(u);break}this.m_shape.queryXY(u,o),d.setStartXY(o),this.m_shape.queryXY(t,c),d.setEndXY(c),e=d}e.queryLooseEnvelope(h);let _=E.checkSegmentIntersection(h,i,a);e.isCurve()&&0===_&&e.isCurve()&&(d.setStartXY(e.getStartXY()),d.setEndXY(e.getEndXY()),this.m_shape.replaceCurveWithLine(u),e=d,d.queryEnvelope(h),_=E.checkSegmentIntersection(h,i,a));let V=0,X=x;if(-1===_){const s=e.intersectionWithAxis2D(t,a,g,y);if(s>0){let i=null;if(e.isCurve()){i=f,r(s<=9);for(let e=0;e<s;e++)t?f[e].setCoords(g[e],a):f[e].setCoords(a,g[e]);V=this.m_shape.splitSegmentAxisAware(u,y,s,i,t?1:0)}else V=this.m_shape.splitSegmentAxisAware(u,y,s,null,-1)}else V=0;V+=1;let h=u,x=this.m_shape.getNextVertex(h);e=null;for(let e=0;e<V;e++){this.m_shape.queryXY(h,o),this.m_shape.queryXY(x,c),v=this.m_shape.getSegment(h);let e=v;null===e&&(d.setStartXY(o),d.setEndXY(c),e=d),e.queryEnvelope(m);let s=E.checkSegmentIntersection(m,i,a);if(e.isCurve()&&0===s&&(this.m_shape.replaceCurveWithLine(h),d.setStartXY(o),d.setEndXY(c),e=d,e.queryEnvelope(m),s=E.checkSegmentIntersection(m,i,a)),-1===s){if(t){Math.abs(o.y-a)<Math.abs(c.y-a)?(o.y=a,this.m_shape.setXY(h,o)):(c.y=a,this.m_shape.setXY(x,c))}else{Math.abs(o.x-a)<Math.abs(c.x-a)?(o.x=a,this.m_shape.setXY(h,o)):(c.x=a,this.m_shape.setXY(x,c))}v=this.m_shape.getSegment(h),e=v,null===e&&(d.setStartXY(o),d.setEndXY(c),e=d),e.queryEnvelope(m),s=E.checkSegmentIntersection(m,i,a),-1===s&&(s=E.checkSegmentIntersectionLoose(m,i,a))}const r=p;p=s,-1===l&&(l=p),0===r&&1===p||1===r&&0===p||0===r&&0===p&&P.push(h),1===p&&(I=!1,n=!1),h=x,X=h,x=this.m_shape.getNextVertex(x)}}if(0===V){const e=p;p=_,-1===l&&(l=p),0===e&&p>=1||e>=1&&0===p||0===e&&0===p&&P.push(u),1===p&&(I=!1,n=!1),X=this.m_shape.getNextVertex(u)}if(u=X,P.length>=256){for(let e=1,t=P.length-1;e<t;e++){const t=P[e];s?this.m_shape.snapVertexForPoleClipping(t,a):this.m_shape.removeVertex(t,!1)}P[1]=P.at(-1),P.length=2}}while(u!==_);if(!n){0!==l||!s&&0!==p&&2!==p||P.push(_);for(let e=0,t=P.length;e<t;e++){const t=P[e];s?this.m_shape.snapVertexForPoleClipping(t,a):this.m_shape.removeVertex(t,!1)}}P.length=0,e=n||0===this.m_shape.getPathSize(e)?this.m_shape.removePath(e):this.m_shape.getNextPath(e)}}}if(I)return e.createInstance();v=null,s?this.removeSpikesAlongPoles():this.resolveBoundaryOverlaps(),t>0&&this.densifyAlongClipExtent(t);const V=this.m_shape.getGeometry(this.m_geometry);if(V.getGeometryType()===i.enumPolygon){V.setFillRule(e.getFillRule())}return V}clipPolyline(e,t){const s=a.constructEmpty(),i=a.constructEmpty(),n=l(9,Number.NaN),r=l(9,Number.NaN),h=new c;let m=e;const o=a.constructEmpty();e.queryLooseEnvelope(o);for(let a=0;a<4;a++){let t=!1;const x=!!(1&a);let p=0;switch(a){case 0:p=this.m_extent.xmin,t=o.xmin<=p&&o.xmax>=p;break;case 1:p=this.m_extent.ymin,t=o.ymin<=p&&o.ymax>=p;break;case 2:p=this.m_extent.xmax,t=o.xmin<=p&&o.xmax>=p;break;case 3:p=this.m_extent.ymax,t=o.ymin<=p&&o.ymax>=p}if(!t)continue;const c=m;m=e.createInstance();const l=c.getImpl().querySegmentIterator();l.resetToFirstPath();const _=new u,g=new u;for(;l.nextPath();){let e=-1,t=!0;for(;l.hasNextSegment();){this.progress_();const o=l.nextSegment(),c=o.isDegenerate(0);o.queryLooseEnvelope(s);const u=E.checkSegmentIntersection(s,a,p);if(-1===u){const s=o.intersectionWithAxis2D(x,p,n,r);let l=0;_.assign(o.getStartXY());for(let u=0;u<=s;u++){const y=u<s?r[u]:1;if(l===y)continue;o.queryCut(l,y,h,!1);const f=h.get();let v=!1;if(f.getStartXY().equals(_)||(f.setStartXY(_),v=!0),u<s&&(x?(g.x=n[u],g.y=p):(g.x=p,g.y=n[u]),f.getEndXY().equals(g)||(f.setEndXY(g),v=!0)),v&&f.normalizeAfterEndpointChange(),!c&&f.isDegenerate(0))continue;f.queryEnvelope(i);let d=E.checkSegmentIntersection(i,a,p);if(-1===d){const e=f.getStartXY(),t=f.getEndXY();if(v=!1,x){Math.abs(e.y-p)<Math.abs(t.y-p)?(e.y=p,f.setStartXY(e),e.equals(f.getStartXY())||(f.setStartXY(e),v=!0)):(t.y=p,t.equals(f.getEndXY())||(f.setEndXY(t),v=!0))}else{Math.abs(e.x-p)<Math.abs(t.x-p)?(e.x=p,e.equals(f.getStartXY())||(f.setStartXY(e),v=!0)):(t.x=p,t.equals(f.getEndXY())||(f.setEndXY(t),v=!0))}v&&f.normalizeAfterEndpointChange(),f.queryEnvelope(i),d=E.checkSegmentIntersection(i,a,p),-1===d&&(d=E.checkSegmentIntersectionLoose(i,a,p))}_.assign(f.getEndXY()),l=y,e=d,e>=1?(m.addSegment(f,t),t=!1):t=!0}}else e=u,e>=1?(m.addSegment(o,t),t=!1):t=!0}}}return m}static checkSegmentIntersection(e,t,s){switch(t){case 0:return e.xmin<s&&e.xmax<=s?0:e.xmin>=s?e.xmax===s?2:1:-1;case 1:return e.ymin<s&&e.ymax<=s?0:e.ymin>=s?e.ymax===s?2:1:-1;case 2:return e.xmin>=s&&e.xmax>s?0:e.xmax<=s?e.xmin===s?2:1:-1;case 3:return e.ymin>=s&&e.ymax>s?0:e.ymax<=s?e.ymin===s?2:1:-1}return h(""),0}static checkSegmentIntersectionLoose(e,t,s){switch(t){case 0:{const t=Math.abs(e.xmin-s),i=Math.abs(e.xmax-s);return e.xmin<s?t>i?0:1:(h(""),1)}case 1:{const t=Math.abs(e.ymin-s),i=Math.abs(e.ymax-s);return e.ymin<s?t>i?0:1:(h(""),1)}case 2:{const t=Math.abs(e.xmin-s),i=Math.abs(e.xmax-s);return e.xmax>s?t<i?0:1:(h(""),1)}case 3:{const t=Math.abs(e.ymin-s),i=Math.abs(e.ymax-s);return e.ymax>s?t<i?0:1:(h(""),1)}}return h(""),0}resolveBoundaryOverlaps(){this.m_verticesOnExtentIndex=-1,this.splitSegments(!1,this.m_extent.xmin),this.splitSegments(!1,this.m_extent.xmax),this.splitSegments(!0,this.m_extent.ymin),this.splitSegments(!0,this.m_extent.ymax),this.m_verticesOnExtent.length=0,this.m_verticesOnExtentIndex=this.m_shape.createUserIndex();const e=new u;for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==x;t=this.m_shape.getNextPath(t)){let s=this.m_shape.getFirstVertex(t);for(let i=0,n=this.m_shape.getPathSize(t);i<n;i++,s=this.m_shape.getNextVertex(s))this.progress_(),this.m_shape.queryXY(s,e),this.m_extent.xmin!==e.x&&this.m_extent.xmax!==e.x&&this.m_extent.ymin!==e.y&&this.m_extent.ymax!==e.y||(this.m_shape.setUserIndex(s,this.m_verticesOnExtentIndex,this.m_verticesOnExtent.length),this.m_verticesOnExtent.push(s))}this.dbgCheckPathFirst(),this.resolveOverlaps(!1,this.m_extent.xmin),this.dbgCheckPathFirst(),this.resolveOverlaps(!1,this.m_extent.xmax),this.dbgCheckPathFirst(),this.resolveOverlaps(!0,this.m_extent.ymin),this.dbgCheckPathFirst(),this.resolveOverlaps(!0,this.m_extent.ymax),this.fixPaths()}densifyAlongClipExtent(e){const t=new u(0,0),s=new u(0,0),i=l(2048,Number.NaN);for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==x;n=this.m_shape.getNextPath(n)){const m=this.m_shape.getFirstVertex(n);let a=m;do{const n=this.m_shape.getNextVertex(a);this.m_shape.queryXY(a,t);let m=-1;if(t.x===this.m_extent.xmin?(this.m_shape.queryXY(n,s),s.x===this.m_extent.xmin&&(m=1)):t.x===this.m_extent.xmax&&(this.m_shape.queryXY(n,s),s.x===this.m_extent.xmax&&(m=1)),t.y===this.m_extent.ymin?(this.m_shape.queryXY(n,s),s.y===this.m_extent.ymin&&(m=0)):t.y===this.m_extent.ymax&&(this.m_shape.queryXY(n,s),s.y===this.m_extent.ymax&&(m=0)),-1===m){a=n;continue}if(this.isCurve(a)){a=n;continue}const o=t.clone(),x=new u(0,0);if(m){const i=t.y-this.m_extent.ymin;x.y=g(s.y-t.y),o.y=e*y(Math.floor(Math.abs(i)/e),i)+this.m_extent.ymin,x.y<0&&(o.y+=e)}else{const i=t.x-this.m_extent.xmin;x.x=g(s.x-t.x),o.x=e*y(Math.floor(Math.abs(i)/e),i)+this.m_extent.xmin,x.x<0&&(o.x+=e)}const p=m?s.y-t.y:s.x-t.x,c=Math.abs(p);if(c/e>65536&&h(""),c>0){const s=Math.trunc(c/e)+2;i.length<s&&(i.length=s);let n=0;for(let h=0;;h++){const s=o.add(x.mul(h*e)),a=(m?s.y-t.y:s.x-t.x)/p;if(a>=1)break;a<=0||(r(n<=i.length),i[n]=a,n++)}0!==n&&this.m_shape.splitSegment(a,i,n)}a=n}while(a!==m)}}splitSegments(e,t){let s=-1;const i=new u,n=[];for(let _=this.m_shape.getFirstPath(this.m_geometry);_!==x;_=this.m_shape.getNextPath(_)){let r=this.m_shape.getFirstVertex(_),h=x;for(let m=0,a=this.m_shape.getPathSize(_);m<a;m++,r=h)if(this.progress_(),h=this.m_shape.getNextVertex(r),this.m_shape.queryXY(r,i),(e?i.y===t:i.x===t)&&(this.m_shape.queryXY(h,i),e?i.y===t:i.x===t)){if(this.isCurve(r))continue;-1===s&&(s=this.m_shape.createUserIndex()),1!==this.m_shape.getUserIndex(r,s)&&(n.push(r),this.m_shape.setUserIndex(r,s,1)),1!==this.m_shape.getUserIndex(h,s)&&(n.push(h),this.m_shape.setUserIndex(h,s,1))}}if(-1!==s&&this.m_shape.removeUserIndex(s),n.length<3)return;n.sort((e,t)=>this.compareVertices(e,t));const r=new u,h=new u,m=new u;h.setNAN();let a=-1;let o=[],p=[];const c=this.m_shape.createUserIndex(),l=this.m_shape.createUserIndex();for(let x=0,_=n.length;x<_;x++){const s=n[x];if(this.m_shape.queryXY(s,i),!i.isEqualPoint2D(h)){if(-1===a){a=x,h.setCoordsPoint2D(i);continue}for(let i=a;i<x;i++){const s=n[i],m=this.m_shape.getNextVertex(s),a=this.m_shape.getPrevVertex(s);let x=!1;this.m_shape.queryXY(m,r),h.compare(r)<0&&(e?r.y===t:r.x===t)&&(this.isCurve(s)||(o.push(s),x=!0,this.m_shape.setUserIndex(s,l,1))),this.m_shape.queryXY(a,r),h.compare(r)<0&&(e?r.y===t:r.x===t)&&(this.isCurve(a)||(x||o.push(s),this.m_shape.setUserIndex(s,c,1)))}for(let e=0,t=o.length;e<t;e++){const t=o[e],s=this.m_shape.getUserIndex(t,c),n=this.m_shape.getUserIndex(t,l);if(1===s){const e=this.m_shape.getPrevVertex(t);this.m_shape.queryXY(e,m);let s=0;if(!m.isEqualPoint2D(i)){const n=u.distance(h,m);s=u.distance(m,i)/n,0===s?s=Number.EPSILON:1===s&&(s=1-Number.EPSILON),this.m_shape.splitSegment(e,[s],1);const r=this.m_shape.getPrevVertex(t);this.m_shape.setXY(r,i),p.push(r),this.m_shape.setUserIndex(r,c,1),this.m_shape.setUserIndex(r,l,-1)}}if(1===n){const e=this.m_shape.getNextVertex(t);this.m_shape.queryXY(e,m);let s=0;if(!m.isEqualPoint2D(i)){const e=u.distance(h,m);s=u.distance(h,i)/e,0===s?s=Number.EPSILON:1===s&&(s=1-Number.EPSILON),this.m_shape.splitSegment(t,[s],1);const n=this.m_shape.getNextVertex(t);this.m_shape.setXY(n,i),p.push(n),this.m_shape.setUserIndex(n,c,-1),this.m_shape.setUserIndex(n,l,1)}}}const s=o;o=p,p=s,p.length=0,a=x,h.setCoordsPoint2D(i)}}this.m_shape.removeUserIndex(c),this.m_shape.removeUserIndex(l)}resolveOverlaps(e,t){const s=new u,i=[];let n=-1;for(let r=0,o=this.m_verticesOnExtent.length;r<o;r++){this.progress_();const h=this.m_verticesOnExtent[r];if(h===x)continue;const m=this.m_shape.getNextVertex(h);if(this.m_shape.queryXY(h,s),(e?s.y===t:s.x===t)&&(this.m_shape.queryXY(m,s),e?s.y===t:s.x===t)){if(this.isCurve(h))continue;-1===n&&(n=this.m_shape.createUserIndex()),-2!==this.m_shape.getUserIndex(h,n)&&(i.push(h),this.m_shape.setUserIndex(h,n,-2)),-2!==this.m_shape.getUserIndex(m,n)&&(i.push(m),this.m_shape.setUserIndex(m,n,-2))}}if(0===i.length)return void(-1!==n&&this.m_shape.removeUserIndex(n));r(-1!==n),i.sort((e,t)=>this.compareVertices(e,t));for(let r=0,o=i.length;r<o;r++){const e=i[r];this.m_shape.setUserIndex(e,n,r)}const h=new u,m=new u;m.setNAN();let a=-1;for(let r=0,o=i.length;r<o;r++){this.progress_();const o=i[r];if(o!==x&&(this.m_shape.queryXY(o,s),!s.isEqualPoint2D(m))){if(-1!==a)for(;;){let s=!1;const o=r;for(let p=a;p<o;p++){const a=i[p];if(a===x)continue;let o=x;const c=this.m_shape.getNextVertex(a);this.m_shape.queryXY(c,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(a)||(o=c));let l=x;const _=this.m_shape.getPrevVertex(a);if(this.m_shape.queryXY(_,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(_)||(l=_)),o===x||l===x){if(o!==x||l!==x){for(let c=p+1;c<r;c++){const r=i[c];if(r===x)continue;const p=this.m_shape.getNextVertex(r);let _=x;this.m_shape.queryXY(p,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(r)||(_=p));const u=this.m_shape.getPrevVertex(r);let g=x;if(this.m_shape.queryXY(u,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(u)||(g=u)),_!==x&&g!==x){this.beforeRemoveVertex(r,i,n),this.m_shape.removeVertex(r,!1),this.beforeRemoveVertex(_,i,n),this.m_shape.removeVertex(_,!1),s=!0;break}if(o!==x&&g!==x){this.removeOverlap(i,a,o,r,g,n),s=!0;break}if(l!==x&&_!==x){this.removeOverlap(i,r,_,a,l,n),s=!0;break}}if(s)break}}else this.beforeRemoveVertex(a,i,n),this.m_shape.removeVertex(a,!1),this.beforeRemoveVertex(o,i,n),this.m_shape.removeVertex(o,!1),s=!0}if(!s)break}a=r,m.setCoordsPoint2D(s)}}this.m_shape.removeUserIndex(n)}beforeRemoveVertex(e,t,s){let i=this.m_shape.getUserIndex(e,s);r(i>=0),t[i]=x,i=this.m_shape.getUserIndex(e,this.m_verticesOnExtentIndex),r(i>=0),this.m_verticesOnExtent[i]=x;const n=this.m_shape.getPathFromVertex(e);if(n!==x){this.m_shape.getFirstVertex(n)===e&&(this.m_shape.setFirstVertex(n,x),this.m_shape.setLastVertex(n,x))}}removeOverlap(e,t,s,i,n,r){this.m_shape.setNextVertex(t,i),this.m_shape.setPrevVertex(i,t),this.m_shape.setPrevVertex(s,n),this.m_shape.setNextVertex(n,s),this.beforeRemoveVertex(i,e,r),this.m_shape.removeVertexInternal(i,!1),this.beforeRemoveVertex(n,e,r),this.m_shape.removeVertexInternal(n,!0)}removeSpikesAlongPoles(){this.removeSpikesOnPole(this.m_extent.ymin),this.removeSpikesOnPole(this.m_extent.ymax)}removeSpikesOnPole(e){for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==x;t=this.m_shape.getNextPath(t)){const s=this.m_shape.getPathSize(t);if(s<3)continue;let i=this.m_shape.getFirstVertex(t);const n=new u;this.m_shape.queryXY(i,n);let r=n.y===e&&!this.isCurve(i);i=this.m_shape.getNextVertex(i);const h=new u;this.m_shape.queryXY(i,h);let m=h.y===e&&!this.isCurve(i);i=this.m_shape.getNextVertex(i);const a=new u;for(let t=0,o=s-2;t<o;t++,i=this.m_shape.getNextVertex(i)){this.progress_(),this.m_shape.queryXY(i,a);const t=a.y===e;if(m&&r&&t){if((h.x-n.x)*(a.x-h.x)<=0){this.m_shape.removeVertex(this.m_shape.getPrevVertex(i),!1),h.setCoordsPoint2D(a),m=t&&!this.isCurve(i);continue}}n.setCoordsPoint2D(h),r=m,h.setCoordsPoint2D(a),m=t&&!this.isCurve(i)}}}fixPaths(){for(let n=0,r=this.m_verticesOnExtent.length;n<r;n++){const e=this.m_verticesOnExtent[n];e!==x&&this.m_shape.setPathToVertex(e,x)}const e=this.m_shape.hasCurves();let t=0,s=0;for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==x;){const e=this.m_shape.getFirstVertex(n);if(e===x||n!==this.m_shape.getPathFromVertex(e)){const e=n;n=this.m_shape.getNextPath(n),this.m_shape.setFirstVertex(e,x),this.m_shape.removePathOnly(e);continue}let i=e,r=0;do{this.m_shape.setPathToVertex(i,n),r++,i=this.m_shape.getNextVertex(i)}while(i!==e);this.m_shape.setRingAreaValid(n,!1),this.m_shape.setLastVertex(n,this.m_shape.getPrevVertex(e)),this.m_shape.setPathSize(n,r),s+=r,t++,n=this.m_shape.getNextPath(n)}for(let n=0,h=this.m_verticesOnExtent.length;n<h;n++){let i=this.m_verticesOnExtent[n];if(i===x)continue;let h=this.m_shape.getPathFromVertex(i);if(h!==x)continue;h=this.m_shape.insertPath(this.m_geometry,x);let m=!1,a=0;const o=i;do{this.m_shape.setPathToVertex(i,h),a++,e&&a<=2&&(m||=this.isCurve(i)),i=this.m_shape.getNextVertex(i)}while(i!==o);if(m?0===a:a<=2){let e=this.m_shape.getUserIndex(o,this.m_verticesOnExtentIndex);r(e>=0),this.m_verticesOnExtent[e]=x;const t=this.m_shape.removeVertex(o,!1);2===a&&(e=this.m_shape.getUserIndex(t,this.m_verticesOnExtentIndex),e>=0&&(this.m_verticesOnExtent[e]=x),this.m_shape.removeVertex(t,!1));const s=h;h=this.m_shape.getNextPath(h),this.m_shape.setFirstVertex(s,x),this.m_shape.removePathOnly(s);continue}this.m_shape.setClosedPath(h,!0),this.m_shape.setPathSize(h,a),this.m_shape.setFirstVertex(h,o),this.m_shape.setLastVertex(h,this.m_shape.getPrevVertex(o)),this.m_shape.setRingAreaValid(h,!1),s+=a,t++}this.m_shape.setGeometryPathCount(this.m_geometry,t),this.m_shape.setGeometryVertexCount(this.m_geometry,s);let i=0;for(let n=this.m_shape.getFirstGeometry();n!==x;n=this.m_shape.getNextGeometry(n))i+=this.m_shape.getPointCount(n);this.m_shape.setTotalPointCount(i)}dbgCheckPathFirst(){}isCurve(e){return null!==this.m_shape.getSegment(e)}compareVertices(e,t){const s=new u;this.m_shape.queryXY(e,s);const i=new u;this.m_shape.queryXY(t,i);return s.compare(i)}clipPolesOut(e,t){return this.clipPolygonOrProjectedPolyline2(e,t)}}class I{getOperatorType(){return 10004}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,i){return new V(e,t,s,i)}execute(e,t,s,i){return X(e,t,s,i)}}class V extends e{constructor(e,s,i,n){super(),this.m_progressTracker=n,this.m_index=-1,e||t(""),this.m_envelope=s,this.m_inputGeometryCursor=e,this.m_spatialRefImpl=i,this.m_tolerance=m(i,s,!1).total()}next(){let e;return(e=this.m_inputGeometryCursor.next())?(s(e),this.m_index=this.m_inputGeometryCursor.getGeometryID(),f(e,this.m_envelope,this.m_tolerance,0,this.m_progressTracker)):null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}}function X(e,t,s,i){return v(e,t,s,Number.NaN,0,i)}export{I as O,d as a,f as c};
|