@cesium/engine 26.1.0 → 26.3.0
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/Build/ThirdParty/Workers/zip-web-worker.js +764 -520
- package/Build/Workers/{chunk-HS6AD4P2.js → chunk-2DKJSPYF.js} +14 -14
- package/Build/Workers/{chunk-QVLAFFJY.js → chunk-2PWVICP6.js} +1 -1
- package/Build/Workers/{chunk-ILME5BXA.js → chunk-2YY724ZX.js} +8 -8
- package/Build/Workers/{chunk-ENNFMWDW.js → chunk-4DMAXPKB.js} +12 -12
- package/Build/Workers/{chunk-CDJDJ5LK.js → chunk-4LRFYRBX.js} +2 -2
- package/Build/Workers/{chunk-76FDC45O.js → chunk-5JCZHJUU.js} +13 -13
- package/Build/Workers/{chunk-5LSOO2KD.js → chunk-5KG7KDDW.js} +7 -7
- package/Build/Workers/{chunk-A6X24AZI.js → chunk-6BSNYZZG.js} +5 -5
- package/Build/Workers/{chunk-IGAZBTFZ.js → chunk-6R6SGKYN.js} +6 -6
- package/Build/Workers/{chunk-SS5ABQGY.js → chunk-6V2KDEHL.js} +4 -4
- package/Build/Workers/{chunk-ZMBHFYOX.js → chunk-75BC2IHI.js} +7 -7
- package/Build/Workers/{chunk-LGNDTZVX.js → chunk-7SESBH2I.js} +4 -4
- package/Build/Workers/{chunk-CLCTQVVL.js → chunk-7WXBTNRV.js} +8 -8
- package/Build/Workers/{chunk-WBSY7HDY.js → chunk-A7SMPV6B.js} +12 -12
- package/Build/Workers/{chunk-CEEZE3YZ.js → chunk-ATSXKJ3L.js} +7 -7
- package/Build/Workers/{chunk-AHWAZRBV.js → chunk-B4AVL7VI.js} +1 -1
- package/Build/Workers/{chunk-6HK6IXK2.js → chunk-B7Q2WF6Q.js} +4 -4
- package/Build/Workers/{chunk-YKU2Q3A2.js → chunk-BNDSDQ7D.js} +9 -12
- package/Build/Workers/{chunk-R4FPNAZ2.js → chunk-CKK6CUXK.js} +9 -9
- package/Build/Workers/{chunk-FCP2QY4G.js → chunk-COKOYTRS.js} +5 -5
- package/Build/Workers/{chunk-7D2HZKH7.js → chunk-CQ4TZXAT.js} +7 -7
- package/Build/Workers/{chunk-TVZD72WJ.js → chunk-DKSANM4A.js} +12 -12
- package/Build/Workers/{chunk-FDK4K5IA.js → chunk-DZK34ZVD.js} +1 -1
- package/Build/Workers/{chunk-N7CCOFLX.js → chunk-E7G32DWL.js} +1 -1
- package/Build/Workers/{chunk-XDWCTQCZ.js → chunk-EDETO6NY.js} +2 -2
- package/Build/Workers/{chunk-2EFYUSUY.js → chunk-F34TJJLA.js} +16 -16
- package/Build/Workers/{chunk-GXWQZBAI.js → chunk-GLHDTTTO.js} +2 -2
- package/Build/Workers/{chunk-T5QBPLE3.js → chunk-GS7RY2DH.js} +11 -11
- package/Build/Workers/{chunk-C7JQVRLM.js → chunk-HDD3RFLT.js} +25 -3
- package/Build/Workers/{chunk-E7NZJOK7.js → chunk-HDPNFEPP.js} +121 -93
- package/Build/Workers/{chunk-VAL7DYNR.js → chunk-JBJ6BRIM.js} +4 -4
- package/Build/Workers/{chunk-XQ3SKCMM.js → chunk-JKTWW7IO.js} +5 -5
- package/Build/Workers/{chunk-UVO6COT2.js → chunk-JL4NWWQY.js} +5 -5
- package/Build/Workers/{chunk-DBD5WWG2.js → chunk-JMUUAW4X.js} +10 -10
- package/Build/Workers/{chunk-UEY73NRN.js → chunk-KBGAHN5R.js} +1 -1
- package/Build/Workers/{chunk-LD64RPYV.js → chunk-KEWK6VZL.js} +12 -12
- package/Build/Workers/{chunk-JW6OZT4R.js → chunk-L73K5UPP.js} +10 -10
- package/Build/Workers/{chunk-DIGUUD6G.js → chunk-LL2SGJYH.js} +6 -6
- package/Build/Workers/{chunk-XLXSDIP5.js → chunk-LYJUL4XQ.js} +6 -6
- package/Build/Workers/{chunk-SM2CDCYF.js → chunk-M6W46OAP.js} +7 -7
- package/Build/Workers/{chunk-EHTS2YPT.js → chunk-MDDKCLMF.js} +17 -17
- package/Build/Workers/{chunk-FGQFQHN5.js → chunk-MUW4DJV7.js} +18 -18
- package/Build/Workers/{chunk-HHV3MCGV.js → chunk-N5YK44FS.js} +5 -5
- package/Build/Workers/{chunk-RG4F5R57.js → chunk-NZQUP52G.js} +9 -9
- package/Build/Workers/{chunk-B4CQSLZJ.js → chunk-PKZA44LH.js} +6 -6
- package/Build/Workers/{chunk-OBEU25PI.js → chunk-Q2JS5LCB.js} +17 -17
- package/Build/Workers/{chunk-KGXSYGBG.js → chunk-QTAEVUED.js} +13 -13
- package/Build/Workers/{chunk-NIWITKQK.js → chunk-SEJIXZZ4.js} +11 -11
- package/Build/Workers/{chunk-SGRGNDOD.js → chunk-SL2HCFYW.js} +10 -10
- package/Build/Workers/{chunk-SF6K72D7.js → chunk-SLHK3KAR.js} +5 -5
- package/Build/Workers/{chunk-JKXV6PG5.js → chunk-UZY5XRL2.js} +1 -1
- package/Build/Workers/{chunk-LNSQVXFH.js → chunk-VRECSMG3.js} +2 -2
- package/Build/Workers/{chunk-A3O6EDBK.js → chunk-X27HKF5E.js} +2 -2
- package/Build/Workers/{chunk-7KVKHY7O.js → chunk-XBY3354M.js} +6 -6
- package/Build/Workers/{chunk-GSWMAFTE.js → chunk-XRZCS3HE.js} +23 -16
- package/Build/Workers/{chunk-6YR6JBMY.js → chunk-XSIUYAT6.js} +2 -2
- package/Build/Workers/{chunk-ZSGUV73H.js → chunk-Z2DW5NM2.js} +6 -6
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +16 -16
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +35 -35
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createCorridorGeometry.js +31 -33
- package/Build/Workers/createCorridorOutlineGeometry.js +29 -31
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
- package/Build/Workers/createGeometry.js +24 -24
- package/Build/Workers/createGroundPolylineGeometry.js +24 -24
- package/Build/Workers/createPlaneGeometry.js +16 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
- package/Build/Workers/createPolygonGeometry.js +34 -34
- package/Build/Workers/createPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createPolylineGeometry.js +26 -26
- package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
- package/Build/Workers/createRectangleGeometry.js +27 -27
- package/Build/Workers/createRectangleOutlineGeometry.js +21 -21
- package/Build/Workers/createSimplePolylineGeometry.js +24 -24
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
- package/Build/Workers/createVerticesFromHeightmap.js +22 -22
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
- package/Build/Workers/createWallGeometry.js +24 -24
- package/Build/Workers/createWallOutlineGeometry.js +24 -24
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +6 -6
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
- package/Source/Core/BoundingSphere.js +0 -3
- package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
- package/Source/Core/CoplanarPolygonGeometry.js +2 -2
- package/Source/Core/CorridorGeometry.js +2 -4
- package/Source/Core/CorridorOutlineGeometry.js +1 -3
- package/Source/Core/EarthOrientationParameters.js +2 -2
- package/Source/Core/EllipseGeometryLibrary.js +2 -2
- package/Source/Core/EllipsoidGeodesic.js +3 -3
- package/Source/Core/EllipsoidRhumbLine.js +1 -1
- package/Source/Core/GroundPolylineGeometry.js +2 -2
- package/Source/Core/Heap.js +1 -1
- package/Source/Core/HermitePolynomialApproximation.js +215 -179
- package/Source/Core/InterpolationAlgorithm.js +1 -0
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonResource.js +5 -0
- package/Source/Core/IonSnapGeometryType.js +59 -0
- package/Source/Core/IonSnapHeat.js +33 -0
- package/Source/Core/IonSnapMode.js +45 -0
- package/Source/Core/IonSnapParentGeometryType.js +52 -0
- package/Source/Core/IonSnapService.js +369 -0
- package/Source/Core/JulianDate.js +1 -1
- package/Source/Core/LagrangePolynomialApproximation.js +55 -52
- package/Source/Core/LinearApproximation.js +69 -66
- package/Source/Core/Math.js +59 -0
- package/Source/Core/Matrix2.js +2 -2
- package/Source/Core/Matrix3.js +2 -2
- package/Source/Core/OrthographicFrustum.js +1 -1
- package/Source/Core/PerspectiveFrustum.js +1 -1
- package/Source/Core/PolygonGeometry.js +2 -2
- package/Source/Core/PolygonGeometryLibrary.js +1 -1
- package/Source/Core/PolygonOutlineGeometry.js +1 -1
- package/Source/Core/PolylineGeometry.js +1 -1
- package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
- package/Source/Core/Rectangle.js +7 -1
- package/Source/Core/RectangleOutlineGeometry.js +1 -1
- package/Source/Core/SimplePolylineGeometry.js +1 -1
- package/Source/Core/SnapService.js +63 -0
- package/Source/Core/TerrainEncoding.js +2 -2
- package/Source/Core/TerrainPicker.js +179 -168
- package/Source/Core/TimeIntervalCollection.js +1 -3
- package/Source/Core/Tipsify.js +1 -1
- package/Source/Core/Transforms.js +5 -1
- package/Source/Core/VectorPipeline.js +1211 -0
- package/Source/Core/VectorProvider.js +669 -0
- package/Source/Core/WallOutlineGeometry.js +1 -1
- package/Source/Core/getTimestamp.js +4 -2
- package/Source/DataSources/CompositeEntityCollection.js +0 -1
- package/Source/DataSources/CzmlDataSource.js +2 -0
- package/Source/DataSources/DataSourceDisplay.js +1 -1
- package/Source/DataSources/GeoJsonDataSource.js +0 -1
- package/Source/DataSources/GeometryVisualizer.js +1 -1
- package/Source/DataSources/KmlDataSource.js +1 -2
- package/Source/DataSources/PolylineVisualizer.js +1 -1
- package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
- package/Source/Renderer/AutomaticUniforms.js +67 -2
- package/Source/Renderer/Context.js +9 -3
- package/Source/Renderer/DrawCommand.js +22 -0
- package/Source/Renderer/Framebuffer.js +4 -0
- package/Source/Renderer/Pass.js +11 -10
- package/Source/Renderer/ShaderBuilder.js +1 -1
- package/Source/Renderer/Texture.js +11 -0
- package/Source/Renderer/UniformState.js +54 -1
- package/Source/Renderer/VertexArray.js +0 -1
- package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/Billboard.js +2 -1
- package/Source/Scene/BillboardCollection.js +7 -3
- package/Source/Scene/BufferPointCollection.js +4 -7
- package/Source/Scene/BufferPolygonCollection.js +56 -27
- package/Source/Scene/BufferPolylineCollection.js +61 -8
- package/Source/Scene/BufferPolylineMaterial.js +6 -5
- package/Source/Scene/BufferPrimitiveCollection.js +226 -34
- package/Source/Scene/Camera.js +71 -5
- package/Source/Scene/Cesium3DTile.js +12 -0
- package/Source/Scene/Cesium3DTileset.js +62 -9
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +15 -3
- package/Source/Scene/Cesium3DTilesetCache.js +15 -0
- package/Source/Scene/ClippingPlaneCollection.js +2 -2
- package/Source/Scene/ClippingPolygon.js +154 -100
- package/Source/Scene/ClippingPolygonCollection.js +352 -694
- package/Source/Scene/Controllers/Controller.js +63 -0
- package/Source/Scene/Controllers/ControllerHost.js +78 -0
- package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
- package/Source/Scene/Controllers/MouseButton.js +32 -0
- package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
- package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
- package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
- package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
- package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
- package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
- package/Source/Scene/CreditDisplay.js +62 -0
- package/Source/Scene/DerivedCommand.js +94 -0
- package/Source/Scene/EdgeFramebuffer.js +1 -5
- package/Source/Scene/FrameState.js +17 -0
- package/Source/Scene/GeoJsonPrimitive.js +114 -24
- package/Source/Scene/Globe.js +20 -0
- package/Source/Scene/GlobeDepth.js +27 -1
- package/Source/Scene/GlobeSurfaceShaderSet.js +42 -53
- package/Source/Scene/GlobeSurfaceTile.js +61 -10
- package/Source/Scene/GlobeSurfaceTileProvider.js +351 -26
- package/Source/Scene/GltfLoader.js +88 -9
- package/Source/Scene/GltfSpzLoader.js +1 -1
- package/Source/Scene/GltfVertexBufferLoader.js +6 -3
- package/Source/Scene/HeightReference.js +1 -1
- package/Source/Scene/I3SDataProvider.js +1 -1
- package/Source/Scene/I3SLayer.js +1 -1
- package/Source/Scene/I3SNode.js +2 -2
- package/Source/Scene/ImageryLayerCollection.js +188 -4
- package/Source/Scene/IonImageryProvider.js +1 -5
- package/Source/Scene/Label.js +4 -4
- package/Source/Scene/LabelCollection.js +1 -1
- package/Source/Scene/MVTDataProvider.js +11 -0
- package/Source/Scene/Model/B3dmLoader.js +1 -2
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +10 -8
- package/Source/Scene/Model/I3dmLoader.js +1 -1
- package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
- package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
- package/Source/Scene/Model/Model.js +250 -26
- package/Source/Scene/Model/Model3DTileContent.js +5 -0
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
- package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +54 -19
- package/Source/Scene/Model/ModelDrawCommand.js +160 -16
- package/Source/Scene/Model/ModelDrawCommands.js +4 -0
- package/Source/Scene/Model/ModelRenderResources.js +2 -3
- package/Source/Scene/Model/ModelSceneGraph.js +31 -1
- package/Source/Scene/Model/ModelVectorLookupPipelineStage.js +205 -0
- package/Source/Scene/Model/PickingPipelineStage.js +33 -0
- package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
- package/Source/Scene/ModelComponents.js +71 -0
- package/Source/Scene/Picking.js +16 -5
- package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
- package/Source/Scene/PntsParser.js +0 -1
- package/Source/Scene/PolylineCollection.js +1 -1
- package/Source/Scene/PostProcessStage.js +26 -5
- package/Source/Scene/ResourceCache.js +7 -4
- package/Source/Scene/ResourceCacheKey.js +16 -13
- package/Source/Scene/Scene.js +258 -6
- package/Source/Scene/ScreenSpaceCameraController.js +1 -2
- package/Source/Scene/ShadowMap.js +9 -3
- package/Source/Scene/ShadowMapShader.js +50 -2
- package/Source/Scene/SnapFramebuffer.js +121 -0
- package/Source/Scene/Snapping.js +241 -0
- package/Source/Scene/TerrainFillMesh.js +3 -2
- package/Source/Scene/UrlTemplate3DTilesDataProvider.js +13 -2
- package/Source/Scene/Vector3DTileContent.js +2 -3
- package/Source/Scene/VectorGltf3DTileContent.js +31 -3
- package/Source/Scene/View.js +10 -8
- package/Source/Scene/VoxelTraversal.js +1 -1
- package/Source/Scene/WebMapServiceImageryProvider.js +5 -1
- package/Source/Scene/WebMapTileServiceImageryProvider.js +6 -1
- package/Source/Scene/createElevationBandMaterial.js +1 -1
- package/Source/Scene/renderBufferPointCollection.js +1 -2
- package/Source/Scene/renderBufferPolygonCollection.js +1 -2
- package/Source/Scene/renderBufferPolylineCollection.js +6 -3
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +14 -2
- package/Source/Shaders/BufferPolylineMaterialVS.js +14 -2
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
- package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
- package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
- package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
- package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
- package/Source/Shaders/Builtin/CzmBuiltins.js +4 -4
- package/Source/Shaders/Builtin/Functions/eyeToCartographicDelta.glsl +74 -0
- package/Source/Shaders/Builtin/Functions/eyeToCartographicDelta.js +76 -0
- package/Source/Shaders/GlobeFS.glsl +20 -14
- package/Source/Shaders/GlobeFS.js +20 -14
- package/Source/Shaders/GlobeVS.glsl +0 -32
- package/Source/Shaders/GlobeVS.js +0 -32
- package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
- package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
- package/Source/Shaders/Model/MaterialStageFS.js +8 -2
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +15 -3
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +15 -3
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +20 -24
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +20 -24
- package/Source/Shaders/Model/ModelFS.glsl +109 -0
- package/Source/Shaders/Model/ModelFS.js +109 -0
- package/Source/Shaders/Model/ModelVS.glsl +7 -2
- package/Source/Shaders/Model/ModelVS.js +7 -2
- package/Source/Shaders/Model/ModelVectorLookupStageFS.glsl +6 -0
- package/Source/Shaders/Model/ModelVectorLookupStageFS.js +8 -0
- package/Source/Shaders/Model/ModelVectorLookupStageVS.glsl +15 -0
- package/Source/Shaders/Model/ModelVectorLookupStageVS.js +17 -0
- package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +9 -10
- package/Source/Shaders/Model/VerticalExaggerationStageVS.js +9 -11
- package/Source/Shaders/VectorCommon.glsl +305 -0
- package/Source/Shaders/VectorCommon.js +307 -0
- package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
- package/Source/ThirdParty/zip-module.wasm +0 -0
- package/Source/Widget/CesiumWidget.js +30 -0
- package/index.d.ts +1326 -65
- package/index.js +179 -155
- package/package.json +6 -6
- package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +0 -37
- package/Source/Shaders/Builtin/Functions/clipPolygons.js +0 -39
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +0 -14
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +0 -15
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +0 -131
- package/Source/Shaders/PolygonSignedDistanceFS.js +0 -132
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
import defined from "./defined.js";
|
|
2
4
|
import DeveloperError from "./DeveloperError.js";
|
|
3
5
|
import CesiumMath from "./Math.js";
|
|
4
6
|
|
|
5
7
|
const factorial = CesiumMath.factorial;
|
|
6
8
|
|
|
9
|
+
/**
|
|
10
|
+
* @param {number} x
|
|
11
|
+
* @param {number[]} zIndices
|
|
12
|
+
* @param {number[]} xTable
|
|
13
|
+
* @param {number} derivOrder
|
|
14
|
+
* @param {number} termOrder
|
|
15
|
+
* @param {number[]} reservedIndices
|
|
16
|
+
* @returns {number}
|
|
17
|
+
*
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
7
20
|
function calculateCoefficientTerm(
|
|
8
21
|
x,
|
|
9
22
|
zIndices,
|
|
@@ -61,223 +74,245 @@ function calculateCoefficientTerm(
|
|
|
61
74
|
}
|
|
62
75
|
|
|
63
76
|
/**
|
|
64
|
-
*
|
|
77
|
+
* @type {number[]}
|
|
65
78
|
*
|
|
66
|
-
* @
|
|
79
|
+
* @private
|
|
67
80
|
*/
|
|
68
|
-
const
|
|
69
|
-
type: "Hermite",
|
|
70
|
-
};
|
|
81
|
+
const arrayScratch = [];
|
|
71
82
|
|
|
72
83
|
/**
|
|
73
|
-
*
|
|
84
|
+
* An {@link InterpolationAlgorithm} for performing Hermite interpolation.
|
|
74
85
|
*
|
|
75
|
-
* @
|
|
76
|
-
* @param {number} [inputOrder=0] The order of the inputs (0 means just the data, 1 means the data and its derivative, etc).
|
|
77
|
-
* @returns {number} The number of required data points needed for the desired degree of interpolation.
|
|
78
|
-
* @exception {DeveloperError} degree must be 0 or greater.
|
|
79
|
-
* @exception {DeveloperError} inputOrder must be 0 or greater.
|
|
86
|
+
* @namespace HermitePolynomialApproximation
|
|
80
87
|
*/
|
|
81
|
-
HermitePolynomialApproximation
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if (!defined(degree)) {
|
|
89
|
-
throw new DeveloperError("degree is required.");
|
|
88
|
+
class HermitePolynomialApproximation {
|
|
89
|
+
/**
|
|
90
|
+
* Gets the name of this interpolation algorithm.
|
|
91
|
+
* @type {string}
|
|
92
|
+
*/
|
|
93
|
+
static get type() {
|
|
94
|
+
return "Hermite";
|
|
90
95
|
}
|
|
91
|
-
if (degree < 0) {
|
|
92
|
-
throw new DeveloperError("degree must be 0 or greater.");
|
|
93
|
-
}
|
|
94
|
-
if (inputOrder < 0) {
|
|
95
|
-
throw new DeveloperError("inputOrder must be 0 or greater.");
|
|
96
|
-
}
|
|
97
|
-
//>>includeEnd('debug');
|
|
98
96
|
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Given the desired degree, returns the number of data points required for interpolation.
|
|
99
|
+
*
|
|
100
|
+
* @param {number} degree The desired degree of interpolation.
|
|
101
|
+
* @param {number} [inputOrder=0] The order of the inputs (0 means just the data, 1 means the data and its derivative, etc).
|
|
102
|
+
* @returns {number} The number of required data points needed for the desired degree of interpolation.
|
|
103
|
+
* @exception {DeveloperError} degree must be 0 or greater.
|
|
104
|
+
* @exception {DeveloperError} inputOrder must be 0 or greater.
|
|
105
|
+
*/
|
|
106
|
+
static getRequiredDataPoints(degree, inputOrder) {
|
|
107
|
+
inputOrder = inputOrder ?? 0;
|
|
108
|
+
|
|
109
|
+
//>>includeStart('debug', pragmas.debug);
|
|
110
|
+
if (!defined(degree)) {
|
|
111
|
+
throw new DeveloperError("degree is required.");
|
|
112
|
+
}
|
|
113
|
+
if (degree < 0) {
|
|
114
|
+
throw new DeveloperError("degree must be 0 or greater.");
|
|
115
|
+
}
|
|
116
|
+
if (inputOrder < 0) {
|
|
117
|
+
throw new DeveloperError("inputOrder must be 0 or greater.");
|
|
118
|
+
}
|
|
119
|
+
//>>includeEnd('debug');
|
|
101
120
|
|
|
102
|
-
|
|
103
|
-
* Interpolates values using Hermite Polynomial Approximation.
|
|
104
|
-
*
|
|
105
|
-
* @param {number} x The independent variable for which the dependent variables will be interpolated.
|
|
106
|
-
* @param {number[]} xTable The array of independent variables to use to interpolate. The values
|
|
107
|
-
* in this array must be in increasing order and the same value must not occur twice in the array.
|
|
108
|
-
* @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
|
|
109
|
-
* dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
|
|
110
|
-
* @param {number} yStride The number of dependent variable values in yTable corresponding to
|
|
111
|
-
* each independent variable value in xTable.
|
|
112
|
-
* @param {number[]} [result] An existing array into which to store the result.
|
|
113
|
-
* @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
|
|
114
|
-
*/
|
|
115
|
-
HermitePolynomialApproximation.interpolateOrderZero = function (
|
|
116
|
-
x,
|
|
117
|
-
xTable,
|
|
118
|
-
yTable,
|
|
119
|
-
yStride,
|
|
120
|
-
result,
|
|
121
|
-
) {
|
|
122
|
-
if (!defined(result)) {
|
|
123
|
-
result = new Array(yStride);
|
|
121
|
+
return Math.max(Math.floor((degree + 1) / (inputOrder + 1)), 2);
|
|
124
122
|
}
|
|
125
123
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
124
|
+
/**
|
|
125
|
+
* Interpolates values using Hermite Polynomial Approximation.
|
|
126
|
+
*
|
|
127
|
+
* @param {number} x The independent variable for which the dependent variables will be interpolated.
|
|
128
|
+
* @param {number[]} xTable The array of independent variables to use to interpolate. The values
|
|
129
|
+
* in this array must be in increasing order and the same value must not occur twice in the array.
|
|
130
|
+
* @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
|
|
131
|
+
* dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
|
|
132
|
+
* @param {number} yStride The number of dependent variable values in yTable corresponding to
|
|
133
|
+
* each independent variable value in xTable.
|
|
134
|
+
* @param {number[]} [result] An existing array into which to store the result.
|
|
135
|
+
* @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
|
|
136
|
+
*/
|
|
137
|
+
static interpolateOrderZero(x, xTable, yTable, yStride, result) {
|
|
138
|
+
if (!defined(result)) {
|
|
139
|
+
result = new Array(yStride);
|
|
142
140
|
}
|
|
143
|
-
}
|
|
144
141
|
|
|
145
|
-
|
|
146
|
-
|
|
142
|
+
let i;
|
|
143
|
+
let j;
|
|
144
|
+
let d;
|
|
145
|
+
let s;
|
|
146
|
+
let len;
|
|
147
|
+
let index;
|
|
148
|
+
const length = xTable.length;
|
|
149
|
+
const coefficients = new Array(yStride);
|
|
150
|
+
|
|
151
|
+
for (i = 0; i < yStride; i++) {
|
|
152
|
+
result[i] = 0;
|
|
153
|
+
|
|
154
|
+
const l = new Array(length);
|
|
155
|
+
coefficients[i] = l;
|
|
156
|
+
for (j = 0; j < length; j++) {
|
|
157
|
+
l[j] = [];
|
|
158
|
+
}
|
|
159
|
+
}
|
|
147
160
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
161
|
+
const zIndicesLength = length,
|
|
162
|
+
zIndices = new Array(zIndicesLength);
|
|
151
163
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
for (j = 0; j < zIndicesLength; j++) {
|
|
155
|
-
index = zIndices[j] * yStride + s;
|
|
156
|
-
coefficients[s][0].push(yTable[index]);
|
|
164
|
+
for (i = 0; i < zIndicesLength; i++) {
|
|
165
|
+
zIndices[i] = i;
|
|
157
166
|
}
|
|
158
167
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
for (j = 0; j < zIndicesLength
|
|
162
|
-
|
|
163
|
-
|
|
168
|
+
let highestNonZeroCoef = length - 1;
|
|
169
|
+
for (s = 0; s < yStride; s++) {
|
|
170
|
+
for (j = 0; j < zIndicesLength; j++) {
|
|
171
|
+
index = zIndices[j] * yStride + s;
|
|
172
|
+
coefficients[s][0].push(yTable[index]);
|
|
173
|
+
}
|
|
164
174
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
numerator
|
|
172
|
-
|
|
175
|
+
for (i = 1; i < zIndicesLength; i++) {
|
|
176
|
+
let nonZeroCoefficients = false;
|
|
177
|
+
for (j = 0; j < zIndicesLength - i; j++) {
|
|
178
|
+
const zj = xTable[zIndices[j]];
|
|
179
|
+
const zn = xTable[zIndices[j + i]];
|
|
180
|
+
|
|
181
|
+
let numerator;
|
|
182
|
+
if (zn - zj <= 0) {
|
|
183
|
+
index = zIndices[j] * yStride + yStride * i + s;
|
|
184
|
+
numerator = yTable[index];
|
|
185
|
+
coefficients[s][i].push(numerator / factorial(i));
|
|
186
|
+
} else {
|
|
187
|
+
numerator =
|
|
188
|
+
coefficients[s][i - 1][j + 1] - coefficients[s][i - 1][j];
|
|
189
|
+
coefficients[s][i].push(numerator / (zn - zj));
|
|
190
|
+
}
|
|
191
|
+
nonZeroCoefficients = nonZeroCoefficients || numerator !== 0;
|
|
173
192
|
}
|
|
174
|
-
nonZeroCoefficients = nonZeroCoefficients || numerator !== 0;
|
|
175
|
-
}
|
|
176
193
|
|
|
177
|
-
|
|
178
|
-
|
|
194
|
+
if (!nonZeroCoefficients) {
|
|
195
|
+
highestNonZeroCoef = i - 1;
|
|
196
|
+
}
|
|
179
197
|
}
|
|
180
198
|
}
|
|
181
|
-
}
|
|
182
199
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
200
|
+
for (d = 0, len = 0; d <= len; d++) {
|
|
201
|
+
for (i = d; i <= highestNonZeroCoef; i++) {
|
|
202
|
+
const tempTerm = calculateCoefficientTerm(
|
|
203
|
+
x,
|
|
204
|
+
zIndices,
|
|
205
|
+
xTable,
|
|
206
|
+
d,
|
|
207
|
+
i,
|
|
208
|
+
[],
|
|
209
|
+
);
|
|
210
|
+
for (s = 0; s < yStride; s++) {
|
|
211
|
+
const coeff = coefficients[s][i][0];
|
|
212
|
+
result[s + d * yStride] += coeff * tempTerm;
|
|
213
|
+
}
|
|
189
214
|
}
|
|
190
215
|
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
return result;
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
const arrayScratch = [];
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Interpolates values using Hermite Polynomial Approximation.
|
|
200
|
-
*
|
|
201
|
-
* @param {number} x The independent variable for which the dependent variables will be interpolated.
|
|
202
|
-
* @param {number[]} xTable The array of independent variables to use to interpolate. The values
|
|
203
|
-
* in this array must be in increasing order and the same value must not occur twice in the array.
|
|
204
|
-
* @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
|
|
205
|
-
* dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
|
|
206
|
-
* @param {number} yStride The number of dependent variable values in yTable corresponding to
|
|
207
|
-
* each independent variable value in xTable.
|
|
208
|
-
* @param {number} inputOrder The number of derivatives supplied for input.
|
|
209
|
-
* @param {number} outputOrder The number of derivatives desired for output.
|
|
210
|
-
* @param {number[]} [result] An existing array into which to store the result.
|
|
211
|
-
*
|
|
212
|
-
* @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
|
|
213
|
-
*/
|
|
214
|
-
HermitePolynomialApproximation.interpolate = function (
|
|
215
|
-
x,
|
|
216
|
-
xTable,
|
|
217
|
-
yTable,
|
|
218
|
-
yStride,
|
|
219
|
-
inputOrder,
|
|
220
|
-
outputOrder,
|
|
221
|
-
result,
|
|
222
|
-
) {
|
|
223
|
-
const resultLength = yStride * (outputOrder + 1);
|
|
224
|
-
if (!defined(result)) {
|
|
225
|
-
result = new Array(resultLength);
|
|
226
|
-
}
|
|
227
|
-
for (let r = 0; r < resultLength; r++) {
|
|
228
|
-
result[r] = 0;
|
|
229
|
-
}
|
|
230
216
|
|
|
231
|
-
|
|
232
|
-
// The zIndices array holds copies of the addresses of the xTable values
|
|
233
|
-
// in the range we're looking at. Even though this just holds information already
|
|
234
|
-
// available in xTable this is a much more convenient format.
|
|
235
|
-
const zIndices = new Array(length * (inputOrder + 1));
|
|
236
|
-
let i;
|
|
237
|
-
for (i = 0; i < length; i++) {
|
|
238
|
-
for (let j = 0; j < inputOrder + 1; j++) {
|
|
239
|
-
zIndices[i * (inputOrder + 1) + j] = i;
|
|
240
|
-
}
|
|
217
|
+
return result;
|
|
241
218
|
}
|
|
242
219
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
220
|
+
/**
|
|
221
|
+
* Interpolates values using Hermite Polynomial Approximation.
|
|
222
|
+
*
|
|
223
|
+
* @param {number} x The independent variable for which the dependent variables will be interpolated.
|
|
224
|
+
* @param {number[]} xTable The array of independent variables to use to interpolate. The values
|
|
225
|
+
* in this array must be in increasing order and the same value must not occur twice in the array.
|
|
226
|
+
* @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
|
|
227
|
+
* dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
|
|
228
|
+
* @param {number} yStride The number of dependent variable values in yTable corresponding to
|
|
229
|
+
* each independent variable value in xTable.
|
|
230
|
+
* @param {number} inputOrder The number of derivatives supplied for input.
|
|
231
|
+
* @param {number} outputOrder The number of derivatives desired for output.
|
|
232
|
+
* @param {number[]} [result] An existing array into which to store the result.
|
|
233
|
+
*
|
|
234
|
+
* @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
|
|
235
|
+
*/
|
|
236
|
+
static interpolate(
|
|
237
|
+
x,
|
|
248
238
|
xTable,
|
|
249
239
|
yTable,
|
|
250
240
|
yStride,
|
|
251
241
|
inputOrder,
|
|
252
|
-
|
|
253
|
-
|
|
242
|
+
outputOrder,
|
|
243
|
+
result,
|
|
244
|
+
) {
|
|
245
|
+
const resultLength = yStride * (outputOrder + 1);
|
|
246
|
+
if (!defined(result)) {
|
|
247
|
+
result = new Array(resultLength);
|
|
248
|
+
}
|
|
249
|
+
for (let r = 0; r < resultLength; r++) {
|
|
250
|
+
result[r] = 0;
|
|
251
|
+
}
|
|
254
252
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
reservedIndices,
|
|
267
|
-
);
|
|
268
|
-
const dimTwo = Math.floor((i * (1 - i)) / 2) + zIndiceslength * i;
|
|
253
|
+
const length = xTable.length;
|
|
254
|
+
// The zIndices array holds copies of the addresses of the xTable values
|
|
255
|
+
// in the range we're looking at. Even though this just holds information already
|
|
256
|
+
// available in xTable this is a much more convenient format.
|
|
257
|
+
const zIndices = new Array(length * (inputOrder + 1));
|
|
258
|
+
let i;
|
|
259
|
+
for (i = 0; i < length; i++) {
|
|
260
|
+
for (let j = 0; j < inputOrder + 1; j++) {
|
|
261
|
+
zIndices[i * (inputOrder + 1) + j] = i;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
269
264
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
265
|
+
const zIndiceslength = zIndices.length;
|
|
266
|
+
const coefficients = arrayScratch;
|
|
267
|
+
const highestNonZeroCoef = fillCoefficientList(
|
|
268
|
+
coefficients,
|
|
269
|
+
zIndices,
|
|
270
|
+
xTable,
|
|
271
|
+
yTable,
|
|
272
|
+
yStride,
|
|
273
|
+
inputOrder,
|
|
274
|
+
);
|
|
275
|
+
/** @type {number[]} */
|
|
276
|
+
const reservedIndices = [];
|
|
277
|
+
|
|
278
|
+
const tmp = (zIndiceslength * (zIndiceslength + 1)) / 2;
|
|
279
|
+
const loopStop = Math.min(highestNonZeroCoef, outputOrder);
|
|
280
|
+
for (let d = 0; d <= loopStop; d++) {
|
|
281
|
+
for (i = d; i <= highestNonZeroCoef; i++) {
|
|
282
|
+
reservedIndices.length = 0;
|
|
283
|
+
const tempTerm = calculateCoefficientTerm(
|
|
284
|
+
x,
|
|
285
|
+
zIndices,
|
|
286
|
+
xTable,
|
|
287
|
+
d,
|
|
288
|
+
i,
|
|
289
|
+
reservedIndices,
|
|
290
|
+
);
|
|
291
|
+
const dimTwo = Math.floor((i * (1 - i)) / 2) + zIndiceslength * i;
|
|
292
|
+
|
|
293
|
+
for (let s = 0; s < yStride; s++) {
|
|
294
|
+
const dimOne = Math.floor(s * tmp);
|
|
295
|
+
const coef = coefficients[dimOne + dimTwo];
|
|
296
|
+
result[s + d * yStride] += coef * tempTerm;
|
|
297
|
+
}
|
|
274
298
|
}
|
|
275
299
|
}
|
|
276
|
-
}
|
|
277
300
|
|
|
278
|
-
|
|
279
|
-
}
|
|
301
|
+
return result;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
280
304
|
|
|
305
|
+
/**
|
|
306
|
+
* @param {number[]} coefficients
|
|
307
|
+
* @param {number[]} zIndices
|
|
308
|
+
* @param {number[]} xTable
|
|
309
|
+
* @param {number[]} yTable
|
|
310
|
+
* @param {number} yStride
|
|
311
|
+
* @param {number} inputOrder
|
|
312
|
+
* @returns {number}
|
|
313
|
+
*
|
|
314
|
+
* @private
|
|
315
|
+
*/
|
|
281
316
|
function fillCoefficientList(
|
|
282
317
|
coefficients,
|
|
283
318
|
zIndices,
|
|
@@ -338,4 +373,5 @@ function fillCoefficientList(
|
|
|
338
373
|
|
|
339
374
|
return highestNonZero;
|
|
340
375
|
}
|
|
376
|
+
|
|
341
377
|
export default HermitePolynomialApproximation;
|
|
@@ -52,6 +52,7 @@ class InterpolationAlgorithm {
|
|
|
52
52
|
* if this function remains undefined on implementing objects, interpolateOrderZero will be used instead.
|
|
53
53
|
*
|
|
54
54
|
* @function
|
|
55
|
+
* @optional
|
|
55
56
|
* @param {number} x The independent variable for which the dependent variables will be interpolated.
|
|
56
57
|
* @param {number[]} xTable The array of independent variables to use to interpolate. The values
|
|
57
58
|
* in this array must be in increasing order and the same value must not occur twice in the array.
|
package/Source/Core/Ion.js
CHANGED
|
@@ -4,7 +4,7 @@ import Resource from "./Resource.js";
|
|
|
4
4
|
|
|
5
5
|
let defaultTokenCredit;
|
|
6
6
|
const defaultAccessToken =
|
|
7
|
-
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
|
|
7
|
+
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJub25jZSI6ImwwendUTkl3UVk5Uk5XdEkiLCJqdGkiOiJjZGFkZDZlNC0wMDI5LTQ5OTMtYWIwMC01ZWY4ZDVlNTBhMzYiLCJpZCI6MjU5LCJzdWIiOiJDZXNpdW1KUyIsImlzcyI6Imh0dHBzOi8vYXBpLmNlc2l1bS5jb20iLCJhdWQiOiIxLjE0NSBSZWxlYXNlIC0gRGVsZXRlIG9uIE5vdmVtYmVyIDEsIDIwMjYiLCJpYXQiOjE3ODc2MzQ3NzV9.3SPieoGxEZ22pnWLETAIFZveR0xXTzvOh8G4NYTxDSo";
|
|
8
8
|
/**
|
|
9
9
|
* Default settings for accessing the Cesium ion API.
|
|
10
10
|
*
|
|
@@ -270,6 +270,11 @@ function addClientHeaders(headers = {}) {
|
|
|
270
270
|
return headers;
|
|
271
271
|
}
|
|
272
272
|
|
|
273
|
+
/**
|
|
274
|
+
* @private
|
|
275
|
+
**/
|
|
276
|
+
IonResource._addClientHeaders = addClientHeaders;
|
|
277
|
+
|
|
273
278
|
function retryCallback(that, error) {
|
|
274
279
|
const ionRoot = that._ionRoot ?? that;
|
|
275
280
|
const endpointResource = ionRoot._ionEndpointResource;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The type of geometry a snap resolved to, reported by {@link IonSnapService#snap}
|
|
3
|
+
* as {@link IonSnapService.Result} <code>geometryType</code>. Values match the iTwin.js
|
|
4
|
+
* {@link https://www.itwinjs.org/reference/core-frontend/locatingelements/hitgeomtype/|HitGeomType} enum.
|
|
5
|
+
*
|
|
6
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
7
|
+
*
|
|
8
|
+
* @enum {number}
|
|
9
|
+
*/
|
|
10
|
+
const IonSnapGeometryType = {
|
|
11
|
+
/**
|
|
12
|
+
* No geometry type.
|
|
13
|
+
* @type {number}
|
|
14
|
+
* @constant
|
|
15
|
+
*/
|
|
16
|
+
NONE: 0,
|
|
17
|
+
/**
|
|
18
|
+
* A point.
|
|
19
|
+
* @type {number}
|
|
20
|
+
* @constant
|
|
21
|
+
*/
|
|
22
|
+
POINT: 1,
|
|
23
|
+
/**
|
|
24
|
+
* A line segment.
|
|
25
|
+
* @type {number}
|
|
26
|
+
* @constant
|
|
27
|
+
*/
|
|
28
|
+
SEGMENT: 2,
|
|
29
|
+
/**
|
|
30
|
+
* A curve.
|
|
31
|
+
* @type {number}
|
|
32
|
+
* @constant
|
|
33
|
+
*/
|
|
34
|
+
CURVE: 3,
|
|
35
|
+
/**
|
|
36
|
+
* An arc.
|
|
37
|
+
* @type {number}
|
|
38
|
+
* @constant
|
|
39
|
+
*/
|
|
40
|
+
ARC: 4,
|
|
41
|
+
/**
|
|
42
|
+
* A surface.
|
|
43
|
+
* <p>
|
|
44
|
+
* With {@link IonSnapMode} <code>NEAREST</code>, this value indicates
|
|
45
|
+
* the snap tracked the surface under the cursor because no edge was within
|
|
46
|
+
* the snap aperture. This means the snap point was not pulled to an edge.
|
|
47
|
+
* Edge snaps report one of the other types along with the edge geometry in
|
|
48
|
+
* {@link IonSnapService.Result} <code>curve</code>, which is absent when
|
|
49
|
+
* tracking a surface.
|
|
50
|
+
* </p>
|
|
51
|
+
* @type {number}
|
|
52
|
+
* @constant
|
|
53
|
+
*/
|
|
54
|
+
SURFACE: 5,
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
Object.freeze(IonSnapGeometryType);
|
|
58
|
+
|
|
59
|
+
export default IonSnapGeometryType;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How close a snap result is to the cursor, reported by {@link IonSnapService#snap}
|
|
3
|
+
* as {@link IonSnapService.Result} <code>heat</code>. Values match the iTwin.js
|
|
4
|
+
* {@link https://www.itwinjs.org/reference/core-frontend/locatingelements/snapheat/|SnapHeat} enum.
|
|
5
|
+
*
|
|
6
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
7
|
+
*
|
|
8
|
+
* @enum {number}
|
|
9
|
+
*/
|
|
10
|
+
const IonSnapHeat = {
|
|
11
|
+
/**
|
|
12
|
+
* The snap is not close to the cursor.
|
|
13
|
+
* @type {number}
|
|
14
|
+
* @constant
|
|
15
|
+
*/
|
|
16
|
+
NONE: 0,
|
|
17
|
+
/**
|
|
18
|
+
* The snap is of interest, but outside the snap aperture.
|
|
19
|
+
* @type {number}
|
|
20
|
+
* @constant
|
|
21
|
+
*/
|
|
22
|
+
NOT_IN_RANGE: 1,
|
|
23
|
+
/**
|
|
24
|
+
* The snap point is within the snap aperture of the close point in view space.
|
|
25
|
+
* @type {number}
|
|
26
|
+
* @constant
|
|
27
|
+
*/
|
|
28
|
+
IN_RANGE: 2,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
Object.freeze(IonSnapHeat);
|
|
32
|
+
|
|
33
|
+
export default IonSnapHeat;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The snap modes supported by {@link IonSnapService#snap}. These follow the
|
|
3
|
+
* MicroStation snap mode semantics; see the
|
|
4
|
+
* {@link https://docs.bentley.com/LiveContent/web/MicroStation%20Help-v27/en/GUID-77D54C0B-D6FF-13DA-5EC8-3196330F5244.html|MicroStation documentation}
|
|
5
|
+
* for reference.
|
|
6
|
+
*
|
|
7
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
8
|
+
*
|
|
9
|
+
* @enum {number}
|
|
10
|
+
*/
|
|
11
|
+
const IonSnapMode = {
|
|
12
|
+
/**
|
|
13
|
+
* Snaps to the point on the element nearest to the cursor. When the cursor
|
|
14
|
+
* is farther than the snap aperture from an edge, tracks the surface under
|
|
15
|
+
* the cursor instead.
|
|
16
|
+
* @type {number}
|
|
17
|
+
* @constant
|
|
18
|
+
*/
|
|
19
|
+
NEAREST: 1,
|
|
20
|
+
/**
|
|
21
|
+
* Snaps to the nearest of the element's keypoints. Keypoints are defined by
|
|
22
|
+
* the element's geometry type and the snap divisor.
|
|
23
|
+
* <p>
|
|
24
|
+
* On linear elements, keypoints are regularly spaced along each segment:
|
|
25
|
+
* the number of keypoints on a segment is one greater than the snap
|
|
26
|
+
* divisor, and a segment's midpoint is a keypoint only when the divisor is
|
|
27
|
+
* even. The ion API does not currently accept a snap divisor, so the
|
|
28
|
+
* server's default divisor applies.
|
|
29
|
+
* </p>
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @constant
|
|
32
|
+
*/
|
|
33
|
+
NEAREST_KEYPOINT: 2,
|
|
34
|
+
/**
|
|
35
|
+
* Snaps to the center of elements that have centers (such as circles and
|
|
36
|
+
* arcs). For other elements, may snap to the centroid.
|
|
37
|
+
* @type {number}
|
|
38
|
+
* @constant
|
|
39
|
+
*/
|
|
40
|
+
CENTER: 8,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
Object.freeze(IonSnapMode);
|
|
44
|
+
|
|
45
|
+
export default IonSnapMode;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The type of the parent geometry a snap resolved to, reported by
|
|
3
|
+
* {@link IonSnapService#snap} as {@link IonSnapService.Result} <code>parentGeometryType</code>.
|
|
4
|
+
* Values match the iTwin.js
|
|
5
|
+
* {@link https://www.itwinjs.org/reference/core-frontend/locatingelements/hitparentgeomtype/|HitParentGeomType} enum.
|
|
6
|
+
*
|
|
7
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
8
|
+
*
|
|
9
|
+
* @enum {number}
|
|
10
|
+
*/
|
|
11
|
+
const IonSnapParentGeometryType = {
|
|
12
|
+
/**
|
|
13
|
+
* No parent geometry type.
|
|
14
|
+
* @type {number}
|
|
15
|
+
* @constant
|
|
16
|
+
*/
|
|
17
|
+
NONE: 0,
|
|
18
|
+
/**
|
|
19
|
+
* A wire body.
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @constant
|
|
22
|
+
*/
|
|
23
|
+
WIRE: 1,
|
|
24
|
+
/**
|
|
25
|
+
* A sheet body.
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @constant
|
|
28
|
+
*/
|
|
29
|
+
SHEET: 2,
|
|
30
|
+
/**
|
|
31
|
+
* A solid body.
|
|
32
|
+
* @type {number}
|
|
33
|
+
* @constant
|
|
34
|
+
*/
|
|
35
|
+
SOLID: 3,
|
|
36
|
+
/**
|
|
37
|
+
* A mesh.
|
|
38
|
+
* @type {number}
|
|
39
|
+
* @constant
|
|
40
|
+
*/
|
|
41
|
+
MESH: 4,
|
|
42
|
+
/**
|
|
43
|
+
* Text.
|
|
44
|
+
* @type {number}
|
|
45
|
+
* @constant
|
|
46
|
+
*/
|
|
47
|
+
TEXT: 5,
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
Object.freeze(IonSnapParentGeometryType);
|
|
51
|
+
|
|
52
|
+
export default IonSnapParentGeometryType;
|