@cesium/engine 26.1.0 → 26.2.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 +586 -480
- package/Build/Workers/chunk-27FWRTJI.js +454 -0
- package/Build/Workers/chunk-2H5264K7.js +1284 -0
- package/Build/Workers/chunk-2H73KDBM.js +511 -0
- package/Build/Workers/chunk-2RGJPWQX.js +1284 -0
- package/Build/Workers/chunk-2Z4ZLVOD.js +352 -0
- package/Build/Workers/chunk-2ZKH2QZB.js +387 -0
- package/Build/Workers/chunk-36NI5E6W.js +3820 -0
- package/Build/Workers/chunk-37SW7SYS.js +778 -0
- package/Build/Workers/chunk-3GHVJ3SO.js +455 -0
- package/Build/Workers/chunk-3LB4UVPU.js +387 -0
- package/Build/Workers/chunk-3PONLKEL.js +778 -0
- package/Build/Workers/chunk-3PSS3T43.js +102 -0
- package/Build/Workers/chunk-3QR662HH.js +3820 -0
- package/Build/Workers/chunk-3SX2WYSO.js +973 -0
- package/Build/Workers/chunk-3UDN6LYX.js +476 -0
- package/Build/Workers/chunk-47MCBSXI.js +9237 -0
- package/Build/Workers/chunk-4E626OCE.js +1067 -0
- package/Build/Workers/chunk-4NW2MJKH.js +455 -0
- package/Build/Workers/chunk-52YK5BSN.js +198 -0
- package/Build/Workers/chunk-5RNAQZK6.js +9234 -0
- package/Build/Workers/chunk-5YPQBFRD.js +519 -0
- package/Build/Workers/chunk-6FHT43QR.js +140 -0
- package/Build/Workers/chunk-6FZDPMTO.js +455 -0
- package/Build/Workers/chunk-6R5X2GUA.js +1284 -0
- package/Build/Workers/chunk-7A2OGDHT.js +305 -0
- package/Build/Workers/chunk-7CGEQUM2.js +305 -0
- package/Build/Workers/chunk-7I325HV6.js +1344 -0
- package/Build/Workers/chunk-7MM3N2VE.js +1067 -0
- package/Build/Workers/chunk-7TKLTCZW.js +219 -0
- package/Build/Workers/chunk-7UUKBDH6.js +1054 -0
- package/Build/Workers/chunk-7W6DUHAB.js +693 -0
- package/Build/Workers/chunk-7XM5JK5F.js +162 -0
- package/Build/Workers/chunk-7YG3ND3P.js +454 -0
- package/Build/Workers/chunk-A62YI6S6.js +305 -0
- package/Build/Workers/chunk-A7TTWVTF.js +2719 -0
- package/Build/Workers/chunk-ACTVJHSP.js +519 -0
- package/Build/Workers/chunk-ADX3CBKD.js +9234 -0
- package/Build/Workers/chunk-AF7DTMJ7.js +398 -0
- package/Build/Workers/chunk-AJSFRY4U.js +1344 -0
- package/Build/Workers/chunk-ARZICEEP.js +301 -0
- package/Build/Workers/chunk-B3QHNA4A.js +147 -0
- package/Build/Workers/chunk-BKPQFCXH.js +511 -0
- package/Build/Workers/chunk-BSPCI2LO.js +959 -0
- package/Build/Workers/chunk-BUJWSX5S.js +301 -0
- package/Build/Workers/chunk-C7QDUNI3.js +138 -0
- package/Build/Workers/chunk-CIV5DJOQ.js +778 -0
- package/Build/Workers/chunk-CQNFIAZU.js +56 -0
- package/Build/Workers/chunk-CRCGE4J4.js +9237 -0
- package/Build/Workers/chunk-CUTRKXUQ.js +288 -0
- package/Build/Workers/chunk-D6AY775A.js +3201 -0
- package/Build/Workers/chunk-DSGLDRTI.js +278 -0
- package/Build/Workers/chunk-DZBQUULR.js +138 -0
- package/Build/Workers/chunk-DZUFEE4L.js +140 -0
- package/Build/Workers/chunk-E2NKV5YT.js +3820 -0
- package/Build/Workers/chunk-EB3Y5P3A.js +368 -0
- package/Build/Workers/chunk-ELE6SC2C.js +837 -0
- package/Build/Workers/chunk-EOWDZN5S.js +288 -0
- package/Build/Workers/chunk-ERKUET22.js +3201 -0
- package/Build/Workers/chunk-EZGQPOIG.js +162 -0
- package/Build/Workers/chunk-F2IMBMZY.js +241 -0
- package/Build/Workers/chunk-F4CSNRZO.js +219 -0
- package/Build/Workers/chunk-FBP4DUQJ.js +693 -0
- package/Build/Workers/chunk-FJWZMGOQ.js +1992 -0
- package/Build/Workers/chunk-FQ42MT7M.js +58 -0
- package/Build/Workers/chunk-FU4BGABC.js +398 -0
- package/Build/Workers/chunk-FX3VEAIU.js +2719 -0
- package/Build/Workers/chunk-GGNWQWSB.js +301 -0
- package/Build/Workers/chunk-GHXVQVUM.js +1344 -0
- package/Build/Workers/chunk-GNKXEN4C.js +682 -0
- package/Build/Workers/chunk-GVA7XQI2.js +368 -0
- package/Build/Workers/chunk-GXDHRC4J.js +1344 -0
- package/Build/Workers/chunk-GYSYP6PC.js +1067 -0
- package/Build/Workers/chunk-H2WCFXLP.js +241 -0
- package/Build/Workers/chunk-HDL4HOXZ.js +778 -0
- package/Build/Workers/chunk-HLW2ZRVK.js +368 -0
- package/Build/Workers/chunk-HT6FASOT.js +973 -0
- package/Build/Workers/chunk-I74ZH5LK.js +959 -0
- package/Build/Workers/chunk-IDVHUDZT.js +352 -0
- package/Build/Workers/chunk-IJZJMIUY.js +789 -0
- package/Build/Workers/chunk-IMBVP57H.js +44 -0
- package/Build/Workers/chunk-IOO7Z2AV.js +57 -0
- package/Build/Workers/chunk-IUIFLOYO.js +44 -0
- package/Build/Workers/chunk-J73T2VOY.js +171 -0
- package/Build/Workers/chunk-JALGQYDY.js +288 -0
- package/Build/Workers/chunk-JXYLJCTC.js +124 -0
- package/Build/Workers/chunk-K27QOAW6.js +97 -0
- package/Build/Workers/chunk-KMV25A63.js +789 -0
- package/Build/Workers/chunk-KP5QD7WU.js +693 -0
- package/Build/Workers/chunk-KZWFWJML.js +2719 -0
- package/Build/Workers/chunk-LCXRRALY.js +387 -0
- package/Build/Workers/chunk-LDRQSYBN.js +1800 -0
- package/Build/Workers/chunk-M4JZ6TSZ.js +959 -0
- package/Build/Workers/chunk-M6QKXVAU.js +1054 -0
- package/Build/Workers/chunk-MAAHFYPC.js +198 -0
- package/Build/Workers/chunk-MCJDRDJQ.js +102 -0
- package/Build/Workers/chunk-MEENMEAH.js +198 -0
- package/Build/Workers/chunk-NAWU5RF4.js +162 -0
- package/Build/Workers/chunk-NCL22ZUX.js +56 -0
- package/Build/Workers/chunk-NEFDMMLY.js +241 -0
- package/Build/Workers/chunk-NJVBJG63.js +124 -0
- package/Build/Workers/chunk-NLLCQBX3.js +73 -0
- package/Build/Workers/chunk-NSKZ6SBK.js +1483 -0
- package/Build/Workers/chunk-NXGQBQWE.js +837 -0
- package/Build/Workers/chunk-O3DKEX7Q.js +352 -0
- package/Build/Workers/chunk-O3XFXGPZ.js +476 -0
- package/Build/Workers/chunk-OA6MYL2C.js +837 -0
- package/Build/Workers/chunk-OHP4ELS7.js +198 -0
- package/Build/Workers/chunk-OZGPS7FB.js +138 -0
- package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
- package/Build/Workers/chunk-PD4GK4EM.js +57 -0
- package/Build/Workers/chunk-PEDU33QG.js +2342 -0
- package/Build/Workers/chunk-PRWUMCXF.js +682 -0
- package/Build/Workers/chunk-PVTSNNVI.js +288 -0
- package/Build/Workers/chunk-QFSSCLLZ.js +973 -0
- package/Build/Workers/chunk-QHPZH22L.js +241 -0
- package/Build/Workers/chunk-QIZDWZK6.js +301 -0
- package/Build/Workers/chunk-QV6DG2YX.js +1483 -0
- package/Build/Workers/chunk-R4K7EHOU.js +171 -0
- package/Build/Workers/chunk-R7JGHDD6.js +789 -0
- package/Build/Workers/chunk-RASQEYD4.js +1483 -0
- package/Build/Workers/chunk-RW6ITX7Q.js +3820 -0
- package/Build/Workers/chunk-RYSQVJR6.js +398 -0
- package/Build/Workers/chunk-S6RJU5NM.js +1054 -0
- package/Build/Workers/chunk-SA2A2AN5.js +2342 -0
- package/Build/Workers/chunk-SDFHDNS4.js +147 -0
- package/Build/Workers/chunk-SJYSIOEM.js +414 -0
- package/Build/Workers/chunk-SMTGMFBL.js +97 -0
- package/Build/Workers/chunk-SXSP3JHS.js +38 -0
- package/Build/Workers/chunk-TN35HP5B.js +1067 -0
- package/Build/Workers/chunk-TNWKJNUZ.js +454 -0
- package/Build/Workers/chunk-TOAF47AQ.js +102 -0
- package/Build/Workers/chunk-TQ4QCOXT.js +2719 -0
- package/Build/Workers/chunk-TSDSILQB.js +124 -0
- package/Build/Workers/chunk-U5LV3F3Z.js +1054 -0
- package/Build/Workers/chunk-UAZUP4I5.js +1992 -0
- package/Build/Workers/chunk-UF46SZEZ.js +789 -0
- package/Build/Workers/chunk-UNRTMCET.js +398 -0
- package/Build/Workers/chunk-UTB7U3O6.js +1992 -0
- package/Build/Workers/chunk-V46YGZE6.js +352 -0
- package/Build/Workers/chunk-VDGOCROW.js +57 -0
- package/Build/Workers/chunk-VFWSSBPT.js +511 -0
- package/Build/Workers/chunk-VVYMXI3I.js +1284 -0
- package/Build/Workers/chunk-VXWHPYQM.js +837 -0
- package/Build/Workers/chunk-VXYUBRSB.js +219 -0
- package/Build/Workers/chunk-VZLDLEWI.js +387 -0
- package/Build/Workers/chunk-W5OCKMPJ.js +101 -0
- package/Build/Workers/chunk-WN3F4CVG.js +3201 -0
- package/Build/Workers/chunk-WPRUWXGV.js +693 -0
- package/Build/Workers/chunk-WTO2ERBP.js +414 -0
- package/Build/Workers/chunk-WVHMDVG4.js +959 -0
- package/Build/Workers/chunk-XCBZVTIV.js +280 -0
- package/Build/Workers/chunk-XGA23TAX.js +73 -0
- package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
- package/Build/Workers/chunk-XQH66YJC.js +147 -0
- package/Build/Workers/chunk-XTA7BXJG.js +682 -0
- package/Build/Workers/chunk-XTIDAFRS.js +476 -0
- package/Build/Workers/chunk-XUEDWBUD.js +682 -0
- package/Build/Workers/chunk-XYFLRH3H.js +124 -0
- package/Build/Workers/chunk-Y7JRTRTO.js +305 -0
- package/Build/Workers/chunk-Y7QSMDCJ.js +352 -0
- package/Build/Workers/chunk-YCB5TYTR.js +1483 -0
- package/Build/Workers/chunk-YEYOSTJX.js +219 -0
- package/Build/Workers/chunk-YGFVAGYF.js +630 -0
- package/Build/Workers/chunk-YIIACKQO.js +368 -0
- package/Build/Workers/chunk-YJGSP6PE.js +511 -0
- package/Build/Workers/chunk-Z4LR5EHE.js +454 -0
- package/Build/Workers/chunk-Z66EVE2A.js +44 -0
- package/Build/Workers/chunk-ZHIHHHTB.js +414 -0
- package/Build/Workers/chunk-ZNWHFSLE.js +171 -0
- package/Build/Workers/chunk-ZQLZG4IN.js +2342 -0
- package/Build/Workers/chunk-ZRTSMUZ2.js +414 -0
- package/Build/Workers/chunk-ZZUVT5BM.js +476 -0
- package/Build/Workers/combineGeometry.js +16 -16
- package/Build/Workers/createBoxGeometry.js +10 -10
- package/Build/Workers/createBoxOutlineGeometry.js +8 -8
- package/Build/Workers/createCircleGeometry.js +18 -18
- package/Build/Workers/createCircleOutlineGeometry.js +11 -11
- package/Build/Workers/createCoplanarPolygonGeometry.js +27 -27
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +23 -23
- package/Build/Workers/createCorridorGeometry.js +23 -25
- package/Build/Workers/createCorridorOutlineGeometry.js +21 -23
- package/Build/Workers/createCylinderGeometry.js +12 -12
- package/Build/Workers/createCylinderOutlineGeometry.js +10 -10
- package/Build/Workers/createEllipseGeometry.js +18 -18
- package/Build/Workers/createEllipseOutlineGeometry.js +11 -11
- package/Build/Workers/createEllipsoidGeometry.js +11 -11
- package/Build/Workers/createEllipsoidOutlineGeometry.js +10 -10
- package/Build/Workers/createFrustumGeometry.js +11 -11
- package/Build/Workers/createFrustumOutlineGeometry.js +11 -11
- package/Build/Workers/createGeometry.js +16 -16
- package/Build/Workers/createGroundPolylineGeometry.js +16 -16
- package/Build/Workers/createPlaneGeometry.js +9 -9
- package/Build/Workers/createPlaneOutlineGeometry.js +8 -8
- package/Build/Workers/createPolygonGeometry.js +25 -25
- package/Build/Workers/createPolygonOutlineGeometry.js +22 -22
- package/Build/Workers/createPolylineGeometry.js +18 -18
- package/Build/Workers/createPolylineVolumeGeometry.js +24 -24
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +20 -20
- package/Build/Workers/createRectangleGeometry.js +19 -19
- package/Build/Workers/createRectangleOutlineGeometry.js +13 -13
- package/Build/Workers/createSimplePolylineGeometry.js +16 -16
- package/Build/Workers/createSphereGeometry.js +11 -11
- package/Build/Workers/createSphereOutlineGeometry.js +10 -10
- package/Build/Workers/createVectorTileClampedPolylines.js +7 -7
- package/Build/Workers/createVectorTileGeometries.js +15 -15
- package/Build/Workers/createVectorTilePoints.js +6 -6
- package/Build/Workers/createVectorTilePolygons.js +14 -14
- package/Build/Workers/createVectorTilePolylines.js +7 -7
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +17 -17
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +14 -14
- package/Build/Workers/createVerticesFromHeightmap.js +14 -14
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +12 -12
- package/Build/Workers/createWallGeometry.js +17 -17
- package/Build/Workers/createWallOutlineGeometry.js +17 -17
- package/Build/Workers/decodeDraco.js +2 -2
- package/Build/Workers/decodeI3S.js +5 -5
- package/Build/Workers/incrementallyBuildTerrainPicker.js +4 -4
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +14 -14
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +17 -17
- 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/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/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 +1117 -0
- package/Source/Core/VectorProvider.js +429 -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 +23 -0
- 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/Texture.js +11 -0
- package/Source/Renderer/UniformState.js +7 -0
- 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/BufferPrimitiveCollection.js +27 -5
- package/Source/Scene/Camera.js +71 -5
- package/Source/Scene/Cesium3DTileset.js +1 -1
- package/Source/Scene/ClippingPlaneCollection.js +2 -2
- 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/DerivedCommand.js +94 -0
- package/Source/Scene/EdgeFramebuffer.js +1 -5
- package/Source/Scene/FrameState.js +17 -0
- package/Source/Scene/Globe.js +20 -0
- package/Source/Scene/GlobeDepth.js +27 -1
- package/Source/Scene/GlobeSurfaceShaderSet.js +12 -2
- package/Source/Scene/GlobeSurfaceTile.js +48 -10
- package/Source/Scene/GlobeSurfaceTileProvider.js +121 -3
- package/Source/Scene/GltfLoader.js +32 -3
- package/Source/Scene/GltfSpzLoader.js +1 -1
- package/Source/Scene/GltfVertexBufferLoader.js +6 -3
- 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 +2 -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 +8 -10
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
- package/Source/Scene/Model/ModelDrawCommand.js +160 -16
- package/Source/Scene/Model/ModelDrawCommands.js +4 -0
- package/Source/Scene/Model/ModelSceneGraph.js +21 -0
- package/Source/Scene/Model/PickingPipelineStage.js +29 -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 +4 -2
- package/Source/Scene/ResourceCache.js +7 -4
- package/Source/Scene/ResourceCacheKey.js +16 -13
- package/Source/Scene/Scene.js +202 -5
- 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 +184 -0
- package/Source/Scene/TerrainFillMesh.js +3 -2
- package/Source/Scene/UrlTemplate3DTilesDataProvider.js +1 -1
- package/Source/Scene/Vector3DTileContent.js +2 -3
- package/Source/Scene/VectorGltf3DTileContent.js +23 -3
- package/Source/Scene/View.js +10 -8
- package/Source/Scene/VoxelTraversal.js +1 -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 +1 -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 +2 -0
- package/Source/Shaders/GlobeFS.glsl +10 -5
- package/Source/Shaders/GlobeFS.js +9 -5
- 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/ModelFS.glsl +105 -0
- package/Source/Shaders/Model/ModelFS.js +105 -0
- package/Source/Shaders/VectorCommon.glsl +178 -0
- package/Source/Shaders/VectorCommon.js +75 -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 +770 -10
- package/index.js +177 -160
- package/package.json +1 -1
|
@@ -368,7 +368,7 @@ CoplanarPolygonGeometry.pack = function (value, array, startingIndex) {
|
|
|
368
368
|
} else {
|
|
369
369
|
array[startingIndex++] = -1.0;
|
|
370
370
|
}
|
|
371
|
-
array[startingIndex
|
|
371
|
+
array[startingIndex] = value.packedLength;
|
|
372
372
|
|
|
373
373
|
return array;
|
|
374
374
|
};
|
|
@@ -426,7 +426,7 @@ CoplanarPolygonGeometry.unpack = function (array, startingIndex, result) {
|
|
|
426
426
|
} else {
|
|
427
427
|
startingIndex++;
|
|
428
428
|
}
|
|
429
|
-
const packedLength = array[startingIndex
|
|
429
|
+
const packedLength = array[startingIndex];
|
|
430
430
|
|
|
431
431
|
if (!defined(result)) {
|
|
432
432
|
result = new CoplanarPolygonGeometry(scratchOptions);
|
|
@@ -63,7 +63,6 @@ function combine(computedPositions, vertexFormat, ellipsoid) {
|
|
|
63
63
|
const computedLefts = computedPositions.lefts;
|
|
64
64
|
const computedNormals = computedPositions.normals;
|
|
65
65
|
const attributes = new GeometryAttributes();
|
|
66
|
-
let corner;
|
|
67
66
|
let leftCount = 0;
|
|
68
67
|
let rightCount = 0;
|
|
69
68
|
let i;
|
|
@@ -78,7 +77,6 @@ function combine(computedPositions, vertexFormat, ellipsoid) {
|
|
|
78
77
|
leftCount += 3; //add back count for end positions
|
|
79
78
|
rightCount += 3;
|
|
80
79
|
for (i = 0; i < corners.length; i++) {
|
|
81
|
-
corner = corners[i];
|
|
82
80
|
const leftSide = corners[i].leftPositions;
|
|
83
81
|
if (defined(leftSide)) {
|
|
84
82
|
length = leftSide.length;
|
|
@@ -221,7 +219,7 @@ function combine(computedPositions, vertexFormat, ellipsoid) {
|
|
|
221
219
|
compIndex += 3;
|
|
222
220
|
for (i = 0; i < corners.length; i++) {
|
|
223
221
|
let j;
|
|
224
|
-
corner = corners[i];
|
|
222
|
+
const corner = corners[i];
|
|
225
223
|
const l = corner.leftPositions;
|
|
226
224
|
const r = corner.rightPositions;
|
|
227
225
|
let pivot;
|
|
@@ -727,7 +725,7 @@ function addWallPositions(positions, index, wallPositions) {
|
|
|
727
725
|
}
|
|
728
726
|
wallPositions[index++] = positions[0];
|
|
729
727
|
wallPositions[index++] = positions[1];
|
|
730
|
-
wallPositions[index
|
|
728
|
+
wallPositions[index] = positions[2];
|
|
731
729
|
|
|
732
730
|
return wallPositions;
|
|
733
731
|
}
|
|
@@ -49,7 +49,6 @@ function combine(computedPositions, cornerType) {
|
|
|
49
49
|
leftCount += 3; //add back count for end positions
|
|
50
50
|
rightCount += 3;
|
|
51
51
|
for (i = 0; i < corners.length; i++) {
|
|
52
|
-
corner = corners[i];
|
|
53
52
|
const leftSide = corners[i].leftPositions;
|
|
54
53
|
if (defined(leftSide)) {
|
|
55
54
|
length = leftSide.length;
|
|
@@ -200,7 +199,6 @@ function combine(computedPositions, cornerType) {
|
|
|
200
199
|
leftEdge.splice(leftEdge.length - 3, 3);
|
|
201
200
|
finalPositions.set(rightEdge, front);
|
|
202
201
|
finalPositions.set(leftEdge, back - leftEdge.length + 1);
|
|
203
|
-
length = leftEdge.length - 3;
|
|
204
202
|
|
|
205
203
|
for (j = 0; j < leftEdge.length; j += 3) {
|
|
206
204
|
LR = front / 3;
|
|
@@ -259,7 +257,7 @@ function combine(computedPositions, cornerType) {
|
|
|
259
257
|
wallIndices.push(front / 3, (back - 2) / 3);
|
|
260
258
|
}
|
|
261
259
|
indices[index++] = front / 3;
|
|
262
|
-
indices[index
|
|
260
|
+
indices[index] = (back - 2) / 3;
|
|
263
261
|
|
|
264
262
|
attributes.position = new GeometryAttribute({
|
|
265
263
|
componentDatatype: ComponentDatatype.DOUBLE,
|
|
@@ -182,8 +182,8 @@ EarthOrientationParameters.prototype.compute = function (date, result) {
|
|
|
182
182
|
const dates = this._dates;
|
|
183
183
|
const lastIndex = this._lastIndex;
|
|
184
184
|
|
|
185
|
-
let before
|
|
186
|
-
let after
|
|
185
|
+
let before;
|
|
186
|
+
let after;
|
|
187
187
|
if (defined(lastIndex)) {
|
|
188
188
|
const previousIndexDate = dates[lastIndex];
|
|
189
189
|
const nextIndexDate = dates[lastIndex + 1];
|
|
@@ -349,14 +349,14 @@ EllipseGeometryLibrary.computeEllipsePositions = function (
|
|
|
349
349
|
if (addFillPositions) {
|
|
350
350
|
positions[positionIndex++] = position.x;
|
|
351
351
|
positions[positionIndex++] = position.y;
|
|
352
|
-
positions[positionIndex
|
|
352
|
+
positions[positionIndex] = position.z;
|
|
353
353
|
r.positions = positions;
|
|
354
354
|
r.numPts = numPts;
|
|
355
355
|
}
|
|
356
356
|
if (addEdgePositions) {
|
|
357
357
|
outerPositions[outerRightIndex--] = position.z;
|
|
358
358
|
outerPositions[outerRightIndex--] = position.y;
|
|
359
|
-
outerPositions[outerRightIndex
|
|
359
|
+
outerPositions[outerRightIndex] = position.x;
|
|
360
360
|
r.outerPositions = outerPositions;
|
|
361
361
|
}
|
|
362
362
|
|
|
@@ -133,10 +133,10 @@ function vincentyInverseFormula(
|
|
|
133
133
|
const sc = sineU1 * cosineU2;
|
|
134
134
|
|
|
135
135
|
let lambda = l;
|
|
136
|
-
let lambdaDot
|
|
136
|
+
let lambdaDot;
|
|
137
137
|
|
|
138
|
-
let cosineLambda
|
|
139
|
-
let sineLambda
|
|
138
|
+
let cosineLambda;
|
|
139
|
+
let sineLambda;
|
|
140
140
|
|
|
141
141
|
let sigma;
|
|
142
142
|
let cosineSigma;
|
|
@@ -200,7 +200,7 @@ function calculateArcLength(
|
|
|
200
200
|
const heading = ellipsoidRhumbLine._heading;
|
|
201
201
|
const deltaLongitude = secondLongitude - firstLongitude;
|
|
202
202
|
|
|
203
|
-
let distance
|
|
203
|
+
let distance;
|
|
204
204
|
|
|
205
205
|
//Check to see if the rhumb line has constant latitude
|
|
206
206
|
//This equation will diverge if heading gets close to 90 degrees
|
|
@@ -318,7 +318,7 @@ GroundPolylineGeometry.pack = function (value, array, startingIndex) {
|
|
|
318
318
|
index += Ellipsoid.packedLength;
|
|
319
319
|
|
|
320
320
|
array[index++] = value._projectionIndex;
|
|
321
|
-
array[index
|
|
321
|
+
array[index] = value._scene3DOnly ? 1.0 : 0.0;
|
|
322
322
|
|
|
323
323
|
return array;
|
|
324
324
|
};
|
|
@@ -352,7 +352,7 @@ GroundPolylineGeometry.unpack = function (array, startingIndex, result) {
|
|
|
352
352
|
index += Ellipsoid.packedLength;
|
|
353
353
|
|
|
354
354
|
const projectionIndex = array[index++];
|
|
355
|
-
const scene3DOnly = array[index
|
|
355
|
+
const scene3DOnly = array[index] === 1.0;
|
|
356
356
|
|
|
357
357
|
if (!defined(result)) {
|
|
358
358
|
result = new GroundPolylineGeometry({
|
package/Source/Core/Heap.js
CHANGED
|
@@ -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.eyJqdGkiOiJkYjZkM2MyOS1mODRiLTRlMGQtYTYzMy0xNWYyYmNiZjE1NGUiLCJpZCI6MjU5LCJzdWIiOiJDZXNpdW1KUyIsImlzcyI6Imh0dHBzOi8vYXBpLmNlc2l1bS5jb20iLCJhdWQiOiIxLjE0NCBSZWxlYXNlIC0gRGVsZXRlIG9uIE9jdG9iZXIgMSwgMjAyNiIsImlhdCI6MTc4NDk1ODg5MH0.x3Ra1-m0GEx7jwv8wnz-bAt4SSG3_ZCC9zU_MwzfjA4";
|
|
8
8
|
/**
|
|
9
9
|
* Default settings for accessing the Cesium ion API.
|
|
10
10
|
*
|
|
@@ -106,7 +106,7 @@ function convertTaiToUtc(julianDate, result) {
|
|
|
106
106
|
//we're converting, so we subtract one to get the correct LeapSecond instance.
|
|
107
107
|
return JulianDate.addSeconds(
|
|
108
108
|
julianDate,
|
|
109
|
-
-leapSeconds[
|
|
109
|
+
-leapSeconds[index - 1].offset,
|
|
110
110
|
result,
|
|
111
111
|
);
|
|
112
112
|
}
|