@arcgis/core 5.0.0-next.44 → 5.0.0-next.46
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/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/063045ac5553e91c0c4c.js +1 -0
- package/assets/esri/core/workers/chunks/{20ad34f9d45c64392022.js → 08c1ea29678da27136f3.js} +1 -1
- package/assets/esri/core/workers/chunks/{5dc2f2e28c30386efadf.js → 10094eb2b94e98dd4a8a.js} +1 -1
- package/assets/esri/core/workers/chunks/169be08394c5e7703628.js +1 -0
- package/assets/esri/core/workers/chunks/1a6f3531ef3d671e0289.js +1 -0
- package/assets/esri/core/workers/chunks/{b809d499ff050976d9ed.js → 1c58064ea80e6a4a4a3b.js} +1 -1
- package/assets/esri/core/workers/chunks/1c816aff8613d1e4bf38.js +1 -0
- package/assets/esri/core/workers/chunks/{ee67c8a7c1f8b482cd99.js → 1ced78750c61600b2d4e.js} +1 -1
- package/assets/esri/core/workers/chunks/{98175b454e807b1a3c5f.js → 1e152a34e368bd810a0f.js} +1 -1
- package/assets/esri/core/workers/chunks/1e17ad6cdffa5016a3db.js +1 -0
- package/assets/esri/core/workers/chunks/1e2d42e9984ed3437ba2.js +1 -0
- package/assets/esri/core/workers/chunks/2008b22f76071a2dde4e.js +1 -0
- package/assets/esri/core/workers/chunks/2107c93d1fe87f3b8dfa.js +1 -0
- package/assets/esri/core/workers/chunks/2209550b6510e25da375.js +1 -0
- package/assets/esri/core/workers/chunks/229e1ed4282005aa0b83.js +1 -0
- package/assets/esri/core/workers/chunks/22b8eaa6afab0e5ffc47.js +1 -0
- package/assets/esri/core/workers/chunks/{1c0fb4795a52204882a8.js → 2550d2ba935cfdf30236.js} +1 -1
- package/assets/esri/core/workers/chunks/{49e6219dd08cb6c27023.js → 273ac1066095d63d6a6f.js} +1 -1
- package/assets/esri/core/workers/chunks/2e2867bc66c94aba7dc7.js +1 -0
- package/assets/esri/core/workers/chunks/{cda5c95fd49b8901f7d4.js → 3298e96d3f2e49e338d2.js} +1 -1
- package/assets/esri/core/workers/chunks/34613b288cf174983f8b.js +1 -0
- package/assets/esri/core/workers/chunks/{e5baa30944061418cb13.js → 35f086a2ae0585348ae6.js} +1 -1
- package/assets/esri/core/workers/chunks/{f441fc74451330384fb0.js → 37ea150dec5e491f691e.js} +1 -1
- package/assets/esri/core/workers/chunks/3c94db7ecdcd38eeb1b1.js +1 -0
- package/assets/esri/core/workers/chunks/3f7749f06ae54a4437d9.js +1 -0
- package/assets/esri/core/workers/chunks/40a722933af28823953b.js +1 -0
- package/assets/esri/core/workers/chunks/{7aa730e5ac7b268e3c98.js → 424daef7b5dec1b99aba.js} +1 -1
- package/assets/esri/core/workers/chunks/456684b1c1417ed0e611.js +1 -0
- package/assets/esri/core/workers/chunks/{d14e75b160aa432233c6.js → 461093ce28ceadd7853d.js} +1 -1
- package/assets/esri/core/workers/chunks/4a48b8ec5f3f2fd139b5.js +1 -0
- package/assets/esri/core/workers/chunks/4b084f985bc4100e7aec.js +1 -0
- package/assets/esri/core/workers/chunks/4b1de1fcd13677b615a8.js +1 -0
- package/assets/esri/core/workers/chunks/{31186e83fe009aa0fd36.js → 4d933de84afb2e3b7d18.js} +1 -1
- package/assets/esri/core/workers/chunks/{83aa39fbb1fad3b9d143.js → 4ff771942531fb2755c4.js} +1 -1
- package/assets/esri/core/workers/chunks/{e0017c6739d2532793e6.js → 513a4ef960e27500f986.js} +1 -1
- package/assets/esri/core/workers/chunks/56b693baa376bb990925.js +1 -0
- package/assets/esri/core/workers/chunks/{1d4ea8db272655c0608c.js → 57fd5e1260269002d18a.js} +1 -1
- package/assets/esri/core/workers/chunks/5fe40bb0e9ab333f6854.js +1 -0
- package/assets/esri/core/workers/chunks/{b56c07c0b43cb1999070.js → 60362c5651ef41fa7e5f.js} +1 -1
- package/assets/esri/core/workers/chunks/{e8a9971c8354569cb81d.js → 609919428305d8c8c243.js} +1 -1
- package/assets/esri/core/workers/chunks/{ab88577987cf2fe1cb32.js → 61373d2fa7e7638d3395.js} +1 -1
- package/assets/esri/core/workers/chunks/6202922b1c2637e9aaa5.js +1 -0
- package/assets/esri/core/workers/chunks/633368ae6fbb46373328.js +1 -0
- package/assets/esri/core/workers/chunks/6d702cb26cef46a76963.js +1 -0
- package/assets/esri/core/workers/chunks/{35272810c2ed04eb403d.js → 6f3943bebe2d5f4994f7.js} +1 -1
- package/assets/esri/core/workers/chunks/708aba69a1870ea41a61.js +1 -0
- package/assets/esri/core/workers/chunks/{7ba13b52fce1060fbb2a.js → 7147fc7502b385b302b2.js} +1 -1
- package/assets/esri/core/workers/chunks/{9ba8a2e1c0fb4e1efc7c.js → 7364fb5e99933533890d.js} +1 -1
- package/assets/esri/core/workers/chunks/74b1028e95f7cfff387b.js +1 -0
- package/assets/esri/core/workers/chunks/78fccea3445fb2f9120a.js +1 -0
- package/assets/esri/core/workers/chunks/7ba31425caa404f86424.js +1 -0
- package/assets/esri/core/workers/chunks/{040f3d8e1099c4843390.js → 81a60dfa600b690098f9.js} +1 -1
- package/assets/esri/core/workers/chunks/833fd2bc42c5cb459084.js +1 -0
- package/assets/esri/core/workers/chunks/{75643711d9585ee26a15.js → 83c8e5a92d8d6193cb32.js} +1 -1
- package/assets/esri/core/workers/chunks/{e537e1d37f3fcb14fce2.js → 870022661376442411e4.js} +1 -1
- package/assets/esri/core/workers/chunks/898ab7db220e81e921c6.js +1 -0
- package/assets/esri/core/workers/chunks/{31b074ae2162a3508d2a.js → 8b578ffc3a83089aa782.js} +1 -1
- package/assets/esri/core/workers/chunks/{48c8ef4170e803a564d6.js → 8b75861196d1ce5cba63.js} +1 -1
- package/assets/esri/core/workers/chunks/8be61e13530fd0dc2fd1.js +1 -0
- package/assets/esri/core/workers/chunks/90b8ccee883738917a6d.js +1 -0
- package/assets/esri/core/workers/chunks/90bc9c299ae0e8b8b5e5.js +1 -0
- package/assets/esri/core/workers/chunks/91d9ade78854f40a962d.js +1 -0
- package/assets/esri/core/workers/chunks/{74881340e040bfd0580f.js → 934bc1028b287f8df4aa.js} +1 -1
- package/assets/esri/core/workers/chunks/96055de47831e59a28bf.js +1 -0
- package/assets/esri/core/workers/chunks/963ba863e0f87abfca25.js +1 -0
- package/assets/esri/core/workers/chunks/9aa8d60483ad905fe13b.js +1 -0
- package/assets/esri/core/workers/chunks/9fed9946241bb2a5cfa4.js +1 -0
- package/assets/esri/core/workers/chunks/a2662e98857f0abf8e82.js +1 -0
- package/assets/esri/core/workers/chunks/a5a9b0a35849b9f2e86d.js +1 -0
- package/assets/esri/core/workers/chunks/a60006c9ccf6817fc0d2.js +1 -0
- package/assets/esri/core/workers/chunks/a627b7eb94b7fca33210.js +1 -0
- package/assets/esri/core/workers/chunks/a651dc3b8f1fc1ab34cc.js +1 -0
- package/assets/esri/core/workers/chunks/aab93e885b6c7c6aa76e.js +316 -0
- package/assets/esri/core/workers/chunks/adfe28c1c1619cdd3ca1.js +1019 -0
- package/assets/esri/core/workers/chunks/b88dc7d8ae105747e6a4.js +1 -0
- package/assets/esri/core/workers/chunks/b90c786dd474ea1a409c.js +1 -0
- package/assets/esri/core/workers/chunks/b92e9e5df8154a128982.js +1 -0
- package/assets/esri/core/workers/chunks/{9a855a10798348a21bab.js → bff814d34b38ec80c44d.js} +1 -1
- package/assets/esri/core/workers/chunks/c36d699a75b6e8fb93eb.js +1 -0
- package/assets/esri/core/workers/chunks/c50fdf723f2d4316862e.js +1 -0
- package/assets/esri/core/workers/chunks/{9461cc37ab3397265270.js → c5e8ff4721b15ac3c6eb.js} +1 -1
- package/assets/esri/core/workers/chunks/{4cda42b94e9cb58dd372.js → ca61077e0a598654f33f.js} +1 -1
- package/assets/esri/core/workers/chunks/{61a9ffd4cf07d8bb7a9b.js → ca81be5bdb88ef557bf3.js} +1 -1
- package/assets/esri/core/workers/chunks/{ca1c65eb7f5900c60170.js → cd8fec3500e6503ae020.js} +1 -1
- package/assets/esri/core/workers/chunks/ce90e8489143228262e7.js +1 -0
- package/assets/esri/core/workers/chunks/d0320ca67abca4f8b0d2.js +1 -0
- package/assets/esri/core/workers/chunks/{4b6a44c6265c8959abd8.js → d3db7244fac7398cc700.js} +1 -1
- package/assets/esri/core/workers/chunks/{19820cddba13a3585c0b.js → d561624ddb9388732b25.js} +1 -1
- package/assets/esri/core/workers/chunks/d65ca3b8fccae8c3c3fa.js +1 -0
- package/assets/esri/core/workers/chunks/{630eba99f48ea79a9560.js → d705410c369bd03b1875.js} +1 -1
- package/assets/esri/core/workers/chunks/{9c7682b300b877f60095.js → d76513a6260d9ec4ea25.js} +1 -1
- package/assets/esri/core/workers/chunks/{7c08c0824ad354177787.js → d7878fba02814adaf19f.js} +1 -1
- package/assets/esri/core/workers/chunks/d82e17522ed946c2d809.js +1 -0
- package/assets/esri/core/workers/chunks/d8dc130ea559be1f68c6.js +1 -0
- package/assets/esri/core/workers/chunks/{768ae52b4e5c3e571ef5.js → dc29cb16704e2e4d0a46.js} +1 -1
- package/assets/esri/core/workers/chunks/e8c2e2fbe9cef4c8a8c6.js +1 -0
- package/assets/esri/core/workers/chunks/{3f33708eb39c7169a226.js → f2ba50eb29f93df885d6.js} +1 -1
- package/assets/esri/core/workers/chunks/{6e5d41f51572e3e7cf92.js → f7163048146ddaedfc36.js} +1 -1
- package/assets/esri/core/workers/chunks/fdaa10a588db394e2f65.js +1 -0
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/Laserlines.glsl.js +1 -1
- package/chunks/boundedPlane.js +1 -1
- package/chunks/cameraUtilsSpherical.js +1 -1
- package/chunks/vec32.js +1 -1
- package/config.js +1 -1
- package/core/libs/gl-matrix-2/math/quat.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3.js +1 -1
- package/core/urlUtils.d.ts +1 -0
- package/core/workers/workerFactory.js +1 -1
- package/geometry/FlatGeometry.js +1 -1
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/support/curves/circleUtils.js +1 -1
- package/geometry/support/lineSegment.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/merge.js +1 -1
- package/geometry/support/sphere.js +1 -1
- package/interfaces.d.ts +148 -21
- package/kernel.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/orientedImagery/transformations/worldToImage.js +1 -1
- package/layers/support/tiles3DUtils.js +1 -1
- package/layers/voxel/VoxelVolume.js +1 -1
- package/package.json +2 -2
- package/rest/print.js +1 -1
- package/rest/support/LegendLayer.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/effects/EffectSuppress.js +1 -1
- package/views/2d/interactive/SegmentLabels2D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
- package/views/3d/animation/pointToPoint/Camera.js +1 -1
- package/views/3d/camera/constraintUtils/distance.js +1 -1
- package/views/3d/camera/constraintUtils/tilt.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/CloudsParameters.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/environment/MarsAtmosphere.js +1 -1
- package/views/3d/glTF/internal/Resource.js +1 -1
- package/views/3d/glTF/loader.js +1 -1
- package/views/3d/interactive/SegmentLabels3D.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
- package/views/3d/interactive/editingTools/media/MediaElementManipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.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/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
- package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
- package/views/3d/state/Frustum.js +1 -1
- package/views/3d/state/controllers/FovController.js +1 -1
- package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
- package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/cameraUtils.js +1 -1
- package/views/3d/support/intersectionUtils.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/viewpointUtils.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/terrain/SphericalPatch.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/webgl/RenderCamera.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
- package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
- package/views/3d/webgl-engine/lib/triangleIntersectionUtils.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/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/pbrUtils.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerOriginData.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatColorTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/GaussianSplatDepthTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/GraphicManipulator.js +1 -1
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/sketch/constraints.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
- package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
- package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
- package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
- package/views/support/euclideanAreaMeasurementUtils.js +1 -1
- package/views/support/euclideanLengthMeasurementUtils.js +1 -1
- package/views/support/geometry3dUtils.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/css.js +1 -1
- package/widgets/BatchAttributeForm/inputs/SingleFeatureInput.d.ts +4 -0
- package/widgets/BatchAttributeForm/inputs/SingleFeatureInput.js +5 -0
- package/widgets/BatchAttributeForm/inputs/TextElementInput.d.ts +4 -0
- package/widgets/BatchAttributeForm/inputs/TextElementInput.js +5 -0
- package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
- package/widgets/BatchAttributeForm/templates/GroupElementTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/TextElementTemplate.js +5 -0
- package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/templateUtils.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/FeatureForm/TextElementInput.d.ts +2 -2
- package/widgets/FeatureTable/AttachmentsColumn.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/Column.js +1 -1
- package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
- package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
- package/widgets/PanoramicViewer/PanoramicZoomManager.js +1 -1
- package/widgets/PanoramicViewer/support/PanoramicMedia.js +5 -0
- package/widgets/PanoramicViewer/support/PanoramicMediaCollection.js +5 -0
- package/widgets/PanoramicViewer/support/PanoramicMediaError.js +5 -0
- package/widgets/PanoramicViewer/utils.js +1 -1
- package/widgets/PanoramicViewer.js +1 -1
- package/widgets/Print/CustomTemplate.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print/TemplateOptions.js +1 -1
- package/widgets/Print.js +1 -1
- package/assets/esri/core/workers/chunks/04a0685ee53ef74883aa.js +0 -1
- package/assets/esri/core/workers/chunks/1e0e7cef7ef947894bbe.js +0 -1019
- package/assets/esri/core/workers/chunks/20988e116f3723228f36.js +0 -1
- package/assets/esri/core/workers/chunks/2613e482450b57f2d4f5.js +0 -1
- package/assets/esri/core/workers/chunks/274f2b5e6dbc58505142.js +0 -1
- package/assets/esri/core/workers/chunks/27dfbe3d903b95d4c67a.js +0 -1
- package/assets/esri/core/workers/chunks/28a5a7c6b3d6902146f6.js +0 -1
- package/assets/esri/core/workers/chunks/2c4218306747f5d15575.js +0 -1
- package/assets/esri/core/workers/chunks/2db7a7607657f1d669f7.js +0 -1
- package/assets/esri/core/workers/chunks/3767617c0dfc7d801441.js +0 -1
- package/assets/esri/core/workers/chunks/44b6b7418cbf7f778bef.js +0 -1
- package/assets/esri/core/workers/chunks/4675ed3ca3e0104d00bf.js +0 -1
- package/assets/esri/core/workers/chunks/4df7cc3477bc46fc39af.js +0 -1
- package/assets/esri/core/workers/chunks/538ddb267aa328814865.js +0 -1
- package/assets/esri/core/workers/chunks/555a0ea44ba77819d493.js +0 -1
- package/assets/esri/core/workers/chunks/55818fe7a7aa1e5c8bbd.js +0 -1
- package/assets/esri/core/workers/chunks/5f781ef46ce7c4048c2f.js +0 -1
- package/assets/esri/core/workers/chunks/60f2de8dd8876bfd715a.js +0 -1
- package/assets/esri/core/workers/chunks/679088064420a906aa7f.js +0 -1
- package/assets/esri/core/workers/chunks/706423d801fa9cbf2e90.js +0 -1
- package/assets/esri/core/workers/chunks/71dd80231ea656a6380c.js +0 -1
- package/assets/esri/core/workers/chunks/725819839434c59102f3.js +0 -1
- package/assets/esri/core/workers/chunks/72cebf18da5ec5eeb666.js +0 -1
- package/assets/esri/core/workers/chunks/768d9b6eaba7bfa18dde.js +0 -1
- package/assets/esri/core/workers/chunks/77b45957cfe42523c1c8.js +0 -1
- package/assets/esri/core/workers/chunks/852de585a72d902344a6.js +0 -1
- package/assets/esri/core/workers/chunks/871dd5e1f016a04b8d98.js +0 -1
- package/assets/esri/core/workers/chunks/892c417f5130b003889d.js +0 -1
- package/assets/esri/core/workers/chunks/907083c427d7fb4354e9.js +0 -1
- package/assets/esri/core/workers/chunks/93c5f097bb7b380bb175.js +0 -1
- package/assets/esri/core/workers/chunks/9f0172b83f25ef5f8d40.js +0 -1
- package/assets/esri/core/workers/chunks/ae793d814cf32db9fbde.js +0 -1
- package/assets/esri/core/workers/chunks/b21cf62652ca772108c8.js +0 -1
- package/assets/esri/core/workers/chunks/c5c02ace54fe4ab9214b.js +0 -1
- package/assets/esri/core/workers/chunks/c82a974c8448407885e6.js +0 -1
- package/assets/esri/core/workers/chunks/d08ee45c501102deea20.js +0 -1
- package/assets/esri/core/workers/chunks/d239a4ef60e348cfb05a.js +0 -1
- package/assets/esri/core/workers/chunks/da2ba40bc017bff0fe49.js +0 -1
- package/assets/esri/core/workers/chunks/dc3a4ad62bc041a4f899.js +0 -1
- package/assets/esri/core/workers/chunks/e093e745708f722bc1b9.js +0 -1
- package/assets/esri/core/workers/chunks/e501d68a1464805c4b4e.js +0 -1
- package/assets/esri/core/workers/chunks/ea3cba01c60d9bc72719.js +0 -316
- package/assets/esri/core/workers/chunks/f3c232fc56a29d51196a.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[189,2027,3169,4161,5076,7373,8125],{4197:(t,e,n)=>{n.d(e,{Vj:()=>c,cj:()=>u,jh:()=>s,l5:()=>a,xm:()=>i});var r=n(34275),o=n(9093);function s(t){return t<=r.y9?new Array(t).fill(0):new Float64Array(t)}function i(t){return((0,r.iu)(t)?t.byteLength/8:t.length)<=r.y9?Array.from(t):new Float64Array(t)}function a(t,e,n){return Array.isArray(t)?t.slice(e,e+n):t.subarray(e,e+n)}function u(t){return[...t]}function c(t){const e=(0,o.vt)();for(let n=0;n<16;++n)e[n]=t[n];return e}},9093:(t,e,n)=>{function r(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]}n.d(e,{o8:()=>o,vt:()=>r,zK:()=>s});const s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:o,create:r,fromValues:function(t,e,n,r,o,s,i,a,u,c,h,l,f,m,g,y){return[t,e,n,r,o,s,i,a,u,c,h,l,f,m,g,y]}},Symbol.toStringTag,{value:"Module"}))},69397:(t,e,n)=>{n.d(e,{$B:()=>o,Qf:()=>c,Qh:()=>a,RS:()=>s,ez:()=>f,lM:()=>i,qK:()=>l});var r=n(34275);function o(t){return 32+t.length}const s=16;function i(t){if(!t)return 0;let e=l;for(const n in t)t.hasOwnProperty(n)&&(e+=u(t[n],!1));return e}function a(t){if(!t)return 0;if("number"==typeof t[0])return c(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return h(t,8);let n=f;for(let r=0;r<e;r++)n+=u(t[r]);return n}(t);let e=l;for(const n in t)t.hasOwnProperty(n)&&(e+=u(t[n]));return e}function u(t,e=!0){switch(typeof t){case"object":return e?a(t):l;case"string":return o(t);case"number":return s;case"boolean":return 4;default:return 8}}function c(...t){return t.reduce((t,e)=>t+(e?(0,r.iu)(e)?e.byteLength+m:Array.isArray(e)?h(e,s):0:0),0)}function h(t,e){return f+t.length*e}const l=32,f=16,m=145},70328:(t,e,n)=>{n.d(e,{BI:()=>d,DC:()=>l,Ej:()=>m,Ie:()=>x,Jt:()=>M,Ne:()=>g,RF:()=>h,aI:()=>G,fA:()=>i,gE:()=>u,hZ:()=>p,iT:()=>f,is:()=>v,qv:()=>C,vI:()=>y,vY:()=>a,v_:()=>I,vt:()=>s,w1:()=>c});var r=n(5443),o=(n(19419),n(4197));function s(t=I){return[t[0],t[1],t[2],t[3],t[4],t[5]]}function i(t,e,n,r,o,i,a=s()){return a[0]=t,a[1]=e,a[2]=n,a[3]=r,a[4]=o,a[5]=i,a}function a(t,e=s()){return function(t,e,n,r=s()){return p(r,C),function(t,e,n=0,r=e.length/3){let o=t[0],s=t[1],i=t[2],a=t[3],u=t[4],c=t[5];for(let t=0;t<r;t++)o=Math.min(o,e[n+3*t]),s=Math.min(s,e[n+3*t+1]),i=Math.min(i,e[n+3*t+2]),a=Math.max(a,e[n+3*t]),u=Math.max(u,e[n+3*t+1]),c=Math.max(c,e[n+3*t+2]);t[0]=o,t[1]=s,t[2]=i,t[3]=a,t[4]=u,t[5]=c}(r,t,e,n),r}(t,0,t.length/3,e)}function u(t,e=(0,o.jh)(24)){const[n,r,s,i,a,u]=t;return e[0]=n,e[1]=r,e[2]=s,e[3]=n,e[4]=r,e[5]=u,e[6]=n,e[7]=a,e[8]=s,e[9]=n,e[10]=a,e[11]=u,e[12]=i,e[13]=r,e[14]=s,e[15]=i,e[16]=r,e[17]=u,e[18]=i,e[19]=a,e[20]=s,e[21]=i,e[22]=a,e[23]=u,e}function c(t,e){const n=isFinite(t[2])||isFinite(t[5]);return new r.A(n?{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],zmin:t[2],zmax:t[5],spatialReference:e}:{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],spatialReference:e})}function h(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.min(t[2],e[2]),t[3]=Math.max(t[3],e[3]),t[4]=Math.max(t[4],e[4]),t[5]=Math.max(t[5],e[5])}function l(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[3]=Math.max(t[3],e[2]),t[4]=Math.max(t[4],e[3])}function f(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.min(t[2],e[2]),t[3]=Math.max(t[3],e[0]),t[4]=Math.max(t[4],e[1]),t[5]=Math.max(t[5],e[2])}function m(t,e=[0,0,0]){return e[0]=function(t){return t[0]>=t[3]?0:t[3]-t[0]}(t),e[1]=function(t){return t[1]>=t[4]?0:t[4]-t[1]}(t),e[2]=function(t){return t[2]>=t[5]?0:t[5]-t[2]}(t),e}function g(t,e,n=t){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n!==t&&(n[3]=t[3],n[4]=t[4],n[5]=t[5]),n}function y(t,e,n=t){return n[3]=e[0],n[4]=e[1],n[5]=e[2],n!==t&&(n[0]=t[0],n[1]=t[1],n[2]=t[2]),t}function p(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function x(t){return t?p(t,C):s(C)}function M(t,e){return t[0]=e[0],t[1]=e[1],t[2]=Number.NEGATIVE_INFINITY,t[3]=e[2],t[4]=e[3],t[5]=Number.POSITIVE_INFINITY,t}function d(t,e,n,r,o){return t[0]=e,t[1]=n,t[2]=Number.NEGATIVE_INFINITY,t[3]=r,t[4]=o,t[5]=Number.POSITIVE_INFINITY,t}function v(t){return 6===t.length}function G(t,e,n){if(null==t||null==e)return t===e;if(!v(t)||!v(e))return!1;if(n){for(let r=0;r<t.length;r++)if(!n(t[r],e[r]))return!1}else for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}const C=[1/0,1/0,1/0,-1/0,-1/0,-1/0],I=[0,0,0,0,0,0];s()},76061:(t,e,n)=>{n.d(e,{G:()=>r,S:()=>o});class r{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}class o extends r{constructor(t){super(),this.m_iGeom=-1,this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},78125:(t,e,n)=>{n.r(e),n.d(e,{fromExtent:()=>M,fromGeometry:()=>x,fromMultipoint:()=>d,fromPoint:()=>v,fromPolygon:()=>G,fromPolyline:()=>C,fromPolylineUsingImportOperator:()=>I,fromSpatialReference:()=>w,getSpatialReference:()=>p,toExtent:()=>V,toGeometry:()=>P,toMultipoint:()=>A,toPoint:()=>R,toPolygon:()=>Z,toPolyline:()=>_});var r=n(83661),o=(n(79187),n(55537)),s=n(95213),i=n(88885),a=n(5443),u=n(48526),c=n(86738),h=n(39829),l=n(82799),f=(n(90293),n(34772));const m="_gxVersion",g=2,y=1;function p(t){return Array.isArray(t)?t[0].spatialReference:t.spatialReference}function x(t){switch(t.type){case"point":return v(t);case"multipoint":return d(t);case"polyline":return C(t);case"polygon":return G(t);case"extent":return M(t);default:throw new Error(`Unsupported geometry type: ${t.type}`)}}function M(t){if(!t.getCacheValue(m)){const e=new s.E;e.setCoords(t.xmin,t.ymin,t.xmax,t.ymax),t.hasM&&e.setInterval(g,0,t.mmin,t.mmax),t.hasZ&&e.setInterval(y,0,t.zmin,t.zmax),t.setCacheValue(m,e)}return t.getCacheValue(m)}function d(t){if(!t.getCacheValue(m)){const e=new i.M,n=new s.P,r=t.points,o=t.hasM,a=t.hasZ,u=a?3:2;for(let t=0,s=r.length;t<s;t++){const s=r[t];n.setXYCoords(s[0],s[1]),a&&n.setZ(s[2]??0),o&&n.setM(s[u]??NaN),e.add(n)}t.setCacheValue(m,e)}return t.getCacheValue(m)}function v(t){if(!t.getCacheValue(m)){const e=new s.P;e.setXYCoords(t.x,t.y),t.hasM&&e.setM(t.m),t.hasZ&&e.setZ(t.z),t.setCacheValue(m,e)}return t.getCacheValue(m)}function G(t){if(!t.getCacheValue(m)){const{curveRings:e,hasM:n,hasZ:r,rings:o}=t,s=(0,f.fromGeometryToGXGeometry)({curveRings:e,hasM:n,hasZ:r,rings:o});t.setCacheValue(m,s)}return t.getCacheValue(m)}function C(t){if(!t.getCacheValue(m)){const{curvePaths:e,hasM:n,hasZ:r,paths:o}=t,s=(0,f.fromGeometryToGXGeometry)({curvePaths:e,hasM:n,hasZ:r,paths:o});t.setCacheValue(m,s)}return t.getCacheValue(m)}function I(t){if(!t.getCacheValue(m)){const{curvePaths:e,hasM:n,hasZ:r,paths:o}=t,s=(0,f.fromGeometryToGXGeometryUsingImportOperator)({curvePaths:e,hasM:n,hasZ:r,paths:o});t.setCacheValue(m,s)}return t.getCacheValue(m)}function w(t){return(0,f.fromSpatialReference)(t)}function P(t,e){if(t)switch(t.getGeometryType()){case o.G.enumPoint:return R(t,e);case o.G.enumEnvelope:return V(t,e);case o.G.enumMultiPoint:return A(t,e);case o.G.enumPolyline:return _(t,e);case o.G.enumPolygon:return Z(t,e)}return null}function V(t,e){if(t.isEmpty())return null;const n=new a.A({xmin:t.getXMin(),ymin:t.getYMin(),xmax:t.getXMax(),ymax:t.getYMax(),spatialReference:e}),r=t.getDescription();if(r.hasM()){const e=t.queryInterval(g,0);n.mmin=e.vmin,n.mmax=e.vmax}if(r.hasZ()){const e=t.queryInterval(y,0);n.zmin=e.vmin,n.zmax=e.vmax}return n.setCacheValue(m,t),n}function A(t,e){if(t.isEmpty())return null;const n=t.getDescription(),r=n.hasM(),o=n.hasZ(),i=[],a=new s.P;for(let e=0,n=t.getPointCount();e<n;e++){t.getPointByVal(e,a);const n=[a.getX(),a.getY()];o&&n.push(a.getZ()),r&&n.push(a.getM()),i.push(n)}const c=new u.A({hasM:r,hasZ:o,points:i,spatialReference:e});return c.setCacheValue(m,t),c}function R(t,e){if(t instanceof r.P)return new c.A({x:t.x,y:t.y,spatialReference:e});if(t.isEmpty())return null;const n=new c.A({x:t.getX(),y:t.getY(),spatialReference:e}),o=t.getDescription();return o.hasM()&&(n.m=t.getM()),o.hasZ()&&(n.z=t.getZ()),n.setCacheValue(m,t),n}function Z(t,e){if(t.isEmpty())return null;const n=h.A.fromJSON({...(0,f.toGeometry)(t,null),spatialReference:e});return n.setCacheValue(m,t),n}function _(t,e){if(t.isEmpty())return null;const n=l.A.fromJSON({...(0,f.toGeometry)(t,null),spatialReference:e});return n.setCacheValue(m,t),n}},85503:(t,e,n)=>{n.d(e,{d:()=>h,e:()=>u});var r=n(4576),o=n(34727),s=n(86211),i=n(91735),a=n(78125);function u(t,e,n={}){let{maxAngleInDegrees:r=0,maxDeviation:u=0,unit:c}=n;const h=(0,a.getSpatialReference)(t);return c&&(e=(0,s.UW)(e,c,h),u&&(u=(0,s.UW)(u,c,h))),(0,a.toGeometry)((0,i.g7)((0,a.fromGeometry)(t),e,u,(0,o.kU)(r)),h)}const c=(0,i.fz)(),h=Object.freeze(Object.defineProperty({__proto__:null,execute:u,executeMany:function(t,e,n={}){let{maxAngleInDegrees:u=0,maxDeviation:c=0,unit:h}=n;const l=t.map(a.fromGeometry),f=(0,a.getSpatialReference)(t);return h&&(e=(0,s.UW)(e,h,f),c&&(c=(0,s.UW)(c,h,f))),(0,i.zo)(l,e,c,(0,o.kU)(u)).map(t=>(0,a.toGeometry)(t,f)).filter(r.Ru)},supportsCurves:c},Symbol.toStringTag,{value:"Module"}))},88411:(t,e,n)=>{n.d(e,{execute:()=>r.e}),n(4576),n(34727),n(86211),n(91735),n(78125);var r=n(85503)},91735:(t,e,n)=>{n.d(e,{fz:()=>a,g7:()=>s,zo:()=>i});var r=n(76061);const o=new(n(5247).O);function s(t,e,n,r){return o.execute(t,e,n,r,null)}function i(t,e,n,s){const i=o.executeMany(new r.S(t),e,n,s,null);return Array.from(i)}function a(){return o.supportsCurves()}},92722:(t,e,n)=>{n.d(e,{A:()=>o});var r=n(69397);class o{constructor(t=[],e=[],n=!1,r=!1){this.lengths=t??[],this.coords=e??[],this.hasZ=n,this.hasM=r}static fromJSON({lengths:t,coords:e,hasZ:n,hasM:r}){return new o(t,e,n||!1,r||!1)}static fromRect([t,e,n,r]){const s=n-t,i=r-e;return new o([5],[t,e,s,0,0,i,-s,0,0,-i])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((t,e)=>t+e,0)}get usedMemory(){return 64+(0,r.Qf)(this.lengths,this.coords)}get stride(){return 2+(this.hasZ?1:0)+(this.hasM?1:0)}area(){if(this.isPoint)return 0;let t=0,e=0;for(const n of this.lengths){if(n<3)continue;const{stride:r}=this;let o=this.coords[r*e],s=this.coords[r*e+1];for(let i=1;i<n;i+=1){const n=r*(e+i),a=this.coords[n],u=this.coords[n+1];t+=-.5*(a-o)*(u+s),o=a,s=u}e+=n}return t}forEachVertex(t){let e=0;if(this.isPoint)return t(this.coords[0],this.coords[1]);const{stride:n}=this;for(const r of this.lengths){for(let o=0;o<r;o++){const r=n*(e+o);t(this.coords[r],this.coords[r+1])}e+=r}}deltaDecode(){const t=this.clone(),{coords:e,lengths:n}=t;let r=0;const{stride:o}=this;for(const t of n){for(let n=1;n<t;n++){const t=o*(r+n);e[t]+=e[t-o],e[t+1]+=e[t+1-o]}r+=t}return t}clone(t){if(this.isPoint)return new o([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);const e=Array.from(this.lengths),{stride:n,size:r}=this,s=this.coords.slice(0,r*n);return t?(t.set(s),new o(e,t)):new o(e,Array.from(s),this.hasZ,this.hasM)}justXY(){const{stride:t,size:e}=this;if(2===t)return this;const n=new Array(e*t);for(let e=0,r=0;e<n.length;e+=t)n[r++]=this.coords[e],n[r++]=this.coords[e+1];return new o(this.lengths,n,!1,!1)}}}}]);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{EvaluateSceneLighting as a,addAmbientBoostFactor as i,addLightingGlobalFactor as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as
|
|
5
|
+
import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{EvaluateSceneLighting as a,addAmbientBoostFactor as i,addLightingGlobalFactor as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{terrainDepthTest as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ComputeCovariance as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js";import{GaussianSplatUnpackingPassParameters as c,GaussianSplatUnpacking as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import{QuaternionToRotationMatrix as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import{Float2BindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{FloatPassUniform as p}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as m,If as h}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Matrix4BindUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DUintPassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{getGaussianSplatAlphaCutoffValue as w}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";class P extends c{constructor(){super(...arguments),this.totalGaussians=-1,this.focalLength=-1,this.minSplatRadius=-1,this.tanFov=n()}}function C(n){const c=new b;c.varyings.add("vColor","vec4"),c.varyings.add("conicOpacity","vec4"),c.varyings.add("depth","float"),c.varyings.add("gaussianCenterScreenPos","vec2"),c.varyings.add("fragScreenPos","vec2"),c.varyings.add("offsetFromCenter","vec2"),c.outputs.add("fragColor","vec4",0),c.vertex.uniforms.add(new y("splatOrderTexture",e=>e.splatOrder),new y("splatFadingTexture",e=>e.splatFading),new y("splatAtlasTexture",e=>e.splatAtlas),new f("numSplats",e=>e.totalGaussians),new p("focalLength",e=>e.focalLength),new p("minSplatRadius",e=>e.minSplatRadius),new v("tanFov",e=>e.tanFov),new u("screenSize",({camera:n})=>e(D,n.fullWidth,n.fullHeight)),new x("proj",e=>e.camera.projectionMatrix),new x("view",e=>e.camera.viewMatrix),new u("nearFar",e=>e.camera.nearFar),new g("cameraPosition",e=>e.camera.eye)),c.vertex.include(l),c.vertex.include(d),c.vertex.include(s),c.vertex.include(a,n),c.include(o,n),i(c.vertex),t(c.vertex),c.include(r,n);const P=n.dephtOnlyPass,C=n.dephtOnlyPass;P||C||(c.outputs.add("fragColor","vec4",0),c.outputs.add("fragDepthColor","vec4",1));const S=w(n.alphaCutoff),F=Math.log(S),T=-2*F;return c.vertex.code.add(m`vec2 ndcToPixel(vec2 ndcCoord, vec2 screenSize) {
|
|
6
6
|
return ((ndcCoord + 1.0) * screenSize - 1.0) * 0.5;
|
|
7
|
-
}`),c.vertex.main.add(`\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n uint splatAtlasWidth = uint(textureSize(splatAtlasTexture, 0).x);\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex % splatAtlasWidth;\n uint gaussianIndexY = gaussianIndex / splatAtlasWidth;\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n // Fetch the header associated with the packed Gaussian (contains tile origin and number of fractional bits)\n uint pageNum = gaussianIndex / 1024u;\n uint headerIndex = (pageNum + 1u) * 1024u - 1u;\n uint headerIndexX = headerIndex % splatAtlasWidth;\n uint headerIndexY = headerIndex / splatAtlasWidth;\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n\n // Handle fading\n ${h(n.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n if(vColor.a < ${
|
|
7
|
+
}`),c.vertex.main.add(`\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n uint splatAtlasWidth = uint(textureSize(splatAtlasTexture, 0).x);\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex % splatAtlasWidth;\n uint gaussianIndexY = gaussianIndex / splatAtlasWidth;\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n // Fetch the header associated with the packed Gaussian (contains tile origin and number of fractional bits)\n uint pageNum = gaussianIndex / 1024u;\n uint headerIndex = (pageNum + 1u) * 1024u - 1u;\n uint headerIndexX = headerIndex % splatAtlasWidth;\n uint headerIndexY = headerIndex / splatAtlasWidth;\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n\n // Handle fading\n ${h(n.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n if(vColor.a < ${S}) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n vec3 scale = unpackScale(packedGaussian);\n vec4 quaternion = unpackQuaternion(packedGaussian);\n mat3 rotation = quaternionToRotationMatrix(quaternion);\n vec3 tileOriginRelativePosition = unpackTileOriginRelativePosition(packedGaussian);\n\n vec3 cameraRelativePosition = unpackCameraRelativeGaussianPosition(packedHeader, tileOriginRelativePosition);\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n // Handle environment (scene lighting)\n ${h(!P,`vec3 groundNormal = ${n.spherical?m`normalize(cameraRelativePosition + cameraPosition)`:m`vec3(0.0, 0.0, 1.0)`};\n float groundLightAlignment = dot(groundNormal, mainLightDirection);\n float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);\n vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;\n vColor.rgb = evaluateSceneLighting(groundNormal, vColor.rgb, 0.0, 0.0, mainLightIntensity);`)};\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n forwardViewPosDepth(viewPos.xyz);\n\n vec3 covarianceA;\n vec3 covarianceB;\n computeCovariance3D(rotation, scale.xyz, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Invert covariance (EWA algorithm)\n float determinant = (covariance2D.x * covariance2D.z - covariance2D.y * covariance2D.y);\n if (determinant <= 0.) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n float invDeterminant = 1. / determinant;\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n\n // Compute the Gaussians extent in screen space by finding the eigenvalues lambda1 and lambda2\n // of the 2D covariance matrix\n float mid = 0.5 * (covariance2D.x + covariance2D.z);\n float radius = length(vec2((covariance2D.x - covariance2D.z) * 0.5, covariance2D.y));\n float lambda1 = mid + radius;\n float lambda2 = mid - radius;\n\n // Compute the extents along the principal axes\n float l1 = ceil(sqrt(lambda1 * ${T}));\n float l2 = ceil(sqrt(lambda2 * ${T}));\n\n float maxRadius = max(l1, l2);\n\n // Ignore gaussians with very small contribution, with tolerance based on the quality profile\n if(minSplatRadius > 0.0) {\n float effectiveSize = maxRadius * vColor.a;\n if(effectiveSize < minSplatRadius) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n }\n\n // Screen space frustum culling\n vec2 radiusNDC = maxRadius * 2.0 / screenSize;\n\n if (any(greaterThan(abs(ndcPos.xy) - radiusNDC, vec2(1.0)))) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n // Compute the principal diagonal direction (eigenvector for lambda1)\n vec2 diagonalVector = normalize(vec2(covariance2D.y, lambda1 - covariance2D.x));\n\n vec2 majorAxis = l1 * diagonalVector;\n vec2 minorAxis = l2 * vec2(diagonalVector.y, -diagonalVector.x);\n\n gaussianCenterScreenPos = ndcToPixel(ndcPos.xy, screenSize);\n\n // This maps vertex IDs 0, 1, 2, 3 to (-1,-1), (1,-1), (-1,1), (1,1)\n vec2 corner = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2) - 1.0;\n fragScreenPos = gaussianCenterScreenPos + corner.x * majorAxis + corner.y * minorAxis;\n\n // We use a conic function to derive the opacity\n vec3 conic = vec3(covariance2D.z, -covariance2D.y, covariance2D.x) * invDeterminant;\n conicOpacity = vec4(conic, vColor.a);\n\n depth = ndcPos.z;\n\n // Convert from screen-space to clip-space\n vec2 clipPos = fragScreenPos / screenSize * 2. - 1.;\n\n offsetFromCenter = gaussianCenterScreenPos - fragScreenPos;\n\n gl_Position = vec4(clipPos, depth, 1.0);\n\n `),c.fragment.main.add(`\n discardByTerrainDepth();\n\n // Evaluate the 2D elliptical Gaussian exponent using the general conic form: Ax^2+2Bxy+Cy^2\n float x = offsetFromCenter.x;\n float y = offsetFromCenter.y;\n float conic = dot(conicOpacity.xyz, vec3(x * x, 2.0 * x * y, y * y));\n float gaussianExponent = -0.5 * conic;\n\n // A positive exponent indicates alpha > 1, this should not happen\n // We also early check the alphaCutoff (i.e., ln(alphaCutoff)), to avoid unnecessary exp()\n if (gaussianExponent > 0.0 || gaussianExponent < ${F}) {\n discard;\n }\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n ${h(!P,"fragColor = vec4(vColor.rgb * alpha, alpha);","fragColor = vec4(depth, 0, 0, alpha)")};\n\n ${h(!C,"// Regular depth writing based on first hit is not precise enough due to the inherently\n // transparent nature of Gaussian Splats (especially at the borders of the Splat).\n // We thus use a blended depth that computes a non-linear average using\n // the splat order and opacity with geometric decay.\n // This means the depth is averaged based on the order and opacity of the Gaussians,\n // with the frontmost Gaussians contributing the most.\n fragDepthColor = vec4(depth, 0, 0, alpha);")};\n `),c}const D=n(),S=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:P,build:C},Symbol.toStringTag,{value:"Module"}));export{P as G,S as a,C as b};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{deg2rad as e}from"../core/mathUtils.js";import{set as i}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as t}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{p as n,e as a,n as o,b as r,
|
|
5
|
+
import{deg2rad as e}from"../core/mathUtils.js";import{set as i}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as t}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{p as n,e as a,n as o,b as r,D as l,d as s,f as c,i as d}from"./vec32.js";import{create as f}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{t as p}from"./vec42.js";import{create as g}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{pointAt as h}from"../geometry/support/lineSegment.js";import{fromPositionAndNormal as m,create as u}from"../geometry/support/plane.js";import{Laserline as w}from"../views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js";import{ScreenSpacePass as x}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{Float2PassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as M}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as C}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{ShaderBuilder as L}from"../views/webgl/ShaderBuilder.js";const A=e(6);function j(e){const i=new L;i.include(x),i.include(w,e);const t=i.fragment;if(e.lineVerticalPlaneEnabled||e.heightManifoldEnabled)if(t.uniforms.add(new S("maxPixelDistance",(i,t)=>e.heightManifoldEnabled?2*t.camera.computeScreenPixelSizeAt(i.heightManifoldTarget):2*t.camera.computeScreenPixelSizeAt(i.lineVerticalPlaneSegment.origin))),t.code.add(C`float planeDistancePixels(vec4 plane, vec3 pos) {
|
|
6
6
|
float dist = dot(plane.xyz, pos) + plane.w;
|
|
7
7
|
float width = fwidth(dist);
|
|
8
8
|
dist /= min(width, maxPixelDistance);
|
package/chunks/boundedPlane.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../core/has.js";import s from"../core/Logger.js";import{acosClamped as t}from"../core/mathUtils.js";import{ObjectStack as i}from"../core/ObjectStack.js";import{invert as n,transpose as r,fromRotation as e}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as o}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{d as a,j as c,i as u,h as g,
|
|
5
|
+
import"../core/has.js";import s from"../core/Logger.js";import{acosClamped as t}from"../core/mathUtils.js";import{ObjectStack as i}from"../core/ObjectStack.js";import{invert as n,transpose as r,fromRotation as e}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as o}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{d as a,j as c,i as u,h as g,D as b,b as f,E as p,g as l,e as m,m as d,p as j,F as h,n as I}from"./vec32.js";import{fromValues as y,clone as v,create as P}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as N}from"../geometry/support/aaBoundingRect.js";import{projectPointClamp as w,distance2 as x,create as M}from"../geometry/support/lineSegment.js";import{create as S,wrap as T,copy as V,fromVectorsAndPoint as A,fromValues as E,intersectRay as _,intersectLineSegment as O,intersectLineSegmentClamp as F,isPointInside as k,projectPoint as R,getNormal as q,setOffsetFromPoint as B}from"../geometry/support/plane.js";import{distance2 as C}from"../geometry/support/ray.js";import{projectPointSignedLength as Y}from"../geometry/support/vector.js";import{sv3d as L}from"../geometry/support/vectorStacks.js";const U=()=>s.getLogger("esri.views.3d.support.geometryUtils.boundedPlane");function z(s=Ns){return{plane:S(s.plane),origin:v(s.origin),basis1:v(s.basis1),basis2:v(s.basis2)}}function D(s,t,i){const n=Ss.get();return n.origin=s,n.basis1=t,n.basis2=i,n.plane=T(0,0,0,0),J(n),n}function G(s,t=z()){return H(s.origin,s.basis1,s.basis2,t)}function W(s,t){a(t.origin,s.origin),a(t.basis1,s.basis1),a(t.basis2,s.basis2),V(t.plane,s.plane)}function H(s,t,i,n=z()){return a(n.origin,s),a(n.basis1,t),a(n.basis2,i),J(n),vs(n,"fromValues()"),n}function J(s){A(s.basis2,s.basis1,s.origin,s.plane)}function K(s,t,i){s!==i&&G(s,i);const n=c(L.get(),ds(s),t);return u(i.origin,i.origin,n),i.plane[3]-=t,i}function Q(s,t,i){return Z(t,i),K(i,bs(s,s.origin),i),i}function X(s,t){const i=s.basis1[0],n=s.basis2[1],[r,e]=s.origin;return N(r-i,e-n,r+i,e+n,t)}function Z(s,t=z()){const i=(s[2]-s[0])/2,n=(s[3]-s[1])/2;return g(t.origin,s[0]+i,s[1]+n,0),g(t.basis1,i,0,0),g(t.basis2,0,n,0),E(0,0,1,0,t.plane),t}function $(s,t,i){return!!_(s.plane,t,i)&&hs(s,i)}function ss(s,t,i){if($(s,t,i))return i;const n=ts(s,t,L.get());return u(i,t.origin,c(L.get(),t.direction,b(t.origin,n)/f(t.direction))),i}function ts(s,i,n){const r=ws.get();Ps(s,i,r,ws.get());let e=Number.POSITIVE_INFINITY;for(const o of Ts){const c=ys(s,o,xs.get()),u=L.get();if(O(r,c,u)){const s=p(L.get(),i.origin,u),r=Math.abs(t(l(i.direction,s)));r<e&&(e=r,a(n,u))}}return e===Number.POSITIVE_INFINITY?ns(s,i,n):n}function is(s,t){return(t-s)/t}function ns(s,t,i){if($(s,t,i))return i;const n=ws.get(),r=ws.get();Ps(s,t,n,r);let e=Number.POSITIVE_INFINITY;for(const o of Ts){const c=ys(s,o,xs.get()),u=L.get();if(F(n,c,u)){const s=C(t,u);if(!k(r,u))continue;s<e&&(e=s,a(i,u))}}return os(s,t.origin)<e&&rs(s,t.origin,i),i}function rs(s,t,i){const n=R(s.plane,t,L.get()),r=w(Is(s,s.basis1),n,-1,1,L.get()),e=w(Is(s,s.basis2),n,-1,1,L.get());return m(i,u(L.get(),r,e),s.origin),i}function es(s,t,i){const{origin:n,basis1:r,basis2:e}=s,o=m(L.get(),t,n),a=Y(r,o),c=Y(e,o),u=Y(ds(s),o);return g(i,a,c,u)}function os(s,t){const i=es(s,t,L.get()),{basis1:n,basis2:r}=s,e=f(n),o=f(r),a=Math.max(Math.abs(i[0])-e,0),c=Math.max(Math.abs(i[1])-o,0),u=i[2];return a*a+c*c+u*u}function as(s,t){return Math.sqrt(os(s,t))}function cs(s,t){let i=Number.NEGATIVE_INFINITY;for(const n of Ts){const r=ys(s,n,xs.get()),e=x(r,t);e>i&&(i=e)}return Math.sqrt(i)}function us(s,t){return k(s.plane,t)&&hs(s,t)}function gs(s,t,i,n){return js(s,i,n)}function bs(s,t){const i=-s.plane[3];return Y(ds(s),t)-i}function fs(s,t,i,n){const r=bs(s,t),e=c(Ms,ds(s),i-r);return u(n,t,e),n}function ps(s,t){return d(s.basis1,t.basis1)&&d(s.basis2,t.basis2)&&d(s.origin,t.origin)}function ls(s,t,i){return s!==i&&G(s,i),n(Vs,t),r(Vs,Vs),j(i.basis1,s.basis1,Vs),j(i.basis2,s.basis2,Vs),j(q(i.plane),q(s.plane),Vs),j(i.origin,s.origin,t),B(i.plane,i.plane,i.origin),i}function ms(s,t,i,n){return s!==n&&G(s,n),e(As,t,i),j(n.basis1,s.basis1,As),j(n.basis2,s.basis2,As),J(n),n}function ds(s){return q(s.plane)}function js(s,t,i){switch(t){case 0:a(i,s.basis1),I(i,i);break;case 1:a(i,s.basis2),I(i,i);break;case 2:a(i,ds(s))}return i}function hs(s,t){const i=m(L.get(),t,s.origin),n=h(s.basis1),r=h(s.basis2),e=l(s.basis1,i),o=l(s.basis2,i);return-e-n<0&&e-n<0&&-o-r<0&&o-r<0}function Is(s,t){const i=xs.get();return a(i.origin,s.origin),a(i.vector,t),i}function ys(s,t,i){const{basis1:n,basis2:r,origin:e}=s,o=c(L.get(),n,t.origin[0]),a=c(L.get(),r,t.origin[1]);u(i.origin,o,a),u(i.origin,i.origin,e);const g=c(L.get(),n,t.direction[0]),b=c(L.get(),r,t.direction[1]);return c(i.vector,u(g,g,b),2),i}function vs(s,t){Math.abs(l(s.basis1,s.basis2)/(f(s.basis1)*f(s.basis2)))>1e-6&&U().warn(t,"Provided basis vectors are not perpendicular"),Math.abs(l(s.basis1,ds(s)))>1e-6&&U().warn(t,"Basis vectors and plane normal are not perpendicular"),Math.abs(-l(ds(s),s.origin)-s.plane[3])>1e-6&&U().warn(t,"Plane offset is not consistent with plane origin")}function Ps(s,t,i,n){const r=ds(s);A(r,t.direction,t.origin,i),A(q(i),r,t.origin,n)}const Ns={plane:S(),origin:y(0,0,0),basis1:y(1,0,0),basis2:y(0,1,0)},ws=new i(S),xs=new i(M),Ms=P(),Ss=new i(()=>z()),Ts=[{origin:[-1,-1],direction:[1,0]},{origin:[1,-1],direction:[0,1]},{origin:[1,1],direction:[-1,0]},{origin:[-1,1],direction:[0,-1]}],Vs=o(),As=o(),Es=Object.freeze(Object.defineProperty({__proto__:null,altitudeAt:bs,axisAt:gs,cameraFrustumCoverage:is,closestPoint:ns,closestPointOnSilhouette:ts,copy:G,copyWithoutVerify:W,create:z,distance:as,distance2:os,distanceToSilhouette:cs,elevate:K,equals:ps,extrusionContainsPoint:us,fromAABoundingRect:Z,fromValues:H,getExtent:X,intersectRay:$,intersectRayClosestSilhouette:ss,normal:ds,projectPoint:rs,projectPointLocal:es,rotate:ms,setAltitudeAt:fs,setExtent:Q,transform:ls,up:Ns,updateUnboundedPlane:J,wrap:D},Symbol.toStringTag,{value:"Module"}));export{gs as A,bs as B,fs as C,Ns as D,z as a,Es as b,is as c,G as d,us as e,H as f,ps as g,Z as h,$ as i,as as j,W as k,K as l,X as m,ds as n,ss as o,ts as p,ns as q,ms as r,Q as s,ls as t,J as u,rs as v,D as w,es as x,os as y,cs as z};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{cyclical2PI as e}from"../core/Cyclical.js";import{deg2rad as t,rad2deg as r,asinClamped as o,lerp as s,clamp as n}from"../core/mathUtils.js";import{fromRotation as a,rotate as i}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as c}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{f as l,g as m,n as p,p as u,q as f,b as h,j as g,
|
|
5
|
+
import{cyclical2PI as e}from"../core/Cyclical.js";import{deg2rad as t,rad2deg as r,asinClamped as o,lerp as s,clamp as n}from"../core/mathUtils.js";import{fromRotation as a,rotate as i}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as c}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{f as l,g as m,n as p,p as u,q as f,b as h,j as g,D as d,l as y,w as M,c as j}from"./vec32.js";import{fromValues as b,create as v,ZEROS as x,clone as T}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{c as w,d as C}from"./vec42.js";import{create as R}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{getEpsilon as S}from"../core/libs/gl-matrix-2/math/common.js";import{getReferenceEllipsoid as U}from"../geometry/ellipsoidUtils.js";import P from"../geometry/Extent.js";import q from"../geometry/Polygon.js";import H from"../geometry/SpatialReference.js";import{isClockwise as I}from"../geometry/support/coordsUtils.js";import{fromPoints as A,create as E}from"../geometry/support/lineSegment.js";import{gcsCyclical as k}from"../geometry/support/normalizeUtils.js";import{fromPositionAndNormal as F,create as _,isPointInside as z,intersectLineOrRay as G,getNormal as W}from"../geometry/support/plane.js";import{wrap as D}from"../geometry/support/ray.js";import{Sphere as O}from"../geometry/support/sphere.js";import{geographicToWebMercator as L}from"../geometry/support/webMercatorUtils.js";import{Frustum as N}from"../views/3d/state/Frustum.js";import{minNearDistanceInMeters as B}from"../views/3d/state/NearFarHeuristic.js";import{createDirectionUp as J,directionToHeadingTilt as K,clampLineSegmentToPlane as Q}from"../views/3d/support/cameraUtilsInternal.js";import{getLonDeltaForDistance as V}from"../views/3d/support/earthUtils.js";import{slerp as X}from"../views/3d/support/mathUtils.js";const Y=b(0,0,1),Z=p(v(),b(1,1,1)),$=c(),ee=v(),te=v();function re(e,r,o,s=J()){l(ee,e,Y),0===m(ee,ee)&&l(ee,e,Z),a($,-t(r),e),i($,$,-t(o),ee);const{up:n,direction:c}=s;return l(n,ee,e),p(n,n),u(n,n,$),p(c,e),f(c,c),u(c,c,$),s}function oe(e,t,r,o){const s=ee,n=te;return p(s,e),l(te,s,Y),0===m(te,te)&&l(te,s,Z),l(n,te,s),K(t,r,o,s,n)}function se(e,r,s,n){const a={eye:v(),up:null,tilt:n,heading:s},i=ee;i[0]=e[0],i[1]=e[2],i[2]=-e[1];const c=r,l=t(s),m=t(n),p=Math.sin(l),u=Math.cos(l),f=Math.sin(m),d=Math.cos(m),y=h(i);let M;if(Math.abs(m)<1e-8)M=c+y;else{const e=y/f,t=o(c/e),r=Math.PI-m-t;M=e*Math.sin(r)}const j=d*c,b=c*c*(f*f),x=u*u*b,T=M-j,w=T*T,C=x*(x+w-i[1]*i[1]);if(C<0)return g(a.eye,i,M/y),a.tilt=0,ae(a,e);const R=Math.sqrt(C),S=i[1]*T,U=x+w;let P;if(P=u>0?-R+S:R+S,Math.abs(U)<1e-8)return y<1e-8?(a.eye[0]=0,a.eye[1]=0,a.eye[2]=c):g(a.eye,i,M/y),a.tilt=0,ne(a.eye),ae(a,e);a.eye[1]=P/U;const q=p*p*b,H=f*c,I=u*H*a.eye[1],A=a.eye[1]*a.eye[1],E=1-A,k=Math.sqrt(E),F=x*A+q-2*I*k*T+E*w;return Math.abs(F)<1e-8?(g(a.eye,i,M/y),a.tilt=0,ne(a.eye),ae(a,e)):(a.eye[0]=(E*(M*i[0]-j*i[0])-H*k*(i[0]*a.eye[1]*u+i[2]*p))/F,a.eye[2]=(E*(M*i[2]-j*i[2])-H*k*(i[2]*a.eye[1]*u-i[0]*p))/F,g(a.eye,a.eye,M),ne(a.eye),ae(a,e))}function ne(e){const t=e[1];e[1]=-e[2],e[2]=t}function ae(e,t){const r=re(t,e.heading,e.tilt);return e.up=r.up,e}function ie(e,t,s){const n=h(t),a=Math.sqrt(s*s+n*n-2*s*n*Math.cos(Math.PI-e)),i=o(s/(a/Math.sin(e)));return r(e-i)}function ce(e,r,s){const n=t(e),a=h(r);return o(s/(a/Math.sin(n)))+n}function le(o,s,n,a,i){let c,l,m,p;const u=s.latitude,f=U(o.spatialReference).radius,h=s.longitude,g=V(u,n,f)/2;c=h-g,l=h+g;const d=t(u),y=(1+Math.sin(d))/(1-Math.sin(d)),M=(y+1)*Math.tan(a/f/2),j=M*M;function b(t){const r=Math.PI/2;return(t=e.normalize(t,-r))>r&&(t=Math.PI-t),t}if(m=1.5*Math.PI-2*Math.atan(.5*(M+Math.sqrt(4*y+j))),p=m+a/f,m=b(m),p=b(p),p<m){const e=p;p=m,m=e}if(m=Math.max(r(m),-90),p=Math.min(r(p),90),l=k.monotonic(c,l),l-c>180){const e=(l-c-180)/2;c+=e,l-=e}const v=o.spatialReference&&o.spatialReference.isGeographic?o.spatialReference:H.WGS84;return i?(i.xmin=c,i.ymin=m,i.xmax=l,i.ymax=p,i.spatialReference=v):i=new P(c,m,l,p,v),o.spatialReference&&o.spatialReference.isWebMercator&&L(i,!1,i),i}function me(e,t){const{renderCoordsHelper:r}=e,o=e.state.camera.clone(),a=new N(r);o.near=B,a.update(o);const i=r.getAltitude(t),c=e.spatialReference,l=r.referenceEllipsoid.radius,m=o.eye,p=1+d(m,t)/(l+i),u=Math.sqrt(p*p-1),{minCurvature:f,maxCurvature:h,minSamples:g,maxSamples:j}=ge,b=he(e),v=n((u-f)/(h-f),0,1),R=Math.round(s(g,j,v)),S=o.aboveGround,U=a.planes[5],P=[],H=F(x,de,_()),I=F(x,ye,_());w(Te,0,0,0,0);const A=e=>{};for(let n=0;n<4;n++){const e=1===n&&!S||3===n&&S?1-b:0,t=1===n&&S||3===n&&!S?b:1,o=a.lines[n],c=a.lines[3===n?0:n+1];for(let a=0;a<R;a++){const l=a/R,p=0===a?0:s(e,t,1===n?1-(1-l)**2:3===n?l**2:l),u=y(je,o.origin,c.origin,p),f=X(o.direction,c.direction,p,Me);r.intersectManifoldClosestSilhouette(D(u,f),i,be),Q(be,m,be,U),P.push(T(be)),0!==P.length&&A(M(P.at(-1),be));const h=(z(H,be)?1:0)|(z(I,be)?2:0);Te[h]=1}}P.length>2&&A(M(P[0],P.at(-1)));const E=pe(C(Te)>1?ue(fe(P,H),I):[P],r,c);return new q({rings:E,spatialReference:c})}function pe(e,t,r){const o=2*S();return e.map(e=>{const s=[];let n=!1;for(const a of e)t.fromRenderCoords(a,be,r),Math.abs(a[0])<o&&Math.abs(a[1])<o?(s.push([null,be[1]]),s.push([null,be[1]]),n=!0):s.push([be[0],be[1]]);if(n)for(let t=0;t<s.length;t++){const e=s[t];if(null!=e[0])continue;const r=s[t+1],o=s.at(0===t?-1:t-1);e[0]=o[0],t++;const n=s.at(t===s.length-1?0:t+1);r[0]=n[0]}return s.push(s[0]),I(s)||s.reverse(),s})}function ue(e,t){const r=[];for(const o of e)r.push(...fe(o,t));return r}function fe(e,t){const r=[],o=[],s=S();for(let a=0;a<e.length;a++){const n=e[a],i=a===e.length-1?e[0]:e[a+1],c=A(n,i,xe),l=G(t,c.origin,c.vector,0,be);switch(l){case 2:r.push(n);break;case 3:o.push(n);break;case 0:case 1:{const[e,a,i]=0===l?[1,r,o]:[-1,o,r],c=W(t),m=j(v(),be,c,e*s),p=j(v(),be,c,e*-s);a.push(n),a.push(m),i.push(p)}}}const n=[];return r.length&&n.push(r),o.length&&n.push(o),n}function he(e){const{renderCoordsHelper:t,state:r}=e,o=Math.abs(t.getAltitude(r.camera.center));return ve.radius=t.referenceEllipsoid.radius+o,r.camera.sphereFrustumCoverage(ve,t)}const ge={minCurvature:t(5),maxCurvature:t(50),minSamples:1,maxSamples:6},de=b(1,0,0),ye=b(0,1,0),Me=v(),je=v(),be=v(),ve=new O,xe=E(),Te=R(),we=Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:oe,eyeForCenterWithHeadingTilt:se,eyeTiltToLookAtTilt:ce,headingTiltToDirectionUp:re,lookAtTiltToEyeTilt:ie,toArea:me,toExtent:le},Symbol.toStringTag,{value:"Module"}));export{ce as a,me as b,we as c,oe as d,se as e,re as h,ie as l,le as t};
|
package/chunks/vec32.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{create as t}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{getEpsilon as n,RANDOM as a}from"../core/libs/gl-matrix-2/math/common.js";function r(t){const n=t[0],a=t[1],r=t[2];return Math.sqrt(n*n+a*a+r*r)}function s(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function o(t,n,a,r){return t[0]=n,t[1]=a,t[2]=r,t}function u(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t}function c(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t}function e(t,n,a){return t[0]=n[0]*a[0],t[1]=n[1]*a[1],t[2]=n[2]*a[2],t}function i(t,n,a){return t[0]=n[0]/a[0],t[1]=n[1]/a[1],t[2]=n[2]/a[2],t}function h(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t}function M(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t}function f(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function m(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function l(t,n,a){return t[0]=Math.min(n[0],a[0]),t[1]=Math.min(n[1],a[1]),t[2]=Math.min(n[2],a[2]),t}function d(t,n,a){return t[0]=Math.max(n[0],a[0]),t[1]=Math.max(n[1],a[1]),t[2]=Math.max(n[2],a[2]),t}function b(t,n=0,a=1){return t[0]=Math.min(Math.max(t[0],n),a),t[1]=Math.min(Math.max(t[1],n),a),t[2]=Math.min(Math.max(t[2],n),a),t}function x(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t}function g(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t}function q(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t}function p(t,n){const a=n[0]-t[0],r=n[1]-t[1],s=n[2]-t[2];return Math.sqrt(a*a+r*r+s*s)}function v(t,n){const a=n[0]-t[0],r=n[1]-t[1],s=n[2]-t[2];return a*a+r*r+s*s}function j(t){const n=t[0],a=t[1],r=t[2];return n*n+a*a+r*r}function y(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function z(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function A(t,n){const a=n[0],r=n[1],s=n[2];let o=a*a+r*r+s*s;return o>0&&(o=1/Math.sqrt(o),t[0]=n[0]*o,t[1]=n[1]*o,t[2]=n[2]*o),t}function P(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function _(t,n,a){const r=n[0],s=n[1],o=n[2],u=a[0],c=a[1],e=a[2];return t[0]=s*e-o*c,t[1]=o*u-r*e,t[2]=r*c-s*u,t}function D(t,n,a){const r=n[0],s=n[1],o=n[2],u=a[0],c=a[1],e=a[2],i=s*e-o*c,h=o*u-r*e,M=r*c-s*u,f=Math.sqrt(i*i+h*h+M*M);return t[0]=i/f,t[1]=h/f,t[2]=M/f,t}function I(t,n,a,r){const s=n[0],o=n[1],u=n[2];return t[0]=s+r*(a[0]-s),t[1]=o+r*(a[1]-o),t[2]=u+r*(a[2]-u),t}function L(t,n,a,r,s,o){const u=o*o,c=u*(2*o-3)+1,e=u*(o-2)+o,i=u*(o-1),h=u*(3-2*o);return t[0]=n[0]*c+a[0]*e+r[0]*i+s[0]*h,t[1]=n[1]*c+a[1]*e+r[1]*i+s[1]*h,t[2]=n[2]*c+a[2]*e+r[2]*i+s[2]*h,t}function O(t,n,a,r,s,o){const u=1-o,c=u*u,e=o*o,i=c*u,h=3*o*c,M=3*e*u,f=e*o;return t[0]=n[0]*i+a[0]*h+r[0]*M+s[0]*f,t[1]=n[1]*i+a[1]*h+r[1]*M+s[1]*f,t[2]=n[2]*i+a[2]*h+r[2]*M+s[2]*f,t}function S(t,n=1){const r=a,s=2*r()*Math.PI,o=2*r()-1,u=Math.sqrt(1-o*o)*n;return t[0]=Math.cos(s)*u,t[1]=Math.sin(s)*u,t[2]=o*n,t}function E(t,n,a){const r=n[0],s=n[1],o=n[2];return t[0]=a[0]*r+a[4]*s+a[8]*o+a[12],t[1]=a[1]*r+a[5]*s+a[9]*o+a[13],t[2]=a[2]*r+a[6]*s+a[10]*o+a[14],t}function N(t,n,a){const r=n[0],s=n[1],o=n[2];return t[0]=r*a[0]+s*a[3]+o*a[6],t[1]=r*a[1]+s*a[4]+o*a[7],t[2]=r*a[2]+s*a[5]+o*a[8],t}function Q(t,n,a){const r=a[0],s=a[1],o=a[2],u=a[3],c=n[0],e=n[1],i=n[2],h=s*i-o*e,M=o*c-r*i,f=r*e-s*c,m=s*f-o*M,l=o*h-r*f,d=r*M-s*h,b=2*u;return t[0]=c+h*b+2*m,t[1]=e+M*b+2*l,t[2]=i+f*b+2*d,t}function T(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[0],o[1]=s[1]*Math.cos(r)-s[2]*Math.sin(r),o[2]=s[1]*Math.sin(r)+s[2]*Math.cos(r),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function k(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[2]*Math.sin(r)+s[0]*Math.cos(r),o[1]=s[1],o[2]=s[2]*Math.cos(r)-s[0]*Math.sin(r),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function w(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[0]*Math.cos(r)-s[1]*Math.sin(r),o[1]=s[0]*Math.sin(r)+s[1]*Math.cos(r),o[2]=s[2],t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function B(t,n){A(C,t),A(F,n);const a=P(C,F);return a>1?0:a<-1?Math.PI:Math.acos(a)}const C=t(),F=t();function G(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function H(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function J(t,a){if(t===a)return!0;const r=t[0],s=t[1],o=t[2],u=a[0],c=a[1],e=a[2],i=n();return Math.abs(r-u)<=i*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(s-c)<=i*Math.max(1,Math.abs(s),Math.abs(c))&&Math.abs(o-e)<=i*Math.max(1,Math.abs(o),Math.abs(e))}function K(t,n,a){const r=a[0]-n[0],s=a[1]-n[1],o=a[2]-n[2];let u=r*r+s*s+o*o;return u>0?(u=1/Math.sqrt(u),t[0]=r*u,t[1]=s*u,t[2]=o*u,t):(t[0]=0,t[1]=0,t[2]=0,t)}const R=c,U=e,V=i,W=p,X=v,Y=r,Z=j,$=Object.freeze(Object.defineProperty({__proto__:null,abs:f,add:u,angle:B,bezier:O,ceil:h,clamp:b,copy:s,cross:_,crossAndNormalize:D,direction:K,dist:W,distance:p,div:V,divide:i,dot:P,equals:J,exactEquals:H,floor:M,hermite:L,inverse:z,len:Y,length:r,lerp:I,max:d,min:l,mul:U,multiply:e,negate:y,normalize:A,random:S,rotateX:T,rotateY:k,rotateZ:w,round:x,scale:g,scaleAndAdd:q,set:o,sign:m,sqrDist:X,sqrLen:Z,squaredDistance:v,squaredLength:j,str:G,sub:R,subtract:c,transformMat3:N,transformMat4:E,transformQuat:Q},Symbol.toStringTag,{value:"Module"}));export{
|
|
5
|
+
import{create as t}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{getEpsilon as n,RANDOM as a}from"../core/libs/gl-matrix-2/math/common.js";function r(t){const n=t[0],a=t[1],r=t[2];return Math.sqrt(n*n+a*a+r*r)}function s(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function o(t,n,a,r){return t[0]=n,t[1]=a,t[2]=r,t}function u(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t}function c(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t}function e(t,n,a){return t[0]=n[0]*a[0],t[1]=n[1]*a[1],t[2]=n[2]*a[2],t}function i(t,n,a){return t[0]=n[0]/a[0],t[1]=n[1]/a[1],t[2]=n[2]/a[2],t}function h(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t}function M(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t}function f(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function m(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function l(t,n,a){return t[0]=Math.min(n[0],a[0]),t[1]=Math.min(n[1],a[1]),t[2]=Math.min(n[2],a[2]),t}function d(t,n,a){return t[0]=Math.max(n[0],a[0]),t[1]=Math.max(n[1],a[1]),t[2]=Math.max(n[2],a[2]),t}function b(t,n=0,a=1){return t[0]=Math.min(Math.max(t[0],n),a),t[1]=Math.min(Math.max(t[1],n),a),t[2]=Math.min(Math.max(t[2],n),a),t}function x(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t}function g(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t}function q(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t}function p(t,n){const a=n[0]-t[0],r=n[1]-t[1],s=n[2]-t[2];return Math.sqrt(a*a+r*r+s*s)}function v(t,n){const a=n[0]-t[0],r=n[1]-t[1],s=n[2]-t[2];return a*a+r*r+s*s}function j(t){const n=t[0],a=t[1],r=t[2];return n*n+a*a+r*r}function y(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function z(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function A(t,n){const a=n[0],r=n[1],s=n[2];let o=a*a+r*r+s*s;return o>0&&(o=1/Math.sqrt(o),t[0]=n[0]*o,t[1]=n[1]*o,t[2]=n[2]*o),t}function P(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function _(t,n,a){const r=n[0],s=n[1],o=n[2],u=a[0],c=a[1],e=a[2];return t[0]=s*e-o*c,t[1]=o*u-r*e,t[2]=r*c-s*u,t}function D(t,n,a){const r=n[0],s=n[1],o=n[2],u=a[0],c=a[1],e=a[2],i=s*e-o*c,h=o*u-r*e,M=r*c-s*u,f=Math.sqrt(i*i+h*h+M*M);return t[0]=i/f,t[1]=h/f,t[2]=M/f,t}function I(t,n,a,r){const s=n[0],o=n[1],u=n[2];return t[0]=s+r*(a[0]-s),t[1]=o+r*(a[1]-o),t[2]=u+r*(a[2]-u),t}function L(t,n,a,r,s,o){const u=o*o,c=u*(2*o-3)+1,e=u*(o-2)+o,i=u*(o-1),h=u*(3-2*o);return t[0]=n[0]*c+a[0]*e+r[0]*i+s[0]*h,t[1]=n[1]*c+a[1]*e+r[1]*i+s[1]*h,t[2]=n[2]*c+a[2]*e+r[2]*i+s[2]*h,t}function O(t,n,a,r,s,o){const u=1-o,c=u*u,e=o*o,i=c*u,h=3*o*c,M=3*e*u,f=e*o;return t[0]=n[0]*i+a[0]*h+r[0]*M+s[0]*f,t[1]=n[1]*i+a[1]*h+r[1]*M+s[1]*f,t[2]=n[2]*i+a[2]*h+r[2]*M+s[2]*f,t}function S(t,n=1){const r=a,s=2*r()*Math.PI,o=2*r()-1,u=Math.sqrt(1-o*o)*n;return t[0]=Math.cos(s)*u,t[1]=Math.sin(s)*u,t[2]=o*n,t}function E(t,n,a){const r=n[0],s=n[1],o=n[2];return t[0]=a[0]*r+a[4]*s+a[8]*o+a[12],t[1]=a[1]*r+a[5]*s+a[9]*o+a[13],t[2]=a[2]*r+a[6]*s+a[10]*o+a[14],t}function N(t,n,a){const r=n[0],s=n[1],o=n[2];return t[0]=r*a[0]+s*a[3]+o*a[6],t[1]=r*a[1]+s*a[4]+o*a[7],t[2]=r*a[2]+s*a[5]+o*a[8],t}function Q(t,n,a){const r=a[0],s=a[1],o=a[2],u=a[3],c=n[0],e=n[1],i=n[2],h=s*i-o*e,M=o*c-r*i,f=r*e-s*c,m=s*f-o*M,l=o*h-r*f,d=r*M-s*h,b=2*u;return t[0]=c+h*b+2*m,t[1]=e+M*b+2*l,t[2]=i+f*b+2*d,t}function T(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[0],o[1]=s[1]*Math.cos(r)-s[2]*Math.sin(r),o[2]=s[1]*Math.sin(r)+s[2]*Math.cos(r),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function k(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[2]*Math.sin(r)+s[0]*Math.cos(r),o[1]=s[1],o[2]=s[2]*Math.cos(r)-s[0]*Math.sin(r),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function w(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[0]*Math.cos(r)-s[1]*Math.sin(r),o[1]=s[0]*Math.sin(r)+s[1]*Math.cos(r),o[2]=s[2],t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function B(t,n){A(C,t),A(F,n);const a=P(C,F);return a>1?0:a<-1?Math.PI:Math.acos(a)}const C=t(),F=t();function G(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function H(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function J(t,a){if(t===a)return!0;const r=t[0],s=t[1],o=t[2],u=a[0],c=a[1],e=a[2],i=n();return Math.abs(r-u)<=i*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(s-c)<=i*Math.max(1,Math.abs(s),Math.abs(c))&&Math.abs(o-e)<=i*Math.max(1,Math.abs(o),Math.abs(e))}function K(t,n,a){const r=a[0]-n[0],s=a[1]-n[1],o=a[2]-n[2];let u=r*r+s*s+o*o;return u>0?(u=1/Math.sqrt(u),t[0]=r*u,t[1]=s*u,t[2]=o*u,t):(t[0]=0,t[1]=0,t[2]=0,t)}const R=c,U=e,V=i,W=p,X=v,Y=r,Z=j,$=Object.freeze(Object.defineProperty({__proto__:null,abs:f,add:u,angle:B,bezier:O,ceil:h,clamp:b,copy:s,cross:_,crossAndNormalize:D,direction:K,dist:W,distance:p,div:V,divide:i,dot:P,equals:J,exactEquals:H,floor:M,hermite:L,inverse:z,len:Y,length:r,lerp:I,max:d,min:l,mul:U,multiply:e,negate:y,normalize:A,random:S,rotateX:T,rotateY:k,rotateZ:w,round:x,scale:g,scaleAndAdd:q,set:o,sign:m,sqrDist:X,sqrLen:Z,squaredDistance:v,squaredLength:j,str:G,sub:R,subtract:c,transformMat3:N,transformMat4:E,transformQuat:Q},Symbol.toStringTag,{value:"Module"}));export{m as A,e as B,i as C,p as D,K as E,j as F,J as G,W as H,$ as I,M as J,w as K,h as L,b as M,x as N,D as O,L as P,O as Q,S as R,T as S,k as T,G as U,U as V,V as W,R as a,r as b,q as c,s as d,c as e,_ as f,P as g,o as h,u as i,g as j,B as k,I as l,H as m,A as n,z as o,E as p,y as q,Q as r,v as s,N as t,Y as u,f as v,X as w,Z as x,d as y,l as z};
|
package/config.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.0.0-next.
|
|
5
|
+
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.0.0-next.46";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{create as t}from"../factories/mat3f64.js";import{create as n}from"../factories/quatf64.js";import{fromValues as s,create as o}from"../factories/vec3f64.js";import{getEpsilon as a,RANDOM as r}from"./common.js";import{g as e,f as c,
|
|
5
|
+
import{create as t}from"../factories/mat3f64.js";import{create as n}from"../factories/quatf64.js";import{fromValues as s,create as o}from"../factories/vec3f64.js";import{getEpsilon as a,RANDOM as r}from"./common.js";import{g as e,f as c,u as i,n as u}from"../../../../chunks/vec32.js";import{c as h,a as M,n as f,f as l,i as m,s as p,h as q,l as j,j as d,d as g,e as P}from"../../../../chunks/vec42.js";function I(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function v(t,n,s){s*=.5;const o=Math.sin(s);return t[0]=o*n[0],t[1]=o*n[1],t[2]=o*n[2],t[3]=Math.cos(s),t}function x(t,n){const s=2*Math.acos(n[3]),o=Math.sin(s/2);return o>a()?(t[0]=n[0]/o,t[1]=n[1]/o,t[2]=n[2]/o):(t[0]=1,t[1]=0,t[2]=0),s}function y(t,n,s){const o=n[0],a=n[1],r=n[2],e=n[3],c=s[0],i=s[1],u=s[2],h=s[3];return t[0]=o*h+e*c+a*u-r*i,t[1]=a*h+e*i+r*c-o*u,t[2]=r*h+e*u+o*i-a*c,t[3]=e*h-o*c-a*i-r*u,t}function A(t,n,s){s*=.5;const o=n[0],a=n[1],r=n[2],e=n[3],c=Math.sin(s),i=Math.cos(s);return t[0]=o*i+e*c,t[1]=a*i+r*c,t[2]=r*i-a*c,t[3]=e*i-o*c,t}function b(t,n,s){s*=.5;const o=n[0],a=n[1],r=n[2],e=n[3],c=Math.sin(s),i=Math.cos(s);return t[0]=o*i-r*c,t[1]=a*i+e*c,t[2]=r*i+o*c,t[3]=e*i-a*c,t}function _(t,n,s){s*=.5;const o=n[0],a=n[1],r=n[2],e=n[3],c=Math.sin(s),i=Math.cos(s);return t[0]=o*i+a*c,t[1]=a*i-o*c,t[2]=r*i+e*c,t[3]=e*i-r*c,t}function k(t,n){const s=n[0],o=n[1],a=n[2];return t[0]=s,t[1]=o,t[2]=a,t[3]=Math.sqrt(Math.abs(1-s*s-o*o-a*a)),t}function z(t,n,s,o){const r=n[0],e=n[1],c=n[2],i=n[3];let u,h,M,f,l,m=s[0],p=s[1],q=s[2],j=s[3];return h=r*m+e*p+c*q+i*j,h<0&&(h=-h,m=-m,p=-p,q=-q,j=-j),1-h>a()?(u=Math.acos(h),M=Math.sin(u),f=Math.sin((1-o)*u)/M,l=Math.sin(o*u)/M):(f=1-o,l=o),t[0]=f*r+l*m,t[1]=f*e+l*p,t[2]=f*c+l*q,t[3]=f*i+l*j,t}function E(t){const n=r,s=n(),o=n(),a=n(),e=Math.sqrt(1-s),c=Math.sqrt(s);return t[0]=e*Math.sin(2*Math.PI*o),t[1]=e*Math.cos(2*Math.PI*o),t[2]=c*Math.sin(2*Math.PI*a),t[3]=c*Math.cos(2*Math.PI*a),t}function L(t,n){const s=n[0],o=n[1],a=n[2],r=n[3],e=s*s+o*o+a*a+r*r,c=e?1/e:0;return t[0]=-s*c,t[1]=-o*c,t[2]=-a*c,t[3]=r*c,t}function O(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t}function S(t,n){const s=n[0]+n[4]+n[8];let o;if(s>0)o=Math.sqrt(s+1),t[3]=.5*o,o=.5/o,t[0]=(n[5]-n[7])*o,t[1]=(n[6]-n[2])*o,t[2]=(n[1]-n[3])*o;else{let s=0;n[4]>n[0]&&(s=1),n[8]>n[3*s+s]&&(s=2);const a=(s+1)%3,r=(s+2)%3;o=Math.sqrt(n[3*s+s]-n[3*a+a]-n[3*r+r]+1),t[s]=.5*o,o=.5/o,t[3]=(n[3*a+r]-n[3*r+a])*o,t[a]=(n[3*a+s]+n[3*s+a])*o,t[r]=(n[3*r+s]+n[3*s+r])*o}return t}function T(t,n,s,o){const a=.5*Math.PI/180;n*=a,s*=a,o*=a;const r=Math.sin(n),e=Math.cos(n),c=Math.sin(s),i=Math.cos(s),u=Math.sin(o),h=Math.cos(o);return t[0]=r*i*h-e*c*u,t[1]=e*c*h+r*i*u,t[2]=e*i*u-r*c*h,t[3]=e*i*h+r*c*u,t}function W(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}const X=l,Y=h,Z=m,w=y,B=p,C=q,D=j,F=d,G=F,H=g,J=H,K=f,N=M,Q=P;function R(t,n,s){const o=e(n,s);return o<-.999999?(c(U,V,n),i(U)<1e-6&&c(U,$,n),u(U,U),v(t,U,Math.PI),t):o>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):(c(U,n,s),t[0]=U[0],t[1]=U[1],t[2]=U[2],t[3]=1+o,K(t,t))}const U=o(),V=s(1,0,0),$=s(0,1,0);function tt(t,n,s,o,a,r){return z(nt,n,a,r),z(st,s,o,r),z(t,nt,st,2*r*(1-r)),t}const nt=n(),st=n();function ot(t,n,s,o){const a=at;return a[0]=s[0],a[3]=s[1],a[6]=s[2],a[1]=o[0],a[4]=o[1],a[7]=o[2],a[2]=-n[0],a[5]=-n[1],a[8]=-n[2],K(t,S(t,a))}const at=t(),rt=Object.freeze(Object.defineProperty({__proto__:null,add:Z,calculateW:k,conjugate:O,copy:X,dot:C,equals:Q,exactEquals:N,fromEuler:T,fromMat3:S,getAxisAngle:x,identity:I,invert:L,len:G,length:F,lerp:D,mul:w,multiply:y,normalize:K,random:E,rotateX:A,rotateY:b,rotateZ:_,rotationTo:R,scale:B,set:Y,setAxes:ot,setAxisAngle:v,slerp:z,sqlerp:tt,sqrLen:J,squaredLength:H,str:W},Symbol.toStringTag,{value:"Module"}));export{Z as add,k as calculateW,O as conjugate,X as copy,C as dot,Q as equals,N as exactEquals,T as fromEuler,S as fromMat3,x as getAxisAngle,I as identity,L as invert,G as len,F as length,D as lerp,w as mul,y as multiply,K as normalize,rt as q,E as random,A as rotateX,b as rotateY,_ as rotateZ,R as rotationTo,B as scale,Y as set,ot as setAxes,v as setAxisAngle,z as slerp,tt as sqlerp,J as sqrLen,H as squaredLength,W as str};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../factories/vec3f64.js";import"./common.js";export{
|
|
5
|
+
import"../factories/vec3f64.js";import"./common.js";export{v as abs,i as add,k as angle,Q as bezier,L as ceil,M as clamp,d as copy,f as cross,O as crossAndNormalize,E as direction,H as dist,D as distance,W as div,C as divide,g as dot,G as equals,m as exactEquals,J as floor,P as hermite,o as inverse,u as len,b as length,l as lerp,y as max,z as min,V as mul,B as multiply,q as negate,n as normalize,R as random,S as rotateX,T as rotateY,K as rotateZ,N as round,j as scale,c as scaleAndAdd,h as set,A as sign,w as sqrDist,x as sqrLen,s as squaredDistance,F as squaredLength,U as str,a as sub,e as subtract,t as transformMat3,p as transformMat4,r as transformQuat}from"../../../../chunks/vec32.js";
|
package/core/urlUtils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "../interfaces";
|
|
2
2
|
|
|
3
|
+
export const addProxy: __esri.urlUtils["addProxy"];
|
|
3
4
|
export const addProxyRule: __esri.urlUtils["addProxyRule"];
|
|
4
5
|
export const dataToArrayBuffer: __esri.urlUtils["dataToArrayBuffer"];
|
|
5
6
|
export const dataToBlob: __esri.urlUtils["dataToBlob"];
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{getAssetUrl as e}from"../../assets.js";import r from"../../config.js";import{getLocale as t}from"../../intl.js";import{fullVersion as o}from"../../kernel.js";import has from"../has.js";import s from"../Logger.js";import{makeAbsolute as a}from"../urlUtils.js";import{loaderConfig as n}from"./loaderConfig.js";import{receiveMessage as i,MessageType as l}from"./utils.js";import f from"./WorkerFallback.js";import{commitHash as u,buildDate as c}from"../../support/revision.js";const d=()=>s.getLogger("esri.core.workers.workerFactory"),{HANDSHAKE:m}=l,p='let globalId=0;const outgoing=new Map,configuration={CONFIGURATION};self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;let s=null;return new Promise((r,i)=>{if(t){if(t.aborted)return i(createAbortError());s=()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))},t.addEventListener("abort",s)}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}).finally(()=>{t&&t.removeEventListener("abort",s)})}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,fullVersion:r}=configuration.kernelInfo,{revision:t,fullVersion:n,version:s}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==t&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://esriurl.com/using-local-assets.\nModules version: ${r}\nAssets version: ${n??s}\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let n;function t(e){const o=n.connect(e);self.postMessage({type:2,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(e=>e||new Promise(e=>{require([o.modulePath],e)})).then(t)}):"System"in self&&"function"==typeof System.import?System.import(workerPath).then(e=>(n=e.default,checkWorkerRevision(n),n.loadWorker(o.modulePath))).then(e=>e||System.import(o.modulePath)).then(t):esriConfig.workers.useDynamicImport?import(workerPath).then(e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(t)}):(self.RemoteClient||importScripts(workerPath),n=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});';let g,y;const h="Failed to create Worker. Fallback to execute module in main thread";async function k(){if(!has("esri-workers"))return w(new f);if(!g&&!y)try{const e=p.split("{CONFIGURATION}").join(b());g=URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}catch(r){y=r||{}}let e;if(g)try{e=new Worker(g,{name:"esri-worker-"+v++})}catch(r){d().warn(h,y),e=new f}else d().warn(h,y),e=new f;return w(e)}async function w(e){return new Promise(r=>{function t(s){const a=i(s);a&&a.type===m&&(e.removeEventListener("message",t),e.removeEventListener("error",o),r(e))}function o(r){r.preventDefault(),e.removeEventListener("message",t),e.removeEventListener("error",o),d().warn("Failed to create Worker. Fallback to execute module in main thread",r),(e=new f).addEventListener("message",t),e.addEventListener("error",o)}e.addEventListener("message",t),e.addEventListener("error",o)})}function b(){let s;if(null!=r.default){const e={...r};delete e.default,s=JSON.parse(JSON.stringify(e))}else s=JSON.parse(JSON.stringify(r));s.assetsPath=a(s.assetsPath),s.defaultAssetsPath=s.defaultAssetsPath?a(s.defaultAssetsPath):void 0,s.request.interceptors=[],s.log.interceptors=[],s.locale=t(),s.has={"esri-csp-restrictions":has("esri-csp-restrictions"),"esri-2d-debug":!1,"esri-2d-update-debug":has("esri-2d-update-debug"),"esri-2d-log-updating":has("esri-2d-log-updating"),"featurelayer-pbf":has("featurelayer-pbf"),"featurelayer-fast-triangulation-enabled":has("featurelayer-fast-triangulation-enabled"),"featurelayer-simplify-thresholds":has("featurelayer-simplify-thresholds"),"featurelayer-simplify-payload-size-factors":has("featurelayer-simplify-payload-size-factors"),"featurelayer-simplify-mobile-factor":has("featurelayer-simplify-mobile-factor"),"featurelayer-query-max-depth":has("featurelayer-query-max-depth"),"featurelayer-query-tile-max-features":has("featurelayer-query-tile-max-features"),"featurelayer-query-tile-concurrency":has("featurelayer-query-tile-concurrency"),"featurelayer-query-pausing-enabled":has("featurelayer-query-pausing-enabled"),"featurelayer-snapshot-concurrency":has("featurelayer-snapshot-concurrency"),"featurelayer-snapshot-enabled":has("featurelayer-snapshot-enabled"),"parquetlayer-full-query-feature-count":has("parquetlayer-full-query-feature-count"),"esri-atomics":has("esri-atomics"),"esri-shared-array-buffer":has("esri-shared-array-buffer"),"esri-tiles-debug":has("esri-tiles-debug"),"esri-workers-arraybuffer-transfer":has("esri-workers-arraybuffer-transfer"),"feature-polyline-generalization-factor":has("feature-polyline-generalization-factor"),"host-webworker":1},s.workers.loaderUrl&&(s.workers.loaderUrl=a(s.workers.loaderUrl)),s.workers.workerPath?s.workers.workerPath=a(s.workers.workerPath):s.workers.workerPath=a(e("esri/core/workers/RemoteClient.js")),s.workers.useDynamicImport
|
|
5
|
+
import{getAssetUrl as e}from"../../assets.js";import r from"../../config.js";import{getLocale as t}from"../../intl.js";import{fullVersion as o}from"../../kernel.js";import has from"../has.js";import s from"../Logger.js";import{makeAbsolute as a}from"../urlUtils.js";import{loaderConfig as n}from"./loaderConfig.js";import{receiveMessage as i,MessageType as l}from"./utils.js";import f from"./WorkerFallback.js";import{commitHash as u,buildDate as c}from"../../support/revision.js";const d=()=>s.getLogger("esri.core.workers.workerFactory"),{HANDSHAKE:m}=l,p='let globalId=0;const outgoing=new Map,configuration={CONFIGURATION};self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;let s=null;return new Promise((r,i)=>{if(t){if(t.aborted)return i(createAbortError());s=()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))},t.addEventListener("abort",s)}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}).finally(()=>{t&&t.removeEventListener("abort",s)})}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,fullVersion:r}=configuration.kernelInfo,{revision:t,fullVersion:n,version:s}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==t&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://esriurl.com/using-local-assets.\nModules version: ${r}\nAssets version: ${n??s}\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let n;function t(e){const o=n.connect(e);self.postMessage({type:2,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(e=>e||new Promise(e=>{require([o.modulePath],e)})).then(t)}):"System"in self&&"function"==typeof System.import?System.import(workerPath).then(e=>(n=e.default,checkWorkerRevision(n),n.loadWorker(o.modulePath))).then(e=>e||System.import(o.modulePath)).then(t):esriConfig.workers.useDynamicImport?import(workerPath).then(e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(t)}):(self.RemoteClient||importScripts(workerPath),n=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});';let g,y;const h="Failed to create Worker. Fallback to execute module in main thread";async function k(){if(!has("esri-workers"))return w(new f);if(!g&&!y)try{const e=p.split("{CONFIGURATION}").join(b());g=URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}catch(r){y=r||{}}let e;if(g)try{e=new Worker(g,{name:"esri-worker-"+v++})}catch(r){d().warn(h,y),e=new f}else d().warn(h,y),e=new f;return w(e)}async function w(e){return new Promise(r=>{function t(s){const a=i(s);a&&a.type===m&&(e.removeEventListener("message",t),e.removeEventListener("error",o),r(e))}function o(r){r.preventDefault(),e.removeEventListener("message",t),e.removeEventListener("error",o),d().warn("Failed to create Worker. Fallback to execute module in main thread",r),(e=new f).addEventListener("message",t),e.addEventListener("error",o)}e.addEventListener("message",t),e.addEventListener("error",o)})}function b(){let s;if(null!=r.default){const e={...r};delete e.default,s=JSON.parse(JSON.stringify(e))}else s=JSON.parse(JSON.stringify(r));s.assetsPath=a(s.assetsPath),s.defaultAssetsPath=s.defaultAssetsPath?a(s.defaultAssetsPath):void 0,s.request.interceptors=[],s.log.interceptors=[],s.locale=t(),s.has={"esri-csp-restrictions":has("esri-csp-restrictions"),"esri-2d-debug":!1,"esri-2d-update-debug":has("esri-2d-update-debug"),"esri-2d-log-updating":has("esri-2d-log-updating"),"featurelayer-pbf":has("featurelayer-pbf"),"featurelayer-fast-triangulation-enabled":has("featurelayer-fast-triangulation-enabled"),"featurelayer-simplify-thresholds":has("featurelayer-simplify-thresholds"),"featurelayer-simplify-payload-size-factors":has("featurelayer-simplify-payload-size-factors"),"featurelayer-simplify-mobile-factor":has("featurelayer-simplify-mobile-factor"),"featurelayer-query-max-depth":has("featurelayer-query-max-depth"),"featurelayer-query-tile-max-features":has("featurelayer-query-tile-max-features"),"featurelayer-query-tile-concurrency":has("featurelayer-query-tile-concurrency"),"featurelayer-query-pausing-enabled":has("featurelayer-query-pausing-enabled"),"featurelayer-snapshot-concurrency":has("featurelayer-snapshot-concurrency"),"featurelayer-snapshot-enabled":has("featurelayer-snapshot-enabled"),"parquetlayer-full-query-feature-count":has("parquetlayer-full-query-feature-count"),"esri-atomics":has("esri-atomics"),"esri-shared-array-buffer":has("esri-shared-array-buffer"),"esri-tiles-debug":has("esri-tiles-debug"),"esri-workers-arraybuffer-transfer":has("esri-workers-arraybuffer-transfer"),"feature-polyline-generalization-factor":has("feature-polyline-generalization-factor"),"host-webworker":1},s.workers.loaderUrl&&(s.workers.loaderUrl=a(s.workers.loaderUrl)),s.workers.workerPath?s.workers.workerPath=a(s.workers.workerPath):s.workers.workerPath=a(e("esri/core/workers/RemoteClient.js")),s.workers.useDynamicImport=has("esri-esbuild-build")||!1;const i=r.workers.loaderConfig,l=n({baseUrl:i?.baseUrl,locale:t(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...i?.has},map:{...i?.map},paths:{...i?.paths},packages:i?.packages||[]}),f={buildDate:c,fullVersion:o,revision:u};return JSON.stringify({esriConfig:s,loaderConfig:l,kernelInfo:f})}let v=0;export{k as createWorker};
|
package/geometry/FlatGeometry.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__addDisposableResource as t,__disposeResources as e}from"tslib";import r from"./SpatialReference.js";import{empty as s,expandWithExtent as n}from"./support/aaBoundingBox.js";import{empty as i,expandExtentInPlace as a}from"./support/aaBoundingRect.js";import{isPoint as o,isMultipoint as h,isPolyline as u,isGeometryWithM as l,isGeometryWithZ as c}from"./support/jsonUtils.js";import{equals as f}from"./support/spatialReferenceUtils.js";import{interpolateCircle as g}from"./support/curves/circleUtils.js";import{deriveCircleFromCircularArc as m}from"./support/curves/circularArcUtils.js";import{curveExtent as p}from"./support/curves/curveExtent.js";import{getEndpoint as x,isCurvedGeometry as v,isEllipticArc7 as d,isCircularArc as y,isEllipticArc4 as C,isBezierCurve as M}from"./support/curves/curveUtils.js";import{deriveCircleFromEllipticArc4 as E}from"./support/curves/ellipticArc4Utils.js";import{deriveEllipse as O,interpolateEllipse as S}from"./support/curves/ellipticArc7Utils.js";import Z from"../layers/graphics/OptimizedGeometry.js";class _{constructor({type:t,spatialReference:e,vertexCount:r,vertexXY:s,vertexZ:n,vertexM:i,partCount:a,partOffsets:o,partFlags:h,segmentFlags:u,segmentIndices:l,segmentParams:c,segmentCountArc:f,segmentCountBezier:g}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=t,this.spatialReference=e,this.vertexCount=r,this.vertexXY=s,this.vertexZ=n,this.vertexM=i,this.partCount=a,this.partOffsets=o,this.partFlags=h,this.segmentFlags=u,this.segmentIndices=l,this.segmentParams=c,this.segmentCountArc=f,this.segmentCountBezier=g}get segmentParamCount(){return z(4)*this.segmentCountArc+z(2)*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:t,segmentCountArc:e,segmentCountBezier:r}=this;return t&&t-e-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}get hasCurves(){return null!=this.segmentFlags}get isMultipart(){return"polyline"===this.type||"polygon"===this.type}toGeometryJSON(){const t=T(this),{vertexCount:e,partCount:r,hasZ:s,hasM:n}=this,i=L(this);if("point"===this.type){const[t,e]=this.vertexXY,r=this.vertexZ?.[0],s=this.vertexM?.[0];return{x:t,y:e,z:r,m:s,spatialReference:i}}let a=0;if("multipoint"===this.type){const r=[];for(;a<e;)r.push(t(a++));return{points:r,spatialReference:i,hasZ:s,hasM:n}}const o="polygon"===this.type;if(!this.hasCurves){const e=new Array;for(let s=0;s<r;++s){const r=this.partOffsets[s+1],n=new Array;for(;a<r;)n.push(t(a++));o&&n.length>0&&n.push(n[0]),e.push(n)}return o?{rings:e,hasZ:s,hasM:n,spatialReference:i}:{paths:e,hasZ:s,hasM:n,spatialReference:i}}const h=new Array;for(const{segments:u,startVertex:l}of this.parts){const t=[l];for(const{curve:e}of u)t.push(e);h.push(t)}return o?{rings:[],curveRings:h,hasZ:s,hasM:n,spatialReference:i}:{paths:[],curvePaths:h,hasZ:s,hasM:n,spatialReference:i}}toOptimizedGeometry(){const{vertexCount:t,vertexXY:e,vertexZ:r,vertexM:s,partOffsets:n,hasZ:i,hasM:a}=this,o=new Z([],[],i,a),h=Math.max(this.partCount,1),u="polygon"===this.type;let l=0;for(let c=0;c<h;++c){const h=n?.[c+1]??t,f=o.coords.length;for(let t=l;t<h;++t)o.coords.push(e[2*t],e[2*t+1]),i&&o.coords.push(r[t]),a&&o.coords.push(s[t]);if(u){const t=l;o.coords.push(e[2*t],e[2*t+1]),i&&o.coords.push(r[t]),a&&o.coords.push(s[t])}o.lengths.push((o.coords.length-f)/o.stride),l=h}return"point"===this.type&&(o.lengths.length=0),o}clone(){const{type:t,vertexCount:e,partCount:r,hasZ:s,hasM:n,hasCurves:i,segmentCountArc:a,segmentCountBezier:o}=this,h=j(t,e,r,s,n,i,a,o);h.spatialReference=this.spatialReference;const{vertexXY:u,vertexZ:l,vertexM:c}=this;h.vertexXY.set(u.subarray(0,2*e),0),h.vertexZ?.set(l.subarray(0,e),0),h.vertexM?.set(c.subarray(0,e),0);const{partOffsets:f,partFlags:g}=this;h.partFlags?.set(g.subarray(0,r+1)),h.partOffsets?.set(f.subarray(0,r+1));const{segmentFlags:m,segmentIndices:p,segmentParams:x,segmentParamCount:v}=this;return h.segmentFlags?.set(m.subarray(0,e),0),h.segmentIndices?.set(p.subarray(0,e),0),h.segmentParams?.set(x.subarray(0,v),0),h}equals(t){return this.equalsWithinTolerance(t,0)}equalsWithinTolerance(t,e){if(null==t)return!1;if(this===t)return!0;if(!f(this.spatialReference,t.spatialReference))return!1;if(this.vertexCount!==t.vertexCount||this.partCount!==t.partCount)return!1;if(this.hasZ!==t.hasZ||this.hasM!==t.hasM)return!1;if(this.hasCurves!==t.hasCurves||this.segmentCountArc!==t.segmentCountArc||this.segmentCountBezier!==t.segmentCountBezier)return!1;const r=0===e?(t,e)=>t!==e||isNaN(t)!==isNaN(e):(t,r)=>Math.abs(t-r)>e||isNaN(t)!==isNaN(r);for(let s=0;s<this.vertexCount;++s)if(r(this.vertexXY[2*s],t.vertexXY[2*s])||r(this.vertexXY[2*s+1],t.vertexXY[2*s+1]))return!1;if(this.hasZ)for(let s=0;s<this.vertexCount;++s)if(r(this.vertexZ[s],t.vertexZ[s]))return!1;if(this.hasM)for(let s=0;s<this.vertexCount;++s)if(r(this.vertexM[s],t.vertexM[s]))return!1;for(let s=0;s<this.partCount;++s)if(this.partFlags[s]!==t.partFlags[s]||this.partOffsets[s]!==t.partOffsets[s])return!1;if(this.hasCurves){for(let e=0;e<this.vertexCount;++e)if(this.segmentFlags[e]!==t.segmentFlags[e]||this.segmentIndices[e]!==t.segmentIndices[e])return!1;for(let e=0;e<this.segmentParamCount;++e)if(r(this.segmentParams[e],t.segmentParams[e]))return!1}return!0}get parts(){return new Y(this)}}class Y{constructor(t){this.geometry=t,this.value=new P(t)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class P{constructor(t){this.geometry=t,this.index=-1,this._readVertex=T(t),this._segments=new R(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const t=this.geometry.partOffsets;return t[this.index+1]-t[this.index]}}class R{constructor(t){this._part=t,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===t.geometry.type,this.value=new A(t.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const t=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=t&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:t}=this._part,e=this._part.geometry.partOffsets;this._partStart=e[t],this._partEnd=e[t+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class A{constructor(t){this.geometry=t,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=T(t)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const t=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===t)return this.end;const e=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===t){const t=e[r++],s=e[r++],n=e[r++],i=e[r++];return{b:[this.end,[t,s],[n,i]]}}const s=e[r++],n=e[r++],i=e[r++],a=e[r++],o=e[r++],h=e[r++];r++,r++;const u=e[r++],l=e[r++];if(!(4&s)&&1===i)return{c:[this.end,[u,l]]};const c=2&s?0:1,f=1&s?0:1;return{a:[this.end,[o,h],c,f,a,n,i]}}}function F(r){let s;const{hasCurves:n,vertexCount:a,vertexXY:o,vertexZ:h,vertexM:u}=r,l=L(r);if(n){const n={stack:[],error:void 0,hasError:!1};try{t(n,new N(r,["vertexZ","vertexM"]),!1);const e=i();for(const t of r.parts){let r=t.startVertex;for(const{curve:s}of t.segments)p(e,r,s),r=x(s)}const[a,o,h,u]=e;s={xmin:a,ymin:o,xmax:h,ymax:u,spatialReference:l}}catch(c){n.error=c,n.hasError=!0}finally{e(n)}}else{let t,e,r,n;t=e=1/0,r=n=-1/0;for(let s=0;s<a;++s){const i=o[2*s],a=o[2*s+1];t=Math.min(t,i),r=Math.max(r,i),e=Math.min(e,a),n=Math.max(n,a)}s={xmin:t,ymin:e,xmax:r,ymax:n,spatialReference:l}}if(h){let t=1/0,e=-1/0;for(const r of h)t=Math.min(t,r),e=Math.max(e,r);s.zmin=t,s.zmax=e}if(u){let t=1/0,e=-1/0;for(const r of u)t=Math.min(t,r),e=Math.max(e,r);s.mmin=t,s.mmax=e}return s}function V(r,s){const n={stack:[],error:void 0,hasError:!1};try{s??=i();t(n,new N(r,["vertexZ","vertexM","spatialReference"]),!1);return a(s,F(r)),s}catch(o){n.error=o,n.hasError=!0}finally{e(n)}}function w(r,i){const a={stack:[],error:void 0,hasError:!1};try{i??=s();t(a,new N(r,["vertexM","spatialReference"]),!1);return n(i,F(r)),i}catch(o){a.error=o,a.hasError=!0}finally{e(a)}}function X(t){let e,r,s;if(o(t)){s="point";const{x:n,y:i,z:a,m:o}=t,h=[n,i];null!=a&&h.push(a),null!=o&&h.push(o),r=[[h]],e=1}else h(t)?(s="multipoint",r=[t.points],e=t.points.length):u(t)?(s="polyline",r=t.curvePaths??t.paths,e=r.reduce((t,e)=>t+e.length,0)):(s="polygon",r=t.curveRings??t.rings,e=r.reduce((t,e)=>t+e.length-k(e),0));const n=j(s,e,s.includes("point")?0:r.length,c(t),l(t),v(t));function i(t){n.vertexXY[2*f]=t[0],n.vertexXY[2*f+1]=t[1],n.hasZ&&(n.vertexZ[f]=t[2]),n.hasM&&(n.vertexM[f]=t[a]),++f}n.spatialReference=t.spatialReference??void 0;const a=n.hasZ?3:2;let f=0;if(!n.isMultipart){if(!n.hasZ&&!n.hasM){for(const[t,e]of r[0])n.vertexXY[2*f]=t,n.vertexXY[2*f+1]=e;return n}for(const t of r[0])i(t);return n}const p="polygon"===n.type;let Z=0;if(!n.hasCurves){for(const t of r){n.partOffsets[Z++]=f;let e=t.length;if(p&&(e-=k(t)),n.hasZ||n.hasM)for(let r=0;r<e;++r)i(t[r]);else for(let r=0;r<e;++r){const[e,s]=t[r];n.vertexXY[2*f]=e,n.vertexXY[2*f+1]=s,++f}}return n.partOffsets[Z]=f,n}function _(t){const e=f-1;n.segmentFlags[e]=t;const r=z(t);n.segmentIndices[e]=0===r?U:Y,4===t?++n.segmentCountArc:2===t&&++n.segmentCountBezier;const s=Y+r;if(s<=(n.segmentParams?.length??0))return;let i=s*W;i=20*Math.ceil(i/20);const a=n.segmentParams;if(n.segmentParams=new Float64Array(i),null!=a)for(let o=0;o<a.length;++o)n.segmentParams[o]=a[o]}let Y=0;for(const o of r){n.partOffsets[Z++]=f,i(o[0]);let t=o.length;p&&(t-=k(o));for(let e=1;e<t;++e){const t=o[e];if(d(t)){_(4);const r=n.segmentParams,[s,[a,h],u,l,c,f,g]=t.a;let m=4;l||(m|=1),u||(m|=2);const p=O(x(o[e-1]),t),[v,d]=S(p,.5);r[Y++]=m,r[Y++]=f,r[Y++]=g,r[Y++]=c,r[Y++]=a,r[Y++]=h,r[Y++]=p.u2-p.u1,r[Y++]=p.u1,r[Y++]=v,r[Y++]=d,i(s);continue}if(y(t)||C(t)){_(4);const r=n.segmentParams,s=x(t),a=y(t)?m(x(o[e-1]),t):E(x(o[e-1]),t),{cx:h,cy:u,thetaStart:l,thetaEnd:c,radius:f}=a,p=Math.abs(c-l)<Math.PI,v=l>c;let d=C(t)?4:0;v||(d|=1),p||(d|=2);const[M,O]=y(t)?t.c[1]:g(a,.5);r[Y++]=d,r[Y++]=f,r[Y++]=1,r[Y++]=0,r[Y++]=h,r[Y++]=u,r[Y++]=c-l,r[Y++]=l,r[Y++]=M,r[Y++]=O,i(s);continue}if(M(t)){_(2);const e=n.segmentParams,[r,[s,a],[o,h]]=t.b;e[Y++]=s,e[Y++]=a,e[Y++]=o,e[Y++]=h,i(r);continue}_(1),i(t)}}return n.partOffsets[Z]=f,n}function b(t,{lengths:e,coords:r,hasZ:s,hasM:n},i){const a=t.includes("point")?0:e.length,o="polygon"===t,h="point"===t?1:e.reduce((t,e)=>t+e,0)-(o?a:0);s??=!1,n??=!1;const u=j(t,h,a,s,n,!1,0,0);if(u.spatialReference=i??void 0,!u.isMultipart){for(let t=0,e=0;t<h;++t)u.vertexXY[2*t]=r[e++],u.vertexXY[2*t+1]=r[e++],s&&(u.vertexZ[t]=r[e++]),n&&(u.vertexM[t]=r[e++]);return u}const l=2+Number(s)+Number(n);let c=0,f=0;u.partOffsets[0]=0;for(const g of e){const t=u.partOffsets[f],e=t+g-Number(o);u.partOffsets[++f]=e;for(let i=t;i<e;++i)u.vertexXY[2*i]=r[c++],u.vertexXY[2*i+1]=r[c++],s&&(u.vertexZ[i]=r[c++]),n&&(u.vertexM[i]=r[c++]);o&&(c+=l)}return u}function I(t,e){return"getSpatialReference"in t&&(e=B(t.getSpatialReference()),t=t.getGeometry()),new _({...t.toFlatGeometry(),spatialReference:e})}function B(t){if(null==t)return;const e=t.getText()||void 0,r=t.isCustomWkid()?0:t.getOldID();if(r<=0)return{wkt:e};let s=t.getLatestID();(s<=0||s===r)&&(s=void 0);const n=t.getVCS();if(null==n)return{wkid:r,latestWkid:s,wkt:e};const i=n.isCustomWkid()?0:n.getOldID();if(i<=0)return{wkt:e};let a=t.getLatestVerticalID();return(a<=0||a===i)&&(a=void 0),{wkid:r,wkt:e,latestWkid:s,vcsWkid:i,latestVcsWkid:a}}class N{constructor(t,e){this.target=t,this.keys=e,this.oldValues=e.map(e=>t[e]);for(const r of e)t[r]=void 0}[Symbol.dispose](){this.keys.map((t,e)=>{this.target[t]=this.oldValues[e]})}}function L({spatialReference:t}){return t instanceof r?t.toJSON():t}function T({vertexXY:t,vertexZ:e,vertexM:r}){return e?r?s=>[t[2*s],t[2*s+1],e[s],r[s]]:r=>[t[2*r],t[2*r+1],e[r]]:r?e=>[t[2*e],t[2*e+1],r[e]]:e=>[t[2*e],t[2*e+1]]}function z(t){switch(t){case 1:return 0;case 4:return 10;case 2:return 4}}function k(t){if(t.length>0){const e=t[0],r=x(t.at(-1));return e.every((t,e)=>t===r[e])?1:0}return 0}function j(t,e,r,s,n,i,a,o){const h=null!=a&&null!=o;a??=0,o??=0;const u=new _({type:t,vertexCount:e,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:a,segmentCountBezier:o});let l=2*Float64Array.BYTES_PER_ELEMENT*e;s&&(l+=Float64Array.BYTES_PER_ELEMENT*e),n&&(l+=Float64Array.BYTES_PER_ELEMENT*e),u.isMultipart&&(l+=(r+1)*Int32Array.BYTES_PER_ELEMENT,l+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(l+=e*Int8Array.BYTES_PER_ELEMENT,l+=e*Int32Array.BYTES_PER_ELEMENT,h&&(l+=u.segmentParamCount*Float64Array.BYTES_PER_ELEMENT));const c=new ArrayBuffer(l);let f=0;if(u.vertexXY=new Float64Array(c,f,2*e),f+=u.vertexXY.byteLength,s&&(u.vertexZ=new Float64Array(c,f,e),f+=u.vertexZ.byteLength),n&&(u.vertexM=new Float64Array(c,f,e),f+=u.vertexM.byteLength),i&&(h&&(u.segmentParams=new Float64Array(c,f,u.segmentParamCount),f+=u.segmentParams.byteLength),u.segmentIndices=new Int32Array(c,f,e),u.segmentIndices.fill(U),f+=u.segmentIndices.byteLength),u.isMultipart&&(u.partOffsets=new Int32Array(c,f,r+1),f+=u.partOffsets.byteLength,u.partFlags=new Int8Array(c,f,r+1),f+=u.partFlags.byteLength),i&&(u.segmentFlags=new Int8Array(c,f,e),u.segmentFlags.fill(1),f+=u.segmentFlags.byteLength),"polygon"===u.type)for(let g=0;g<r;++g)u.partFlags[g]=1;return u}const W=1.61803,U=-1;export{_ as FlatGeometry,X as convertGeometryToFlat,I as convertGeometryxToFlat,b as convertOptimizedGeometryToFlat,w as getBoundingBox,V as getBoundingRect,F as getExtentJSON};
|
|
5
|
+
import{__addDisposableResource as t,__disposeResources as e}from"tslib";import r from"./SpatialReference.js";import{empty as s,expandWithExtent as n}from"./support/aaBoundingBox.js";import{empty as i,expandExtentInPlace as a}from"./support/aaBoundingRect.js";import{isPoint as o,isMultipoint as h,isPolyline as u,isGeometryWithM as l,isGeometryWithZ as c}from"./support/jsonUtils.js";import{equals as f}from"./support/spatialReferenceUtils.js";import{interpolateCircle as g}from"./support/curves/circleUtils.js";import{deriveCircleFromCircularArc as m}from"./support/curves/circularArcUtils.js";import{curveExtent as p}from"./support/curves/curveExtent.js";import{isCurvedGeometry as x,isEllipticArc7 as v,getEndpoint as d,isEllipticArc4 as y,isBezierCurve as C,isCircularArc as M}from"./support/curves/curveUtils.js";import{deriveCircleFromEllipticArc4 as E}from"./support/curves/ellipticArc4Utils.js";import{deriveEllipse as O,interpolateEllipse as S}from"./support/curves/ellipticArc7Utils.js";import Z from"../layers/graphics/OptimizedGeometry.js";class _{constructor({type:t,spatialReference:e,vertexCount:r,vertexXY:s,vertexZ:n,vertexM:i,partCount:a,partOffsets:o,partFlags:h,segmentFlags:u,segmentIndices:l,segmentParams:c,segmentCountArc:f,segmentCountBezier:g}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=t,this.spatialReference=e,this.vertexCount=r,this.vertexXY=s,this.vertexZ=n,this.vertexM=i,this.partCount=a,this.partOffsets=o,this.partFlags=h,this.segmentFlags=u,this.segmentIndices=l,this.segmentParams=c,this.segmentCountArc=f,this.segmentCountBezier=g}get segmentParamCount(){return z(4)*this.segmentCountArc+z(2)*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:t,segmentCountArc:e,segmentCountBezier:r}=this;return t&&t-e-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}get hasCurves(){return null!=this.segmentFlags}get isMultipart(){return"polyline"===this.type||"polygon"===this.type}toGeometryJSON(){const t=T(this),{vertexCount:e,partCount:r,hasZ:s,hasM:n}=this,i=L(this);if("point"===this.type){const[t,e]=this.vertexXY,r=this.vertexZ?.[0],s=this.vertexM?.[0];return{x:t,y:e,z:r,m:s,spatialReference:i}}let a=0;if("multipoint"===this.type){const r=[];for(;a<e;)r.push(t(a++));return{points:r,spatialReference:i,hasZ:s,hasM:n}}const o="polygon"===this.type;if(!this.hasCurves){const e=new Array;for(let s=0;s<r;++s){const r=this.partOffsets[s+1],n=new Array;for(;a<r;)n.push(t(a++));o&&n.length>0&&n.push(n[0]),e.push(n)}return o?{rings:e,hasZ:s,hasM:n,spatialReference:i}:{paths:e,hasZ:s,hasM:n,spatialReference:i}}const h=new Array;for(const{segments:u,startVertex:l}of this.parts){const t=[l];for(const{curve:e}of u)t.push(e);h.push(t)}return o?{rings:[],curveRings:h,hasZ:s,hasM:n,spatialReference:i}:{paths:[],curvePaths:h,hasZ:s,hasM:n,spatialReference:i}}toOptimizedGeometry(){const{vertexCount:t,vertexXY:e,vertexZ:r,vertexM:s,partOffsets:n,hasZ:i,hasM:a}=this,o=new Z([],[],i,a),h=Math.max(this.partCount,1),u="polygon"===this.type;let l=0;for(let c=0;c<h;++c){const h=n?.[c+1]??t,f=o.coords.length;for(let t=l;t<h;++t)o.coords.push(e[2*t],e[2*t+1]),i&&o.coords.push(r[t]),a&&o.coords.push(s[t]);if(u){const t=l;o.coords.push(e[2*t],e[2*t+1]),i&&o.coords.push(r[t]),a&&o.coords.push(s[t])}o.lengths.push((o.coords.length-f)/o.stride),l=h}return"point"===this.type&&(o.lengths.length=0),o}clone(){const{type:t,vertexCount:e,partCount:r,hasZ:s,hasM:n,hasCurves:i,segmentCountArc:a,segmentCountBezier:o}=this,h=j(t,e,r,s,n,i,a,o);h.spatialReference=this.spatialReference;const{vertexXY:u,vertexZ:l,vertexM:c}=this;h.vertexXY.set(u.subarray(0,2*e),0),h.vertexZ?.set(l.subarray(0,e),0),h.vertexM?.set(c.subarray(0,e),0);const{partOffsets:f,partFlags:g}=this;h.partFlags?.set(g.subarray(0,r+1)),h.partOffsets?.set(f.subarray(0,r+1));const{segmentFlags:m,segmentIndices:p,segmentParams:x,segmentParamCount:v}=this;return h.segmentFlags?.set(m.subarray(0,e),0),h.segmentIndices?.set(p.subarray(0,e),0),h.segmentParams?.set(x.subarray(0,v),0),h}equals(t){return this.equalsWithinTolerance(t,0)}equalsWithinTolerance(t,e){if(null==t)return!1;if(this===t)return!0;if(!f(this.spatialReference,t.spatialReference))return!1;if(this.vertexCount!==t.vertexCount||this.partCount!==t.partCount)return!1;if(this.hasZ!==t.hasZ||this.hasM!==t.hasM)return!1;if(this.hasCurves!==t.hasCurves||this.segmentCountArc!==t.segmentCountArc||this.segmentCountBezier!==t.segmentCountBezier)return!1;const r=0===e?(t,e)=>t!==e||isNaN(t)!==isNaN(e):(t,r)=>Math.abs(t-r)>e||isNaN(t)!==isNaN(r);for(let s=0;s<this.vertexCount;++s)if(r(this.vertexXY[2*s],t.vertexXY[2*s])||r(this.vertexXY[2*s+1],t.vertexXY[2*s+1]))return!1;if(this.hasZ)for(let s=0;s<this.vertexCount;++s)if(r(this.vertexZ[s],t.vertexZ[s]))return!1;if(this.hasM)for(let s=0;s<this.vertexCount;++s)if(r(this.vertexM[s],t.vertexM[s]))return!1;for(let s=0;s<this.partCount;++s)if(this.partFlags[s]!==t.partFlags[s]||this.partOffsets[s]!==t.partOffsets[s])return!1;if(this.hasCurves){for(let e=0;e<this.vertexCount;++e)if(this.segmentFlags[e]!==t.segmentFlags[e]||this.segmentIndices[e]!==t.segmentIndices[e])return!1;for(let e=0;e<this.segmentParamCount;++e)if(r(this.segmentParams[e],t.segmentParams[e]))return!1}return!0}get parts(){return new Y(this)}}class Y{constructor(t){this.geometry=t,this.value=new P(t)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class P{constructor(t){this.geometry=t,this.index=-1,this._readVertex=T(t),this._segments=new R(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const t=this.geometry.partOffsets;return t[this.index+1]-t[this.index]}}class R{constructor(t){this._part=t,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===t.geometry.type,this.value=new A(t.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const t=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=t&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:t}=this._part,e=this._part.geometry.partOffsets;this._partStart=e[t],this._partEnd=e[t+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class A{constructor(t){this.geometry=t,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=T(t)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const t=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===t)return this.end;const e=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===t){const t=e[r++],s=e[r++],n=e[r++],i=e[r++];return{b:[this.end,[t,s],[n,i]]}}const s=e[r++],n=e[r++],i=e[r++],a=e[r++],o=e[r++],h=e[r++];r++,r++;const u=e[r++],l=e[r++];if(!Boolean(4&s)&&1===i)return{c:[this.end,[u,l]]};const c=2&s?0:1,f=1&s?0:1;return{a:[this.end,[o,h],c,f,a,n,i]}}}function F(r){let s;const{hasCurves:n,vertexCount:a,vertexXY:o,vertexZ:h,vertexM:u}=r,l=L(r);if(n){const n={stack:[],error:void 0,hasError:!1};try{t(n,new N(r,["vertexZ","vertexM"]),!1);const e=i();for(const t of r.parts){let r=t.startVertex;for(const{curve:s}of t.segments)p(e,r,s),r=d(s)}const[a,o,h,u]=e;s={xmin:a,ymin:o,xmax:h,ymax:u,spatialReference:l}}catch(c){n.error=c,n.hasError=!0}finally{e(n)}}else{let t,e,r,n;t=e=1/0,r=n=-1/0;for(let s=0;s<a;++s){const i=o[2*s],a=o[2*s+1];t=Math.min(t,i),r=Math.max(r,i),e=Math.min(e,a),n=Math.max(n,a)}s={xmin:t,ymin:e,xmax:r,ymax:n,spatialReference:l}}if(h){let t=1/0,e=-1/0;for(const r of h)t=Math.min(t,r),e=Math.max(e,r);s.zmin=t,s.zmax=e}if(u){let t=1/0,e=-1/0;for(const r of u)t=Math.min(t,r),e=Math.max(e,r);s.mmin=t,s.mmax=e}return s}function V(r,s){const n={stack:[],error:void 0,hasError:!1};try{s??=i();t(n,new N(r,["vertexZ","vertexM","spatialReference"]),!1);return a(s,F(r)),s}catch(o){n.error=o,n.hasError=!0}finally{e(n)}}function w(r,i){const a={stack:[],error:void 0,hasError:!1};try{i??=s();t(a,new N(r,["vertexM","spatialReference"]),!1);return n(i,F(r)),i}catch(o){a.error=o,a.hasError=!0}finally{e(a)}}function X(t){let e,r,s;if(o(t)){s="point";const{x:n,y:i,z:a,m:o}=t,h=[n,i];null!=a&&h.push(a),null!=o&&h.push(o),r=[[h]],e=1}else h(t)?(s="multipoint",r=[t.points],e=t.points.length):u(t)?(s="polyline",r=t.curvePaths??t.paths,e=r.reduce((t,e)=>t+e.length,0)):(s="polygon",r=t.curveRings??t.rings,e=r.reduce((t,e)=>t+e.length-k(e),0));const n=j(s,e,s.includes("point")?0:r.length,c(t),l(t),x(t));function i(t){n.vertexXY[2*f]=t[0],n.vertexXY[2*f+1]=t[1],n.hasZ&&(n.vertexZ[f]=t[2]),n.hasM&&(n.vertexM[f]=t[a]),++f}n.spatialReference=t.spatialReference??void 0;const a=n.hasZ?3:2;let f=0;if(!n.isMultipart){if(!n.hasZ&&!n.hasM){for(const[t,e]of r[0])n.vertexXY[2*f]=t,n.vertexXY[2*f+1]=e,++f;return n}for(const t of r[0])i(t);return n}const p="polygon"===n.type;let Z=0;if(!n.hasCurves){for(const t of r){n.partOffsets[Z++]=f;let e=t.length;if(p&&(e-=k(t)),n.hasZ||n.hasM)for(let r=0;r<e;++r)i(t[r]);else for(let r=0;r<e;++r){const[e,s]=t[r];n.vertexXY[2*f]=e,n.vertexXY[2*f+1]=s,++f}}return n.partOffsets[Z]=f,n}function _(t){const e=f-1;n.segmentFlags[e]=t;const r=z(t);n.segmentIndices[e]=0===r?U:Y,4===t?++n.segmentCountArc:2===t&&++n.segmentCountBezier;const s=Y+r;if(s<=(n.segmentParams?.length??0))return;let i=s*W;i=20*Math.ceil(i/20);const a=n.segmentParams;if(n.segmentParams=new Float64Array(i),null!=a)for(let o=0;o<a.length;++o)n.segmentParams[o]=a[o]}let Y=0;for(const o of r){n.partOffsets[Z++]=f,i(o[0]);let t=o.length;p&&(t-=k(o));for(let e=1;e<t;++e){const t=o[e];if(v(t)){_(4);const r=n.segmentParams,[s,[a,h],u,l,c,f,g]=t.a;let m=4;l||(m|=1),u||(m|=2);const p=O(d(o[e-1]),t),[x,v]=S(p,.5);r[Y++]=m,r[Y++]=f,r[Y++]=g,r[Y++]=c,r[Y++]=a,r[Y++]=h,r[Y++]=p.u2-p.u1,r[Y++]=p.u1,r[Y++]=x,r[Y++]=v,i(s);continue}const r=M(t);if(y(t)||r){_(4);const s=n.segmentParams,a=d(t),h=r?m(d(o[e-1]),t):E(d(o[e-1]),t),{cx:u,cy:l,thetaStart:c,thetaEnd:f,radius:p}=h;let x=r?0:4;c>f||(x|=1),Math.abs(f-c)<=Math.PI||(x|=2);const[v,y]=r?t.c[1]:g(h,.5);s[Y++]=x,s[Y++]=p,s[Y++]=1,s[Y++]=0,s[Y++]=u,s[Y++]=l,s[Y++]=f-c,s[Y++]=c,s[Y++]=v,s[Y++]=y,i(a);continue}if(C(t)){_(2);const e=n.segmentParams,[r,[s,a],[o,h]]=t.b;e[Y++]=s,e[Y++]=a,e[Y++]=o,e[Y++]=h,i(r);continue}_(1),i(t)}}return n.partOffsets[Z]=f,n}function b(t,{lengths:e,coords:r,hasZ:s,hasM:n},i){const a=t.includes("point")?0:e.length,o="polygon"===t,h="point"===t?1:e.reduce((t,e)=>t+e,0)-(o?a:0);s??=!1,n??=!1;const u=j(t,h,a,s,n,!1,0,0);if(u.spatialReference=i??void 0,!u.isMultipart){for(let t=0,e=0;t<h;++t)u.vertexXY[2*t]=r[e++],u.vertexXY[2*t+1]=r[e++],s&&(u.vertexZ[t]=r[e++]),n&&(u.vertexM[t]=r[e++]);return u}const l=2+Number(s)+Number(n);let c=0,f=0;u.partOffsets[0]=0;for(const g of e){const t=u.partOffsets[f],e=t+g-Number(o);u.partOffsets[++f]=e;for(let i=t;i<e;++i)u.vertexXY[2*i]=r[c++],u.vertexXY[2*i+1]=r[c++],s&&(u.vertexZ[i]=r[c++]),n&&(u.vertexM[i]=r[c++]);o&&(c+=l)}return u}function I(t,e){return"getSpatialReference"in t&&(e=B(t.getSpatialReference()),t=t.getGeometry()),new _({...t.toFlatGeometry(),spatialReference:e})}function B(t){if(null==t)return;const e=t.getText()||void 0,r=t.isCustomWkid()?0:t.getOldID();if(r<=0)return{wkt:e};let s=t.getLatestID();(s<=0||s===r)&&(s=void 0);const n=t.getVCS();if(null==n)return{wkid:r,latestWkid:s,wkt:e};const i=n.isCustomWkid()?0:n.getOldID();if(i<=0)return{wkt:e};let a=t.getLatestVerticalID();return(a<=0||a===i)&&(a=void 0),{wkid:r,wkt:e,latestWkid:s,vcsWkid:i,latestVcsWkid:a}}class N{constructor(t,e){this.target=t,this.keys=e,this.oldValues=e.map(e=>t[e]);for(const r of e)t[r]=void 0}[Symbol.dispose](){this.keys.map((t,e)=>{this.target[t]=this.oldValues[e]})}}function L({spatialReference:t}){return t instanceof r?t.toJSON():t}function T({vertexXY:t,vertexZ:e,vertexM:r}){return e?r?s=>[t[2*s],t[2*s+1],e[s],r[s]]:r=>[t[2*r],t[2*r+1],e[r]]:r?e=>[t[2*e],t[2*e+1],r[e]]:e=>[t[2*e],t[2*e+1]]}function z(t){switch(t){case 1:return 0;case 4:return 10;case 2:return 4}}function k(t){if(t.length>0){const e=t[0],r=d(t.at(-1));return e.every((t,e)=>t===r[e])?1:0}return 0}function j(t,e,r,s,n,i,a,o){a??=0,o??=0;const h=new _({type:t,vertexCount:e,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:a,segmentCountBezier:o});let u=2*Float64Array.BYTES_PER_ELEMENT*e;s&&(u+=Float64Array.BYTES_PER_ELEMENT*e),n&&(u+=Float64Array.BYTES_PER_ELEMENT*e),h.isMultipart&&(u+=(r+1)*Int32Array.BYTES_PER_ELEMENT,u+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(u+=e*Int8Array.BYTES_PER_ELEMENT,u+=e*Int32Array.BYTES_PER_ELEMENT,u+=h.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);const l=new ArrayBuffer(u);let c=0;if(h.vertexXY=new Float64Array(l,c,2*e),c+=h.vertexXY.byteLength,s&&(h.vertexZ=new Float64Array(l,c,e),c+=h.vertexZ.byteLength),n&&(h.vertexM=new Float64Array(l,c,e),c+=h.vertexM.byteLength),i&&(h.segmentParams=new Float64Array(l,c,h.segmentParamCount),c+=h.segmentParams.byteLength,h.segmentIndices=new Int32Array(l,c,e),h.segmentIndices.fill(U),c+=h.segmentIndices.byteLength),h.isMultipart&&(h.partOffsets=new Int32Array(l,c,r+1),c+=h.partOffsets.byteLength,h.partFlags=new Int8Array(l,c,r+1),c+=h.partFlags.byteLength),i&&(h.segmentFlags=new Int8Array(l,c,e),h.segmentFlags.fill(1),c+=h.segmentFlags.byteLength),"polygon"===h.type)for(let f=0;f<r;++f)h.partFlags[f]=1;return h}const W=1.61803,U=-1;export{_ as FlatGeometry,X as convertGeometryToFlat,I as convertGeometryxToFlat,b as convertOptimizedGeometryToFlat,w as getBoundingBox,V as getBoundingRect,F as getExtentJSON};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{P as e}from"../../../chunks/Point2D.js";import"../../../chunks/Envelope2D.js";import{G as t}from"../../../chunks/Geometry.js";import{E as n,P as
|
|
5
|
+
import{P as e}from"../../../chunks/Point2D.js";import"../../../chunks/Envelope2D.js";import{G as t}from"../../../chunks/Geometry.js";import{E as n,P as a}from"../../../chunks/Envelope.js";import{M as s}from"../../../chunks/MultiPathImpl.js";import r from"../../Extent.js";import o from"../../Multipoint.js";import u from"../../Point.js";import i from"../../Polygon.js";import c from"../../Polyline.js";import"./initNoPeFactory.js";import{fromGeometryToGXGeometry as l,fromGeometryToGXGeometryUsingImportOperator as h,fromSpatialReference as m,toGeometry as f}from"./jsonConverter.js";const p="_gxVersion",g=2,y=1;function C(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function M(e){switch(e.type){case"point":return v(e);case"multipoint":return x(e);case"polyline":return Z(e);case"polygon":return P(e);case"extent":return V(e);default:throw new Error(`Unsupported geometry type: ${e.type}`)}}function V(e){if(!e.getCacheValue(p)){const t=new n;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(g,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(y,0,e.zmin,e.zmax),e.setCacheValue(p,t)}return e.getCacheValue(p)}function x(e){if(!e.getCacheValue(p)){const t=new s,n=new a,r=e.points,o=e.hasM,u=e.hasZ,i=u?3:2;for(let e=0,a=r.length;e<a;e++){const a=r[e];n.setXYCoords(a[0],a[1]),u&&n.setZ(a[2]??0),o&&n.setM(a[i]??NaN),t.add(n)}e.setCacheValue(p,t)}return e.getCacheValue(p)}function v(e){if(!e.getCacheValue(p)){const t=new a;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(p,t)}return e.getCacheValue(p)}function P(e){if(!e.getCacheValue(p)){const{curveRings:t,hasM:n,hasZ:a,rings:s}=e,r=l({curveRings:t,hasM:n,hasZ:a,rings:s});e.setCacheValue(p,r)}return e.getCacheValue(p)}function Z(e){if(!e.getCacheValue(p)){const{curvePaths:t,hasM:n,hasZ:a,paths:s}=e,r=l({curvePaths:t,hasM:n,hasZ:a,paths:s});e.setCacheValue(p,r)}return e.getCacheValue(p)}function j(e){if(!e.getCacheValue(p)){const{curvePaths:t,hasM:n,hasZ:a,paths:s}=e,r=h({curvePaths:t,hasM:n,hasZ:a,paths:s});e.setCacheValue(p,r)}return e.getCacheValue(p)}function w(e){return m(e)}function E(e,n){if(e)switch(e.getGeometryType()){case t.enumPoint:return z(e,n);case t.enumEnvelope:return R(e,n);case t.enumMultiPoint:return d(e,n);case t.enumPolyline:return Y(e,n);case t.enumPolygon:return X(e,n)}return null}function R(e,t){if(e.isEmpty())return null;const n=new r({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),a=e.getDescription();if(a.hasM()){const t=e.queryInterval(g,0);n.mmin=t.vmin,n.mmax=t.vmax}if(a.hasZ()){const t=e.queryInterval(y,0);n.zmin=t.vmin,n.zmax=t.vmax}return n.setCacheValue(p,e),n}function d(e,t){if(e.isEmpty())return null;const n=e.getDescription(),s=n.hasM(),r=n.hasZ(),u=[],i=new a;for(let a=0,o=e.getPointCount();a<o;a++){e.getPointByVal(a,i);const t=[i.getX(),i.getY()];r&&t.push(i.getZ()),s&&t.push(i.getM()),u.push(t)}const c=new o({hasM:s,hasZ:r,points:u,spatialReference:t});return c.setCacheValue(p,e),c}function z(t,n){if(t instanceof e)return new u({x:t.x,y:t.y,spatialReference:n});if(t.isEmpty())return null;const a=new u({x:t.getX(),y:t.getY(),spatialReference:n}),s=t.getDescription();return s.hasM()&&(a.m=t.getM()),s.hasZ()&&(a.z=t.getZ()),a.setCacheValue(p,t),a}function X(e,t){if(e.isEmpty())return null;const n=i.fromJSON({...f(e,null),spatialReference:t});return n.setCacheValue(p,e),n}function Y(e,t){if(e.isEmpty())return null;const n=c.fromJSON({...f(e,null),spatialReference:t});return n.setCacheValue(p,e),n}export{V as fromExtent,M as fromGeometry,x as fromMultipoint,v as fromPoint,P as fromPolygon,Z as fromPolyline,j as fromPolylineUsingImportOperator,w as fromSpatialReference,C as getSpatialReference,R as toExtent,E as toGeometry,d as toMultipoint,z as toPoint,X as toPolygon,Y as toPolyline};
|