@arcgis/core 5.1.0-next.36 → 5.1.0-next.38
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/applications/Components/analysisUtils.js +1 -1
- package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
- package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{e09722903e63f6cc2540.js → 03894992558d063d0d5e.js} +1 -1
- package/assets/esri/core/workers/chunks/{4490f8eeeb2ee04daa9d.js → 0dd12d6af0cf7707109c.js} +2 -2
- package/assets/esri/core/workers/chunks/13838b6c045425e73cf8.js +1 -0
- package/assets/esri/core/workers/chunks/{6f1c590abd0e3adeb8fc.js → 1bf3e787eafec318bd2b.js} +1 -1
- package/assets/esri/core/workers/chunks/1d54b71c43d9d6a5f713.js +1 -0
- package/assets/esri/core/workers/chunks/{64e1273e4e79c73ed579.js → 2ddfd406b9044390e9f7.js} +1 -1
- package/assets/esri/core/workers/chunks/2fa86dacc8a12a6a6c43.js +1 -0
- package/assets/esri/core/workers/chunks/34f79355145c8e4c59dd.js +1 -0
- package/assets/esri/core/workers/chunks/3be111488365768fd917.js +1 -0
- package/assets/esri/core/workers/chunks/448620052233e51b496c.js +1 -0
- package/assets/esri/core/workers/chunks/{6ca2064ea96bdb594f52.js → 4b0d6309abf273f1f79f.js} +1 -1
- package/assets/esri/core/workers/chunks/{973e3743cb7fdaa27f80.js → 4e07827ab870c65377d3.js} +1 -1
- package/assets/esri/core/workers/chunks/60e4312044fe40dfd41d.js +2 -0
- package/assets/esri/core/workers/chunks/67f95c57c1679935570b.js +1 -0
- package/assets/esri/core/workers/chunks/{04094d576bfa11d90f73.js → 6afdaa6c4555c467dca7.js} +1 -1
- package/assets/esri/core/workers/chunks/{a7a9716582b256d76e5b.js → 873c1b705ac3d4e6c384.js} +1 -1
- package/assets/esri/core/workers/chunks/{527547fa10d52cb3a7b1.js → 888f6387e795d45a7ad3.js} +2 -2
- package/assets/esri/core/workers/chunks/{eb811adbc5243d293ef5.js → 93bf908f596140ea4c61.js} +1 -1
- package/assets/esri/core/workers/chunks/{2d49a611ad3441d7e759.js → 9ae9e9a65cb08b12caeb.js} +15 -15
- package/assets/esri/core/workers/chunks/{eaeb95be8d4032513247.js → b014f0b2385dc82dc683.js} +2 -2
- package/assets/esri/core/workers/chunks/{2128a66f522d15493ce2.js → b2303b2771fcd75f298b.js} +1 -1
- package/assets/esri/core/workers/chunks/{7c16493ea34c49a6291e.js → b8f624f8c975728d75e2.js} +1 -1
- package/assets/esri/core/workers/chunks/{f5144e570952ca62a1b0.js → b98c24229463029504e8.js} +1 -1
- package/assets/esri/core/workers/chunks/bf668010f36179792592.js +1 -0
- package/assets/esri/core/workers/chunks/c0ecb68387e342dddf58.js +1 -0
- package/assets/esri/core/workers/chunks/{0f2d6f267d235db48767.js → cb482e20e10ab0f63617.js} +1 -1
- package/assets/esri/core/workers/chunks/d024278a1c2aa7d22be3.js +1 -0
- package/assets/esri/core/workers/chunks/{19955d064c17ba2fd9ad.js → d0da3a44f33f4d8e682b.js} +1 -1
- package/assets/esri/core/workers/chunks/{0e78678281bcb888964d.js → d456f06d0c6a5cc02be7.js} +1 -1
- package/assets/esri/core/workers/chunks/{a35d1be700ebd3109397.js → d82b543c96f09ded3bf9.js} +2 -2
- package/assets/esri/core/workers/chunks/{776a7179d32fe62a37e3.js → de9fea9b6f2269ee0703.js} +1 -1
- package/assets/esri/core/workers/chunks/{e8ae71e482b8d5f54a72.js → dec51409372764e7093d.js} +1 -1
- package/assets/esri/core/workers/chunks/e09f8b17cb0b92354de8.js +1 -0
- package/assets/esri/core/workers/chunks/{b859d98fa1c39f8e4099.js → e0a63b5861e8c975097e.js} +1 -1
- package/assets/esri/core/workers/chunks/{23cb0611abe1031c513c.js → fce30184f354fb7d11af.js} +1 -1
- package/assets/esri/core/workers/chunks/{67de5225b2c66c9c7bc9.js → ffc87a038712a4c9d2cb.js} +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +4 -4
- package/chunks/Clouds.glsl.js +14 -14
- package/chunks/ComponentShader.glsl.js +1 -1
- package/chunks/DefaultMaterial.glsl.js +1 -1
- package/chunks/Fog.glsl.js +2 -1
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/GlowBlur.glsl.js +8 -8
- package/chunks/GlowComposition.glsl.js +7 -7
- package/chunks/HUDMaterial.glsl.js +4 -1
- package/chunks/Haze.glsl.js +4 -4
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/NoiseTextureAtlas.glsl.js +34 -34
- package/chunks/OITBlend.glsl.js +10 -10
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/Path.glsl.js +2 -2
- package/chunks/Point2D.js +1 -1
- package/chunks/RealisticTree.glsl.js +1 -1
- package/chunks/SlicePlaneMaterial.glsl.js +6 -5
- package/chunks/SpatialReference.js +1 -1
- package/chunks/lyr3DMain.js +1 -1
- package/chunks/lyr3DWorker.js +1 -1
- package/config.js +1 -1
- package/core/has.js +1 -1
- package/geometry/libtess.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/intl.js +1 -1
- package/kernel.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/graphics/dehydratedPoint.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/libs/lyr3d/Lyr3DModule.js +1 -1
- package/package.json +4 -4
- package/rest/print.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/imagery/RasterBitmap.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
- package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
- package/views/3d/analysis/Dimension/DimensionController.js +1 -1
- package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshNormals.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/state/NearFarHeuristic.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/RasterTile.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/WeatherFader.js +2 -0
- package/views/3d/{environment → webgl-engine/effects/atmosphere}/ChapmanApproximation.glsl.js +3 -3
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphereTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphereTechniqueConfiguration.js +2 -0
- package/views/3d/{environment → webgl-engine/effects/atmosphere}/ChapmanRaymarching.glsl.js +5 -5
- package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphereTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphereTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/atmosphereUtils.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/Clouds.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsCompositionTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsParameters.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasDimensions.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/fog/Fog.js +2 -0
- package/views/3d/webgl-engine/effects/fog/FogTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/fog/FogTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/precipitation/Precipitation.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/precipitation/Precipitation.js +2 -0
- package/views/3d/webgl-engine/effects/precipitation/PrecipitationTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/precipitation/PrecipitationTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +2 -0
- package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +2 -0
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +10 -10
- package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +2 -0
- package/views/3d/webgl.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/interactive/sketch/normalizedPoint.js +1 -1
- package/views/interactive/snapping/LineSnapper.js +1 -1
- package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
- package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
- package/views/interactive/snapping/SnappingAlgorithm.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/candidates/dehydrated/DehydratedVertexSnappingCandidate.js +1 -1
- package/views/interactive/tooltip/infos/TooltipInfoWithCoordinates.js +1 -1
- package/views/support/MeasurementWorker.js +1 -1
- package/views/support/MeasurementWorkerHandle.js +1 -1
- package/views/support/measurementWorkerUtils.js +1 -1
- package/views/webgl/WebGLDriverTest.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/assets/esri/core/workers/chunks/144acac9bb1aa78f1170.js +0 -1
- package/assets/esri/core/workers/chunks/2f20a21db44bd8448e9e.js +0 -1
- package/assets/esri/core/workers/chunks/5d87316d6f973d95745c.js +0 -1
- package/assets/esri/core/workers/chunks/63722607fbf8d411188d.js +0 -1
- package/assets/esri/core/workers/chunks/6ac84e6d33104e74398d.js +0 -1
- package/assets/esri/core/workers/chunks/a53979c45ee429e21b99.js +0 -2
- package/assets/esri/core/workers/chunks/b1ddc837a6805a09d0da.js +0 -1
- package/assets/esri/core/workers/chunks/bd278f8081be8304be8d.js +0 -1
- package/assets/esri/core/workers/chunks/bd902ae413887082b453.js +0 -1
- package/assets/esri/core/workers/chunks/ce3e192fbb53a9c6eb3b.js +0 -1
- package/assets/esri/core/workers/chunks/de5719ef663224860af5.js +0 -1
- package/assets/esri/core/workers/chunks/f7506c9d57b2ae0c5fd3.js +0 -1
- package/views/3d/environment/ChapmanAtmosphere.glsl.js +0 -2
- package/views/3d/environment/ChapmanAtmosphere.js +0 -2
- package/views/3d/environment/ChapmanAtmosphereTechnique.js +0 -2
- package/views/3d/environment/ChapmanAtmosphereTechniqueConfiguration.js +0 -2
- package/views/3d/environment/Clouds.glsl.js +0 -2
- package/views/3d/environment/CloudsComposition.glsl.js +0 -2
- package/views/3d/environment/CloudsComposition.js +0 -2
- package/views/3d/environment/CloudsCompositionTechnique.js +0 -2
- package/views/3d/environment/CloudsParameters.js +0 -2
- package/views/3d/environment/CloudsRenderer.js +0 -2
- package/views/3d/environment/CloudsTechnique.js +0 -2
- package/views/3d/environment/CloudsTechniqueConfiguration.js +0 -2
- package/views/3d/environment/EnvironmentRenderer.js +0 -2
- package/views/3d/environment/Fog.glsl.js +0 -2
- package/views/3d/environment/Fog.js +0 -2
- package/views/3d/environment/FogTechnique.js +0 -2
- package/views/3d/environment/FogTechniqueConfiguration.js +0 -2
- package/views/3d/environment/LocalAtmosphere.js +0 -2
- package/views/3d/environment/MarsAtmosphere.js +0 -2
- package/views/3d/environment/NoiseTextureAtlas.glsl.js +0 -2
- package/views/3d/environment/NoiseTextureAtlas.js +0 -2
- package/views/3d/environment/NoiseTextureAtlasConfiguration.js +0 -2
- package/views/3d/environment/NoiseTextureAtlasDimensions.js +0 -2
- package/views/3d/environment/NoiseTextureAtlasTechnique.js +0 -2
- package/views/3d/environment/Precipitation.glsl.js +0 -2
- package/views/3d/environment/Precipitation.js +0 -2
- package/views/3d/environment/PrecipitationTechnique.js +0 -2
- package/views/3d/environment/PrecipitationTechniqueConfiguration.js +0 -2
- package/views/3d/environment/SimpleAtmosphere.glsl.js +0 -2
- package/views/3d/environment/SimpleAtmosphereTechnique.js +0 -2
- package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +0 -2
- package/views/3d/environment/atmosphereUtils.js +0 -2
- package/views/3d/webgl-engine/lib/CutFillColor.js +0 -2
- package/views/3d/webgl-engine/lib/CutFillDepth.js +0 -2
- package/views/support/geodesicAreaMeasurementUtils.js +0 -2
- package/views/support/geodesicLengthMeasurementUtils.js +0 -2
- package/views/support/geodesicMeasurementUtils.js +0 -2
- package/views/webgl/AppleAmdDriverHelper.js +0 -2
- package/views/webgl/testAppleAmdDrawArrays.js +0 -2
- /package/assets/esri/core/workers/chunks/{4490f8eeeb2ee04daa9d.js.LICENSE.txt → 0dd12d6af0cf7707109c.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a53979c45ee429e21b99.js.LICENSE.txt → 60e4312044fe40dfd41d.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{527547fa10d52cb3a7b1.js.LICENSE.txt → 888f6387e795d45a7ad3.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{eaeb95be8d4032513247.js.LICENSE.txt → b014f0b2385dc82dc683.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a35d1be700ebd3109397.js.LICENSE.txt → d82b543c96f09ded3bf9.js.LICENSE.txt} +0 -0
- /package/views/3d/{environment/resources → webgl-engine/effects/atmosphere}/MarsAtmosphereTexture.js +0 -0
- /package/views/3d/{environment/resources → webgl-engine/effects/atmosphere}/SimpleAtmosphereTexture.js +0 -0
- /package/views/3d/{environment → webgl-engine/effects/clouds}/Clouds.js +0 -0
- /package/views/3d/{environment → webgl-engine/effects/clouds}/CloudsPresets.js +0 -0
- /package/views/3d/webgl-engine/effects/{weather → snowcover}/SnowCover.glsl.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4167,6061],{61691(e,t,n){n.d(t,{G:()=>s});class s{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}},28879(e,t,n){n.r(t),n.d(t,{OperatorGeodeticLength:()=>m});var s=n(5482),o=n(55537),r=n(47591),a=n(88885),i=n(83661),c=n(15756),g=n(5247);class m{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n,s){if(4===n)return(new r.O).execute(e,t,s);if(0===t.getCoordinateSystemType()&&(0,o.a)(""),(0,o.c)(e),e.isEmpty()||e.getDimension()<1)return 0;const m=t.getGCS(),u=(0,c.U)();m.querySpheroidData(u);const l=u.majorSemiAxis,h=u.e2,y=m.getUnit().getUnitToBaseFactor();let x;const p=e.getGeometryType();if(p===o.G.enumPolygon?x=e.getBoundary():p===o.G.enumEnvelope?x=(0,a.c)(e):(0,o.f)(p)?(x=new a.a({vd:e.getDescription()}),x.addSegment(e,!0)):x=e,x.hasNonLinearSegments()&&(x=(new g.O).execute(x,0,t.getTolerance(0),0,s)),m!==t){const n=t.getSRToGCSTransform();if(t.isPannable()){x=(0,c.M)(x,t),p===o.G.enumPolyline&&x===e&&(x=e.clone());const n=new i.E;t.getPannableExtent().queryIntervalX(n);for(let e=0,t=x.getPointCount();e<t;e++){const t=x.getXY(e);t.x=(0,c.N)(t.x,n),x.setXY(e,t)}}const r=x.createInstance();x=(0,c.Q)(n,x,r,s)?r:(new c.O).execute(x,n,s)}return this._ExecuteMultiPathGeodeticLength(x,n,l,h,y)}_ExecuteMultiPathGeodeticLength(e,t,n,o,r){const a={stack:[],error:void 0,hasError:!1};try{const i=(0,s.mS)(a,new c.R,!1);let g=0;const m=e.querySegmentIterator();for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),s=e.getStartXY(),a=e.getEndXY();s.scale(r),a.scale(r),c.S.geodeticDistance(n,o,s.x,s.y,a.x,a.y,i,null,null,t),g+=i.val}return g}catch(e){a.error=e,a.hasError=!0}finally{(0,s.hk)(a)}}}},47591(e,t,n){n.d(t,{O:()=>x});var s=n(55537),o=n(15756),r=n(88885),a=n(83661),i=n(95213),c=n(79187),g=n(5247),m=n(31139);function u(){return{m_pGcs:new a.P,m_xyz:new i.f,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:l,setLength:h,assign:y}}function l(e,t,n,s){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(s),this.m_geoLength=n}function h(e){this.m_geoLength=e}function y(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class x{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,n,s,r){if(e.hasNonLinearSegments()&&(e=(new g.O).execute(e,0,t.getTolerance(0),0,r)),t.isPannable()){let s=90,a=-90;if(1===n.getUnit().getUnitToBaseFactor()&&(s*=Math.PI/180,a*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const n=[0,0,0,0];e=t.getPECoordSys(),n[0]=0,n[1]=s,n[2]=0,n[3]=a,o.V.geogToProj(e,2,n),s=n[1],a=n[3]}const i=new c.Envelope2D;e.queryEnvelope(i),i.ymin=a,i.ymax=s,e=(new m.O).execute(e,i,t,r)}else{const n=t.getPCSHorizon();if((e=(new o.g).execute(e,n,t,r))===n){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,n,s,1,r)}_ExecuteIterativeApproach(e,t,n,r,c,g){const m=(0,o.U)();n.querySpheroidData(m);const l=m.majorSemiAxis,h=m.e2,y=n.getUnit().getUnitToBaseFactor(),x=(0,a.k)(u,40),_=(0,a.d)(40,Number.NaN),d=u(),S=u();let G;const P=[0,0,0,0],w=t.getPECoordSys(),C=new a.P,E=new a.P,v=new a.P,N=new a.P,T=new a.P;let L=0;const b=e.querySegmentIterator();for(;b.nextPath();)for(;b.hasNextSegment();){const e=b.nextSegment();C.assign(e.getStartXY()),E.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(P[0]=C.x,P[1]=C.y,P[2]=E.x,P[3]=E.y,o.V.projToGeog(w,2,P),v.x=P[0]*y,v.y=P[1]*y,N.x=P[2]*y,N.y=P[3]*y):(v.setCoordsPoint2D(C),N.setCoordsPoint2D(E),v.scale(y),N.scale(y));const n=new i.f,r=new i.f;p(l,h,v,n),p(l,h,N,r);let a=f(l,n,r);d.setValues(0,v,Number.NaN,n),S.setValues(1,N,a,r),G=c,x[0].assign(S),_[0]=c;let g=0;for(;;){g>128&&(0,s.d)("iterations exceeded");const n=.5*(d.m_factor+S.m_factor),r=e.getCoord2D(n);2===t.getCoordinateSystemType()?(P[0]=r.x,P[1]=r.y,o.V.projToGeog(w,1,P),T.x=P[0]*y,T.y=P[1]*y):(T.setCoordsPoint2D(r),T.scale(y)),v.setCoordsPoint2D(d.m_pGcs),N.setCoordsPoint2D(S.m_pGcs);const m=new i.f;p(l,h,T,m);const u=f(l,d.m_xyz,m),C=f(l,S.m_xyz,m);a=S.m_geoLength,Number.isNaN(a)&&(a=f(l,d.m_xyz,S.m_xyz));const E=u+C,b=G===c&&E>=20&&Math.abs(E-a)>1e-8*(a+E);if(g+2<40&&(b||Math.abs(E-a)>0&&G>0))S.setLength(C),x[g].assign(S),S.setValues(n,T,u,m),x[++g].assign(S),b?(G=c,_[g]=c):(G--,_[g-1]=G,_[g]=G);else{if(L+=E,0===g)break;d.assign(S),S.assign(x[--g]),G=_[g]}}}return L}execute(e,t,n){if(t&&0!==t.getCoordinateSystemType()||(0,s.a)(""),e.isEmpty()||e.getDimension()<1)return 0;let a=null;const i=t.getGCS();i!==t&&(a=(0,o.a)(t,i,null));const c=e.getGeometryType();if(c===s.G.enumEnvelope){const s=new r.P;return s.addEnvelope(e,!1),this._ExecuteShapePreservingLength(s,t,i,a,n)}if((0,s.f)(c)){const s=new r.a;return s.addSegment(e,!0),this._ExecuteShapePreservingLength(s,t,i,a,n)}return this._ExecuteShapePreservingLength(e,t,i,a,n)}}function p(e,t,n,s){s.assign((0,o.W)(e,t,n))}function f(e,t,n){const s=e,o=new i.f;o.setSub(t,n);const r=o.length();return 2*s*Math.asin(r/(2*s))}},76061(e,t,n){n.d(t,{S:()=>o});var s=n(61691);class o extends s.G{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7444],{1364(e,t,s){s.d(t,{c:()=>i});var n=s(55537);function i(e,t){const s=e.getGeometryType();return s===n.G.enumPoint?e:(0,n.h)(s)?function(e){if(function(e){for(let t=0,s=e.getPathCount();t<s;t++){const s=e.getPathSize(t);if(0===s)return!1;if(1===s){if(0===e.getSegmentCountPath(t))return!1;if(e.getSegmentType(e.getPathStart(t))===n.G.enumLine)return!1;if(!e.isClosedPath(t))return!1}}return!0}(e))return e;const t=e.createInstance();for(let s=0,i=e.getPathCount();s<i;s++){const i=e.getPathSize(s);if(0!==i){if(1===i){if(0===e.getSegmentCountPath(s))continue;if(e.getSegmentType(e.getPathStart(s))===n.G.enumLine)continue;if(!e.isClosedPath(s))continue}t.addPath(e,s,!0)}}return t}(e):s===n.G.enumMultiPoint||s===n.G.enumEnvelope?e:s===n.G.enumMultipatch?((0,n.t)("not implemented for multipatch"),e):e}},37444(e,t,s){s.r(t),s.d(t,{OperatorGeodesicBuffer:()=>T});var n=s(61691),i=s(55537),r=s(79187),o=s(15756),m=s(5482),a=s(88885),h=s(95213),c=s(11878),u=s(83661),l=s(31139),_=s(1364),f=s(5247),d=s(76061);class g{constructor(e){this.m_sr=null,this.m_gcs=null,this.m_transform=null,this.m_a=0,this.m_eSquared=0,this.m_rpu=0,this.m_radTolerance=0,this.m_q90=0,this.m_gcs90=0,this.m_gcs180=0,this.m_gcs360=0,this.m_gcs60=0,this.m_ellipticToGeodesicMaxRatio=0,this.m_curveType=0,this.m_bShapePreserving=!1,this.m_distance=0,this.m_absDistance=0,this.m_convergenceOffset=0,this.m_cornerStep=0,this.m_segmentStep=0,this.m_progressTracker=e}bufferPolygon(e){const t=new a.P,s=new G(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,s)}bufferPolyline(e){const t=new G(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new R(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let s=new a.P;if(this.bufferPoint2D(t,!1,s)){const e=(0,h.e)(null,s,!0);s=(0,o.y)(s,e,!0,!0,-1,this.m_progressTracker,0,!1)}return s=(new o.O).foldInto360RangeGeodetic(s,this.m_gcs,2),s}processGnomonicBufferPiecesCursor(e,t){const s=t;let n=s.getGnomonic();const i=(0,o.a5)((0,o.a6)());let m=new o.a7,a=(new o.p).executeMany(m,i,this.m_progressTracker,2);const l=(0,u.d)(6,!1),_=(0,u.m)(r.Envelope2D,6);this.initializeGrid(l,_);const f=[null,null,null,null,null,null],d=[null,null,null,null,null,null],g=[null,null,null,null,null,null];let p,P,x;for(;null!==(p=s.next());){if(P=s.getGnomonic(),P!==n){if(null!==n){let t=a.next();if(m=null,a=null,null!=t){const s=(0,h.e)(i,t,!0),r=(0,h.h)(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}}null!==P&&(m=new o.a7,a=(new o.p).executeMany(m,i,this.m_progressTracker,2)),n=P}if(s.isRunningInGnomonic()){if(P.project(p),s.needsSimplify()){const e=(0,h.e)(null,p,!0);p=(0,o.y)(p,e,!0,!0,-1,this.m_progressTracker,0,!1)}m.tick(D(p)),a.tock()}else this.putInGridCursors(e,p,i,!0,l,_,f,d,g)}let S=!1;for(let e=0;e<6;e++)if(null!=g[e]){S=!0;break}if(S){let t=!1;const r=[null,null,null,null,null,null];if(e){const n=s.m_densified;if(s.m_densified=null,null!==n){const s=new c.T;s.scale(1/this.m_rpu,1/this.m_rpu),n.applyTransformation(s),this.m_distance>0?this.putInGridCursors(e,n,i,!1,l,_,f,d,g):(this.processInGrid(e,n,!1,l,_,f,r),t=!0)}}const u=new o.a7,p=(new o.p).executeMany(u,this.m_gcs,this.m_progressTracker,2);if(null!==a){let t=a.next();m=null,a=null;const s=(0,h.e)(i,t,!0),r=(0,h.h)(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}for(let e=0;e<6;e++)if(null!=g[e]){let s=g[e].next();g[e]=null,d[e]=null,t&&null!==r[e]&&(s=(new o.o).execute(r[e],s,i,this.m_progressTracker));const n=(0,h.e)(i,s,!0),m=(0,h.h)(n);s=f[e].unproject(s,m,this.m_progressTracker),s=(new o.f).execute(s,this.m_gcs,!0,this.m_progressTracker),u.tick(D(s)),p.tock()}x=p.next()}else{let t,r=!1;if(e){let e=s.m_densified;if(s.m_densified=null,null!==e){const s=new c.T;s.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(s),P.project(e);const n=(0,h.e)(null,e,!0);e=(0,o.y)(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(m.tick(D(e)),a.tock()):(t=e,r=!0)}}let u=a.next();m=null,a=null,r&&(u=(new o.o).execute(t,u,i,this.m_progressTracker));const l=(0,h.e)(i,u,!0),_=(0,h.h)(l);x=n.unproject(u,_,this.m_progressTracker),x=(new o.f).execute(x,this.m_gcs,!0,this.m_progressTracker)}return x=(new o.O).foldInto360RangeGeodetic(x,this.m_gcs,2),x}putInGridCursors(e,t,s,n,i,r,m,a,h){const c=[null,null,null,null,null,null];this.processInGrid(e,t,n,i,r,m,c);for(let e=0;e<6;e++)null!==c[e]&&(null===a[e]&&(a[e]=new o.a7,h[e]=(new o.p).executeMany(a[e],s,this.m_progressTracker,2)),a[e].tick(D(c[e])),h[e].tock())}processInGrid(e,t,s,n,i,r,m){const a=.01,c=this.insertGeodeticPointsAlongGrid(t,i,a);for(let e=0;e<6;e++){if(n[e])continue;const _=i[e].clone();_.inflateCoords(a,a);const f=(0,h.j)(t,_),d=(0,h.c)(null,f,!1).total();let g=(0,l.c)(c,_,d,Number.NaN,this.m_progressTracker);if(null!==g&&!g.isEmpty()){if(g===c&&(g=g.clone()),null===r[e]){const t=new u.P;e<3?t.setCoords(0,1):t.setCoords(0,-1);const s=new u.P;s.setAdd(i[e].getCenter(),t),r[e]=v(this.m_gcs,s)}r[e].project(g);const t=(0,h.e)(null,g,!0);g=(0,o.y)(g,t,s,!0,-1,this.m_progressTracker,0,!1),m[e]=g}}}insertGeodeticPointsAlongGrid(e,t,s){const n=r.Envelope2D.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=(0,o.a8)(this.m_gcs,n,e,!0,this.m_progressTracker),m=new a.E,h=m.addGeometry(i);return(0,o.a9)(m,h,this.m_gcs,0,2,!0,t[0].xmax+s),(0,o.a9)(m,h,this.m_gcs,0,2,!0,t[1].xmax+s),(0,o.a9)(m,h,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&((0,o.a9)(m,h,this.m_gcs,0,2,!0,t[0].xmax-s),(0,o.a9)(m,h,this.m_gcs,0,2,!0,t[1].xmax-s),(0,o.a9)(m,h,this.m_gcs,0,2,!1,t[1].ymin-s)),m.getGeometry(h)}initializeGrid(e,t){for(let t=0;t<6;t++)e[t]=!1;t[0].setCoords({xmin:-this.m_gcs180,ymin:0,xmax:-this.m_gcs60,ymax:this.m_gcs90}),t[1].setCoords({xmin:-this.m_gcs60,ymin:0,xmax:this.m_gcs60,ymax:this.m_gcs90}),t[2].setCoords({xmin:this.m_gcs60,ymin:0,xmax:this.m_gcs180,ymax:this.m_gcs90}),t[3].setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:-this.m_gcs60,ymax:0}),t[4].setCoords({xmin:-this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs60,ymax:0}),t[5].setCoords({xmin:this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:0})}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t,s,n,i,r){const m=e[0],a=e.at(-1),h=m.y<a.y?m.y:a.y,c=m.y>a.y?m.y:a.y,l=o.a2.q(this.m_a,this.m_eSquared,h),_=o.a2.q(this.m_a,this.m_eSquared,c);if(this.m_q90-(l+t+this.m_absDistance)>.001&&this.m_q90+(_-t-this.m_absDistance)>.001)return!1;const f=s-u.o,d=n+u.o,g=f-Math.PI,p=f+Math.PI,b=d+Math.PI,y=[Number.NaN],C=[Number.NaN],w=[Number.NaN],v=[Number.NaN];let D=!1;if(S(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,f,g,a,d,y,C),S(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,b,d,m,g,w,v),(d<y[0]&&y[0]<b||d<C[0]&&C[0]<b)&&(D=!0),D||(g<w[0]&&w[0]<f||g<v[0]&&v[0]<f)&&(D=!0),!D&&i)return!1;const I=[];for(let t=e.length-1;t>=0;t--)I.push(e[t]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let G=0;G=P(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,f,d,i,G,r),G=x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,d,b,this.m_cornerStep,i,G,r,y[0],C[0]),G=P(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,I,b,p,i,G,r),G=x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,g,f,this.m_cornerStep,i,G,r,w[0],v[0]);let R=!1;return i||(R=this.checkAndPrepForPole(r)),D||R}bufferPoint2D(e,t,s){s.setEmpty(),s.addPathPoint2D(null,0,!0),x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,0,s);let n=!1;return t||(n=this.checkAndPrepForPole(s)),n}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),s=this.checkAndPrepForPoleWrap(e);return t||s}checkAndPrepForPoleTouch(e){const t=new r.Envelope2D;return e.queryEnvelope(t),!(!(0,o.aa)(t.ymax,this.m_gcs90)&&!(0,o.aa)(t.ymin,-this.m_gcs90)||(this.prepPoleTouch(e),0))}checkAndPrepForPoleWrap(e){const t=e.getXY(0),s=e.getXY(e.getPointCount()-1);return Math.abs(t.x-s.x)>this.m_gcs180?(this.prepSinglePoleWrap(e),!0):this.checkAndPrepForDoublePoleWrap(e)}checkAndPrepForDoublePoleWrap(e){return e.calculateArea2D()<0&&(this.prepDoublePoleWrap(e),!0)}prepPoleTouch(e){const t=new a.P;t.insertPath2D(-1,null,0,0,!0);const s=e.getPathStart(0),n=e.getPathEnd(0),i=n-s;let r=-1;for(r=s;r<n;r++){const t=e.getXY(r),s=(0,o.aa)(t.y,this.m_gcs90),n=(0,o.aa)(t.y,-this.m_gcs90);if(!s&&!n)break}let m=r,h=!1,c=Number.NaN;do{const n=e.getXY(m),r=(0,o.aa)(n.y,this.m_gcs90),a=(0,o.aa)(n.y,-this.m_gcs90),l=s+(m+1-s)%i;if(r||a){let s=u.P.construct(c,n.y);t.insertPoint2D(0,-1,s);const i=e.getXY(l),r=(0,o.aa)(i.y,this.m_gcs90),m=(0,o.aa)(i.y,-this.m_gcs90);r||m||(s=u.P.construct(i.x,n.y),h?t.setXY(t.getPointCount()-1,s):t.insertPoint2D(0,-1,s)),h=!0}else t.insertPoint2D(0,-1,n),c=n.x,h=!1;m=l}while(m!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new a.P,s=new a.P,n=new c.T,i=e.getXY(e.getPathStart(0)),m=e.getXY(e.getPathEnd(0)-1),_=this.m_gcs360,f=this.m_gcs180,d=new r.Envelope2D;d.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const g=new r.Envelope2D;e.queryEnvelope(g);const p=Math.ceil(g.width()/_);let P,x;i.x>m.x?(P=-_,x=this.m_gcs90):(P=_,x=-this.m_gcs90),n.setShiftCoords(P,0),t.addPath(e,0,!0),s.add(t,!1);const S=new h.P;for(let e=0;e<p;e++)s.applyTransformation(n),s.getPointByVal(0,S),t.lineToPoint(S),t.addSegmentsFromPath(s,0,0,s.getSegmentCount()-1,!1);const b=t.getXY(0),y=t.getXY(t.getPointCount()-1);b.y=x,y.y=x,t.lineTo(y);const C=new u.P;for(C.setCoordsPoint2D(y),C.x-=.5*P;Math.abs(C.x-b.x)>f;)t.lineTo(C),C.x-=.5*P;t.lineTo(b);const w=d.getCenterX(),v=new r.Envelope2D;t.queryEnvelope(v);let D=0;const I=v.getCenter().x;I-w>f?D=-Math.ceil((I-w-f)/_):w-I>f&&(D=Math.ceil((w-I-f)/_)),0!==D&&(n.setShiftCoords(D*_,0),t.applyTransformation(n));const G=new a.E,R=G.addGeometry(t);(0,o.a9)(G,R,this.m_gcs,0,2,!0,d.xmin),(0,o.a9)(G,R,this.m_gcs,0,2,!0,d.xmax);const T=G.getGeometry(R),k=(0,h.j)(T,d);k.inflateCoords(0,1);const M=(0,h.c)(null,k,!0).total(),E=(0,l.c)(T,d,M,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(E,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new r.Envelope2D;n.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=n.getCenter().x,m=new r.Envelope2D;e.queryPathEnvelope(0,m);let _,f=0,d=m.getCenter().x;if(d-i>s?f=-Math.ceil((d-i-s)/t):i-d>s&&(f=Math.ceil((i-d-s)/t)),0!==f){const s=new c.T;s.setShiftCoords(f*t,0),e.getImpl().applyTransformationToPath(s,0),e.queryPathEnvelope(0,m),d=m.getCenter().x}const g=new r.Envelope2D;n.containsExclusiveEnvelope(m)?(_=!1,g.setCoords({env2D:n})):(_=!0,g.setCoords({env2D:n}),g.xmin-=t,g.xmax+=t);let p=e.createInstance();p.addPathPoint2D(null,0,!0);const P=new u.P;if(P.setCoords(g.xmin,g.ymin),p.insertPoint2D(0,-1,P),P.setCoords(g.xmin,g.ymax),p.insertPoint2D(0,-1,P),P.setCoords(.5*(g.xmin+g.xmax),g.ymax),p.insertPoint2D(0,-1,P),P.setCoords(g.xmax,g.ymax),p.insertPoint2D(0,-1,P),P.setCoords(g.xmax,g.ymin),p.insertPoint2D(0,-1,P),P.setCoords(.5*(g.xmin+g.xmax),g.ymin),p.insertPoint2D(0,-1,P),_){p.addPath(e,0,!0);const s=new c.T;d<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),p.addPath(e,0,!0);const r=new a.E,m=r.addGeometry(p);(0,o.a9)(r,m,this.m_gcs,0,2,!0,n.xmin),(0,o.a9)(r,m,this.m_gcs,0,2,!0,n.xmax),p=r.getGeometry(m);const u=(0,h.j)(p,n);u.inflateCoords(0,1);const _=(0,h.c)(null,u,!0).total();p=(0,l.c)(p,n,_,Number.NaN,this.m_progressTracker)}else p.addPath(e,0,!0);e.setEmpty(),e.add(p,!1)}setMinCornerStep(){const e={stack:[],error:void 0,hasError:!1};try{let t=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);t=Math.min(t,.125*this.m_a*Math.PI);const s=new u.P;s.setCoords(0,10*this.m_rpu);const n=0;let i=45*this.m_rpu;const r=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),a=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),h=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),c=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),l=new u.P,_=new u.P,f=new u.P,d=new u.P;for(o.S.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,n,r.at(0),r.at(1)),l.setCoords(r.at(0).val,r.at(1).val),o.S.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,i,a.at(0),a.at(1)),_.setCoords(a.at(0).val,a.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const r=.5*(n+i);o.S.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,r,h.at(0),h.at(1)),f.setCoords(h.at(0).val,h.at(1).val);const u=(0,m.mS)(e,new o.R,!1),g=(0,m.mS)(e,new o.R,!1);o.S.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,u,g,null,2),o.S.geodeticCoordinate(this.m_a,this.m_eSquared,l.x,l.y,.5*u.val,g.val,c.at(0),c.at(1),2),d.setCoords(c.at(0).val,c.at(1).val);const p=(0,m.mS)(e,new o.R,!1);if(o.S.geodeticDistance(this.m_a,this.m_eSquared,f.x,f.y,d.x,d.y,p,null,null,2),p.val<=this.m_convergenceOffset)break;i*=.9,o.S.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,i,a.at(0),a.at(1)),_.setCoords(a.at(0).val,a.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,m.hk)(e)}}const g=i-n,p=2*Math.PI/Math.ceil(2*Math.PI/g);this.m_cornerStep=p}catch(t){e.error=t,e.hasError=!0}finally{(0,m.hk)(e)}}setMinSegmentStep(){const e={stack:[],error:void 0,hasError:!1};try{let t=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);t=Math.min(t,.125*this.m_a*Math.PI);const s=new u.P,n=new u.P;s.setCoords(0,10*this.m_rpu),n.setCoords(10*this.m_rpu,10*this.m_rpu);const i=(0,m.mS)(e,new o.R,!1),r=(0,m.mS)(e,new o.R,!1),a=(0,m.mS)(e,new o.R,!1);o.S.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,n.x,n.y,a,i,r,this.m_curveType);const h=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),c=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),l=new u.P,_=(0,m.mS)(e,new o.R,!1),f=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),d=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),g=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),p=(0,m.mS)(e,new u.S(new o.R,new o.R),!1),P=new u.P,x=new u.P,S=new u.P,b=new u.P,y=0;let C=1;const w=i.val,v=r.val,D=w-.5*Math.PI,I=v+.5*Math.PI,G=a.val;for(o.S.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,D,f.at(0),f.at(1)),P.setCoords(f.at(0).val,f.at(1).val),o.S.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,I,d.at(0),d.at(1)),x.setCoords(d.at(0).val,d.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const i=.5*(y+C);o.S.geodeticCoordinate(this.m_a,this.m_eSquared,s.x,s.y,i*G,w,h.at(0),h.at(1),this.m_curveType),l.setCoords(h.at(0).val,h.at(1).val),o.S.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,l.x,l.y,null,null,_,this.m_curveType);const r=_.val+.5*Math.PI;o.S.geodesicCoordinate(this.m_a,this.m_eSquared,l.x,l.y,t,r,g.at(0),g.at(1)),S.setCoords(g.at(0).val,g.at(1).val);const a=(0,m.mS)(e,new o.R,!1),u=(0,m.mS)(e,new o.R,!1);o.S.geodeticDistance(this.m_a,this.m_eSquared,P.x,P.y,x.x,x.y,a,u,null,2),o.S.geodeticCoordinate(this.m_a,this.m_eSquared,P.x,P.y,.5*a.val,u.val,p.at(0),p.at(1),2),b.setCoords(p.at(0).val,p.at(1).val);const f=(0,m.mS)(e,new o.R,!1);if(o.S.geodeticDistance(this.m_a,this.m_eSquared,S.x,S.y,b.x,b.y,f,null,null,2),f.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{C*=.9,o.S.geodeticCoordinate(this.m_a,this.m_eSquared,s.x,s.y,C*G,w,c.at(0),c.at(1),this.m_curveType),n.setCoords(c.at(0).val,c.at(1).val);const i=(0,m.mS)(e,new o.R,!1);o.S.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,n.x,n.y,null,null,i,this.m_curveType);const r=i.val+.5*Math.PI;o.S.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,r,d.at(0),d.at(1)),x.setCoords(d.at(0).val,d.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,m.hk)(e)}}}catch(t){e.error=t,e.hasError=!0}finally{(0,m.hk)(e)}}let R=C*G;R>1e5&&(R=1e5),this.m_segmentStep=R}catch(t){e.error=t,e.hasError=!0}finally{(0,m.hk)(e)}}setConvergenceOffset(){let e;e=this.m_absDistance>5e4?100:this.m_absDistance>1e4?10:1,this.m_absDistance/e<500&&(e=this.m_absDistance/500),e<.01&&(e=.01),this.m_convergenceOffset=e}}function p(e,t,s,n,m,c,l){if(e.isEmpty())return new a.P({vd:e.getDescription()});let _=e;if((0,i.m)(_)){const e=10*t.getTolerance(0);_=(new f.O).execute(_,0,e,0,l,12e3)}const d=new g(l);d.m_sr=t,d.m_gcs=t.getGCS(),d.m_transform=(0,o.a)(t,d.m_gcs,null);const p=(0,o.U)();d.m_gcs.querySpheroidData(p);const P=new r.Envelope2D;_.queryEnvelope(P),d.m_a=p.majorSemiAxis,d.m_eSquared=p.e2,d.m_rpu=d.m_gcs.getUnit().getUnitToBaseFactor(),d.m_gcs90=.5*Math.PI/d.m_rpu,d.m_gcs180=Math.PI/d.m_rpu,d.m_gcs360=2*Math.PI/d.m_rpu,d.m_gcs60=d.m_gcs360/6,d.m_q90=o.a2.q90(d.m_a,d.m_eSquared),d.m_ellipticToGeodesicMaxRatio=.5*d.m_a*Math.PI/d.m_q90;const x=d.m_gcs.getTolerance(0);d.m_radTolerance=x*d.m_rpu,4===s?(d.m_curveType=2,d.m_bShapePreserving=!0):(d.m_curveType=s,d.m_bShapePreserving=!1),d.m_distance=n,d.m_absDistance=Math.abs(n),Number.isNaN(m)||m<=0?d.setConvergenceOffset():d.m_convergenceOffset=Math.max(m,.001),d.m_convergenceOffset/=c;let S,b=_.getGeometryType();if((0,i.f)(b)){const e=new a.a({vd:_.getDescription()});e.addSegment(_,!0),S=e,b=i.G.enumPolyline}else if(b===i.G.enumEnvelope){const e=_,t=new r.Envelope2D;e.queryEnvelope(t);const s=(0,h.h)((0,h.c)(d.m_sr,P,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new h.P({vd:_.getDescription()});e.getCenter(t),S=t,b=i.G.enumPoint}else{const t=new a.a({vd:_.getDescription()});t.addEnvelope(e,!1),S=t,b=i.G.enumPolyline}else{const t=new a.P({vd:_.getDescription()});t.addEnvelope(e,!1),S=t,b=i.G.enumPolygon}}else S=_;if(d.setMinCornerStep(),(0,i.e)(b)||d.setMinSegmentStep(),d.m_absDistance<=.5*d.m_convergenceOffset)return b!==i.G.enumPolygon?new a.P({vd:S.getDescription()}):d.m_bShapePreserving?S:(0,o.a3)(S,d.m_sr,d.m_curveType,d.m_segmentStep,-1,l);if(d.m_distance<0&&b!==i.G.enumPolygon)return new a.P({vd:S.getDescription()});if(d.m_bShapePreserving&&(0,i.h)(b)){const e=(0,o.a3)(S,t,4,Number.NaN,d.m_convergenceOffset,l);S=(new o.O).execute(e,d.m_transform,l)}else S=(new o.O).execute(S,d.m_transform,l);if(S=(0,o.M)(S,d.m_gcs),S.isEmpty())return new a.P({vd:S.getDescription()});!d.m_bShapePreserving&&(0,i.h)(b)&&(S=(0,o.a4)(d.m_rpu,S)),S=function(e,t){const s=e.getGeometryType();let n;if(n=(0,i.h)(s)?e.getPathCount():s===i.G.enumMultiPoint?e.getPointCount():1,1===n)return e;const o=[],m=[];for(let a=0;a<n;a++){o.push(a);const n=new u.P;if((0,i.h)(s)){const t=new r.Envelope2D;e.queryPathEnvelope(a,t),n.assign(t.getCenter())}else n.assign(e.getXY(a));const h=t.toGeohash(n);m.push(h)}o.sort((e,t)=>m[e]<m[t]?-1:m[e]>m[t]?1:0);const a=e.createInstance();for(let t=0;t<n;t++){const n=o[t];(0,i.h)(s)?a.addPath(e,n,!0):a.addPoints(e,n,n+1)}return a}(S,d.m_gcs);let y=new a.P;switch(b){case i.G.enumPolygon:y=d.bufferPolygon(S);break;case i.G.enumPolyline:y=d.bufferPolyline(S);break;case i.G.enumMultiPoint:y=d.bufferMultiPoint(S);break;case i.G.enumPoint:y=d.bufferPoint(S);break;default:(0,i.o)("")}const C=(new o.O).execute(y,d.m_transform.getInverse(),l);return C.mergeVertexDescription(S.getDescription()),C}function P(e,t,s,n,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const d=new u.P;d.setNAN(),c||_.getPointCount()>0&&(d.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),d.scale(s));const g=(0,m.mS)(f,new o.R,!1),p=(0,m.mS)(f,new u.S(new o.R,new o.R),!1),P=new u.P,x=new u.P,S=r.at(-1),y=1/s;for(let s=0;s<r.length;s++){const m=r[s];let u;0===s?u=a:s===r.length-1?u=h:(o.S.geodeticDistance(e,t,S.x,S.y,m.x,m.y,null,null,g,i),u=g.val-.5*Math.PI),o.S.geodesicCoordinate(e,t,m.x,m.y,n,u,p.at(0),p.at(1)),c?x.setCoords(p.at(0).val,p.at(1).val):(P.setCoords(p.at(0).val,p.at(1).val),l=b(m.x,P.x,d.x,l),x.setCoords(l+P.x,P.y),d.setCoordsPoint2D(x)),x.scale(y),_.insertPoint2D(0,-1,x)}return l}catch(e){f.error=e,f.hasError=!0}finally{(0,m.hk)(f)}}function x(e,t,s,n,i,r,a,h,c,l,_,f=Number.NaN,d=Number.NaN){const g={stack:[],error:void 0,hasError:!1};try{if(a-r<h)return l;const p=(0,m.mS)(g,new u.S(new o.R,new o.R),!1),P=new u.P,x=new u.P,S=new u.P;x.setNAN(),c||_.getPointCount()>0&&(x.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),x.scale(s));let y=Math.ceil(r/h),C=y++*h;C===r&&(C=y++*h);let w=r;const v=1/s;for(;C<a+h&&(w<f&&f<C?(C=f,y--):w<d&&d<C&&(C=d,y--),!(C>=a));)o.S.geodesicCoordinate(e,t,i.x,i.y,n,C,p.at(0),p.at(1)),c?S.setCoords(p.at(0).val,p.at(1).val):(P.setCoords(p.at(0).val,p.at(1).val),l=b(i.x,P.x,x.x,l),S.setCoords(l+P.x,P.y),x.setCoordsPoint2D(S)),S.scale(v),_.insertPoint2D(0,-1,S),w=C,C=y++*h;return l}catch(e){g.error=e,g.hasError=!0}finally{(0,m.hk)(g)}}function S(e,t,s,n,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const s=new u.P,d=new u.P,g=(0,m.mS)(f,new u.S(new o.R,new o.R),!1);o.S.geodesicCoordinate(e,t,i.x,i.y,n,r,g.at(0),g.at(1)),s.setCoords(g.at(0).val,g.at(1).val),o.S.geodesicCoordinate(e,t,i.x,i.y,n,a,g.at(0),g.at(1)),d.setCoords(g.at(0).val,g.at(1).val);const p=(0,m.mS)(f,new o.R,!1);for(o.S.geodeticDistance(e,t,h.x,h.y,s.x,s.y,null,p,null,0),l[0]=p.val,o.S.geodeticDistance(e,t,h.x,h.y,d.x,d.y,null,p,null,0),_[0]=p.val;l[0]<=_[0];)l[0]+=u.p;for(;l[0]>_[0];)l[0]-=u.p;for(;l[0]>=c;)l[0]-=u.p,_[0]-=u.p;for(;l[0]<c;)l[0]+=u.p,_[0]+=u.p}catch(e){f.error=e,f.hasError=!0}finally{(0,m.hk)(f)}}function b(e,t,s,n){if(Number.isNaN(s)){for(;n+t-e>Math.PI;)n-=u.p;for(;e-(n+t)>Math.PI;)n+=u.p;return n}return n+t-s>Math.PI?n-=u.p:s-(n+t)>Math.PI&&(n+=u.p),n}function y(e,t,s,n,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const h=s[0],c=s.at(-1),u=(0,m.mS)(a,new o.R,!1),l=(0,m.mS)(a,new o.R,!1),_=(0,m.mS)(a,new o.R,!1);o.S.greatEllipticDistance(e,t,i.x,i.y,h.x,h.y,u,null,null),o.S.greatEllipticDistance(e,t,i.x,i.y,c.x,c.y,l,null,null),o.S.greatEllipticDistance(e,t,h.x,h.y,c.x,c.y,_,null,null);let f=Math.min(u.val,l.val)+_.val,d=f+n;if(d<r)return!0;const g=(0,m.mS)(a,new o.R,!1);f=Math.max(u.val,l.val);for(let n=1;n<s.length-1;n++){const r=s[n];o.S.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,g,null,null),g.val>f&&(f=g.val)}return d=f+n,d<r}catch(e){a.error=e,a.hasError=!0}finally{(0,m.hk)(a)}}function C(e,t,s,n,i,r,m,a){let h;if(n.length%2==0){const e=n.length>>1,t=n[e],s=n[e-1];h=u.P.lerp(t,s,.5)}else h=n[n.length-1>>1].clone();const c=h.clone(),l=(0,o.ab)(e,t,c,75/180*Math.PI);return!!y(e,t,n,i,c,l)&&(null!==r&&(r.setCoordsPoint2D(h),r.scale(1/s)),null!==m&&m.setCoordsPoint2D(c),null!==a&&(a[0]=l),!0)}function w(e,t,s,n,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const h=(0,m.mS)(a,new o.R,!1);return o.S.greatEllipticDistance(e,t,i.x,i.y,s.x,s.y,h,null,null),h.val+n<r}catch(e){a.error=e,a.hasError=!0}finally{(0,m.hk)(a)}}function v(e,t){return new o.ag(e,t)}function D(e){return(0,h.k)(e,0)||(0,h.s)(e,0),e}class I{constructor(e){this.m_bRunningInGnomonic=!1,this.m_bNeedsSimplify=!1,this.m_gnomonic=null,this.m_gnomonicCenterRad=new u.P,this.m_minGnomonicRadius=Number.NaN,this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class G extends I{constructor(e,t,s){super(e.m_progressTracker),this.m_segIter=null,this.m_bNextSegmentCannotJoin=!1,this.m_currentDensifiedDelta=[0],this.m_currentBufferedDelta=0,this.m_lastAzimuth=0,this.m_startAzimuth=[0],this.m_endAzimuth=[0],this.m_numWinds=0,this.m_debugCounter=0,this.m_bufferHelper=new a.P,this.m_densifiedPoints=[],this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new r.Envelope2D;this.m_multiPath.queryEnvelope(n);const i=n.getCenter(),m=i.clone();m.scale(this.m_bufferer.m_rpu),this.m_gnomonic=v(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=m.clone(),this.m_minGnomonicRadius=(0,o.ab)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,m,75/180*Math.PI)}next(){let e;if(this.m_bNextSegmentCannotJoin)return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e;if(null===this.m_segIter){if(this.m_segIter=this.m_multiPath.getImpl().querySegmentIterator(),!this.m_segIter.nextPath())return null;null!==this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}if(!this.m_segIter.hasNextSegment()){if(!this.m_segIter.nextPath())return null;null!=this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}let t=null;this.m_currentBufferedDelta=0,this.m_currentDensifiedDelta=[0],this.m_numWinds=0,this.m_lastAzimuth=Number.NaN,this.m_bNextSegmentCannotJoin=!1,this.m_densifiedPoints.length=0;let s=0;const n=new u.P,i=new u.P;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<16;){const e=this.m_segIter.nextSegment();if(n.setCoordsPoint2D(e.getStartXY()),i.setCoordsPoint2D(e.getEndXY()),n.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),(0,o.ac)(n,i))n.x=i.x;else if((0,o.ad)(n,i))i.x=n.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(s),m=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(s)?m-1:-1),t>m-1&&(t=this.m_multiPath.isClosedPath(s)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,o.ad)(t,n)&&(n.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,o.ac)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0;const r=(0,o.ae)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,n,i,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta);if(0===s)this.m_bRunningInGnomonic=this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(this.m_densifiedPoints));else if(this.m_bRunningInGnomonic){if(!this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}else if(C(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_densifiedPoints,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,null,null,null)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}if(0===r||(0,o.af)(n,i)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(n,this.m_bRunningInGnomonic,this.m_bufferHelper),this.m_bNextSegmentCannotJoin=!0):(this.m_bufferHelper.setEmpty(),this.m_bNextSegmentCannotJoin=this.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(r,this.m_bufferHelper)),this.m_bNextSegmentCannotJoin){this.m_segIter.previousSegment(),this.m_segIter.hasPreviousSegment()?(this.m_segIter.previousSegment(),this.m_segIter.nextSegment()):this.m_segIter.resetToFirstSegment(),null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0);break}null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0),null===t&&(t=new a.P,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),s++}if(this.m_currentDensifiedDelta=[0],s>0){const e=this.m_segIter.getStartPointIndex(),r=this.m_segIter.getPathIndex();for(;s>0;){if(this.m_segIter.previousSegment(),n.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),n.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if((0,o.ac)(n,i))n.x=i.x;else if((0,o.ad)(n,i))i.x=n.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(s),m=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(s)?m-1:-1),t>m-1&&(t=this.m_multiPath.isClosedPath(s)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,o.ad)(t,n)&&(n.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,o.ac)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0,(0,o.ae)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,n,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta),this.addJoinAndBufferLeftSide(t),s--}return n.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),n.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=x(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,n,this.m_lastAzimuth+.5*Math.PI,this.m_lastAzimuth+1.5*Math.PI,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,t),this.m_segIter.resetToVertex(e,r),this.m_segIter.nextSegment(),t}return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e}isSegmentBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&y(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new u.P,s=new u.P,n=[0];return C(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=v(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t){return this.m_bufferer.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(this.m_densifiedPoints,e,this.m_startAzimuth[0],this.m_endAzimuth[0],this.m_bRunningInGnomonic,t)}addJoinAndBufferLeftSide(e){const t=this.m_densifiedPoints[0];let s=Number.NaN,n=this.m_startAzimuth[0]-u.o;const i=this.m_endAzimuth[0]+u.o;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+u.o,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+u.o,n=s+Math.PI-(u.p-(this.m_startAzimuth[0]-this.m_lastAzimuth))),r=!(this.m_lastAzimuth>=this.m_startAzimuth[0]&&this.m_lastAzimuth-this.m_startAzimuth[0]<=Math.PI||this.m_lastAzimuth<this.m_startAzimuth[0]&&this.m_startAzimuth[0]-this.m_lastAzimuth>=Math.PI);let i=!1;if(Math.abs(n-s)<=.5*this.m_bufferer.m_cornerStep&&(r||(i=!0)),i){if(e.removePointFromPath(0,e.getPointCount()-1),!this.m_bRunningInGnomonic){const t=new u.P;t.setCoordsPoint2D(e.getXY(e.getPointCount()-1)),t.scale(this.m_bufferer.m_rpu),t.x-this.m_currentBufferedDelta<-Math.PI?this.m_currentBufferedDelta-=u.p:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=u.p)}n=.5*(n+s)}else if(r){const s=new u.P;s.setCoordsPoint2D(t),s.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,s)}else x(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],s,n,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e)}this.m_startAzimuth[0]!==this.m_lastAzimuth&&this.m_numWinds++,P(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_bufferer.m_curveType,this.m_densifiedPoints,n,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class R extends I{constructor(e,t){super(e.m_progressTracker),this.m_pointIndex=-1,this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new r.Envelope2D;this.m_multiPoint.queryEnvelope(s);const n=s.getCenter(),i=n.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=v(this.m_bufferer.m_gcs,n),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=(0,o.ab)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,i,75/180*Math.PI)}next(){if(this.m_bNeedsSimplify=!1,++this.m_pointIndex===this.m_multiPoint.getPointCount())return null;const e=this.m_multiPoint.getXY(this.m_pointIndex);e.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic=this.isPointBufferInCurrentGnomonic(e),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(e));const t=new a.P,s=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=s,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&w(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new u.P,s=new u.P,n=[0];return function(e,t,s,n,i,r,m,a){const h=(0,o.ab)(e,t,n,75/180*Math.PI);return!!w(e,t,n,i,n,h)&&(null!==r&&(r.setCoordsPoint2D(n),r.scale(1/s)),null!==m&&m.setCoordsPoint2D(n),null!==a&&(a[0]=h),!0)}(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=v(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class T{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n,i,r,m,a){if(m){const m=new k(e,t,s,n,i,!1,r,a);return(new o.p).executeMany(m,t,a)}return new k(e,t,s,n,i,!1,r,a)}execute(e,t,s,n,r,o,m){const a=new d.S([e]),h=[n],c=this.executeMany(a,t,s,h,r,!1,o,m).next();return c||(0,i.d)("geodesic buffer null output"),c}}class k extends n.G{constructor(e,t,s,n,o,m,a,h){super(),this.m_currentUnionEnvelope2D=new r.Envelope2D,this.m_index=-1,this.m_dindex=-1,this.m_progressTracker=h,m&&(0,i.t)(""),t||(0,i.a)(""),0===t.getCoordinateSystemType()&&(0,i.a)(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=s,this.m_distances=n,this.m_convergenceOffset=o,this.m_bOutlineOnly=m,this.m_bUnion=a}next(){let e;for(;e=this.m_inputGeoms.next();)return(0,i.c)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.geodesicBuffer(e,this.m_distances[this.m_dindex]);return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodesicBuffer(e,t){return function(e,t,s,n,r,o){n<Number.MAX_VALUE&&n>-Number.MAX_VALUE||(0,i.a)("Geodesic_bufferer.buffer - bad distance"),(0,i.c)(e);const m=(0,_.c)(e),a=m.getGeometryType();if((0,i.i)(a)){const e=m.getPointCount(),h=8e6;if(Math.abs(n)>h&&(e>50||a!==i.G.enumMultiPoint&&4===s&&e>2)){let e=m;const i=n>0?1:-1,a=7e6;let c=n,u=1;do{u++,c=(Math.abs(c)-a)*i}while(Math.abs(c)>h);c=n;for(let n=0;n<u-1;n++)e=p(e,t,s,a*i,r,u,o),c=(Math.abs(c)-a)*i;return e=p(e,t,s,c,r,u,o),e}}return p(m,t,s,n,r,1,o)}(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6558],{6558(e,t,n){n.r(t),n.d(t,{OperatorGeodeticArea:()=>q});var s=n(55537),i=n(88885),a=n(5247),_=n(15756),r=n(83661),h=n(79187),o=n(95213),m=n(31139),l=n(47591),u=n(5482),p=n(11878),c=n(16859);class g{constructor(e,t,n,s,i=100){this.m_startPt=e.clone(),this.m_endPt=t.clone(),this.m_cE2=s,this.m_cE=Math.sqrt(this.m_cE2),this.m_c1By2e=1/(2*this.m_cE),this.m_cRpu=n.getGCS().getUnit().getUnitToBaseFactor(),this.isPcs=2===n.getCoordinateSystemType(),this.PEProjcs=n.getPECoordSys(),this.m_points=(0,r.d)(2*i,Number.NaN)}setSegmentEndPoints(e,t){this.m_startPt.assign(e),this.m_endPt.assign(t)}makeFunctor(){return e=>{const t=[0,0];t[0]=this.m_startPt.x*(1-e)+this.m_endPt.x*e,t[1]=this.m_startPt.y*(1-e)+this.m_endPt.y*e,this.isPcs&&_.V.projToGeogCenter(this.PEProjcs,1,t,0);const n=Math.sin(t[1]*this.m_cRpu);return 0===this.m_cE2?n:-Math.log((1-this.m_cE*n)/(1+this.m_cE*n))*this.m_c1By2e+n/(1-this.m_cE2*n*n)}}}function f(e,t,n,s,i){const r=(new a.O).execute(e,t,0,0,i);let o;o=s?(new _.O).execute(r,s,i):r;const m=1===n.getUnit().getUnitToBaseFactor()?Math.PI/180:1,l=new h.Envelope2D;o.queryEnvelope(l);const u=new h.Envelope2D,p=new h.Envelope2D,c=new h.Envelope2D;u.setCoords({xmin:l.xmin,ymin:75*m,xmax:l.xmax,ymax:90*m}),p.setCoords({xmin:l.xmin,ymin:-60*m,xmax:l.xmax,ymax:75*m}),c.setCoords({xmin:l.xmin,ymin:-90*m,xmax:l.xmax,ymax:-60*m}),u.inflateCoords(.01*u.width(),0),p.inflateCoords(.01*p.width(),0),c.inflateCoords(.01*c.width(),0);let g=0;return g+=d(o,u,n,i),g+=d(o,p,n,i),g+=d(o,c,n,i),g}function d(e,t,n,i){const a=(new m.O).execute(e,t,n,i);if(null!==a&&!a.isEmpty()){const e=new h.Envelope2D;a.queryEnvelope(e);const{first:t,second:o}=function(e,t){const n=function(e,t){const n=e.getUnit().getUnitToBaseFactor(),i=t.getCenter();i.scale(180*n/Math.PI);const a=new r.P;a.x=0,a.y=0;let h=0;if(0===h){i.y>45?(a.y=r.o,h=0):i.y<-45?(a.y=-r.o,h=1):i.x>=45&&i.x<135?(a.x=r.o,h=2):i.x>=135||i.x<-135?(a.x=r.o,h=3):i.x<-45&&i.x>=-135?(a.x=-r.o,h=4):(a.x=0,h=5);const e=n*Math.sqrt((0,r.a)(t.xmin-t.xmax)+(0,r.a)(t.ymin-t.ymax)),s=a.clone(),_=t.getCenter();if(_.scale(n),h<2&&(s.x=_.x),r.P.distance(s,_)+.5*e>r.o)return null}const o=E[h];if(null!==o&&o.getGCS().equalHorizontal(e))return o;const m=e.getText(),l=a.x,u=a.y;let p=0,c=-1;6!==h?c=_.ao.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:((0,s.g)(false),p=0,c=_.ao.PE_PRJ_CYLINDRICAL_EQAREA);const g=(0,_.aD)("EqualAreaPCS");let f;c===_.ao.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?f=`PROJCS["${g}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${l}],PARAMETER["Latitude_of_Origin",${u}],UNIT["Meter",1.0]]`:c===_.ao.PE_PRJ_CYLINDRICAL_EQAREA?f=`PROJCS["${g}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${l}],PARAMETER["Standard_Parallel_1",${p}],PARAMETER["Latitude_of_Origin",${u}],UNIT["Meter",1.0]]`:(0,s.d)("getEqualAreaPcsFixed");const d=(0,_.aE)(f);return E[h]&&E[h].destroy(),E[h]=d,d}(e,t);if(null!==n)return(0,r.l)(n,!1);const i=e.getText(),a=e.getUnit().getUnitToBaseFactor(),h=(t.xmin+t.width()/2)*a,o=(t.ymin+t.height()/2)*a;let m=0,l=0,u=-1;t.ymin*a>=75*Math.PI/180||t.ymax*a<=-60*Math.PI/180?u=_.ao.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(m=(t.ymin+1/3*t.height())*a,l=(t.ymin+2/3*t.height())*a,u=_.ao.PE_PRJ_ALBERS):(m=(t.ymin+2/3*t.height())*a,u=_.ao.PE_PRJ_CYLINDRICAL_EQAREA);const p=(0,_.aD)("EqualAreaPCS");let c;return u===_.ao.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?c=`PROJCS["${p}",${i},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${h}],PARAMETER["Latitude_of_Origin",${o}],UNIT["Meter",1.0]]`:u===_.ao.PE_PRJ_ALBERS?c=`PROJCS["${p}",${i},PROJECTION["Albers"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${h}],PARAMETER["Standard_Parallel_1",${m}],PARAMETER["Standard_Parallel_2",${l}],PARAMETER["Latitude_of_Origin",${o}],UNIT["Meter",1.0]]`:u===_.ao.PE_PRJ_CYLINDRICAL_EQAREA?c=`PROJCS["${p}",${i},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${h}],PARAMETER["Standard_Parallel_1",${m}],PARAMETER["Latitude_of_Origin",${o}],UNIT["Meter",1.0]]`:(0,s.d)("getEqualAreaPCSInstance"),(0,r.l)((0,_.aE)(c),!0)}(n,e),m=(0,_.a)(n,t,null),l=(new _.O).execute(a,m,i).calculateArea2D();return o&&t.destroy(),l}return 0}const E=[null,null,null,null,null,null,null];class P{getOperatorType(){return 10314}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n){if(0===t.getCoordinateSystemType()&&(0,s.a)(""),e.isEmpty()||e.getDimension()<2)return 0;if((0,s.c)(e),e.getGeometryType()===s.G.enumEnvelope){const s=new i.P;return s.addEnvelope(e,!1),this.execute(s,t,n)}let u=e;e.getDescription().getAttributeCount()>1&&(u=e.clone(),u.dropAllAttributes());const p=(new a.O).execute(u,0,t.getTolerance(0),0,n);let c=null;const d=t.getGCS();d!==t&&(c=(0,_.a)(t,d));let E=(new _.f).execute(p,t,!1,n);return E.isEmpty()?0:(E===e&&(E=e.clone()),t.isPannable()?function(e,t,n){const s=new h.Envelope2D;e.queryEnvelope(s);const a=(0,o.c)(t,s,!0).total(),l=t.getPannableExtent();l.xmin=s.xmin-10*a,l.xmax=s.xmax+10*a;const u=(new m.O).execute(e,l,t,n).getImpl().querySegmentIterator();u.stripAttributes();const p=(0,_.U)();t.querySpheroidData(p);const c=p.e2,f=0===c?2:1,d=new r.P(0,0),E=new r.P(0,0),P=new r.K(0),S=new g(d,E,t,c,100);for(;u.nextPath();)for(;u.hasNextSegment();){const e=u.nextSegment();d.assign(e.getStartXY()),E.assign(e.getEndXY()),S.setSegmentEndPoints(d,E);const t=(0,i.x)(6,0,1,1e-12,1e-15,S.makeFunctor());P.pe((E.x-d.x)*t)}const y=p.majorSemiAxis;return f*y*y*(1-c)*Math.PI*P.getResult()/t.getPannableExtent().width()}(E,t,n):function(e,t,n,s,i){const a=function(e,t,n){const s=e.calculateLength2D(),i=(new l.O).execute(e,t,n)/25e3,a=s/e.getSegmentCount()*2;let _=Math.min(a,s/i);return 0===_&&(_=1),(0,r.l)(_,s/_)}(e,t,i);let _=f(e,a.first,n,s,i),h=1,o=0,m=0;do{if(h++,a.first*=.5,a.first<50*t.getTolerance(0))return _;a.second*=2,m=f(e,a.first,n,s,i),o=Math.abs(m-_),_=m}while(Math.abs(_)>1&&o>1e-8*Math.abs(_)&&(a.second<65e3&&h<8||h<4));return m}(E,t,d,c,n))}}function S(){return{m_p_PCS:new r.P,m_factor:Number.NaN,setValues:y,assign:x}}function y(e,t){this.m_factor=e,this.m_p_PCS.assign(t)}function x(e){this.m_factor=e.m_factor,this.m_p_PCS.assign(e.m_p_PCS)}class A{constructor(e,t,n,s){this.m_ptStart=new o.f,this.m_ptEnd=new o.f,this.m_ptStart.assign(t),this.m_ptEnd.assign(n),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y,this.m_e=Math.sqrt(e),this.m_e2=e,this.m_c1MinusE2=1-e;const i=Math.sin(s);let a;a=0===this.m_e2?2*i:i*((0,r.y)(this.m_e*i)+1/(1-this.m_e2*i*i)),this.m_baseA=a}setSegmentEndPoints(e,t){this.m_ptStart.assign(e),this.m_ptEnd.assign(t),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y}makeFunctor(){return e=>{const t=1-e,n=t*this.m_ptStart.x+e*this.m_ptEnd.x,s=t*this.m_ptStart.y+e*this.m_ptEnd.y,i=t*this.m_ptStart.z+e*this.m_ptEnd.z,a=n*n+s*s,_=i/Math.sqrt(i*i+this.m_c1MinusE2*this.m_c1MinusE2*a);let h;return h=0===this.m_e2?2*_:_*((0,r.y)(this.m_e*_)+1/(1-this.m_e2*_*_)),(this.m_deltaY*n-this.m_deltaX*s)/a*(h-this.m_baseA)}}}function R(){return{sin_phi:Number.NaN,one_p_sin_phi:Number.NaN,one_m_sin_phi:Number.NaN,one_m_e_2_sin_2_phi:Number.NaN,sin_half_phi_pf:Number.NaN,sin_half_phi_pz:Number.NaN,sin_half_asin_e_sin_phi_pf:Number.NaN,sin_half_asin_e_sin_phi_pz:Number.NaN,atanh_sin_phi:Number.NaN,atanh_esin_phi:Number.NaN,make_negative:!1,initialize:C,changeSign:M,assign:T,clone:w}}function C(e,t,n,s){const i=.5*e;this.sin_phi=Math.sin(e);const a=t*this.sin_phi,_=.5*Math.asin(a);this.one_p_sin_phi=1+this.sin_phi,this.one_m_sin_phi=1-this.sin_phi,this.one_m_e_2_sin_2_phi=(1+a)*(1-a),this.sin_half_phi_pf=Math.sin(i+n),this.sin_half_phi_pz=Math.sin(i+s),this.sin_half_asin_e_sin_phi_pf=Math.sin(_+n),this.sin_half_asin_e_sin_phi_pz=Math.sin(_+s),this.atanh_sin_phi=Math.log(this.sin_half_phi_pf/this.sin_half_phi_pz),this.atanh_esin_phi=Math.log(this.sin_half_asin_e_sin_phi_pf/this.sin_half_asin_e_sin_phi_pz)}function M(){this.sin_phi=-this.sin_phi;let e=this.one_p_sin_phi;this.one_p_sin_phi=this.one_m_sin_phi,this.one_m_sin_phi=e,e=this.sin_half_phi_pf,this.sin_half_phi_pf=this.sin_half_phi_pz,this.sin_half_phi_pz=e,e=this.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pf=this.sin_half_asin_e_sin_phi_pz,this.sin_half_asin_e_sin_phi_pz=e,this.atanh_sin_phi=-this.atanh_sin_phi,this.atanh_esin_phi=-this.atanh_esin_phi}function T(e){this.sin_phi=e.sin_phi,this.one_p_sin_phi=e.one_p_sin_phi,this.one_m_sin_phi=e.one_m_sin_phi,this.one_m_e_2_sin_2_phi=e.one_m_e_2_sin_2_phi,this.sin_half_phi_pf=e.sin_half_phi_pf,this.sin_half_phi_pz=e.sin_half_phi_pz,this.sin_half_asin_e_sin_phi_pf=e.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pz=e.sin_half_asin_e_sin_phi_pz,this.atanh_sin_phi=e.atanh_sin_phi,this.atanh_esin_phi=e.atanh_esin_phi,this.make_negative=e.make_negative}function w(){return{...this}}class N{constructor(e,t,n){this.m_transformPCS2GCS=null,this.m_scaleToRadians=new p.T,this.m_scaleToDegrees=new p.T,this.m_progressTracker=n,(0,s.g)(4!==t),this.m_curveType=t,this.m_inputSR=e,e&&0!==e.getCoordinateSystemType()||(0,s.a)(""),this.m_inputGCS=e.getGCS(),this.m_a=0,this.m_eSquared=0,this.m_b=0,this.m_rpu=0}executePolygonGeodeticArea(e){let t,n=e.clone();if(n.dropAllAttributes(),e.hasNonLinearSegments()&&(n=(new a.O).execute(n,0,this.m_inputSR.getTolerance(0),0,this.m_progressTracker)),this.m_inputSR.isPannable()){const e=new h.Envelope2D;n.queryEnvelope(e);const t=this.m_inputSR.getPannableExtent();if(!t.containsEnvelope(e)){const s=t.getCenterX()-e.getCenterX(),i=new p.T;i.setShiftCoords(s,0),n.applyTransformation(i),e.move(s,0);const a=new r.E;t.queryIntervalX(a);const h=new r.E;e.queryIntervalX(h),n=a.contains(h)?(0,_.M)(n,this.m_inputSR):(new _.O).foldInto360RangeGeodetic(n,this.m_inputSR,this.m_curveType)}}if(this.m_transformPCS2GCS?(n=(new _.f).execute(n,this.m_inputSR,!1,this.m_progressTracker),t=n.createInstance(),(0,_.Q)(this.m_transformPCS2GCS,n,t,this.m_progressTracker)||(t=(new _.O).execute(n,this.m_transformPCS2GCS,this.m_progressTracker))):t=(new _.f).execute(n,this.m_inputGCS,!1,this.m_progressTracker),t.isEmpty())return 0;if(1===this.m_curveType){const e=(0,_.U)();return this.m_inputGCS.querySpheroidData(e),this.m_a=e.majorSemiAxis,this.m_eSquared=e.e2,this.loxodromeArea(t)}const s=t.getImpl();this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_scaleToRadians.setScale(this.m_rpu),s.applyTransformation(this.m_scaleToRadians),this.m_scaleToDegrees=this.m_scaleToRadians,this.m_scaleToDegrees.invertThis();const i=(0,_.U)();if(this.m_inputGCS.querySpheroidData(i),this.m_a=i.majorSemiAxis,this.m_b=i.minorSemiAxis,this.m_eSquared=i.e2,2===this.m_curveType)return this.executeClippedPolygonGreatEllipticArea(t);{const e={stack:[],error:void 0,hasError:!1};try{const n=_.aF.unit(9101),s=this.m_inputGCS.getPECoordSys(),i=(0,u.mS)(e,s.cloneAlterUnits(n),!1);let a,r,h=this.executeClippedPolygonGeodeticArea(t,i,0),o=0;do{o++,a=this.executeClippedPolygonGeodeticArea(t,i,o),r=Math.abs(a-h),h=a}while(Math.abs(a)>1&&r>1e-8*Math.abs(a)&&o<7);return a}catch(t){e.error=t,e.hasError=!0}finally{(0,u.hk)(e)}}}executeClippedPolygonGeodeticArea(e,t,n){const s={stack:[],error:void 0,hasError:!1};try{const i=new h.Envelope2D;e.queryEnvelope(i);const a=(0,u.mS)(s,this.getEqualAreaPCSInstance(t,i),!1),o=e.clone();(0,_.aG)(a,o);const m=50,l=o.getImpl().getAttributeStreamRef(0),p=e.getImpl().getAttributeStreamRef(0),c=(0,u.mS)(s,new _.R,!1),g=(0,u.mS)(s,new _.R,!1),f=40,d=[0,0],E=(0,r.k)(S,f),P=(0,r.d)(f,-1),y=S(),x=S();let A,R;const C=a;let M=o.calculateArea2D();const T=new r.K(0),w=.5*Math.PI,N=1e-10*Math.abs(M)+1e-6,q=e.getPathCount();let b,v,I,L;const z=new r.P,D=new r.P,G=new r.P,O=new r.P,k=new r.P,$=new r.P;let F,U;for(v=e.getPathStart(0),b=0;b<q;b++,v=I)for(I=e.getPathEnd(b),l.queryPoint2D(I-1<<1,G),p.queryPoint2D(I-1<<1,z),Math.abs(z.y)>w&&(z.y=(0,r.f)(w,z.y)),L=v;L<I;L++,G.assign(O),z.assign(D)){if(l.queryPoint2D(L<<1,O),p.queryPoint2D(L<<1,D),Math.abs(D.y)>w&&(D.y=(0,r.f)(w,D.y)),F=r.P.distance(G,O),F<m||0===z.y&&0===D.y)continue;_.S.geodeticDistance(this.m_a,this.m_eSquared,z.x,z.y,D.x,D.y,c,g,null,this.m_curveType);const e=c.val,t=g.val;for(y.setValues(0,G),x.setValues(1,O),R=n,E[0].assign(x),P[0]=n,A=0;A>=0;){U=.5*(y.m_factor+x.m_factor),_.S.geodeticCoordinate(this.m_a,this.m_eSquared,z.x,z.y,e*U,t,c,g,this.m_curveType),k.x=c.val,k.y=g.val,d[0]=k.x,d[1]=k.y,_.V.geogToProj(C,1,d),$.x=d[0],$.y=d[1];const n=.5*-$.offset(y.m_p_PCS,x.m_p_PCS)*r.P.distance(y.m_p_PCS,x.m_p_PCS);if(T.pe(n),Math.abs(n)>N||Math.abs(n)>0&&R>0)x.setValues(U,$),A++,E[A].assign(x),Math.abs(n)<=N?(R--,P[A-1]=R,P[A]=R):(R=P[A-1],P[A]=R);else{if(A<=0)break;y.assign(x),A--,x.assign(E[A]),R=P[A]}}}return M+=T.getResult(),Math.abs(M)}catch(e){s.error=e,s.hasError=!0}finally{(0,u.hk)(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],n=[],s=new r.P,i=new r.P,a=(0,_.W)(1,this.m_eSquared,new r.P(0,.5*Math.PI)),m=new r.K(0),l=new r.K(0),u=new r.K(0),p=new o.f,c=new o.f,g=new h.Envelope2D;e.queryLooseEnvelope(g);let f=0;g.containsCoords(g.xmin,0)||(f=Math.abs(g.ymin)<Math.abs(g.ymax)?g.ymin:g.ymax);const d=new A(this.m_eSquared,p,c,f),E=this.m_a*this.m_a,P=e.getImpl().querySegmentIterator();for(P.stripAttributes();P.nextPath();)for(;P.hasNextSegment();){const e=P.nextSegment();s.assign(e.getStartXY()),i.assign(e.getEndXY()),i.x-s.x>Math.PI?s.x+=2*Math.PI:i.x-s.x<-Math.PI&&(i.x+=2*Math.PI),this.splitSegmentCrossingItegralThreshold(e,t,n);for(let e of t)p.assign((0,_.W)(this.m_a,this.m_eSquared,e.getStartXY())),c.assign((0,_.W)(this.m_a,this.m_eSquared,e.getEndXY())),d.setSegmentEndPoints(p,c),this.adaptiveIntegrationWithRomberg(d,m);for(let e of n){let t=e.getStartXY(),n=e.getEndXY(),s=f;t.y<0&&(n=(0,r.c)(t,t=n),t.y=-t.y,n.y=-n.y,s=-s);const i=(0,_.W)(1,this.m_eSquared,t),h=(0,_.W)(1,this.m_eSquared,n),m=Math.min(t.y,n.y),p=(0,_.aH)(this.m_eSquared,t.x,n.x,s,m);l.pe(p);const c=Math.abs((0,_.aH)(this.m_eSquared,t.x,n.x,m,r.o)),g=new o.f;g.setSub(i,a);const d=new o.f;d.setSub(h,a);const P=new o.f;P.setCrossProductVector(g,d);let S=E*(c-.5*P.length());S=(0,r.f)(S,n.x-t.x),u.pe(S)}t.length=0,n.length=0}return u.getResult()+E*(.5*(1-this.m_eSquared)*m.getResult()+l.getResult())}getEqualAreaPCSInstance(e,t){const n=t.getCenterX();let s,i;const a=t.height();let h,o;(h=t.ymin>45*Math.PI/180||t.ymax<45*-Math.PI/180)?s=(0,r.f)(.5*Math.PI,t.getCenterY()):(s=t.getCenterY(),i=t.ymin+a*(2/3));const m=(0,_.aD)("EqualAreaPCS"),l=e.toString();return o=h?_.aF.fromString(_.ao.PE_TYPE_PROJCS,`PROJCS["${m}", ${l}, PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing", 0],PARAMETER["Central_Meridian", ${n}], PARAMETER["Latitude_of_Origin", ${s}], UNIT["Meter",1.0]]`,!0):_.aF.fromString(_.ao.PE_TYPE_PROJCS,`PROJCS["${m}", ${l}, PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting", 0],PARAMETER["False_Northing", 0],PARAMETER["Central_Meridian", ${n}],PARAMETER["Standard_Parallel_1", ${i}],PARAMETER["Latitude_of_Origin", ${s}],UNIT["Meter",1.0]]`,!0),o}splitSegmentCrossingItegralThreshold(e,t,n){const s=100,a=400,h=(0,_.W)(this.m_a,this.m_eSquared,new r.P(0,r.o)),m=(0,_.W)(this.m_a,this.m_eSquared,new r.P(0,-r.o)),l=this.splitSegmentPassingThroughPole(e);for(let e of l){const l=e.getStartXY(),u=e.getEndXY(),p=(0,_.W)(this.m_a,this.m_eSquared,l),c=(0,_.W)(this.m_a,this.m_eSquared,u),g=new r.P,f=new o.f;let d=o.f.sqrDistance(h,p),E=o.f.sqrDistance(p,c);if(d<=s){if(!(E>a)){n.push(new i.L({start:l,end:u}));continue}f.assign(c.sub(p)),f.normalizeThis(),f.assign(p.add(f.mul(20))),g.assign((0,_.a1)(this.m_a,this.m_eSquared,f)),n.push(new i.L({start:l,end:g})),l.assign(g)}if(p.assign((0,_.W)(this.m_a,this.m_eSquared,l)),d=o.f.sqrDistance(h,c),E=o.f.sqrDistance(p,c),d<=s){if(!(E>a)){n.push(new i.L({start:l,end:u}));continue}f.assign(c.sub(p)),f.normalizeThis(),f.assign(c.sub(f.mul(20))),g.assign((0,_.a1)(this.m_a,this.m_eSquared,f)),n.push(new i.L({start:g,end:u})),u.assign(g)}if(p.assign((0,_.W)(this.m_a,this.m_eSquared,l)),c.assign((0,_.W)(this.m_a,this.m_eSquared,u)),d=o.f.sqrDistance(m,p),E=o.f.sqrDistance(p,c),d<=s){if(!(E>a)){n.push(new i.L({start:l,end:u}));continue}f.assign(c.sub(p)),f.normalizeThis(),f.assign(p.add(f.mul(20))),g.assign((0,_.a1)(this.m_a,this.m_eSquared,f)),n.push(new i.L({start:l,end:g})),l.assign(g)}if(p.assign((0,_.W)(this.m_a,this.m_eSquared,l)),c.assign((0,_.W)(this.m_a,this.m_eSquared,u)),d=o.f.sqrDistance(m,c),E=o.f.sqrDistance(p,c),d<=s){if(!(E>a)){n.push(new i.L({start:l,end:u}));continue}f.assign(c.sub(p)),f.normalizeThis(),f.assign(c.sub(f.mul(20))),g.assign((0,_.a1)(this.m_a,this.m_eSquared,f)),n.push(new i.L({start:g,end:u})),u.assign(g)}t.push(new i.L({start:l,end:u}))}}splitSegmentPassingThroughPole(e){const t={stack:[],error:void 0,hasError:!1};try{const n=[],s=new o.f,a=new o.f,h=new o.f,m=new r.P,l=20,p=3.124139361,g=10,f=e.getStartXY(),d=e.getEndXY(),E=(0,u.mS)(t,new _.R,!1);if(_.S.geodeticDistance(this.m_a,this.m_eSquared,f.x,f.y,d.x,d.y,E,null,null,2),Math.abs(d.x-f.x)>p&&E.val>l){const e=new c.a(new r.P(0,90),f.divide(this.m_rpu),d.divide(this.m_rpu),this.m_inputGCS,2,2);let t=(0,_.Z)(e.makeFunctor(),0,1,1e-10);if(t.second<=g&&t.first>0&&t.first<1)return s.assign((0,_.W)(this.m_a,this.m_eSquared,f)),a.assign((0,_.W)(this.m_a,this.m_eSquared,d)),(0,r.x)(s,a,t.first,h),m.assign((0,_.a1)(this.m_a,this.m_eSquared,h)),n.push(new i.L({start:f,end:m})),n.push(new i.L({start:m,end:d})),n;if(e.setPointDistFrom(new r.P(0,-90)),t=(0,_.Z)(e.makeFunctor(),0,1,1e-10),t.second<=g&&t.first>0&&t.first<1)return s.assign((0,_.W)(this.m_a,this.m_eSquared,f)),a.assign((0,_.W)(this.m_a,this.m_eSquared,d)),(0,r.x)(s,a,t.first,h),m.assign((0,_.a1)(this.m_a,this.m_eSquared,h)),n.push(new i.L({start:f,end:m})),n.push(new i.L({start:m,end:d})),n}return n.push(new i.L({start:f,end:d})),n}catch(e){t.error=e,t.hasError=!0}finally{(0,u.hk)(t)}}adaptiveIntegrationWithRomberg(e,t){const n=e.makeFunctor();let s=0,a=1,_=n(s),r=n(a);const h=1e-17,o=1e-14;let m=(s+a)/2,l=n(m),u=Math.abs(l-_),p=Math.abs(r-l),c=0;for(;c++<32&&(u/p<.1||p/u<.1);)u<p?(t.pe((0,i.x)(5,s,m,o,h,n)),s=m,_=l):(t.pe((0,i.x)(5,m,a,o,h,n)),a=m,r=l),m=(s+a)/2,l=Math.abs(n(m)),u=Math.abs(l-_),p=Math.abs(r-l);t.pe((0,i.x)(5,s,a,o,h,n))}loxodromeAreaHemi(e,t,n,s,i){const a=n.clone(),_=i.clone();let h,o,m,l,u,p,c,g,f,d,E,P,S,y,x,A;return a.make_negative&&a.changeSign(),_.make_negative&&_.changeSign(),E=s-t,1===Math.abs(a.sin_phi)||1===Math.abs(_.sin_phi)?e.half_qp*E:a.sin_phi===_.sin_phi?(d=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+(0,r.y)(e.e*a.sin_phi))*E,d):(x=Math.log(_.sin_half_phi_pf*a.sin_half_phi_pz/(_.sin_half_phi_pz*a.sin_half_phi_pf)),A=Math.log(_.sin_half_asin_e_sin_phi_pf*a.sin_half_asin_e_sin_phi_pz/(_.sin_half_asin_e_sin_phi_pz*a.sin_half_asin_e_sin_phi_pf)),1===this.m_eSquared?(u=0,h=.5*(x+_.sin_phi/_.one_m_e_2_sin_2_phi-a.sin_phi/a.one_m_e_2_sin_2_phi),o=0):(u=-2*e.atanh_e_over_e*(Math.log(_.one_p_sin_phi/a.one_p_sin_phi)-e.e*A),h=(x-e.e*A)/e.one_m_e_2,o=(Math.log(_.one_m_e_2_sin_2_phi/a.one_m_e_2_sin_2_phi)+u/e.atanh_e_over_e)/e.one_m_e_2),m=-A*(a.atanh_esin_phi+_.atanh_esin_phi),l=1/a.one_m_e_2_sin_2_phi-1/_.one_m_e_2_sin_2_phi,p=(0,r.z)(_.one_m_sin_phi/e.one_p_e,e.e)-(0,r.z)(a.one_m_sin_phi/e.one_p_e,e.e),c=(0,r.z)(_.one_p_sin_phi/e.one_p_e,e.e)-(0,r.z)(a.one_p_sin_phi/e.one_p_e,e.e),g=(0,r.z)(a.one_m_sin_phi/-e.one_m_e,e.e)-(0,r.z)(_.one_m_sin_phi/-e.one_m_e,e.e),f=(0,r.z)(a.one_p_sin_phi/-e.one_m_e,e.e)-(0,r.z)(_.one_p_sin_phi/-e.one_m_e,e.e),d=.25/h*(o+m+l+u+.5*(p+c+g+f)),d+=e.half_qp,P=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+(0,r.y)(e.e*a.sin_phi)),S=.5*e.one_m_e_2*_.sin_phi*(1/_.one_m_e_2_sin_2_phi+(0,r.y)(e.e*_.sin_phi)),S<P&&(y=P,P=S,S=y),d<P&&(d=P),d>S&&(d=S),d*=E,d)}loxodromeArea(e){const t=Math.PI/180;let n=0;const s={e:Number.NaN,one_p_e:Number.NaN,one_m_e:Number.NaN,one_m_e_2:Number.NaN,atanh_e_over_e:Number.NaN,half_qp:Number.NaN,f:Number.NaN,z:Number.NaN},i=R(),a=R();s.e=Math.sqrt(this.m_eSquared),s.one_p_e=1+s.e,s.one_m_e=1-s.e,s.one_m_e_2=1-this.m_eSquared,s.atanh_e_over_e=(0,r.y)(s.e),this.m_eSquared>=1?s.half_qp=1:s.half_qp=.5*(1+s.atanh_e_over_e*s.one_m_e_2),s.f=.25*Math.PI,s.z=.75*Math.PI,a.initialize(0,s.e,s.f,s.z);const _=e.getPathCount(),h=new r.P,o=new r.P,m=e.getImpl().getAttributeStreamRef(0);for(let r=0;r<_;r++){const _=e.getPathStart(r),l=e.getPathEnd(r);if(!(l-_<=1)){m.queryPoint2D(2*(l-1),h);for(let e=_;e<l;e++){m.queryPoint2D(2*e,o);const r=h.y*t,l=o.y*t;if(e===_?(i.initialize(r,s.e,s.f,s.z),i.make_negative=!1):i.assign(a),a.initialize(l,s.e,s.f,s.z),a.make_negative=!1,h.y*o.y<0){if(h.y>=90&&o.y<=-90||o.y>=90&&h.y<=-90)return Number.NaN;const e=R();e.initialize(0,s.e,s.f,s.z),e.make_negative=!1;const _=i.atanh_sin_phi-s.e*i.atanh_esin_phi,m=a.atanh_sin_phi-s.e*a.atanh_esin_phi,l=(m*h.x-_*o.x)/(m-_);r<0?(i.make_negative=!0,n-=this.loxodromeAreaHemi(s,h.x*t,i,l*t,e),i.make_negative=!1,n+=this.loxodromeAreaHemi(s,l*t,e,o.x*t,a)):(n+=this.loxodromeAreaHemi(s,h.x*t,i,l*t,e),a.make_negative=!0,n-=this.loxodromeAreaHemi(s,l*t,e,o.x*t,a),a.make_negative=!1)}else h.y>=0?n+=this.loxodromeAreaHemi(s,h.x*t,i,o.x*t,a):(i.make_negative=!0,a.make_negative=!0,n-=this.loxodromeAreaHemi(s,h.x*t,i,o.x*t,a),i.make_negative=!1,a.make_negative=!1);h.assign(o)}}}return this.m_a*n*this.m_a}calculate(e){if(e.isEmpty()||e.getDimension()<2)return 0;if(e.getGeometryType()===s.G.enumEnvelope){const t=new i.P;return t.addEnvelope(e,!1),this.calculate(t)}return this.m_inputSR!==this.m_inputGCS&&null===this.m_transformPCS2GCS&&(this.m_transformPCS2GCS=(0,_.a)(this.m_inputSR,this.m_inputGCS,null)),this.executePolygonGeodeticArea(e)}}class q{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n,i){return(0,s.c)(e),4===n?(new P).execute(e,t,i):new N(t,n,i).calculate(e)}}},47591(e,t,n){n.d(t,{O:()=>g});var s=n(55537),i=n(15756),a=n(88885),_=n(83661),r=n(95213),h=n(79187),o=n(5247),m=n(31139);function l(){return{m_pGcs:new _.P,m_xyz:new r.f,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:u,setLength:p,assign:c}}function u(e,t,n,s){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(s),this.m_geoLength=n}function p(e){this.m_geoLength=e}function c(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class g{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,n,s,a){if(e.hasNonLinearSegments()&&(e=(new o.O).execute(e,0,t.getTolerance(0),0,a)),t.isPannable()){let s=90,_=-90;if(1===n.getUnit().getUnitToBaseFactor()&&(s*=Math.PI/180,_*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const n=[0,0,0,0];e=t.getPECoordSys(),n[0]=0,n[1]=s,n[2]=0,n[3]=_,i.V.geogToProj(e,2,n),s=n[1],_=n[3]}const r=new h.Envelope2D;e.queryEnvelope(r),r.ymin=_,r.ymax=s,e=(new m.O).execute(e,r,t,a)}else{const n=t.getPCSHorizon();if((e=(new i.g).execute(e,n,t,a))===n){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,n,s,1,a)}_ExecuteIterativeApproach(e,t,n,a,h,o){const m=(0,i.U)();n.querySpheroidData(m);const u=m.majorSemiAxis,p=m.e2,c=n.getUnit().getUnitToBaseFactor(),g=(0,_.k)(l,40),E=(0,_.d)(40,Number.NaN),P=l(),S=l();let y;const x=[0,0,0,0],A=t.getPECoordSys(),R=new _.P,C=new _.P,M=new _.P,T=new _.P,w=new _.P;let N=0;const q=e.querySegmentIterator();for(;q.nextPath();)for(;q.hasNextSegment();){const e=q.nextSegment();R.assign(e.getStartXY()),C.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(x[0]=R.x,x[1]=R.y,x[2]=C.x,x[3]=C.y,i.V.projToGeog(A,2,x),M.x=x[0]*c,M.y=x[1]*c,T.x=x[2]*c,T.y=x[3]*c):(M.setCoordsPoint2D(R),T.setCoordsPoint2D(C),M.scale(c),T.scale(c));const n=new r.f,a=new r.f;f(u,p,M,n),f(u,p,T,a);let _=d(u,n,a);P.setValues(0,M,Number.NaN,n),S.setValues(1,T,_,a),y=h,g[0].assign(S),E[0]=h;let o=0;for(;;){o>128&&(0,s.d)("iterations exceeded");const n=.5*(P.m_factor+S.m_factor),a=e.getCoord2D(n);2===t.getCoordinateSystemType()?(x[0]=a.x,x[1]=a.y,i.V.projToGeog(A,1,x),w.x=x[0]*c,w.y=x[1]*c):(w.setCoordsPoint2D(a),w.scale(c)),M.setCoordsPoint2D(P.m_pGcs),T.setCoordsPoint2D(S.m_pGcs);const m=new r.f;f(u,p,w,m);const l=d(u,P.m_xyz,m),R=d(u,S.m_xyz,m);_=S.m_geoLength,Number.isNaN(_)&&(_=d(u,P.m_xyz,S.m_xyz));const C=l+R,q=y===h&&C>=20&&Math.abs(C-_)>1e-8*(_+C);if(o+2<40&&(q||Math.abs(C-_)>0&&y>0))S.setLength(R),g[o].assign(S),S.setValues(n,w,l,m),g[++o].assign(S),q?(y=h,E[o]=h):(y--,E[o-1]=y,E[o]=y);else{if(N+=C,0===o)break;P.assign(S),S.assign(g[--o]),y=E[o]}}}return N}execute(e,t,n){if(t&&0!==t.getCoordinateSystemType()||(0,s.a)(""),e.isEmpty()||e.getDimension()<1)return 0;let _=null;const r=t.getGCS();r!==t&&(_=(0,i.a)(t,r,null));const h=e.getGeometryType();if(h===s.G.enumEnvelope){const s=new a.P;return s.addEnvelope(e,!1),this._ExecuteShapePreservingLength(s,t,r,_,n)}if((0,s.f)(h)){const s=new a.a;return s.addSegment(e,!0),this._ExecuteShapePreservingLength(s,t,r,_,n)}return this._ExecuteShapePreservingLength(e,t,r,_,n)}}function f(e,t,n,s){s.assign((0,i.W)(e,t,n))}function d(e,t,n){const s=e,i=new r.f;i.setSub(t,n);const a=i.length();return 2*s*Math.asin(a/(2*s))}}}]);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"./ChapmanApproximation.glsl.js";import"./ChapmanRaymarching.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/Float4PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/FloatsPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Texture2DBindUniform.js";import"../webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import"../webgl-engine/shaders/SphereIntersect.glsl.js";import"../webgl-engine/shaders/ToneMapping.glsl.js";import"../../webgl/ShaderBuilder.js";export{b as build}from"../../../chunks/ChapmanAtmosphere.glsl.js";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{lerp as t}from"../../../core/mathUtils.js";import{disposeMaybe as r}from"../../../core/maybe.js";import{watch as s,syncAndInitial as i,initial as o}from"../../../core/reactiveUtils.js";import{subclass as a}from"../../../core/accessorSupport/decorators.js";import{set as n}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{set as m,length as h}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as c}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{earth as p}from"../../../geometry/support/Ellipsoid.js";import{InternalRenderCategory as d}from"../webgl.js";import{computeInnerAltitudeFade as u,innerAtmosphereDepth as f}from"./atmosphereUtils.js";import{ChapmanAtmospherePassParameters as l,ChapmanAtmosphereTechnique as g}from"./ChapmanAtmosphereTechnique.js";import{ChapmanAtmosphereTechniqueConfiguration as b}from"./ChapmanAtmosphereTechniqueConfiguration.js";import{OpaqueEnvironment as _}from"../webgl-engine/effects/OpaqueEnvironment.js";import{createQuadVAO as w}from"../webgl-engine/lib/glUtil3D.js";import{applyTextureResizeModulo as P}from"../webgl-engine/lib/textureUtils.js";import{A as v}from"../../../chunks/AtmosphereCompositing.glsl.js";import{AtmosphereCompositingTechnique as j}from"../webgl-engine/shaders/AtmosphereCompositingTechnique.js";import{DepthStencilAttachment as A,ColorAttachment0 as q,PrimitiveType as x}from"../../webgl/enums.js";import C from"../../../webscene/background/ColorBackground.js";let T=class extends _{constructor(){super(...arguments),this._compositingPassParameters=new v,this._vao=null,this._passParameters=new l,this._configuration=new b}initialize(){this.addHandles([s(()=>this.view.environment.background,e=>{const t=e instanceof C?e.color.toUnitRGBA():c;m(this._passParameters.backgroundColor,t[0]*t[3],t[1]*t[3],t[2]*t[3])},i),s(()=>this.view.stage?.renderer?.highResolutionAtmosphere,e=>this._configuration.reduced=!e,i),s(()=>this.view.map.ground.undergroundColor,e=>{this._passParameters.undergroundColor=e?.toUnitRGBA()??c,this.requestRender(1)},o),s(()=>this.view.environment.atmosphereEnabled,e=>e?this._enable():this._disable(),i)])}destroy(){this._vao=r(this._vao)}precompile(){this.techniques.precompile(g,this._configuration),this.techniques.precompile(j)}render(e){const r=e.find(({name:e})=>e===d.OPAQUE_ENVIRONMENT);if(!this.bindParameters.mainDepth)return r;const s=this.renderingContext;this._vao??=w(s,1);const i=r.getAttachment(A);this._update();const o=this.techniques.getCompiled(g,this._configuration);if(!o)return this.requestRender(1),r;if(!this._configuration.reduced)return r.detachDepth(),s.bindFramebuffer(r.fbo),s.bindTechnique(o,this.bindParameters,this._passParameters),s.setDrawBuffers([q]),s.bindVAO(this._vao),s.drawArrays(x.TRIANGLE_STRIP,0,4),r.attachDepth(i),r;const a=this.techniques.get(j);if(!a.compiled)return this.requestRender(1),r;const n=s.getViewport(),m=this.bindParameters.camera,c=h(m.eye)-p.radius;let u;const f=p.atmosphereHeight;if(c<f){const e=Math.min(1,Math.max(0,c/f));u=t(.2,.3,e)}else{const e=Math.min(1,Math.max(0,(c-f)/(15*f)));u=t(.3,.6,e)}const l=this.renderingContext.parameters.maxTextureSize,b=P(Math.round(u*m.fullViewport[2]),l),_=P(Math.round(u*m.fullViewport[3]),l);s.setViewport(0,0,b,_);const v=this.fboCache.acquire(b,_,"chapman",5);return s.bindFramebuffer(v.fbo),s.clearFramebuffer([0,0,0,1],!0,!0),s.bindTechnique(o,this.bindParameters,this._passParameters),s.bindVAO(this._vao),s.drawArrays(x.TRIANGLE_STRIP,0,4),s.setViewport(n.x,n.y,n.width,n.height),this._compositingPassParameters.color=v.getTexture(),r.detachDepth(),s.bindFramebuffer(r.fbo),s.bindTechnique(a,this.bindParameters,this._compositingPassParameters),s.setDrawBuffers([q]),s.screen.draw(),r.attachDepth(i),v.release(),r}_update(){const e=this.view.basemapTerrain?.getLowerBoundRadius()??0;n(this._passParameters.radii,e,e+p.atmosphereHeight);const t=h(this.bindParameters.camera.eye);this._passParameters.altitudeFade=u(t-e),this._passParameters.innerFadeDistance=2*Math.sqrt((2*e-f)*f)}};T=e([a("esri.views.3d.environment.ChapmanAtmosphere")],T);export{T as ChapmanAtmosphere};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{create as o}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as s}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ChapmanApproximationPassParameters as t}from"./ChapmanApproximation.glsl.js";import{C as i}from"../../../chunks/ChapmanAtmosphere.glsl.js";import{ReloadableShader as n}from"../webgl-engine/core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as a}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{Pos2TexF16 as m}from"../webgl-engine/lib/DefaultVertexBufferLayouts.js";import{makePipelineState as c,defaultColorWrite as l,copySource as p,simpleBlendingParams as d}from"../../webgl/renderState.js";class h extends t{constructor(){super(...arguments),this.innerFadeDistance=0,this.altitudeFade=0,this.backgroundColor=o(),this.undergroundColor=s()}}let u=class extends a{constructor(e,r){super(e,r,m),this.shader=new n(i,()=>import("./ChapmanAtmosphere.glsl.js"))}initializePipeline(e){return c({blending:e.reduced?p:d(770,771),depthTest:{func:e.reduced?519:515},colorWrite:l})}};u=e([r("esri.views.3d.environment.ChapmanAtmosphereTechnique")],u);export{h as ChapmanAtmospherePassParameters,u as ChapmanAtmosphereTechnique};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{parameter as r,ShaderTechniqueConfiguration as o}from"../webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";class t extends o{constructor(){super(...arguments),this.reduced=!1}}e([r()],t.prototype,"reduced",void 0);export{t as ChapmanAtmosphereTechniqueConfiguration};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../../../core/has.js";import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import"../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"./NoiseTextureAtlasDimensions.js";import"../webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import"../webgl-engine/core/shaderModules/BooleanPassUniform.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Matrix3PassUniform.js";import"../webgl-engine/core/shaderModules/Texture2DPassUniform.js";import"../webgl-engine/shaders/SphereIntersect.glsl.js";import"../../webgl/NoParameters.js";import"../../webgl/ShaderBuilder.js";export{C as CloudsPassParameters,b as build,c as cubeMapSize}from"../../../chunks/Clouds.glsl.js";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import"../webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import"../webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/FloatBindUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import"../../webgl/ShaderBuilder.js";export{b as build}from"../../../chunks/CloudsComposition.glsl.js";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{disposeMaybe as t}from"../../../core/maybe.js";import{watch as i,initial as s}from"../../../core/reactiveUtils.js";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{CloudsCompositionTechnique as o}from"./CloudsCompositionTechnique.js";import{OpaqueEnvironment as n}from"../webgl-engine/effects/OpaqueEnvironment.js";import{createQuadVAO as a}from"../webgl-engine/lib/glUtil3D.js";import{ColorAttachment0 as m,PrimitiveType as d}from"../../webgl/enums.js";let h=class extends n{initialize(){this.addHandles([i(()=>null!=this.view.environment.weather&&this.view.environment.atmosphereEnabled,e=>e?this._enable():this._disable(),s)])}destroy(){this._vao=t(this._vao)}precompile(){this.bindParameters.clouds.data&&this.techniques.precompile(o)}render(e){const t=e.find(({name:e})=>e===this.produces),i=this.bindParameters.clouds;if(!i.data)return t;const s=this.techniques.getCompiled(o);if(!s)return this.requestRender(1),t;const r=this.renderingContext;this._vao??=a(r);const n=r.bindTechnique(s,this.bindParameters);return r.setDrawBuffers([m]),r.bindVAO(this._vao),n.assertCompatibleVertexAttributeLocations(this._vao),r.drawArrays(d.TRIANGLE_STRIP,0,4),i.isFading&&this.requestRender(2),t}};h=e([r("esri.views.3d.environment.CloudsComposition")],h);export{h as CloudsComposition};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as o}from"../../../core/accessorSupport/decorators.js";import{C as r}from"../../../chunks/CloudsComposition.glsl.js";import{ReloadableShader as i}from"../webgl-engine/core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{PrimitiveType as t}from"../../webgl/enums.js";import{makePipelineState as n,defaultColorWrite as m,separateBlendingParams as l}from"../../webgl/renderState.js";let p=class extends s{constructor(){super(...arguments),this.primitiveType=t.TRIANGLE_STRIP,this.shader=new i(r,()=>import("./CloudsComposition.glsl.js"))}initializePipeline(){return n({blending:l(1,0,770,1),depthTest:{func:515},colorWrite:m})}};p=e([o("esri.views.3d.environment.CloudsCompositionTechnique")],p);export{p as CloudsCompositionTechnique};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{clamp as t}from"../../../core/mathUtils.js";import{signal as a}from"../../../core/signal.js";import{rotate as e}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{IDENTITY as s,create as i}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{squaredLength as r,normalize as h,scale as o,copy as n,length as c,subtract as d}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as l,fromValues as _}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as u,fromPoints as f,axis as p}from"../../../geometry/support/axisAngleDegrees.js";import{earth as m}from"../../../geometry/support/Ellipsoid.js";import{ensureClouds as F}from"./Clouds.js";import{heightLimit as P}from"./weather.js";class x{constructor(){this.startTime=0,this._data=a(null),this.coverage=0,this.absorption=0,this._readChannels=0,this.parallax=new v,this.parallaxNew=new v,this._anchorPoint=l(),this._fadeState=a(0),this._fadeFactor=a(1)}get data(){return this._data.value}set data(t){this._data.value=t}get readChannels(){return this._readChannels}get fadeState(){return this._fadeState.value}get fadeFactor(){return this._fadeFactor.value}get opacity(){switch(this.fadeState){case 0:return 0;case 4:return 1-this.fadeFactor;case 1:return this.fadeFactor;case 2:case 3:return 1}}fade(a,e,s){this.isFading&&this.fadeFactor<1&&(this._fadeFactor.value=s?t((e-this.startTime)/(b*s),0,1):1,1===this.fadeFactor&&this._endFade()),this._evaluateState(a,e),this._updateParallax(a)}_evaluateState(t,a){const e=t.relativeElevation,s=this._updateAnchorPoint(t);(Math.abs(e)>1.7*P||s>j)&&this.opacity>0?this._startFade(0,a):this.isFading||(Math.abs(e)>P||s>C*j?this.opacity>0&&this._startFade(4,a):F(this.data)&&(0===this.opacity?this._startFade(1,a):2===this.data.state&&(2===this.fadeState?this._startFade(3,a):this._startFade(2,a))))}_updateParallax(t){const a=r(t.eye);this.parallax.radiusCurvatureCorrection=.84*Math.sqrt(Math.max(a-m.radius*m.radius,0))/Math.sqrt(a),f(g,this.parallax.anchorPoint,w),e(this.parallax.transform,s,w[3],p(w)),f(g,this.parallaxNew.anchorPoint,w),e(this.parallaxNew.transform,s,w[3],p(w))}_updateAnchorPoint(t){return h(this._anchorPoint,t.eye),o(this._anchorPoint,this._anchorPoint,m.radius),0===this.fadeState&&2===this.data?.state?(n(this.parallax.anchorPoint,this._anchorPoint),0):c(d(S,this.parallax.anchorPoint,this._anchorPoint))}requestFade(){this._fadeFactor.value=0}_startFade(t,a){switch(this._fadeState.value=t,this.startTime=a,t){case 3:this.requestFade(),this._switchReadChannels(),n(this.parallaxNew.anchorPoint,this._anchorPoint);break;case 1:this.requestFade(),this._switchReadChannels(),n(this.parallax.anchorPoint,this._anchorPoint),n(this.parallaxNew.anchorPoint,this._anchorPoint);break;case 4:this.requestFade();break;case 2:this._switchReadChannels(),n(this.parallax.anchorPoint,this._anchorPoint),n(this.parallaxNew.anchorPoint,this._anchorPoint),this._endFade();break;case 0:this._endFade()}}_endFade(){switch(this._fadeFactor.value=1,this.data&&2!==this.data.state&&(this.data.state=0),this.fadeState){case 3:n(this.parallax.anchorPoint,this.parallaxNew.anchorPoint),this._fadeState.value=2;break;case 1:this._fadeState.value=2;break;case 4:this._fadeState.value=0;break;case 2:case 0:break;default:this.fadeState}}_switchReadChannels(){2===this.data?.state&&(this._readChannels=1-this._readChannels,this.data.state=3)}get isFading(){return 4===this.fadeState||1===this.fadeState||3===this.fadeState}}class v{constructor(){this.anchorPoint=l(),this.radiusCurvatureCorrection=0,this.transform=i()}}const g=_(0,0,1),w=u(),S=l(),b=1.25,C=.5,j=2e5;export{x as CloudsParameters};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import{lerp as s}from"../../../core/mathUtils.js";import{destroyMaybe as i,disposeMaybe as r}from"../../../core/maybe.js";import{watch as o,initial as a}from"../../../core/reactiveUtils.js";import{signal as h}from"../../../core/signal.js";import{property as n,subclass as l}from"../../../core/accessorSupport/decorators.js";import{fromMat4 as c}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{targetTo as u}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as d}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{equals as p,copy as m,set as _}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{clone as f,ZEROS as g,zeros as x}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{fromValues as y}from"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import{zeros as b}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as T}from"../../../geometry/ellipsoidUtils.js";import{C as v,c as S}from"../../../chunks/Clouds.glsl.js";import{cloudPresets as C}from"./CloudsPresets.js";import{CloudsTechnique as w}from"./CloudsTechnique.js";import{CloudsTechniqueConfiguration as P}from"./CloudsTechniqueConfiguration.js";import{NoiseTextureAtlas as j}from"./NoiseTextureAtlas.js";import{TaskPriority as z}from"../../support/Scheduler.js";import{Yield as I}from"../../support/Yield.js";import{ColorAttachment0 as M}from"../../webgl/enums.js";import{FramebufferObject as H}from"../../webgl/FramebufferObject.js";import{TextureDescriptor as q}from"../../webgl/TextureDescriptor.js";let R=class extends e{constructor(t){super(t),this._state=h(0),this._passParameters=new v,this._weatherTileCount=128,this._sliceIndex=0,this._tileIndex=0,this._tilesPerSlice=1,this.coverage=s(C.default.coverage[0],C.default.coverage[1],.5),this.density=s(C.default.density[0],C.default.density[1],.5),this.absorption=s(C.default.absorption[0],C.default.absorption[1],.5),this.cloudSize=s(C.default.cloudSize[0],C.default.cloudSize[1],.5),this.detailSize=s(C.default.detailSize[0],C.default.detailSize[1],.5),this.smoothness=s(C.default.smoothness[0],C.default.smoothness[1],.5),this.cloudHeight=s(C.default.cloudHeight[0],C.default.cloudHeight[1],.5),this.raymarchingSteps=C.default.raymarchingSteps,this._viewMatrix=d(),this._dirty=!0,this.readyToRun=!0,this._configuration=new P}initialize(){const t=T(this.view.spatialReference);this._passParameters.cloudRadius=.5*t.radius;const e=()=>this.setDirty();this.addHandles([this.view.resourceController.scheduler.registerTask(z.CLOUDS_GENERATOR,this),o(()=>this.coverage,e,a),o(()=>this.density,e,a),o(()=>this.absorption,e,a),o(()=>this.cloudSize,e,a),o(()=>this.detailSize,e,a),o(()=>this.smoothness,e,a),o(()=>this.cloudHeight,e,a),o(()=>this.raymarchingSteps,e,a)]);const s=f(this._computeWeatherTile());let i=0;this.addHandles(o(()=>{const t=this._computeWeatherTile();return p(s,t)||(++i,m(s,t)),i},e))}destroy(){this.destroyCubeMap(),this._passParameters.noiseTexture=i(this._passParameters.noiseTexture)}_precompile(){this._configuration.steps=this.raymarchingSteps,this._configuration.writeTextureChannels=1-this.parameters.readChannels,this.context.techniques.precompile(w,this._configuration)}_acquireTechnique(){switch(this.raymarchingSteps){case 0:this._tilesPerSlice=1;break;case 1:this._tilesPerSlice=4;break;case 3:case 2:this._tilesPerSlice=8;break;default:this.raymarchingSteps}return this._configuration.steps=this.raymarchingSteps,this._configuration.writeTextureChannels=1-this.parameters.readChannels,this.context.techniques.getCompiled(w,this._configuration)}_computeWeatherTile(){const{camera:t,environment:e}=this.view,{latitude:s,longitude:i}=t.position;if(null==s||null==i)return g;_(D,(s+90)/180,(i+180)/360);const r=Math.floor(this._weatherTileCount*Math.abs(2*D[0]-1));D[0]=Math.floor(2*this._weatherTileCount*D[0]),D[1]=Math.floor(4*(this._weatherTileCount-r)*D[1]);let o=0,a=0;if("virtual"!==e?.lighting?.type&&null!=e?.lighting?.date){const t=new Date(e.lighting.date);t.setUTCHours(e.lighting.date.getUTCHours()+(e.lighting.displayUTCOffset??0)),o=31*t.getUTCMonth()+t.getUTCDate(),a=t.getUTCFullYear()}return D[0]=(D[0]+o)%(2*this._weatherTileCount),D[1]=(D[1]+a%100)%(4*this._weatherTileCount),D}get state(){return this._state.value}set state(t){this._state.value=t}get usedMemory(){return(this._fbo?.usedMemory??0)+(this._passParameters.noiseTexture?.textureAtlas?.usedMemory??0)}_ensureNoiseTexture(){return this._passParameters.noiseTexture??=new j({context:this.context}),this._passParameters.noiseTexture}_ensureFrameBufferCube(t){const e=this.context.renderContext.rctx;if(null==this._fbo){const s=new q(t,t/2);s.target=35866,s.depth=6,s.wrapMode=33071,this._fbo=new H(e,s),this.parameters.data=this,this.parameters.absorption=this.absorption,this.parameters.coverage=this.coverage}return e.unbindTexture(this._fbo.colorTexture),this._fbo}get cubeMap(){return this._fbo}get parameters(){return this.context.renderContext.bind.clouds}destroyCubeMap(){this._fbo=r(this._fbo),this.parameters.data=null}applyPreset(t,e){const i=t.median,r=t=>{const r=s(t[0],t[1],i);return e<.5?s(t[0],r,2*e):s(r,t[1],2*(e-.5))};this.coverage=r(t.coverage),this.density=r(t.density),this.absorption=r(t.absorption),this.cloudSize=r(t.cloudSize),this.detailSize=r(t.detailSize),this.smoothness=r(t.smoothness),this.cloudHeight=r(t.cloudHeight),this.raymarchingSteps=t.raymarchingSteps}setDirty(){this._dirty=this.readyToRun=!0,this._precompile()}runTask(t){if(3===this.state)return I;this._dirty&&(this._sliceIndex=this._tileIndex=0,this.state=1,this._passParameters.absorption=this.absorption,this._passParameters.density=this.density,this._passParameters.cloudSize=this.cloudSize,this._passParameters.detailSize=this.detailSize,this._passParameters.smoothness=this.smoothness,this._passParameters.cloudHeight=this.cloudHeight,this._passParameters.coverage=this.coverage,this._ensureNoiseTexture().updateWeatherMap(this._computeWeatherTile()),this._dirty=!1);const e=this._acquireTechnique();if(!this._ensureNoiseTexture().textureAtlas||!e)return I;const s=U[this._sliceIndex],i=O[this._sliceIndex];u(this._viewMatrix,k,s,i),c(this._passParameters.viewMatrix,this._viewMatrix);const r=this.context.renderContext.rctx,o=r.getViewport(),a=S/this._tilesPerSlice,h=this._tileIndex*a;r.setViewport(0,h,S,a);const n=this._ensureFrameBufferCube(S);r.bindFramebuffer(n),this._passParameters.lastSlice=5===this._sliceIndex,r.bindTechnique(e,this.context.renderContext.bind,this._passParameters);const l=35866;return n.setColorTextureTarget(l,M,this._sliceIndex),r.screen.draw(),r.gl.flush(),r.setViewport(o.x,o.y,o.width,o.height),this.requestRender(),++this._tileIndex,5===this._sliceIndex&&this._tileIndex===this._tilesPerSlice?(this._sliceIndex=this._tileIndex=0,this.state=2,this.readyToRun=!1):this._tileIndex===this._tilesPerSlice&&(++this._sliceIndex,this._tileIndex=0),t.madeProgress(),I}};t([n({constructOnly:!0})],R.prototype,"context",void 0),t([n({constructOnly:!0})],R.prototype,"view",void 0),t([n({constructOnly:!0})],R.prototype,"requestRender",void 0),t([n()],R.prototype,"coverage",void 0),t([n()],R.prototype,"density",void 0),t([n()],R.prototype,"absorption",void 0),t([n()],R.prototype,"cloudSize",void 0),t([n()],R.prototype,"detailSize",void 0),t([n()],R.prototype,"smoothness",void 0),t([n()],R.prototype,"cloudHeight",void 0),t([n()],R.prototype,"raymarchingSteps",void 0),t([n()],R.prototype,"readyToRun",void 0),R=t([l("esri.views.3d.environment.CloudsRenderer")],R);const U=[y(1,0,0),y(-1,0,0),y(0,1,0),y(0,-1,0),y(0,0,1),y(0,0,1)],O=[y(0,0,-1),y(0,0,-1),y(0,0,-1),y(0,0,-1),y(0,1,0),y(0,1,0)],k=b(),D=x();export{R as CloudsRenderer};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{a as s}from"../../../chunks/Clouds.glsl.js";import{ReloadableShader as o}from"../webgl-engine/core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{makePipelineState as t,defaultColorWrite as n,simpleBlendingParams as l}from"../../webgl/renderState.js";let c=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./Clouds.glsl.js")),this.ignoreUnused=!0}initializePipeline(e){return t({blending:l(32769,32770,32774,0===e.writeTextureChannels?[1,1,0,0]:[0,0,1,1]),depthTest:{func:515},colorWrite:n})}};c=e([r("esri.views.3d.environment.CloudsTechnique")],c);export{c as CloudsTechnique};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{parameter as t,ShaderTechniqueConfiguration as o}from"../webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";class r extends o{constructor(){super(...arguments),this.steps=0,this.writeTextureChannels=0}}e([t({count:3})],r.prototype,"steps",void 0),e([t({count:2})],r.prototype,"writeTextureChannels",void 0);export{r as CloudsTechniqueConfiguration};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import"../../../core/has.js";import{destroyMaybe as e}from"../../../core/maybe.js";import{watch as i,sync as r}from"../../../core/reactiveUtils.js";import{signal as n}from"../../../core/signal.js";import{property as s,subclass as o}from"../../../core/accessorSupport/decorators.js";import{length as a}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{getReferenceEllipsoid as u}from"../../../geometry/ellipsoidUtils.js";import{cloudPresets as c}from"./CloudsPresets.js";import{CloudsRenderer as p}from"./CloudsRenderer.js";import{Precipitation as h}from"./Precipitation.js";import{heightLimit as l}from"./weather.js";import{SyncRenderPlugin as d}from"../webgl-engine/effects/RenderPlugin.js";let _=class extends d{constructor(t){super(t),this.produces=new Map([]),this._clouds=n(null),this._incarnation=0,this._precipitation=null}initialize(){this.view.stage?.addRenderPlugin(this)}destroy(){this.removeHandles(),this.uninitializeRenderContext(),this.view?.stage?.removeRenderPlugin(this),this._set("view",null)}get updating(){return!!this._clouds.value?.readyToRun}get weatherAvailable(){return a(this.view.state.camera.eye)-u(this.view.spatialReference).radius<=l}get usedMemory(){return this._clouds.value?.usedMemory??0}_fadeOutPrecipitation(){this._precipitation&&(this._precipitationOutgoing?.destroy(),this._precipitationOutgoing=this._precipitation,this._precipitationOutgoing.fadeOut(()=>this._precipitationOutgoing=e(this._precipitationOutgoing)),this._precipitation=null,++this._incarnation)}get _snowCover(){return this._precipitationOutgoing?.snowCover??this._precipitation?.snowCover??0}get weather(){return this.view?.environmentManager?.weatherEnabled?this.view.environment.weather:null}initializeRenderContext(t){this._context=t;const e=this.view,n=()=>this._requestRender();this.addHandles([i(()=>this._precipitation,n,r),i(()=>this._clouds.value?.state,n,r),i(()=>e.state.mode,n,r),i(()=>this._updateClouds(),n,r),i(()=>this._updatePrecipitation(),n,r),i(()=>this.weather,t=>this._initWeather(t))])}uninitializeRenderContext(){this._context=null,this._clouds.value=e(this._clouds.value),this._precipitation=e(this._precipitation),this._precipitationOutgoing=e(this._precipitationOutgoing)}prepareRender(t){const{bind:e,time:i}=t;if(1===this.view.state.viewingMode){if(e.clouds.data){e.clouds.fade(e.camera,i,this.view.qualitySettings.fadeDuration);const t=this._clouds.value;0!==t?.state||0!==t.coverage||t.readyToRun||t.destroyCubeMap()}e.snowCover=this._snowCover}}acquireTechniques(){return[]}render(){}_requestRender(){this._context?.requestRender()}_initWeather(t){const i=this._context;if(!t||!i)return void(this._clouds.value=e(this._clouds.value));if(this._clouds.value)return;const r=this.view;this._clouds.value=new p({context:i,view:r,requestRender:()=>this._requestRender()})}_updateClouds(){const t=this.view.environment.weather;return null==t||null==this._clouds.value||this._clouds.value.applyPreset(c[t.type],v(t)),++this._incarnation}_updatePrecipitation(){const t=this.view.environment.weather;if(t.type===this._precipitation?.type)return this._incarnation;this._fadeOutPrecipitation();const e="rainy"===t.type||"snowy"===t.type,i=this._context;return e&&i&&(this._precipitation=new h({view:this.view,type:t.type}),++this._incarnation),this._incarnation}hasHighlight(){return!1}get test(){}};function v(t){switch(t.type){case"rainy":case"snowy":case"cloudy":case"sunny":return t.cloudCover;case"foggy":return t.fogStrength}}t([s({constructOnly:!0})],_.prototype,"view",void 0),t([s({type:Boolean,readOnly:!0})],_.prototype,"updating",null),t([s()],_.prototype,"weatherAvailable",null),t([s()],_.prototype,"_context",void 0),_=t([o("esri.views.3d.environment.EnvironmentRenderer")],_);export{_ as EnvironmentRenderer};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Texture2DBindUniform.js";import"../webgl-engine/core/shaderModules/Texture2DPassUniform.js";import"../webgl-engine/effects/raymarching/RayDistanceFalloff.glsl.js";import"../webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import"../webgl-engine/shaders/ToneMapping.glsl.js";import"../../webgl/ShaderBuilder.js";export{F as FogPassParameters,b as build}from"../../../chunks/Fog.glsl.js";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{lerp as t,smoothstep as s}from"../../../core/mathUtils.js";import{releaseMaybe as r}from"../../../core/maybe.js";import{watch as a,syncAndInitial as i}from"../../../core/reactiveUtils.js";import{subclass as o}from"../../../core/accessorSupport/decorators.js";import{copy as n,normalize as h,dot as m,scale as p,lerp as c,length as l}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as d,fromValues as _}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as u}from"../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as f}from"../webgl.js";import{F as g}from"../../../chunks/Fog.glsl.js";import{FogTechnique as w}from"./FogTechnique.js";import{FogTechniqueConfiguration as P}from"./FogTechniqueConfiguration.js";import{heightLimit as b}from"./weather.js";import{TransparentEnvironment as y}from"../webgl-engine/effects/TransparentEnvironment.js";import{Blit as v}from"../webgl-engine/effects/blit/Blit.js";import{ColorAttachment1 as j,DepthStencilAttachment as F,ColorAttachment0 as E}from"../../webgl/enums.js";const R=.95,q=1;let x=class extends y{constructor(e){super(e),this._configuration=new P,this._newParameters=new T,this._oldParameters=new T,this._fadedParameters=new T,this._parameters=this._newParameters,this._passParameters=new g,this._blit=null;const t=u(e.view.spatialReference);this._planetRadius=t.radius,this._atmosphereRadius=t.radius+t.atmosphereHeight}initialize(){this.addHandles([a(()=>this.view.environment.atmosphereEnabled,()=>this._updateEnabled(),i),a(()=>this.view.environment.weather,()=>this._updateEnabled(),i),a(()=>this._updateFogParameters(),()=>{},i)]),this.addHandles(a(()=>this._fadeFactor,e=>this._fade(e),i))}_updateEnabled(){this.view.environment.atmosphereEnabled&&this.view.environment.weather?this._enable():this._disable()}get _fadeFactor(){return this.view.stage?.renderer.renderContext.bind.clouds.fadeFactor??1}_fade(e){const{_newParameters:t,_oldParameters:s}=this;e>=1?(this._parameters=t,this._oldParameters.copyFrom(this._newParameters)):e<=0?this._parameters=s:(this._fadedParameters.lerp(s,t,e),this._parameters=this._fadedParameters)}_updateFogParameters(){const e=this.view.environment.weather,s="foggy"===e.type||"snowy"===e.type||"rainy"===e.type;this._newParameters.strength="foggy"===e.type?t(3e-5,.005,e.fogStrength**3):"snowy"===e.type||"rainy"===e.type?t(4e-6,2e-4,(e.precipitation??0)**3):0,this._newParameters.amount=s?1:0,"foggy"!==e.type&&"snowy"!==e.type||n(this._newParameters.color,H),"rainy"===e.type&&n(this._newParameters.color,A),this._fadeFactor>=1&&this._oldParameters.copyFrom(this._newParameters),this.requestRender(2)}precompile(){this._parameters.amount>0&&(this._configuration.hasEmissive=this.bindParameters.hasEmission,this.techniques.precompile(w,this._configuration))}render(e){const t=e.find(({name:e})=>e===f.TRANSPARENT_ENVIRONMENT);if(0===this._parameters.amount)return t;if(this._update(),this._passParameters.amount<=0)return t;const s=t.getAttachment(j);this._configuration.hasEmissive=null!=s;const a=this.techniques.getCompiled(w,this._configuration);if(!a)return this.requestRender(1),t;const i=t.getAttachment(F),o=this.renderingContext,{fullWidth:n,fullHeight:h}=this.bindParameters.camera,m=n,p=h;return s&&(this._passParameters.emission=this.fboCache.acquire(m,p,"glow horizontal",8),this._blit??=new v(this.techniques),this._blit.blitTexture(o,s?.attachment,this.bindParameters,this._passParameters.emission)),t.attachDepth(null),o.bindFramebuffer(t.fbo),o.bindTechnique(a,this.bindParameters,this._passParameters),o.setDrawBuffers([E]),o.screen.draw(),t.attachDepth(i),this._passParameters.emission=r(this._passParameters.emission),t}_update(){const e=this.bindParameters.camera;h(C,e.eye);const t=Math.max(0,m(C,this.bindParameters.lighting.mainLight.direction)),r=this._parameters.color;p(N,r,.1),c(this._passParameters.color,N,r,t);const a=l(e.eye);this._passParameters.atmosphereC=a**2-this._atmosphereRadius**2,this._passParameters.amount=(1-s(R*b,q*b,Math.abs(a-this._planetRadius)))*this._parameters.amount,this._passParameters.strength=this._parameters.strength}get test(){return{parameters:this._passParameters}}};x=e([o("esri.views.3d.environment.Fog")],x);class T{constructor(){this.color=d(),this.strength=0,this.amount=0}copyFrom(e){this.amount=e.amount,this.strength=e.strength,n(this.color,e.color)}lerp(e,s,r){this.amount=t(e.amount,s.amount,r),this.strength=t(e.strength,s.strength,r),c(this.color,e.color,s.color,r)}}const C=d(),N=d(),A=_(.5,.5,.5),H=_(1.5,1.5,1.5);export{x as Fog,T as FogParameters};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{a as o}from"../../../chunks/Fog.glsl.js";import{ReloadableShader as i}from"../webgl-engine/core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{makePipelineState as t,defaultColorWrite as n,separateBlendingParams as l}from"../../webgl/renderState.js";let c=class extends s{constructor(){super(...arguments),this.shader=new i(o,()=>import("./Fog.glsl.js"))}initializePipeline(){return t({blending:l(770,0,771,1),colorWrite:n})}};c=e([r("esri.views.3d.environment.FogTechnique")],c);export{c as FogTechnique};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{parameter as s,ShaderTechniqueConfiguration as i}from"../webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";class o extends i{constructor(){super(...arguments),this.hasEmissive=!1}}e([s()],o.prototype,"hasEmissive",void 0);export{o as FogTechniqueConfiguration};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{disposeMaybe as t}from"../../../core/maybe.js";import{watch as r,initial as s}from"../../../core/reactiveUtils.js";import{subclass as i}from"../../../core/accessorSupport/decorators.js";import{copy as o}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as n}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{InternalRenderCategory as m}from"../webgl.js";import{S as a}from"../../../chunks/SimpleAtmosphere.glsl.js";import{SimpleAtmosphereTechnique as p,layout as f}from"./SimpleAtmosphereTechnique.js";import{SimpleAtmosphereTechniqueConfiguration as h}from"./SimpleAtmosphereTechniqueConfiguration.js";import{earthAtmosphereTextureSimple as c}from"./resources/SimpleAtmosphereTexture.js";import{glLayout as l}from"../support/buffer/glUtil.js";import{OpaqueEnvironment as u}from"../webgl-engine/effects/OpaqueEnvironment.js";import{createPolySphereData as b}from"../webgl-engine/lib/GeometryUtil.js";import{VertexArrayObject as g}from"../webgl-engine/lib/VertexArrayObject.js";import{ColorAttachment0 as _,PrimitiveType as d}from"../../webgl/enums.js";import v from"../../webgl/Texture.js";import{TextureDescriptor as w}from"../../webgl/TextureDescriptor.js";import{VertexBuffer as j}from"../../webgl/VertexBuffer.js";let x=class extends u{constructor(){super(...arguments),this._configuration=new h,this._passParameters=new a,this._vao=null,this._vaoCount=0}initialize(){this._configuration.geometry=1,this.addHandles([r(()=>this.view.environment.atmosphereEnabled,e=>e?this._enable():this._disable(),s)])}destroy(){this._passParameters.texture=t(this._passParameters.texture),this._vao=t(this._vao)}precompile(){this.techniques.precompile(p,this._configuration)}render(e){const t=e.find(({name:e})=>e===m.OPAQUE_ENVIRONMENT),r=this.techniques.getCompiled(p,this._configuration);if(!r)return this.requestRender(1),t;const s=this.renderingContext;if(this._vao||(this._vao=A(s),this._vaoCount=this._vao.vertexCount("geometry")),!this._passParameters.texture){const e=new w(1,512);e.wrapMode=33071,e.flipped=!0,this._passParameters.texture=new v(s,e,c)}const i=s.bindTechnique(r,this.bindParameters,this._passParameters);return s.setDrawBuffers([_]),P(C,this.bindParameters.camera.viewMatrix),i.setUniformMatrix4fv("view",C),s.bindVAO(this._vao),i.assertCompatibleVertexAttributeLocations(this._vao),s.drawArrays(d.TRIANGLES,0,this._vaoCount),t}};function A(e){const t=b(1,2,!1),{data:r,indices:s}=t[0][1],i=f.createBuffer(s.length),o=i.position;for(let n=0;n<s.length;++n){const e=3*s[n%3==0?n+2:n%3==2?n-2:n];o.set(n,0,r[e]),o.set(n,1,r[e+1]),o.set(n,2,r[e+2])}return new g(e,new j(e,l(f),i.buffer))}function P(e,t){o(e,t),e[12]=0,e[13]=0,e[14]=0,e[15]=1}x=e([i("esri.views.3d.environment.LocalAtmosphere")],x);const C=n();export{x as LocalAtmosphere};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{lerp as t,clamp as r}from"../../../core/mathUtils.js";import{disposeMaybe as s}from"../../../core/maybe.js";import{watch as i,initial as o}from"../../../core/reactiveUtils.js";import{subclass as a}from"../../../core/accessorSupport/decorators.js";import{lookAt as n}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as m}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as h}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{length as p,scale as c,add as l,distance as u,cross as _,squaredLength as f}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as d}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as g}from"../../../geometry/ellipsoidUtils.js";import{newFloatArray as x}from"../../../geometry/support/FloatArray.js";import{InternalRenderCategory as b}from"../webgl.js";import{computeInnerAltitudeFade as j,innerAtmosphereDepth as V}from"./atmosphereUtils.js";import{S as w}from"../../../chunks/SimpleAtmosphere.glsl.js";import{SimpleAtmosphereTechnique as v,layout as P}from"./SimpleAtmosphereTechnique.js";import{SimpleAtmosphereTechniqueConfiguration as R}from"./SimpleAtmosphereTechniqueConfiguration.js";import{marsAtmosphereTextureSimple as A}from"./resources/MarsAtmosphereTexture.js";import{makePiecewiseLinearFunction as y}from"../support/mathUtils.js";import{glLayout as S}from"../support/buffer/glUtil.js";import{OpaqueEnvironment as q}from"../webgl-engine/effects/OpaqueEnvironment.js";import{createQuadVAO as F}from"../webgl-engine/lib/glUtil3D.js";import{project as M}from"../webgl-engine/lib/Util.js";import{VertexArrayObject as T}from"../webgl-engine/lib/VertexArrayObject.js";import{PrimitiveType as U}from"../../webgl/enums.js";import E from"../../webgl/Texture.js";import{TextureDescriptor as C}from"../../webgl/TextureDescriptor.js";import{VertexBuffer as O}from"../../webgl/VertexBuffer.js";const N=128,I=-V,W=0,B=50,D=()=>1-511/512,G=y([[50,.1015625],[500,.21875],[5e3,1-250/512],[5e4,.4140625]]);let L=class extends q{constructor(e){super(e),this._passParameters=new w,this._configuration=new R,this._vao=null,this._fadeVao=null,this._texV1=1;const t=e.view,r=g(t.spatialReference),{outerAtmosphereRimWidth:s,radius:i}=r;this._planetRadius=i,this._innerRimFactor=1+I/i,this._middleRimFactor=1+W/i,this._outerRimFactor=1+s/i,this._texV0=W/s,this._texVScale=this._texV1-this._texV0;const o=t.stage.renderView.techniques;o.precompile(v,this._configuration),this._configuration.geometry=2,o.precompile(v,this._configuration)}initialize(){this.addHandles(i(()=>this.view.environment.atmosphereEnabled,e=>e?this._enable():this._disable(),o))}destroy(){this._passParameters.texture=s(this._passParameters.texture),this._fadeVao=s(this._fadeVao),this._vao=s(this._vao)}render(e){const t=e.find(({name:e})=>e===b.OPAQUE_ENVIRONMENT);this._update();const r=this.renderingContext;if(!this._passParameters.texture){const e=new C(1,512);e.wrapMode=33071,e.flipped=!0,this._passParameters.texture=new E(r,e,A)}if(this._passParameters.undergroundFadeAlpha<1){this._vao??=this._createRibbon(r),this._configuration.geometry=0;const e=this.techniques.getCompiled(v,this._configuration);if(!e)return this.requestRender(1),t;r.bindTechnique(e,this.bindParameters,this._passParameters),r.bindVAO(this._vao),r.drawArrays(U.TRIANGLES,0,this._vao.vertexCount("geometry"))}if(this._passParameters.undergroundFadeAlpha>0){this._fadeVao??=F(r),this._configuration.geometry=2;const e=this.techniques.getCompiled(v,this._configuration);if(!e)return this.requestRender(1),t;r.bindTechnique(e,this.bindParameters,this._passParameters),r.bindVAO(this._fadeVao),r.drawArrays(U.TRIANGLE_STRIP,0,this._fadeVao.vertexCount("geometry"))}return t}_update(){const e=this.bindParameters.camera,s=d(),i=this._planetRadius,o=p(e.eye),a=o-i;if(a<0){const e=Math.min(-a/5e3,1);this._passParameters.undergroundFadeAlpha=e}else this._passParameters.undergroundFadeAlpha=0;const n=Math.max(B,a),m=i+I;this._passParameters.innerScale=J(i+n,i,m)-1,this._passParameters.altitudeFade=j(a),c(s,e.eye,(i+B)/o),k(s,e.center,e.up,i,this._passParameters.silhouette);const l=this._computeScreenRimWidth(e,s,e.up,this._passParameters.silhouette),u=D(),_=G(a);let f=this._texV0+u*this._texVScale,g=this._texV0+l*_*this._texVScale;if(a>B){k(e.eye,e.center,e.up,i,this._passParameters.silhouette);const s=this._computeScreenRimWidth(e,e.eye,e.up,this._passParameters.silhouette),o=r((s-1.5)/(l-1.5),0,1);f=this._texV0+o*u*this._texVScale,g=this._texV0+t(this._texV1,l*_,o)*this._texVScale}h(this._passParameters.texV,f,g)}_createRibbon(e){const t=x(3+3*N*3),r=new Uint32Array(3*N*5);t[0]=0,t[1]=0,t[2]=-1;for(let o=0;o<N;o++){const e=9*o+3;t[e]=o,t[e+1]=this._innerRimFactor,t[e+2]=-1,t[e+3]=o,t[e+4]=this._middleRimFactor,t[e+5]=0,t[e+6]=o,t[e+7]=this._outerRimFactor,t[e+8]=1;const s=3*o+1,i=o===N-1?1:s+3,a=15*o;r[a]=s,r[a+1]=s+1,r[a+2]=i+1,r[a+3]=i+1,r[a+4]=i,r[a+5]=s,r[a+6]=s+1,r[a+7]=s+2,r[a+8]=i+2,r[a+9]=i+2,r[a+10]=i+1,r[a+11]=s+1,r[a+12]=s,r[a+13]=i,r[a+14]=0}const s=P.createBuffer(r.length),i=s.position;for(let o=0;o<r.length;++o){const e=3*r[o];i.set(o,0,t[e]),i.set(o,1,t[e+1]),i.set(o,2,t[e+2])}return new T(e,new O(e,S(P),s.buffer))}_computeScreenRimWidth(e,t,r,s){return l(H,s.center,s.v2),c(Q,H,this._outerRimFactor),n(z,t,H,r),M(H,z,e.projectionMatrix,e.viewport,H),M(Q,z,e.projectionMatrix,e.viewport,Q),u(H,Q)/e.height}};function k(e,t,r,s,i){const o=p(e),a=s*Math.sqrt(o*o-s*s)/o,n=Math.sqrt(s*s-a*a),m=i.v1,h=i.v2;return c(i.center,e,n/o),_(m,e,t),f(m)<1&&_(m,e,r),c(m,m,a/p(m)),_(h,m,e),c(h,h,a/p(h)),a}L=e([a("esri.views.3d.environment.MarsAtmosphere")],L);const z=m(),H=d(),Q=d();function J(e,t,r){return e*e/(Math.sqrt(e*e-t*t)*Math.sqrt(e*e-r*r)+t*r)}export{L as MarsAtmosphere};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"./NoiseTextureAtlasDimensions.js";import"../webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../../webgl/NoParameters.js";import"../../webgl/ShaderBuilder.js";export{N as NoiseTextureAtlasPassParameters,b as build}from"../../../chunks/NoiseTextureAtlas.glsl.js";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import{disposeMaybe as r}from"../../../core/maybe.js";import{subclass as o}from"../../../core/accessorSupport/decorators.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import{equals as i,copy as n}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{N as c}from"../../../chunks/NoiseTextureAtlas.glsl.js";import{NoiseTextureAtlasTechniqueConfiguration as a}from"./NoiseTextureAtlasConfiguration.js";import{atlasSize as u}from"./NoiseTextureAtlasDimensions.js";import{NoiseTextureAtlasTechnique as h}from"./NoiseTextureAtlasTechnique.js";import{FramebufferObject as m}from"../../webgl/FramebufferObject.js";import{TextureDescriptor as p}from"../../webgl/TextureDescriptor.js";let f=class extends e{constructor(t){super(t),this._passParameters=new c,this._configuration=new a,this._fbo=new m(t.context.renderContext.rctx,new p(u)),t.context.techniques.precompile(h,this._configuration)}get textureAtlas(){if(this._texture)return this._texture;const t=this.context.techniques.getCompiled(h,this._configuration);return t&&(this._texture=this._render(t)),this._texture}updateWeatherMap(t){i(this._passParameters.weatherTile,t)||(n(this._passParameters.weatherTile,t),this._configuration.mode=this._texture?1:0,this._texture=null,this.context.techniques.precompile(h,this._configuration))}destroy(){this._fbo=r(this._fbo)}_render(t){if(!this._fbo)return null;const e=this.context.renderContext.rctx,r=e.getViewport();return e.setViewport(0,0,u,u),e.bindFramebuffer(this._fbo),e.bindTechnique(t,this.context.renderContext.bind,this._passParameters),e.screen.draw(),e.setViewport(r.x,r.y,r.width,r.height),this._fbo.colorTexture}};t([s({constructOnly:!0})],f.prototype,"context",void 0),f=t([o("esri.views.3d.environment.NoiseTextureAtlas")],f);export{f as NoiseTextureAtlas};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{parameter as o,ShaderTechniqueConfiguration as r}from"../webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";class t extends r{constructor(){super(...arguments),this.mode=0}}e([o({count:2})],t.prototype,"mode",void 0);export{t as NoiseTextureAtlasTechniqueConfiguration};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import has from"../../../core/has.js";const e=has("esri-mobile")?64:128,o=e/128,r=Math.ceil(Math.sqrt(e)),t=(e+2)*r,s=1e5,i=128,a=t/1560;export{t as atlasSize,o as textureScale,r as tileRows,e as tileSize,a as weatherMapScale,s as weatherMapSize,i as weatherTileSize};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{a as s}from"../../../chunks/NoiseTextureAtlas.glsl.js";import{ReloadableShader as o}from"../webgl-engine/core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{makePipelineState as i,defaultColorWrite as n,copySource as l,separateBlendingParams as a}from"../../webgl/renderState.js";let c=class extends t{constructor(){super(...arguments),this.shader=new o(s,()=>import("./NoiseTextureAtlas.glsl.js"))}initializePipeline(e){return i({blending:0===e.mode?l:a(0,1,1,0),depthTest:{func:519},colorWrite:n})}};c=e([r("esri.views.3d.environment.NoiseTextureAtlasTechnique")],c);export{c as NoiseTextureAtlasTechnique};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../../../core/libs/gl-matrix-2/math/vec3.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Matrix4BindUniform.js";import"../../webgl/ShaderBuilder.js";export{b as build}from"../../../chunks/Precipitation.glsl.js";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{lerp as t}from"../../../core/mathUtils.js";import{disposeMaybe as s}from"../../../core/maybe.js";import{watch as i,syncAndInitial as r,sync as n}from"../../../core/reactiveUtils.js";import{secondsFromMilliseconds as o}from"../../../core/time.js";import{property as a,subclass as d}from"../../../core/accessorSupport/decorators.js";import{getReferenceEllipsoid as c}from"../../../geometry/ellipsoidUtils.js";import{getContinuousIndexArray as p}from"../../../geometry/support/Indices.js";import{InternalRenderCategory as m}from"../webgl.js";import{PrecipitationPassParameters as h,PrecipitationTechnique as f}from"./PrecipitationTechnique.js";import{PrecipitationTechniqueConfiguration as u}from"./PrecipitationTechniqueConfiguration.js";import{glLayout as l}from"../support/buffer/glUtil.js";import{newLayout as _}from"../support/buffer/InterleavedLayout.js";import{TransparentEnvironment as b}from"../webgl-engine/effects/TransparentEnvironment.js";import{VertexArrayObject as w}from"../webgl-engine/lib/VertexArrayObject.js";import{ColorAttachment0 as y,PrimitiveType as v}from"../../webgl/enums.js";import{bindVertexBufferLayout as g}from"../../webgl/Util.js";import{fromLayout as P}from"../../webgl/VertexAttributeLocations.js";import{VertexBuffer as j}from"../../webgl/VertexBuffer.js";let I=class extends b{constructor(e){super(e),this._hasSnowCover=!1,this._rainSpeed=.1,this._snowSpeed=.01,this._numParticles=0,this._passParameters=new h,this._configuration=new u;const{view:t,type:s}=e;this._configuration.type="rainy"===s?0:1,this._passParameters.time=0,this._passParameters.radius=c(t.spatialReference).radius,this.addHandles([i(()=>t.environment.weather,e=>{e.type===s&&this.addHandles([i(()=>e.precipitation,e=>this._adjustParticles(e),r),i(()=>"snowy"===e.type&&"enabled"===e.snowCover,e=>this._hasSnowCover=e,r)])},r)]),this.addHandles(i(()=>t.stage?.renderer.renderContext.bind.clouds.fadeFactor??1,e=>{this._passParameters.opacity=e,1===e&&(this.removeHandles("opacity"),this.addHandles(i(()=>t.stage?.renderer.renderContext.bind.clouds.opacity??1,e=>this._passParameters.opacity=e,r),"opacity"))},n),"opacity")}initialize(){this.addHandles([i(()=>this.view.environment.atmosphereEnabled,e=>e?this._enable():this._disable(),r)])}_adjustParticles(e){const s=.35,i=e<.5?t(0,s,2*e):t(s,1,2*(e-.5));this._numParticles=C*i}destroy(){this._numParticles=0,this._vao=s(this._vao),this._instanceIdBuffer=s(this._instanceIdBuffer)}fadeOut(e){this.removeAllHandles(),this.addHandles(i(()=>this.renderContext?.bind.clouds.fadeFactor??1,t=>{this._passParameters.opacity=1-t,1===t&&(this.removeAllHandles(),e())}),"opacity")}get snowCover(){return this._hasSnowCover?this._passParameters.opacity:null}updateAnimation(e){const t=("rainy"===this.type?this._rainSpeed:this._snowSpeed)*o(e.time)%1e5;return this._passParameters.time!==t&&(this._passParameters.time=t,!0)}precompile(){this.view.stage.renderView.techniques.precompile(f,this._configuration)}render(e){const t=e.find(({name:e})=>e===m.TRANSPARENT_ENVIRONMENT),s=this.techniques.getCompiled(f,this._configuration);if(!s)return this.requestRender(1),t;const i=Math.round(this._numParticles*this._passParameters.opacity);if(i<1)return t;const r=this.renderingContext,n=r.bindTechnique(s,this.bindParameters,this._passParameters);return r.setDrawBuffers([y]),this._vao??=A(r),r.bindVAO(this._vao),this._bindInstanceIdBuffer(n.locations),n.assertCompatibleVertexAttributeLocations(this._vao,P(x)),r.drawArraysInstanced(v.TRIANGLES,0,3,i),r.unbindBuffer(34962),t}_bindInstanceIdBuffer(e){const t=this.renderingContext;if(this._instanceIdBuffer)return void t.bindBuffer(this._instanceIdBuffer);const s=p(C);this._instanceIdBuffer=new j(t,x,new Float32Array(s)),g(t,e,this._instanceIdBuffer,0)}};function A(e){const t=new Float32Array([-1,0,1,1,0,-1,1,0,1]);return new w(e,new j(e,l(B),t))}e([a({constructOnly:!0})],I.prototype,"type",void 0),I=e([d("esri.views.3d.environment.Precipitation")],I);const C=25e4,B=_().vec3f("position").freeze(),x=l(_().f32("instanceFeatureAttribute"),1);export{I as Precipitation};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{P as t}from"../../../chunks/Precipitation.glsl.js";import{ReloadableShader as i}from"../webgl-engine/core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{DataType as o}from"../../webgl/enums.js";import{NoParameters as n}from"../../webgl/NoParameters.js";import{makePipelineState as c,defaultColorWrite as m,premultipliedAlpha as a}from"../../webgl/renderState.js";import{VertexElementDescriptor as p}from"../../webgl/VertexElementDescriptor.js";class l extends n{constructor(){super(...arguments),this.time=0,this.radius=1,this.width=500,this.opacity=0}}let h=class extends s{constructor(e,r){super(e,r,[new p("position",2,o.FLOAT,0,16),new p("instanceFeatureAttribute",2,o.FLOAT,8,16)]),this.shader=new i(t,()=>import("./Precipitation.glsl.js"))}initializePipeline(){return c({blending:a,depthTest:{func:515},colorWrite:m})}};h=e([r("esri.views.3d.environment.PrecipitationTechnique")],h);export{l as PrecipitationPassParameters,h as PrecipitationTechnique};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{parameter as o,ShaderTechniqueConfiguration as t}from"../webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";class r extends t{constructor(){super(...arguments),this.type=0}}e([o({count:2})],r.prototype,"type",void 0);export{r as PrecipitationTechniqueConfiguration};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../webgl-engine/core/shaderLibrary/Transform.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Matrix4BindUniform.js";import"../webgl-engine/core/shaderModules/Texture2DPassUniform.js";import"../../webgl/NoParameters.js";import"../../webgl/ShaderBuilder.js";export{b as SilhouetteCircle,S as SimpleAtmospherePassParameters,c as build}from"../../../chunks/SimpleAtmosphere.glsl.js";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{a as o}from"../../../chunks/SimpleAtmosphere.glsl.js";import{glLayout as t}from"../support/buffer/glUtil.js";import{newLayout as i}from"../support/buffer/InterleavedLayout.js";import{ReloadableShader as s}from"../webgl-engine/core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as n}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{makePipelineState as p,defaultColorWrite as m,backFaceCullingParams as l,unpremultipliedAlphaToPremultipliedAlpha as c}from"../../webgl/renderState.js";let a=class extends n{constructor(e,r){super(e,r,t(u)),this.shader=new s(o,()=>import("./SimpleAtmosphere.glsl.js"))}initializePipeline(e){const r=1===e.geometry;return p({blending:c,culling:r?l:void 0,depthTest:{func:515},colorWrite:m})}};a=e([r("esri.views.3d.environment.SimpleAtmosphereTechnique")],a);const u=i().vec3f("position").freeze();export{a as SimpleAtmosphereTechnique,u as layout};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{parameter as o}from"../webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as r}from"../webgl-engine/materials/DefaultTechniqueConfiguration.js";class t extends r{constructor(){super(...arguments),this.geometry=0}}e([o({count:3})],t.prototype,"geometry",void 0);export{t as SimpleAtmosphereTechniqueConfiguration};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{clamp as e}from"../../../core/mathUtils.js";import{fromValues as r}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";function o(r){return e((r-t)/i,0,1)}const t=1e5,i=1e6-t,c=1e4,m=r(5802e-9,13558e-9,331e-7),s=3,f=r(65e-8*s,1881e-9*s,85e-9*s),n=3996e-9,a=r(m[0]+f[0],m[1]+f[1],m[2]+f[2]);export{a as betaCombined,n as betaMie,f as betaOzone,m as betaRayleigh,o as computeInnerAltitudeFade,c as innerAtmosphereDepth,t as innerAtmosphereFadeStart};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{disposeMaybe as t}from"../../../../core/maybe.js";import{watch as i,syncAndInitial as s}from"../../../../core/reactiveUtils.js";import{property as o,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{copy as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{RenderNodeOutput as a,InternalRenderCategory as n}from"../../webgl.js";import{glLayout as u}from"../../support/buffer/glUtil.js";import{newLayout as c}from"../../support/buffer/InterleavedLayout.js";import h from"../../webgl/RenderNode.js";import{VertexArrayObject as m}from"./VertexArrayObject.js";import{C as d}from"../../../../chunks/CutFillComposition.glsl.js";import{CutFillCompositionTechnique as p}from"../shaders/CutFillCompositionTechnique.js";import{C as f}from"../../../../chunks/CutFillMask.glsl.js";import{CutFillMaskTechnique as C}from"../shaders/CutFillMaskTechnique.js";import{DefaultMaterialPassParameters as _,DefaultMaterialDrawParameters as b,DefaultMaterialTechnique as g}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as V}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{DepthStencilAttachment as v,PrimitiveType as w}from"../../../webgl/enums.js";import{noParameters as F}from"../../../webgl/NoParameters.js";import{VertexBuffer as P}from"../../../webgl/VertexBuffer.js";let y=class extends h{constructor(e){super(e),this.consumes={required:[a.OPAQUE]},this.produces=n.CUTFILL_COLOR,this.measureType="cut-fill",this._vaoCut=null,this._vaoFill=null,this._maskParameters=new f,this._cutVolumeParameters=new _,this._fillVolumeParameters=new _,this._compositeParameters=new d,this._drawParameters=new b;const t=1===e.view.state.viewingMode;this._cutVolumeConfiguration=new V(t),this._cutVolumeConfiguration.customDepthTest=2,this._cutVolumeConfiguration.writeDepth=!1,this._cutVolumeConfiguration.cullFace=1,this._cutVolumeConfiguration.doubleSidedMode=2,this._fillVolumeConfiguration=new V(t),this._fillVolumeConfiguration.cullFace=2}initialize(){this.addHandles([i(()=>[this.cutColor,this.fillColor],()=>this._updateColors(),s),i(()=>this.measureType,()=>{this.precompile(),this.requestRender(1)},s)])}destroy(){this._disposeVaos()}precompile(){"cut-fill"===this.measureType?(this._cutVolumeConfiguration.cullFace=1,this._cutVolumeConfiguration.doubleSidedMode=2):(this._cutVolumeConfiguration.cullFace=0,this._cutVolumeConfiguration.doubleSidedMode=0),this.techniques.precompile(g,this._cutVolumeConfiguration),this.techniques.precompile(g,this._fillVolumeConfiguration),this.techniques.precompile(C),this.techniques.precompile(p)}render(e){const t=this.techniques.getCompiled(g,this._cutVolumeConfiguration),i=this.techniques.getCompiled(g,this._fillVolumeConfiguration),s=this.techniques.getCompiled(C),o=this.techniques.getCompiled(p),r=e.find(({name:e})=>e===this.produces);if(!this._vaoCut||!this._vaoFill)return r;const l=this._vaoCut.vertexCount("geometry"),a=this._vaoFill.vertexCount("geometry");if(!(t&&i&&s&&o))return this.requestRender(1),r;const n=this.bindParameters,u=n.camera,c=u.fullViewport[2],h=u.fullViewport[3],m=this.renderingContext,d=this.fboCache,f=d.acquire(c,h,"cutfill color mask",2);f.attachDepth(r.getAttachment(v)),m.bindFramebuffer(f.fbo),m.setClearColor(0,0,0,1),m.clear(17408),m.setViewport(0,0,c,h),m.bindTechnique(s,n,F,this._maskParameters),m.setFaceCullingEnabled(!1),m.setStencilTestEnabled(!0),m.setStencilOpSeparate(1028,7680,34055,7680),m.setStencilOpSeparate(1029,7680,34056,7680),m.setDepthWriteEnabled(!1),m.bindVAO(this._vaoCut),m.setDepthTestEnabled(!0),m.setStencilWriteMask(255),m.setStencilFunction(519,0,255),m.setColorMask(!1,!1,!1,!1),m.drawArrays(w.TRIANGLES,0,l),m.setDepthTestEnabled(!1),m.setStencilWriteMask(0),m.setStencilFunction(517,0,255),m.setColorMask(!0,!1,!1,!1),m.drawArrays(w.TRIANGLES,0,l),m.bindVAO(this._vaoFill),m.setDepthTestEnabled(!0),m.setStencilWriteMask(255),m.setStencilFunction(519,0,255),m.setColorMask(!1,!0,!1,!1),m.drawArrays(w.TRIANGLES,0,a);const _=d.acquire(c,h,"cutfill color volumes",5);_.attachDepth(r.getAttachment(v)),m.bindFramebuffer(_.fbo),m.setClearColor(0,0,0,0),m.clear(16384),m.setColorMask(!0,!0,!0,!0),m.bindTechnique(t,this.bindParameters,this._cutVolumeParameters,this._drawParameters),m.setPolygonOffset(1,1),m.setPolygonOffsetFillEnabled(!0),m.bindVAO(this._vaoCut),m.drawArrays(w.TRIANGLES,0,l),m.bindTechnique(i,this.bindParameters,this._fillVolumeParameters,this._drawParameters),m.setPolygonOffset(0,0),m.setPolygonOffsetFillEnabled(!1),m.bindVAO(this._vaoFill),m.drawArrays(w.TRIANGLES,0,a);const b=this.fboCache.acquire(c,h,this.produces);return m.bindFramebuffer(b.fbo),this._compositeParameters.color=r.getTexture(),this._compositeParameters.cutFillVolumes=_.getTexture(),this._compositeParameters.cutFillMask=f.getTexture(),this.borderColor.toUnitRGBA(this._compositeParameters.borderColor),m.bindTechnique(o,n,this._compositeParameters),m.screen.draw(),f.release(),_.release(),b.attachDepth(r.getAttachment(v)),b}enable(){this.produces=n.CUTFILL_COLOR,this.requestRender(1)}disable(){this.produces="disabled",this.requestRender(1)}updateGeometries(e,t,i){this._disposeVaos(),this._vaoCut=this._createVao(e),this._vaoFill=this._createVao(t),this._maskParameters.origin=i,l(this._drawParameters.origin,i),this.requestRender(1)}_updateColors(){this._cutVolumeParameters.diffuse=this.cutColor.toUnitRGB(),this._cutVolumeParameters.opacity=this.cutColor.a,this._fillVolumeParameters.diffuse=this.fillColor.toUnitRGB(),this._fillVolumeParameters.opacity=this.fillColor.a,this.requestRender(1)}_createVao(e){const t=e.reduce((e,{indicesBottom:t,indicesExtruded:i})=>e+t.length+i.length,0),i=this.renderingContext,s=T.createBuffer(t),{position:o,normal:r}=s;let l=0;for(const n of e){const{vertices:e,normals:t,indicesBottom:i,indicesExtruded:s}=n;for(let a=0;a<i.length;a++){const s=3*i[a];o.set(l,0,e[s]),o.set(l,1,e[s+1]),o.set(l,2,e[s+2]),r.set(l,0,t[s]),r.set(l,1,t[s+1]),r.set(l,2,t[s+2]),l++}for(let a=0;a<s.length;a++){const i=3*s[a];o.set(l,0,e[i]),o.set(l,1,e[i+1]),o.set(l,2,e[i+2]),r.set(l,0,t[i]),r.set(l,1,t[i+1]),r.set(l,2,t[i+2]),l++}}const a=new P(i,u(T),s.buffer);return new m(i,a)}_disposeVaos(){this._vaoCut=t(this._vaoCut),this._vaoFill=t(this._vaoFill)}};e([o()],y.prototype,"consumes",void 0),e([o()],y.prototype,"produces",void 0),e([o()],y.prototype,"cutColor",void 0),e([o()],y.prototype,"fillColor",void 0),e([o()],y.prototype,"borderColor",void 0),e([o()],y.prototype,"measureType",void 0),y=e([r("esri.views.3d.webgl-engine.lib.CutFillColor")],y);const T=c().vec3f("position").vec3f("normal").freeze();class q{constructor(e,t,i,s){this.vertices=e,this.indicesBottom=t,this.indicesExtruded=i,this.normals=s}}export{y as CutFillColor,q as VolumeGeometry};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import{nextPowerOfTwo as e}from"../../../../core/mathUtils.js";import{disposeMaybe as i,destroyMaybe as r}from"../../../../core/maybe.js";import{property as s,subclass as h}from"../../../../core/accessorSupport/decorators.js";import{ortho as o}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{set as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as u}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UNIT_X as l,ZEROS as c}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{RenderNodeOutput as d,InternalRenderCategory as p}from"../../webgl.js";import{Frustum as _}from"../../state/Frustum.js";import{glLayout as f}from"../../support/buffer/glUtil.js";import{newLayout as m}from"../../support/buffer/InterleavedLayout.js";import g from"../../webgl/RenderCamera.js";import C from"../../webgl/RenderNode.js";import{ShaderOutputConfiguration as F}from"../core/shaderLibrary/ShaderOutputConfiguration.js";import{VertexArrayObject as w}from"./VertexArrayObject.js";import{C as R}from"../../../../chunks/CutFillDepth.glsl.js";import{CutFillDepthTechnique as P}from"../shaders/CutFillDepthTechnique.js";import{CutFillDepthTechniqueConfiguration as T}from"../shaders/CutFillDepthTechniqueConfiguration.js";import{C as b}from"../../../../chunks/CutFillReduction.glsl.js";import{CutFillReductionTechnique as x}from"../shaders/CutFillReductionTechnique.js";import{CutFillReductionTechniqueConfiguration as D}from"../shaders/CutFillReductionTechniqueConfiguration.js";import{C as B}from"../../../../chunks/CutFillTargetDepth.glsl.js";import{CutFillTargetDepthTechnique as y}from"../shaders/CutFillTargetDepthTechnique.js";import{ImmediateTask as j,TaskPriority as q}from"../../../support/Scheduler.js";import{Yield as S}from"../../../support/Yield.js";import{PrimitiveType as v,DataType as E}from"../../../webgl/enums.js";import{Sync as V}from"../../../webgl/Sync.js";import{VertexBuffer as O}from"../../../webgl/VertexBuffer.js";let A=class extends C{constructor(t){super(t),this.consumes={required:[d.TRANSPARENT]},this.produces=p.CUTFILL_DEPTH,this._cutFillTargetDepthConfiguration=new F,this._cutFillDepthConfiguration=new T,this._cutFillReductionConfiguration=new D,this._cutFillTargetDepthParameters=new B,this._cutFillDepthParameters=new R,this._cutFillReductionParameters=new b,this.needsRender=!1,this.readyToRun=!1,this.done=!0,this._frameTask=j,this._results=new k,this._localOrigin=u(),this._maxTextureSize=512,this._width=0,this._height=0,this._reducedWidth=0,this._reducedHeight=0,this._depthFormat=13,this._colorFormat=10,this._numChannels=2,this._targetVao=null,this._numReductions=3,this._reductionPasses=0,this._pixelBufferSize=0,this._pixelBufferOffset=0,this._perReductionPixelBufferSize=0}initialize(){this._frameTask=this.view.resourceController.scheduler.registerTask(q.VOLUME_MEASUREMENT,this),this.addHandles(this._frameTask),this._maxTextureSize=Math.min(this._maxTextureSize,this.fboCache.rctx.parameters.maxTextureSize),this._cutFillTargetDepthConfiguration.output=7,this._frustum=new _(this.view.renderCoordsHelper)}destroy(){this._targetVao=i(this._targetVao);const t=this.gl;this._sync=r(this._sync),this._pixelBuffer&&(t.deleteBuffer(this._pixelBuffer),this._pixelBuffer=null,this._pixelBufferSize=0)}precompile(){this.techniques.precompile(y,this._cutFillTargetDepthConfiguration),this._cutFillDepthConfiguration.preparePass=0,this.techniques.precompile(P,this._cutFillDepthConfiguration),this._cutFillDepthConfiguration.preparePass=1,this.techniques.precompile(P,this._cutFillDepthConfiguration),this._cutFillReductionConfiguration.reductionPass=0,this.techniques.precompile(x,this._cutFillReductionConfiguration),this._cutFillReductionConfiguration.reductionPass=1,this.techniques.precompile(x,this._cutFillReductionConfiguration),this._cutFillReductionConfiguration.reductionPass=2,this.techniques.precompile(x,this._cutFillReductionConfiguration),this.view.stage.renderer.precompileCutFill()}render(t){const e=t.find(({name:t})=>t===p.CUTFILL_DEPTH);if(!this._orthographicCamera||!this._targetVao||!this.needsRender||this._sync)return e;const i=this.techniques.getCompiled(y,this._cutFillTargetDepthConfiguration);this._cutFillDepthConfiguration.preparePass=0;const r=this.techniques.getCompiled(P,this._cutFillDepthConfiguration);this._cutFillDepthConfiguration.preparePass=1;const s=this.techniques.getCompiled(P,this._cutFillDepthConfiguration);this._cutFillReductionConfiguration.reductionPass=0;const h=this.techniques.getCompiled(x,this._cutFillReductionConfiguration);this._cutFillReductionConfiguration.reductionPass=1;const o=this.techniques.getCompiled(x,this._cutFillReductionConfiguration);this._cutFillReductionConfiguration.reductionPass=2;const n=this.techniques.getCompiled(x,this._cutFillReductionConfiguration);if(!(i&&r&&s&&h&&o&&n))return this.requestRender(1),e;this.needsRender=!1;const a=this.renderingContext,u=this.fboCache,d=this.gl,_=a.getViewport(),f=u.acquire(this._width,this._height,"cutfill reference depth",this._depthFormat);a.bindFramebuffer(f.fbo),a.setViewport(0,0,this._width,this._height),a.clear(1280),this.view.stage.renderer.renderCutFillReferenceDepth(this._orthographicCamera);const m=u.acquire(this._width,this._height,"cutfill target depth",this._depthFormat);a.bindFramebuffer(m.fbo),a.setViewport(0,0,this._width,this._height),a.setClearDepth(1),a.clear(256),this._cutFillTargetDepthParameters.origin=this._localOrigin,this._cutFillTargetDepthParameters.cutFillCamera=this._orthographicCamera,a.bindTechnique(i,this.bindParameters,this._cutFillTargetDepthParameters),a.bindVAO(this._targetVao),a.drawArrays(v.TRIANGLES,0,this._targetVao.vertexCount("geometry"));const g=u.acquire(this._width,this._height,"cutfill reduction even",this._colorFormat),C=u.acquire(this._width,this._height,"cutfill reduction odd",this._colorFormat);return this._cutFillDepthParameters.referenceDepthTexture=f.depthTexture,this._cutFillDepthParameters.targetDepthTexture=m.depthTexture,this._pixelBuffer||(this._pixelBuffer=d.createBuffer()),d.bindBuffer(d.PIXEL_PACK_BUFFER,this._pixelBuffer),d.bufferData(d.PIXEL_PACK_BUFFER,this._pixelBufferSize,d.STREAM_READ),this._prepareFBO(g,this.width,this.height),a.bindTechnique(r,this.bindParameters,this._cutFillDepthParameters),a.screen.draw(),this._runPyramidReduction(g,C,h),this._prepareFBO(g,this.width,this.height,l),a.bindTechnique(s,this.bindParameters,this._cutFillDepthParameters),a.screen.draw(),this._runPyramidReduction(g,C,o),this._prepareFBO(g,this.width,this.height,c),a.bindTechnique(s,this.bindParameters,this._cutFillDepthParameters),a.screen.draw(),this._runPyramidReduction(g,C,n),f.release(),m.release(),g.release(),C.release(),d.bindBuffer(d.PIXEL_PACK_BUFFER,null),a.setViewport(_.x,_.y,_.width,_.height),this._sync=new V(d),setTimeout(()=>this.readyToRun=!0,0),e}update(t,i){if(!this.done)return;this.done=!1;const r=this.renderingContext,{cameraDimensions:{width:s,height:h},localOriginRenderSpace:o}=t,n=this._maxTextureSize,a=h/s,u=s>h?n:n/a,l=s>h?n*a:n;this._width=e(u),this._height=e(l);const c=[this._width,this._height];this._orthographicCamera=this._createCamera(t,c),this._frustum?.update(this._orthographicCamera),this._updateTargetVao(r,i),this._localOrigin=o,this._reductionPasses=Math.ceil(Math.log2(Math.min(this._width,this._height))),this._reducedWidth=Math.ceil(this._width/2**this._reductionPasses),this._reducedHeight=Math.ceil(this._height/2**this._reductionPasses),this._perReductionPixelBufferSize=this._reducedWidth*this._reducedHeight*this._numChannels*4,this._pixelBufferSize=this._perReductionPixelBufferSize*this._numReductions,this._pixelBufferOffset=0,this.needsRender=!0,this.requestRender(1)}runTask(){if(!this._sync)return void(this.readyToRun=!1);try{if(!this._sync.poll())return S}catch(e){return this.readyToRun=!1,void(this._sync=r(this._sync))}this.readyToRun=!1,this._sync=r(this._sync);const t=this.gl;this._cpuBuffer=new Float32Array(this._pixelBufferSize/4),t.bindBuffer(t.PIXEL_PACK_BUFFER,this._pixelBuffer),t.getBufferSubData(t.PIXEL_PACK_BUFFER,0,this._cpuBuffer),t.bindBuffer(t.PIXEL_PACK_BUFFER,null),this._updateResults(this._cpuBuffer),this.done=!0}getResults(){return this._results}get frustum(){return this._frustum}get width(){return this._width}get height(){return this._height}get updating(){return this.readyToRun||!this.done||this._frameTask.updating}_runPyramidReduction(t,e,i){const r=this.renderingContext,s=this.gl;let h=this._width,o=this._height;for(let n=0;n<this._reductionPasses;n++)h=Math.ceil(h/2),o=Math.ceil(o/2),this._cutFillReductionParameters.depthTexture=t.getTexture(),this._prepareFBO(e,h,o),r.bindTechnique(i,this.bindParameters,this._cutFillReductionParameters),r.screen.draw(),[t,e]=[e,t];s.readPixels(0,0,h,o,33319,E.FLOAT,this._pixelBufferOffset),this._pixelBufferOffset+=this._perReductionPixelBufferSize}_updateResults(t){const e=new U(0,1,a()),i=new U(0,0,a());for(let r=0;r<this._reducedWidth;r++)for(let s=0;s<this._reducedHeight;s++){let h=(r+s*this._reducedWidth)*this._numChannels;const o=this._reducedWidth*this._reducedHeight*this._numChannels;e.totalDepth+=t[h],i.totalDepth+=t[h+1],h+=o;const n=t[h];n<e.labelDepth&&(e.labelDepth=n,L(e.labelCoords,t[h+1],this._width)),h+=o;const a=t[h];a>i.labelDepth&&(i.labelDepth=a,L(i.labelCoords,t[h+1],this._width))}this._results=new k(this._width,this._height,e,i)}_prepareFBO(t,e,i,r=c){const s=this.renderingContext;s.bindFramebuffer(t.fbo),s.setViewport(0,0,e,i),s.setClearColor(r[0],r[1],r[2],r[3]),s.clear(16384)}_createCamera(t,e){const{cameraPositionRenderSpace:i,localOriginRenderSpace:r,northVector:s,cameraDimensions:{width:h,height:n},cameraNearFar:{near:a,far:u}}=t,l=new g({eye:i,center:r,up:s,near:a,far:u});return l.viewport=[0,0,e[0],e[1]],o(l.projectionMatrix,-h/2,h/2,-n/2,n/2,a,u),l}_updateTargetVao(t,e){this._targetVao=i(this._targetVao);const r=e.reduce((t,e)=>t+e.indices.length,0),s=z.createBuffer(r),h=s.position;let o=0;for(const i of e){const{positions:t,indices:e}=i;for(let i=0;i<e.length;++i){const r=3*e[i];h.set(o,0,t[r]),h.set(o,1,t[r+1]),h.set(o,2,t[r+2]),o++}}const n=new O(t,f(z),s.buffer);this._targetVao=new w(t,n)}};t([s()],A.prototype,"consumes",void 0),t([s()],A.prototype,"produces",void 0),t([s()],A.prototype,"needsRender",void 0),t([s()],A.prototype,"readyToRun",void 0),t([s()],A.prototype,"done",void 0),t([s()],A.prototype,"updating",null),t([s()],A.prototype,"_frameTask",void 0),A=t([h("esri.views.3d.webgl-engine.lib.CutFillDepth")],A);const z=m().vec3f("position").freeze();function L(t,e,i){const r=e%i,s=Math.floor(e/i);n(t,r,s)}class M{constructor(t,e){this.positions=t,this.indices=e}}class U{constructor(t,e,i){this.totalDepth=t,this.labelDepth=e,this.labelCoords=i}}class k{constructor(t=0,e=0,i=new U(0,1,a()),r=new U(0,0,a())){this.width=t,this.height=e,this.cut=i,this.fill=r}}export{A as CutFillDepth,U as DepthResult,k as RenderResult,M as TargetGeometryRenderInfo};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{MeasurementWorkerHandle as e}from"./MeasurementWorkerHandle.js";const r=e=>({geodesicArea:(r,o)=>e.geodeticArea(r,{unit:"square-meters",curveType:"geodesic",...o})});async function o(){const o=new e({preloadGeodetic:!0});return r(o)}export{o as loadGeodesicAreaMeasurementUtils};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{createLength as e}from"../../core/quantity.js";import{create as t}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{inverseGeodeticSolver as r,InverseGeodeticSolverResult as n,geodesicLengths as s}from"../../geometry/geodesicUtils.js";import o from"../../geometry/Polyline.js";import{l as i,e as c}from"../../chunks/geodeticLengthOperator.js";import{equals as a}from"../../geometry/support/spatialReferenceUtils.js";import{isCurvedGeometry as m}from"../../geometry/support/curves/curveUtils.js";import{geodesicMeasure as u}from"./geodesicMeasurementUtils.js";import{MeasurementWorkerHandle as f}from"./MeasurementWorkerHandle.js";const p=e=>({geodesicLength:d,geodesicDistanceBetweenPoints:y,geodesicDistance:j,geodesicLengthAsync:e.geodeticLength.bind(e)}),l={geodesicDistanceBetweenPoints:y};async function g(){await i();const e=new f({preloadGeodetic:!0});return p(e)}function d(e){const{spatialReference:t}=e,r=m(e);return u(t,r?x:R,x,e)}function y(e,t){if(!a(e.spatialReference,t.spatialReference))return null;const{spatialReference:r}=e;return v[0]=e.x,v[1]=e.y,v[2]=e.hasZ?e.z:0,D[0]=t.x,D[1]=t.y,D[2]=t.hasZ?t.z:0,j(v,D,r)}function j(e,t,r){return u(r,h,w,e,t,r)}function h(t,n,s){return e(r(U,t,n,s).distance,"meters")}function w(t,r,n){return e(c(L(t,r,n),{unit:"meters"}),"meters")}function R(t){return e(s([t],"meters")[0],"meters")}function x(t){return e(c(t,{unit:"meters"}),"meters")}function L(e,t,r){return new o({spatialReference:r,paths:[[[...e],[...t]]]})}const U=new n,v=t(),D=t();export{g as loadGeodesicLengthMeasurementUtils,l as test};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{isSupported as e}from"../../geometry/geodesicUtils.js";import{isWebMercator as o}from"../../geometry/support/spatialReferenceUtils.js";function r(r){return e(r)||o(r)}function t(o,r,t,...i){return e(o)?r.apply(void 0,i):o.isWebMercator?t.apply(void 0,i):null}const i=1e5;export{i as geodesicDistanceThreshold,t as geodesicMeasure,r as supportsGeodesicMeasurement};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../../core/has.js";import{BufferObject as r}from"./BufferObject.js";import{PrimitiveType as e,DataType as t}from"./enums.js";class i{constructor(r){this._rctx=r,this._indexBuffer=this._createIndexbuffer(),this._program=this._createHelperProgram()}static getShaderSources(){return{vertex:"#version 300 es\n precision highp float;\n\n void main(void) {\n gl_Position = vec4(0.0, 0.0, float(gl_VertexID)-2.0, 1.0);\n }",fragment:"#version 300 es\n precision highp float;\n\n out vec4 fragColor;\n\n void main(void) {\n fragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }"}}_createHelperProgram(){const r=i.getShaderSources();return this._rctx.programCache.get(r.vertex,r.fragment,new Map([]))}_createIndexbuffer(){return r.createIndex(this._rctx,35044,new Uint32Array([0]))}run(){this._program.compiled&&this._indexBuffer&&(this._rctx.bindVAO(null),this._rctx.useProgram(this._program),this._rctx.bindBuffer(this._indexBuffer,34963),this._rctx.drawElements(e.POINTS,1,t.UNSIGNED_INT,0))}dispose(){this._indexBuffer.dispose()}get test(){}}export{i as AppleAmdDriverHelper};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import has from"../../core/has.js";import{glsl as e}from"../3d/webgl-engine/core/shaderModules/glsl.js";import{AppleAmdDriverHelper as r}from"./AppleAmdDriverHelper.js";import{BufferObject as t}from"./BufferObject.js";import{PrimitiveType as o,DataType as n,PixelType as i}from"./enums.js";import{FramebufferObject as s}from"./FramebufferObject.js";import{TextureDescriptor as a}from"./TextureDescriptor.js";import{WebGLDriverTestModule as p}from"./WebGLDriverTestModule.js";class c extends p{constructor(e){super(),this._rctx=e,this._helperProgram=null,has("mac")&&has("chrome")&&(this._program=this._prepareProgram(),this._helperProgram=this._prepareHelperProgram())}_test(e){const r=this._rctx,p=r.getBoundFramebufferObject(),{x:c,y:l,width:m,height:g}=r.getViewport();r.resetState();const f=new a(1);f.wrapMode=33071,f.samplingMode=9728;const d=new s(r,f),h=t.createIndex(this._rctx,35044,new Uint8Array([0]));r.bindFramebuffer(d),r.setViewport(0,0,1,1),r.useProgram(this._helperProgram),r.bindBuffer(h,34963),r.drawElements(o.POINTS,1,n.UNSIGNED_BYTE,0),r.useProgram(e),r.bindVAO(null),r.drawArrays(o.TRIANGLES,0,258);const u=new Uint8Array(4);return d.readPixels(0,0,1,1,6408,i.UNSIGNED_BYTE,u),r.setViewport(c,l,m,g),r.bindFramebuffer(p),d.dispose(),h.dispose(),255===u[0]}_prepareProgram(){const r=85,t=`#version 300 es\n precision highp float;\n\n out float triangleId;\n\n const vec3 triangleVertices[3] = vec3[3](vec3(-0.5, -0.5, 0.0), vec3(0.5, -0.5, 0.0), vec3(0.0, 0.5, 0.0));\n\n void main(void) {\n triangleId = floor(float(gl_VertexID)/3.0);\n\n vec3 position = triangleVertices[gl_VertexID % 3];\n float offset = triangleId / ${e.float(r)};\n position.z = 0.5 - offset;\n\n gl_Position = vec4(position, 1.0);\n }\n `,o=`#version 300 es\n precision highp float;\n\n in float triangleId;\n\n out vec4 fragColor;\n\n void main(void) {\n fragColor = triangleId == ${e.float(r)} ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);\n }\n `;return this._rctx.programCache.get(t,o,new Map([]))}_prepareHelperProgram(){const e=r.getShaderSources();return this._rctx.programCache.get(e.vertex,e.fragment,new Map([]))}}export{c as DrawArraysRequiresIndicesTypeReset};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/views/3d/{environment/resources → webgl-engine/effects/atmosphere}/MarsAtmosphereTexture.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|