@cesium/engine 26.0.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-7J2HKPRH.js → chunk-27FWRTJI.js} +9 -9
- package/Build/Workers/{chunk-EF2QYXGA.js → chunk-2EFYUSUY.js} +14 -14
- package/Build/Workers/chunk-2H5264K7.js +1284 -0
- package/Build/Workers/{chunk-DOBXCNC3.js → chunk-2H73KDBM.js} +13 -13
- package/Build/Workers/chunk-2RGJPWQX.js +1284 -0
- package/Build/Workers/chunk-2Z4ZLVOD.js +352 -0
- package/Build/Workers/{chunk-F6QDY6HU.js → chunk-2ZKH2QZB.js} +13 -13
- package/Build/Workers/chunk-36NI5E6W.js +3820 -0
- package/Build/Workers/{chunk-ZK3CF7ZD.js → chunk-37SW7SYS.js} +12 -12
- 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-Y57HREW5.js → chunk-3PSS3T43.js} +4 -4
- package/Build/Workers/chunk-3QR662HH.js +3820 -0
- package/Build/Workers/{chunk-QN67VG36.js → chunk-3SX2WYSO.js} +6 -6
- package/Build/Workers/{chunk-G7PXZRVF.js → chunk-3UDN6LYX.js} +7 -7
- package/Build/Workers/chunk-47MCBSXI.js +9237 -0
- package/Build/Workers/{chunk-KKOSKAZB.js → chunk-4E626OCE.js} +17 -17
- package/Build/Workers/chunk-4NW2MJKH.js +455 -0
- package/Build/Workers/{chunk-DBOEKL43.js → chunk-52YK5BSN.js} +7 -7
- package/Build/Workers/{chunk-KFSTQKNM.js → chunk-5LSOO2KD.js} +7 -7
- package/Build/Workers/chunk-5RNAQZK6.js +9234 -0
- package/Build/Workers/chunk-5YPQBFRD.js +519 -0
- package/Build/Workers/{chunk-S4MCOY6I.js → chunk-6FHT43QR.js} +5 -5
- package/Build/Workers/chunk-6FZDPMTO.js +455 -0
- package/Build/Workers/{chunk-VQYETPWC.js → chunk-6HK6IXK2.js} +4 -4
- package/Build/Workers/chunk-6R5X2GUA.js +1284 -0
- package/Build/Workers/{chunk-AYKR4VBR.js → chunk-6YR6JBMY.js} +2 -2
- package/Build/Workers/chunk-76FDC45O.js +511 -0
- package/Build/Workers/chunk-7A2OGDHT.js +305 -0
- package/Build/Workers/chunk-7CGEQUM2.js +305 -0
- package/Build/Workers/{chunk-54I6Y66F.js → chunk-7D2HZKH7.js} +6 -6
- package/Build/Workers/{chunk-3VFEWOBI.js → chunk-7I325HV6.js} +7 -7
- package/Build/Workers/{chunk-4MGMYHOO.js → chunk-7KVKHY7O.js} +6 -6
- 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-DDWSZVMY.js → chunk-7XM5JK5F.js} +5 -5
- package/Build/Workers/chunk-7YG3ND3P.js +454 -0
- package/Build/Workers/{chunk-IRBKFCEJ.js → chunk-A3O6EDBK.js} +2 -2
- package/Build/Workers/chunk-A62YI6S6.js +305 -0
- package/Build/Workers/{chunk-V7VQKN6N.js → chunk-A6X24AZI.js} +5 -5
- 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-52JDLOEM.js → chunk-AF7DTMJ7.js} +14 -14
- package/Build/Workers/{chunk-ZP7JMQV4.js → chunk-AHWAZRBV.js} +6 -2
- package/Build/Workers/chunk-AJSFRY4U.js +1344 -0
- package/Build/Workers/{chunk-EBSIOBXY.js → chunk-ARZICEEP.js} +8 -8
- package/Build/Workers/chunk-B3QHNA4A.js +147 -0
- package/Build/Workers/{chunk-YLY7NKAB.js → chunk-B4CQSLZJ.js} +4 -4
- package/Build/Workers/chunk-BKPQFCXH.js +511 -0
- package/Build/Workers/{chunk-O3EA5HS7.js → chunk-BSPCI2LO.js} +10 -10
- package/Build/Workers/chunk-BUJWSX5S.js +301 -0
- package/Build/Workers/{chunk-J6BWOHUF.js → chunk-C7JQVRLM.js} +3 -3
- package/Build/Workers/chunk-C7QDUNI3.js +138 -0
- package/Build/Workers/{chunk-KSSWJIZW.js → chunk-CDJDJ5LK.js} +2 -2
- package/Build/Workers/chunk-CEEZE3YZ.js +476 -0
- package/Build/Workers/chunk-CIV5DJOQ.js +778 -0
- package/Build/Workers/{chunk-INUEEEQA.js → chunk-CLCTQVVL.js} +8 -8
- package/Build/Workers/{chunk-C6J67V5A.js → chunk-CQNFIAZU.js} +1 -1
- package/Build/Workers/chunk-CRCGE4J4.js +9237 -0
- package/Build/Workers/{chunk-SMQZZOW6.js → chunk-CUTRKXUQ.js} +10 -10
- package/Build/Workers/{chunk-Q3PY526V.js → chunk-D6AY775A.js} +6 -6
- package/Build/Workers/chunk-DBD5WWG2.js +959 -0
- package/Build/Workers/{chunk-E7VQ76KE.js → chunk-DIGUUD6G.js} +6 -6
- package/Build/Workers/{chunk-P3CK7MCY.js → chunk-DSGLDRTI.js} +4 -4
- 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-424RNO3D.js → chunk-E7NZJOK7.js} +196 -22
- package/Build/Workers/{chunk-UOOIQ3KX.js → chunk-EB3Y5P3A.js} +12 -12
- package/Build/Workers/{chunk-ACXQXN46.js → chunk-EHTS2YPT.js} +16 -16
- package/Build/Workers/{chunk-EPYXRCDB.js → chunk-ELE6SC2C.js} +12 -12
- package/Build/Workers/{chunk-VWV2IJRB.js → chunk-ENNFMWDW.js} +11 -11
- 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-FRQZECAO.js → chunk-FCP2QY4G.js} +5 -5
- package/Build/Workers/{chunk-ZZ46LWL6.js → chunk-FDK4K5IA.js} +1 -1
- package/Build/Workers/{chunk-C6KNZ7T4.js → chunk-FGQFQHN5.js} +17 -17
- package/Build/Workers/chunk-FJWZMGOQ.js +1992 -0
- package/Build/Workers/{chunk-Y5BF6AFU.js → chunk-FQ42MT7M.js} +2 -2
- 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-CZEYZU4N.js → chunk-GNKXEN4C.js} +10 -10
- package/Build/Workers/{chunk-MYP774IS.js → chunk-GSWMAFTE.js} +8 -8
- package/Build/Workers/chunk-GVA7XQI2.js +368 -0
- package/Build/Workers/chunk-GXDHRC4J.js +1344 -0
- package/Build/Workers/chunk-GXWQZBAI.js +58 -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-HHV3MCGV.js +162 -0
- package/Build/Workers/chunk-HLW2ZRVK.js +368 -0
- package/Build/Workers/chunk-HS6AD4P2.js +398 -0
- package/Build/Workers/chunk-HT6FASOT.js +973 -0
- package/Build/Workers/chunk-I74ZH5LK.js +959 -0
- package/Build/Workers/{chunk-7WM2PX4V.js → chunk-IDVHUDZT.js} +5 -5
- package/Build/Workers/chunk-IGAZBTFZ.js +3201 -0
- package/Build/Workers/chunk-IJZJMIUY.js +789 -0
- package/Build/Workers/chunk-ILME5BXA.js +301 -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-JKXV6PG5.js +56 -0
- package/Build/Workers/chunk-JW6OZT4R.js +288 -0
- package/Build/Workers/{chunk-CXOYE2WM.js → chunk-JXYLJCTC.js} +5 -5
- package/Build/Workers/{chunk-CFQP6LYM.js → chunk-K27QOAW6.js} +4 -4
- package/Build/Workers/chunk-KGXSYGBG.js +387 -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-LD64RPYV.js +368 -0
- package/Build/Workers/{chunk-U3ZA64U7.js → chunk-LDRQSYBN.js} +2 -2
- package/Build/Workers/chunk-LGNDTZVX.js +97 -0
- package/Build/Workers/chunk-LNSQVXFH.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-TKKIREQ6.js → chunk-N7CCOFLX.js} +1 -1
- package/Build/Workers/chunk-NAWU5RF4.js +162 -0
- package/Build/Workers/{chunk-M3B5JKSM.js → chunk-NCL22ZUX.js} +1 -1
- package/Build/Workers/chunk-NEFDMMLY.js +241 -0
- package/Build/Workers/{chunk-UA25D5MX.js → chunk-NIWITKQK.js} +10 -10
- 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-OBEU25PI.js +1067 -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-QVLAFFJY.js +56 -0
- package/Build/Workers/{chunk-6YEE6JDR.js → chunk-R4FPNAZ2.js} +6 -6
- 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-RG4F5R57.js +454 -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-SF6K72D7.js +124 -0
- package/Build/Workers/chunk-SGRGNDOD.js +682 -0
- package/Build/Workers/{chunk-QRWGUWI6.js → chunk-SJYSIOEM.js} +11 -11
- package/Build/Workers/chunk-SM2CDCYF.js +198 -0
- package/Build/Workers/chunk-SMTGMFBL.js +97 -0
- package/Build/Workers/chunk-SS5ABQGY.js +102 -0
- package/Build/Workers/{chunk-IYOUHCZB.js → chunk-SXSP3JHS.js} +1 -1
- package/Build/Workers/chunk-T5QBPLE3.js +414 -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-TVZD72WJ.js +778 -0
- package/Build/Workers/chunk-U5LV3F3Z.js +1054 -0
- package/Build/Workers/chunk-UAZUP4I5.js +1992 -0
- package/Build/Workers/chunk-UEY73NRN.js +38 -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-UVO6COT2.js +352 -0
- package/Build/Workers/chunk-V46YGZE6.js +352 -0
- package/Build/Workers/chunk-VAL7DYNR.js +278 -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-4S7IE3LB.js → chunk-W5OCKMPJ.js} +2 -2
- package/Build/Workers/chunk-WBSY7HDY.js +837 -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-XDWCTQCZ.js +101 -0
- package/Build/Workers/chunk-XGA23TAX.js +73 -0
- package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
- package/Build/Workers/chunk-XLXSDIP5.js +973 -0
- package/Build/Workers/chunk-XQ3SKCMM.js +140 -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-XZMBNNDX.js → chunk-YKU2Q3A2.js} +9 -9
- 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-ZMBHFYOX.js +1344 -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-MPZHGZU6.js → chunk-ZSGUV73H.js} +4 -4
- package/Build/Workers/chunk-ZZUVT5BM.js +476 -0
- 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 +987 -2320
- 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/BoundingRectangle.js +6 -8
- package/Source/Core/BoundingSphere.js +0 -3
- package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
- package/Source/Core/Color.js +1 -0
- 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 +58 -50
- 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/TerrainMesh.js +3 -3
- package/Source/Core/TerrainPicker.js +180 -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/Core/writeTextToCanvas.js +1 -0
- package/Source/DataSources/CompositeEntityCollection.js +0 -1
- package/Source/DataSources/CzmlDataSource.js +14 -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 +529 -557
- package/Source/DataSources/PathGraphics.js +8 -1
- package/Source/DataSources/PathMode.js +27 -0
- package/Source/DataSources/PathVisualizer.js +298 -1
- 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 +12 -1
- package/Source/Renderer/UniformState.js +7 -0
- package/Source/Renderer/VertexArray.js +1 -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/BillboardTexture.js +5 -3
- package/Source/Scene/BufferPrimitiveCollection.js +27 -5
- package/Source/Scene/Camera.js +71 -5
- package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
- package/Source/Scene/Cesium3DTileset.js +1 -1
- package/Source/Scene/ClippingPlaneCollection.js +4 -4
- package/Source/Scene/ClippingPolygon.js +2 -0
- package/Source/Scene/ClippingPolygonCollection.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 +98 -0
- package/Source/Scene/EdgeFramebuffer.js +1 -5
- package/Source/Scene/Expression.js +6 -8
- 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 +511 -409
- package/Source/Scene/GlobeSurfaceTile.js +575 -398
- package/Source/Scene/GlobeSurfaceTileProvider.js +1382 -1151
- package/Source/Scene/GltfBufferViewLoader.js +3 -3
- package/Source/Scene/GltfLoader.js +33 -3
- package/Source/Scene/GltfLoaderUtil.js +20 -4
- package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
- 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/ImageryLayer.js +2 -2
- package/Source/Scene/ImageryLayerCollection.js +190 -6
- 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/Material.js +1 -0
- package/Source/Scene/Model/B3dmLoader.js +1 -2
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +10 -8
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
- 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 +11 -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/ModelUtility.js +1 -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 +19 -3
- package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
- package/Source/Scene/PntsParser.js +1 -1
- package/Source/Scene/PolylineCollection.js +1 -1
- package/Source/Scene/PostProcessStage.js +4 -2
- package/Source/Scene/QuadtreePrimitive.js +3 -2
- package/Source/Scene/ResourceCache.js +7 -4
- package/Source/Scene/ResourceCacheKey.js +21 -18
- package/Source/Scene/Scene.js +203 -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/findMeshoptExtension.js +23 -0
- package/Source/Scene/renderBufferPointCollection.js +14 -10
- package/Source/Scene/renderBufferPolygonCollection.js +10 -15
- package/Source/Scene/renderBufferPolylineCollection.js +121 -194
- 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/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
- package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
- package/index.d.ts +825 -260
- package/index.js +29 -10
- package/package.json +4 -4
|
@@ -14,10 +14,11 @@ import createPropertyDescriptor from "./createPropertyDescriptor.js";
|
|
|
14
14
|
* @property {Property | number} [leadTime] A Property specifying the number of seconds in front the object to show.
|
|
15
15
|
* @property {Property | number} [trailTime] A Property specifying the number of seconds behind of the object to show.
|
|
16
16
|
* @property {Property | number} [width=1.0] A numeric Property specifying the width in pixels.
|
|
17
|
-
* @property {Property | number} [resolution=60] A numeric Property specifying the maximum number of seconds to step when sampling the position.
|
|
17
|
+
* @property {Property | number} [resolution=60] A numeric Property specifying the maximum number of seconds to step when sampling the position. Fractional positive values are allowed; in PORTIONS materialMode, non-positive values fall back to the default resolution of 60 seconds.
|
|
18
18
|
* @property {MaterialProperty | Color} [material=Color.WHITE] A Property specifying the material used to draw the path.
|
|
19
19
|
* @property {Property | DistanceDisplayCondition} [distanceDisplayCondition] A Property specifying at what distance from the camera that this path will be displayed.
|
|
20
20
|
* @property {Property | string} [relativeTo] A Property specifying the frame in which to visualize the path. Use another entity's id to visualize the path relative to that entity, or use the string values "FIXED" or "INERTIAL" to visualize the path in those reference frames.
|
|
21
|
+
* @property {Property | PathMode} [materialMode] A Property specifying how material properties are applied along the path.
|
|
21
22
|
*/
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -46,6 +47,8 @@ function PathGraphics(options) {
|
|
|
46
47
|
this._distanceDisplayConditionSubscription = undefined;
|
|
47
48
|
this._relativeTo = undefined;
|
|
48
49
|
this._relativeToSubscription = undefined;
|
|
50
|
+
this._materialMode = undefined;
|
|
51
|
+
this._materialModeSubscription = undefined;
|
|
49
52
|
|
|
50
53
|
this.merge(options ?? Frozen.EMPTY_OBJECT);
|
|
51
54
|
}
|
|
@@ -95,6 +98,7 @@ Object.defineProperties(PathGraphics.prototype, {
|
|
|
95
98
|
|
|
96
99
|
/**
|
|
97
100
|
* Gets or sets the Property specifying the maximum number of seconds to step when sampling the position.
|
|
101
|
+
* Fractional positive values are allowed; in PORTIONS materialMode, non-positive values fall back to the default resolution of 60 seconds.
|
|
98
102
|
* @memberof PathGraphics.prototype
|
|
99
103
|
* @type {Property|undefined}
|
|
100
104
|
* @default 60
|
|
@@ -125,6 +129,7 @@ Object.defineProperties(PathGraphics.prototype, {
|
|
|
125
129
|
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
126
130
|
*/
|
|
127
131
|
relativeTo: createPropertyDescriptor("relativeTo"),
|
|
132
|
+
materialMode: createPropertyDescriptor("materialMode"),
|
|
128
133
|
});
|
|
129
134
|
|
|
130
135
|
/**
|
|
@@ -145,6 +150,7 @@ PathGraphics.prototype.clone = function (result) {
|
|
|
145
150
|
result.material = this.material;
|
|
146
151
|
result.distanceDisplayCondition = this.distanceDisplayCondition;
|
|
147
152
|
result.relativeTo = this.relativeTo;
|
|
153
|
+
result.materialMode = this.materialMode;
|
|
148
154
|
return result;
|
|
149
155
|
};
|
|
150
156
|
|
|
@@ -170,5 +176,6 @@ PathGraphics.prototype.merge = function (source) {
|
|
|
170
176
|
this.distanceDisplayCondition =
|
|
171
177
|
this.distanceDisplayCondition ?? source.distanceDisplayCondition;
|
|
172
178
|
this.relativeTo = this.relativeTo ?? source.relativeTo;
|
|
179
|
+
this.materialMode = this.materialMode ?? source.materialMode;
|
|
173
180
|
};
|
|
174
181
|
export default PathGraphics;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Defines how material properties are applied along a path.
|
|
5
|
+
*
|
|
6
|
+
* @enum {number}
|
|
7
|
+
*/
|
|
8
|
+
const PathMode = {
|
|
9
|
+
/**
|
|
10
|
+
* The material is applied to the entire path as a whole.
|
|
11
|
+
* @type {number}
|
|
12
|
+
* @constant
|
|
13
|
+
*/
|
|
14
|
+
WHOLE: 0,
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The material is applied in portions based on temporal position information,
|
|
18
|
+
* using interval-based material properties.
|
|
19
|
+
* @type {number}
|
|
20
|
+
* @constant
|
|
21
|
+
*/
|
|
22
|
+
PORTIONS: 1,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
Object.freeze(PathMode);
|
|
26
|
+
|
|
27
|
+
export default PathMode;
|
|
@@ -17,12 +17,14 @@ import CallbackPositionProperty from "./CallbackPositionProperty.js";
|
|
|
17
17
|
import CompositePositionProperty from "./CompositePositionProperty.js";
|
|
18
18
|
import ConstantPositionProperty from "./ConstantPositionProperty.js";
|
|
19
19
|
import MaterialProperty from "./MaterialProperty.js";
|
|
20
|
+
import PathMode from "./PathMode.js";
|
|
20
21
|
import Property from "./Property.js";
|
|
21
22
|
import ReferenceProperty from "./ReferenceProperty.js";
|
|
22
23
|
import SampledPositionProperty from "./SampledPositionProperty.js";
|
|
23
24
|
import ScaledPositionProperty from "./ScaledPositionProperty.js";
|
|
24
25
|
import TimeIntervalCollectionPositionProperty from "./TimeIntervalCollectionPositionProperty.js";
|
|
25
26
|
import Quaternion from "../Core/Quaternion.js";
|
|
27
|
+
import arrayRemoveDuplicates from "../Core/arrayRemoveDuplicates.js";
|
|
26
28
|
|
|
27
29
|
const update3DMatrix3Scratch1 = new Matrix3();
|
|
28
30
|
const update3DMatrix3Scratch2 = new Matrix3();
|
|
@@ -210,6 +212,7 @@ const subSampleIntervalPropertyScratch = new TimeInterval();
|
|
|
210
212
|
function EntityData(entity) {
|
|
211
213
|
this.entity = entity;
|
|
212
214
|
this.polyline = undefined;
|
|
215
|
+
this.segmentPolylines = [];
|
|
213
216
|
this.index = undefined;
|
|
214
217
|
this.updater = undefined;
|
|
215
218
|
}
|
|
@@ -734,6 +737,111 @@ function subSample(
|
|
|
734
737
|
const toFixedScratch = new Matrix3();
|
|
735
738
|
const updateOrientationScratch = new Quaternion();
|
|
736
739
|
const updateRotationScratch = new Matrix3();
|
|
740
|
+
const portionsVisibleIntervalScratch = new TimeInterval();
|
|
741
|
+
const portionsSegmentIntervalScratch = new TimeInterval();
|
|
742
|
+
const portionsDynamicIntervalScratch = new TimeInterval();
|
|
743
|
+
|
|
744
|
+
function getDynamicMaterialProperties(materialData) {
|
|
745
|
+
const dynamic = [];
|
|
746
|
+
if (!defined(materialData)) {
|
|
747
|
+
return dynamic;
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
for (const key in materialData) {
|
|
751
|
+
// Material properties store uniforms as underscored backing fields.
|
|
752
|
+
// Ignore event and subscription bookkeeping fields.
|
|
753
|
+
if (
|
|
754
|
+
key[0] !== "_" ||
|
|
755
|
+
key === "_definitionChanged" ||
|
|
756
|
+
key.endsWith("Subscription")
|
|
757
|
+
) {
|
|
758
|
+
continue;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
const prop = materialData[key];
|
|
762
|
+
if (
|
|
763
|
+
defined(prop) &&
|
|
764
|
+
typeof prop.getValue === "function" &&
|
|
765
|
+
!Property.isConstant(prop)
|
|
766
|
+
) {
|
|
767
|
+
dynamic.push(prop);
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
return dynamic;
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
function emitSegmentsForSplitTimes(
|
|
775
|
+
splitTimes,
|
|
776
|
+
positionProperty,
|
|
777
|
+
time,
|
|
778
|
+
pathGraphics,
|
|
779
|
+
entity,
|
|
780
|
+
item,
|
|
781
|
+
polylineCollection,
|
|
782
|
+
resolution,
|
|
783
|
+
referenceFrame,
|
|
784
|
+
materialProp,
|
|
785
|
+
startingSegIndex,
|
|
786
|
+
) {
|
|
787
|
+
// Sort and dedupe
|
|
788
|
+
splitTimes.sort(JulianDate.compare);
|
|
789
|
+
splitTimes = arrayRemoveDuplicates(splitTimes, JulianDate.equalsEpsilon);
|
|
790
|
+
|
|
791
|
+
let segIndex = startingSegIndex;
|
|
792
|
+
for (let j = 0; j < splitTimes.length - 1; j++) {
|
|
793
|
+
const splitStart = splitTimes[j];
|
|
794
|
+
const splitStop = splitTimes[j + 1];
|
|
795
|
+
if (!JulianDate.lessThan(splitStart, splitStop)) {
|
|
796
|
+
continue;
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
// Get segment midpoint
|
|
800
|
+
const splitMidTime = JulianDate.addSeconds(
|
|
801
|
+
splitStart,
|
|
802
|
+
JulianDate.secondsDifference(splitStop, splitStart) / 2,
|
|
803
|
+
new JulianDate(),
|
|
804
|
+
);
|
|
805
|
+
|
|
806
|
+
// Subsample positions
|
|
807
|
+
const subPositions = subSample(
|
|
808
|
+
positionProperty,
|
|
809
|
+
splitStart,
|
|
810
|
+
splitStop,
|
|
811
|
+
time,
|
|
812
|
+
referenceFrame,
|
|
813
|
+
resolution,
|
|
814
|
+
[],
|
|
815
|
+
);
|
|
816
|
+
if (subPositions.length < 2) {
|
|
817
|
+
continue;
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
// Get or create a polyline for this segment
|
|
821
|
+
let segPolyline = item.segmentPolylines[segIndex];
|
|
822
|
+
if (!defined(segPolyline)) {
|
|
823
|
+
segPolyline = polylineCollection.add();
|
|
824
|
+
segPolyline.id = entity;
|
|
825
|
+
item.segmentPolylines[segIndex] = segPolyline;
|
|
826
|
+
}
|
|
827
|
+
segPolyline.show = true;
|
|
828
|
+
segPolyline.positions = subPositions;
|
|
829
|
+
segPolyline.material = MaterialProperty.getValue(
|
|
830
|
+
splitMidTime,
|
|
831
|
+
materialProp,
|
|
832
|
+
segPolyline.material,
|
|
833
|
+
);
|
|
834
|
+
segPolyline.width = Property.getValueOrDefault(
|
|
835
|
+
pathGraphics._width,
|
|
836
|
+
time,
|
|
837
|
+
defaultWidth,
|
|
838
|
+
);
|
|
839
|
+
|
|
840
|
+
segIndex++;
|
|
841
|
+
}
|
|
842
|
+
return segIndex;
|
|
843
|
+
}
|
|
844
|
+
|
|
737
845
|
function PolylineUpdater(scene, referenceFrame) {
|
|
738
846
|
this._unusedIndexes = [];
|
|
739
847
|
this._polylineCollection = new PolylineCollection();
|
|
@@ -845,6 +953,9 @@ PolylineUpdater.prototype.updateObject = function (time, item) {
|
|
|
845
953
|
polyline.show = false;
|
|
846
954
|
item.index = undefined;
|
|
847
955
|
}
|
|
956
|
+
for (let j = 0; j < item.segmentPolylines.length; j++) {
|
|
957
|
+
item.segmentPolylines[j].show = false;
|
|
958
|
+
}
|
|
848
959
|
return;
|
|
849
960
|
}
|
|
850
961
|
|
|
@@ -883,16 +994,198 @@ PolylineUpdater.prototype.updateObject = function (time, item) {
|
|
|
883
994
|
// This can happen if the position is sampled at a time when it is only defined at a single point
|
|
884
995
|
if (positions.length < 2) {
|
|
885
996
|
polyline.show = false;
|
|
997
|
+
for (let j = 0; j < item.segmentPolylines.length; j++) {
|
|
998
|
+
item.segmentPolylines[j].show = false;
|
|
999
|
+
}
|
|
886
1000
|
return;
|
|
887
1001
|
}
|
|
888
1002
|
|
|
889
1003
|
polyline.show = true;
|
|
890
1004
|
polyline.positions = positions;
|
|
1005
|
+
|
|
891
1006
|
polyline.material = MaterialProperty.getValue(
|
|
892
1007
|
time,
|
|
893
|
-
pathGraphics.
|
|
1008
|
+
pathGraphics.material,
|
|
894
1009
|
polyline.material,
|
|
895
1010
|
);
|
|
1011
|
+
|
|
1012
|
+
const materialMode = Property.getValueOrUndefined(
|
|
1013
|
+
pathGraphics.materialMode,
|
|
1014
|
+
time,
|
|
1015
|
+
);
|
|
1016
|
+
const materialProp = pathGraphics.material;
|
|
1017
|
+
if (materialMode === PathMode.PORTIONS && !materialProp.isConstant) {
|
|
1018
|
+
// Hide the single polyline if it exists
|
|
1019
|
+
if (defined(polyline)) {
|
|
1020
|
+
polyline.show = false;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
// Prevent non-positive split steps from creating non-terminating loops.
|
|
1024
|
+
// Positive fractional resolutions are valid; only values <= 0 fall back to the default.
|
|
1025
|
+
const splitResolution = resolution > 0 ? resolution : defaultResolution;
|
|
1026
|
+
|
|
1027
|
+
const intervals = materialProp.intervals;
|
|
1028
|
+
let nextSegIndex = 0;
|
|
1029
|
+
|
|
1030
|
+
if (!defined(intervals)) {
|
|
1031
|
+
// Sampled/interpolated root material - generate synthetic times at resolution intervals
|
|
1032
|
+
const splitTimes = [
|
|
1033
|
+
JulianDate.clone(sampleStart),
|
|
1034
|
+
JulianDate.clone(sampleStop),
|
|
1035
|
+
];
|
|
1036
|
+
let splitTime = JulianDate.addSeconds(
|
|
1037
|
+
sampleStart,
|
|
1038
|
+
splitResolution,
|
|
1039
|
+
new JulianDate(),
|
|
1040
|
+
);
|
|
1041
|
+
while (JulianDate.lessThan(splitTime, sampleStop)) {
|
|
1042
|
+
splitTimes.push(JulianDate.clone(splitTime));
|
|
1043
|
+
splitTime = JulianDate.addSeconds(
|
|
1044
|
+
splitTime,
|
|
1045
|
+
splitResolution,
|
|
1046
|
+
new JulianDate(),
|
|
1047
|
+
);
|
|
1048
|
+
}
|
|
1049
|
+
nextSegIndex = emitSegmentsForSplitTimes(
|
|
1050
|
+
splitTimes,
|
|
1051
|
+
positionProperty,
|
|
1052
|
+
time,
|
|
1053
|
+
pathGraphics,
|
|
1054
|
+
entity,
|
|
1055
|
+
item,
|
|
1056
|
+
this._polylineCollection,
|
|
1057
|
+
splitResolution,
|
|
1058
|
+
this._referenceFrame,
|
|
1059
|
+
pathGraphics.material,
|
|
1060
|
+
nextSegIndex,
|
|
1061
|
+
);
|
|
1062
|
+
} else {
|
|
1063
|
+
portionsVisibleIntervalScratch.start = sampleStart;
|
|
1064
|
+
portionsVisibleIntervalScratch.stop = sampleStop;
|
|
1065
|
+
portionsVisibleIntervalScratch.isStartIncluded = true;
|
|
1066
|
+
portionsVisibleIntervalScratch.isStopIncluded = true;
|
|
1067
|
+
|
|
1068
|
+
// Interval-based material - process each interval separately
|
|
1069
|
+
for (let i = 0; i < intervals.length; i++) {
|
|
1070
|
+
const interval = intervals.get(i);
|
|
1071
|
+
|
|
1072
|
+
if (
|
|
1073
|
+
!TimeInterval.intersect(
|
|
1074
|
+
interval,
|
|
1075
|
+
portionsVisibleIntervalScratch,
|
|
1076
|
+
portionsSegmentIntervalScratch,
|
|
1077
|
+
)
|
|
1078
|
+
) {
|
|
1079
|
+
continue;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
const segStart = portionsSegmentIntervalScratch.start;
|
|
1083
|
+
const segStop = portionsSegmentIntervalScratch.stop;
|
|
1084
|
+
|
|
1085
|
+
if (JulianDate.greaterThanOrEquals(segStart, segStop)) {
|
|
1086
|
+
continue;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
// Detect dynamic properties and collect their split times
|
|
1090
|
+
const dynamic = getDynamicMaterialProperties(interval.data);
|
|
1091
|
+
const splitTimes = [
|
|
1092
|
+
JulianDate.clone(segStart),
|
|
1093
|
+
JulianDate.clone(segStop),
|
|
1094
|
+
];
|
|
1095
|
+
|
|
1096
|
+
for (let j = 0; j < dynamic.length; j++) {
|
|
1097
|
+
const prop = dynamic[j];
|
|
1098
|
+
const timeDynamicIntervals = prop.intervals;
|
|
1099
|
+
|
|
1100
|
+
if (defined(timeDynamicIntervals)) {
|
|
1101
|
+
// Interval-based property: collect interval boundaries
|
|
1102
|
+
for (let k = 0; k < timeDynamicIntervals.length; k++) {
|
|
1103
|
+
const timeDynamicInterval = timeDynamicIntervals.get(k);
|
|
1104
|
+
|
|
1105
|
+
if (
|
|
1106
|
+
!TimeInterval.intersect(
|
|
1107
|
+
timeDynamicInterval,
|
|
1108
|
+
portionsSegmentIntervalScratch,
|
|
1109
|
+
portionsDynamicIntervalScratch,
|
|
1110
|
+
)
|
|
1111
|
+
) {
|
|
1112
|
+
continue;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
if (
|
|
1116
|
+
JulianDate.greaterThan(
|
|
1117
|
+
portionsDynamicIntervalScratch.start,
|
|
1118
|
+
segStart,
|
|
1119
|
+
) &&
|
|
1120
|
+
JulianDate.lessThan(
|
|
1121
|
+
portionsDynamicIntervalScratch.start,
|
|
1122
|
+
segStop,
|
|
1123
|
+
)
|
|
1124
|
+
) {
|
|
1125
|
+
splitTimes.push(
|
|
1126
|
+
JulianDate.clone(portionsDynamicIntervalScratch.start),
|
|
1127
|
+
);
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
if (
|
|
1131
|
+
JulianDate.greaterThan(
|
|
1132
|
+
portionsDynamicIntervalScratch.stop,
|
|
1133
|
+
segStart,
|
|
1134
|
+
) &&
|
|
1135
|
+
JulianDate.lessThan(
|
|
1136
|
+
portionsDynamicIntervalScratch.stop,
|
|
1137
|
+
segStop,
|
|
1138
|
+
)
|
|
1139
|
+
) {
|
|
1140
|
+
splitTimes.push(
|
|
1141
|
+
JulianDate.clone(portionsDynamicIntervalScratch.stop),
|
|
1142
|
+
);
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
} else if (!Property.isConstant(prop)) {
|
|
1146
|
+
// Sampled/interpolated property: add resolution-based split times
|
|
1147
|
+
let sampledTime = JulianDate.clone(segStart);
|
|
1148
|
+
while (JulianDate.lessThan(sampledTime, segStop)) {
|
|
1149
|
+
splitTimes.push(JulianDate.clone(sampledTime));
|
|
1150
|
+
sampledTime = JulianDate.addSeconds(
|
|
1151
|
+
sampledTime,
|
|
1152
|
+
splitResolution,
|
|
1153
|
+
new JulianDate(),
|
|
1154
|
+
);
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
// Emit segments for this interval's split times
|
|
1160
|
+
nextSegIndex = emitSegmentsForSplitTimes(
|
|
1161
|
+
splitTimes,
|
|
1162
|
+
positionProperty,
|
|
1163
|
+
time,
|
|
1164
|
+
pathGraphics,
|
|
1165
|
+
entity,
|
|
1166
|
+
item,
|
|
1167
|
+
this._polylineCollection,
|
|
1168
|
+
splitResolution,
|
|
1169
|
+
this._referenceFrame,
|
|
1170
|
+
interval.data,
|
|
1171
|
+
nextSegIndex,
|
|
1172
|
+
);
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
// Hide any excess segment polylines from previous frames.
|
|
1177
|
+
for (let j = nextSegIndex; j < item.segmentPolylines.length; j++) {
|
|
1178
|
+
if (defined(item.segmentPolylines[j])) {
|
|
1179
|
+
item.segmentPolylines[j].show = false;
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
} else {
|
|
1183
|
+
// Not in PORTIONS mode, hide all segment polylines from previous frames
|
|
1184
|
+
for (let j = 0; j < item.segmentPolylines.length; j++) {
|
|
1185
|
+
item.segmentPolylines[j].show = false;
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
|
|
896
1189
|
polyline.width = Property.getValueOrDefault(
|
|
897
1190
|
pathGraphics._width,
|
|
898
1191
|
time,
|
|
@@ -914,6 +1207,10 @@ PolylineUpdater.prototype.removeObject = function (item) {
|
|
|
914
1207
|
polyline.id = undefined;
|
|
915
1208
|
item.index = undefined;
|
|
916
1209
|
}
|
|
1210
|
+
for (let i = 0; i < item.segmentPolylines.length; i++) {
|
|
1211
|
+
item.segmentPolylines[i].show = false;
|
|
1212
|
+
}
|
|
1213
|
+
item.segmentPolylines.length = 0;
|
|
917
1214
|
};
|
|
918
1215
|
|
|
919
1216
|
PolylineUpdater.prototype.destroy = function () {
|
|
@@ -295,7 +295,7 @@ PolylineVisualizer.prototype.getBoundingSphere = function (entity, result) {
|
|
|
295
295
|
const tmp = getBoundingSphereBoundingSphereScratch;
|
|
296
296
|
|
|
297
297
|
let count = 0;
|
|
298
|
-
let state
|
|
298
|
+
let state;
|
|
299
299
|
const batches = this._batches;
|
|
300
300
|
const batchesLength = batches.length;
|
|
301
301
|
const updater = this._updaters.get(entity.id);
|
|
@@ -375,7 +375,7 @@ StaticOutlineGeometryBatch.prototype.update = function (time) {
|
|
|
375
375
|
const translucentBatchesLength = translucentBatches.length;
|
|
376
376
|
let itemsToRemove;
|
|
377
377
|
let isUpdated = true;
|
|
378
|
-
let needUpdate
|
|
378
|
+
let needUpdate;
|
|
379
379
|
|
|
380
380
|
do {
|
|
381
381
|
needUpdate = false;
|
|
@@ -222,6 +222,29 @@ const AutomaticUniforms = {
|
|
|
222
222
|
},
|
|
223
223
|
}),
|
|
224
224
|
|
|
225
|
+
/**
|
|
226
|
+
* An automatic GLSL uniform containing the feature-ID texture produced by
|
|
227
|
+
* the planar fill pre-pass (BENTLEY_materials_planar_fill). Non-behind
|
|
228
|
+
* planar fill geometry writes its per-fragment feature ID here so that
|
|
229
|
+
* behind fills can test whether the existing pixel belongs to the same
|
|
230
|
+
* logical object.
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* // GLSL declaration
|
|
234
|
+
* uniform sampler2D czm_planarFillIdTexture;
|
|
235
|
+
*
|
|
236
|
+
* // Sample
|
|
237
|
+
* vec2 coords = gl_FragCoord.xy / czm_viewport.zw;
|
|
238
|
+
* float existingFeatureId = texture(czm_planarFillIdTexture, coords).r;
|
|
239
|
+
*/
|
|
240
|
+
czm_planarFillIdTexture: new AutomaticUniform({
|
|
241
|
+
size: 1,
|
|
242
|
+
datatype: WebGLConstants.SAMPLER_2D,
|
|
243
|
+
getValue: function (uniformState) {
|
|
244
|
+
return uniformState.planarFillIdTexture;
|
|
245
|
+
},
|
|
246
|
+
}),
|
|
247
|
+
|
|
225
248
|
/**
|
|
226
249
|
* An automatic GLSL uniform representing a 4x4 model transformation matrix that
|
|
227
250
|
* transforms model coordinates to world coordinates.
|
|
@@ -1010,20 +1010,26 @@ Object.defineProperties(Context.prototype, {
|
|
|
1010
1010
|
},
|
|
1011
1011
|
|
|
1012
1012
|
/**
|
|
1013
|
-
* A 1x1 RGBA texture initialized to
|
|
1014
|
-
* be used as a placeholder texture while other textures are downloaded.
|
|
1013
|
+
* A 1x1 RGBA texture initialized to the color defined by {@link Texture.defaultColor}.
|
|
1014
|
+
* This can be used as a placeholder texture while other textures are downloaded.
|
|
1015
1015
|
* @memberof Context.prototype
|
|
1016
1016
|
* @type {Texture}
|
|
1017
1017
|
*/
|
|
1018
1018
|
defaultTexture: {
|
|
1019
1019
|
get: function () {
|
|
1020
1020
|
if (this._defaultTexture === undefined) {
|
|
1021
|
+
const color = Texture.defaultColor;
|
|
1021
1022
|
this._defaultTexture = new Texture({
|
|
1022
1023
|
context: this,
|
|
1023
1024
|
source: {
|
|
1024
1025
|
width: 1,
|
|
1025
1026
|
height: 1,
|
|
1026
|
-
arrayBufferView: new Uint8Array([
|
|
1027
|
+
arrayBufferView: new Uint8Array([
|
|
1028
|
+
color.red * 255,
|
|
1029
|
+
color.green * 255,
|
|
1030
|
+
color.blue * 255,
|
|
1031
|
+
color.alpha * 255,
|
|
1032
|
+
]),
|
|
1027
1033
|
},
|
|
1028
1034
|
flipY: false,
|
|
1029
1035
|
});
|
|
@@ -47,6 +47,7 @@ const Flags = {
|
|
|
47
47
|
* @property {Pass} [pass]
|
|
48
48
|
* @property {object} [owner]
|
|
49
49
|
* @property {string} [pickId]
|
|
50
|
+
* @property {string} [snapId]
|
|
50
51
|
* @property {boolean} [pickMetadataAllowed=false]
|
|
51
52
|
* @property {boolean} [cull=true]
|
|
52
53
|
* @property {boolean} [occlude=true]
|
|
@@ -102,6 +103,7 @@ class DrawCommand {
|
|
|
102
103
|
this._debugOverlappingFrustums = 0;
|
|
103
104
|
/** @private */
|
|
104
105
|
this._pickId = options.pickId;
|
|
106
|
+
this._snapId = options.snapId;
|
|
105
107
|
/** @private */
|
|
106
108
|
this._pickMetadataAllowed = options.pickMetadataAllowed === true;
|
|
107
109
|
/**
|
|
@@ -532,6 +534,25 @@ class DrawCommand {
|
|
|
532
534
|
}
|
|
533
535
|
}
|
|
534
536
|
|
|
537
|
+
/**
|
|
538
|
+
* A GLSL string that will evaluate to the float snap payload written during
|
|
539
|
+
* a snapping pass (see {@link Scene#snap}). When <code>undefined</code>, the
|
|
540
|
+
* command does not render during a snapping pass.
|
|
541
|
+
*
|
|
542
|
+
* @type {string|undefined}
|
|
543
|
+
* @default undefined
|
|
544
|
+
*/
|
|
545
|
+
get snapId() {
|
|
546
|
+
return this._snapId;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
set snapId(value) {
|
|
550
|
+
if (this._snapId !== value) {
|
|
551
|
+
this._snapId = value;
|
|
552
|
+
this.dirty = true;
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
|
|
535
556
|
/**
|
|
536
557
|
* Whether metadata picking is allowed.
|
|
537
558
|
*
|
|
@@ -628,6 +649,7 @@ class DrawCommand {
|
|
|
628
649
|
result._owner = command._owner;
|
|
629
650
|
result._debugOverlappingFrustums = command._debugOverlappingFrustums;
|
|
630
651
|
result._pickId = command._pickId;
|
|
652
|
+
result._snapId = command._snapId;
|
|
631
653
|
result._pickMetadataAllowed = command._pickMetadataAllowed;
|
|
632
654
|
result._pickedMetadataInfo = command._pickedMetadataInfo;
|
|
633
655
|
result._flags = command._flags;
|
|
@@ -287,6 +287,10 @@ function Framebuffer(options) {
|
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
this._unBind();
|
|
290
|
+
|
|
291
|
+
// _bind and _unBind bypass the context's framebuffer binding cache. The GL
|
|
292
|
+
// binding is now the default framebuffer; update the cache to match.
|
|
293
|
+
context._currentFramebuffer = undefined;
|
|
290
294
|
}
|
|
291
295
|
|
|
292
296
|
Object.defineProperties(Framebuffer.prototype, {
|
package/Source/Renderer/Pass.js
CHANGED
|
@@ -19,16 +19,17 @@ const Pass = {
|
|
|
19
19
|
GLOBE: 2,
|
|
20
20
|
TERRAIN_CLASSIFICATION: 3,
|
|
21
21
|
CESIUM_3D_TILE_EDGES: 4,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
CESIUM_3D_TILE_PLANAR_FILL_ID: 5,
|
|
23
|
+
CESIUM_3D_TILE: 6,
|
|
24
|
+
CESIUM_3D_TILE_CLASSIFICATION: 7,
|
|
25
|
+
CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW: 8,
|
|
26
|
+
OPAQUE: 9,
|
|
27
|
+
TRANSLUCENT: 10,
|
|
28
|
+
VOXELS: 11,
|
|
29
|
+
GAUSSIAN_SPLATS: 12,
|
|
30
|
+
CESIUM_3D_TILE_EDGES_DIRECT: 13,
|
|
31
|
+
OVERLAY: 14,
|
|
32
|
+
NUMBER_OF_PASSES: 15,
|
|
32
33
|
};
|
|
33
34
|
|
|
34
35
|
Object.freeze(Pass);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Cartesian2 from "../Core/Cartesian2.js";
|
|
2
2
|
import Check from "../Core/Check.js";
|
|
3
|
+
import Color from "../Core/Color.js";
|
|
3
4
|
import createGuid from "../Core/createGuid.js";
|
|
4
5
|
import Frozen from "../Core/Frozen.js";
|
|
5
6
|
import defined from "../Core/defined.js";
|
|
@@ -576,7 +577,7 @@ function loadNull(texture) {
|
|
|
576
577
|
/**
|
|
577
578
|
* This function is identical to using the Texture constructor except that it can be
|
|
578
579
|
* replaced with a mock/spy in tests.
|
|
579
|
-
* @
|
|
580
|
+
* @ignore
|
|
580
581
|
*/
|
|
581
582
|
Texture.create = function (options) {
|
|
582
583
|
return new Texture(options);
|
|
@@ -1123,4 +1124,14 @@ Texture.prototype.destroy = function () {
|
|
|
1123
1124
|
this._context._gl.deleteTexture(this._texture);
|
|
1124
1125
|
return destroyObject(this);
|
|
1125
1126
|
};
|
|
1127
|
+
|
|
1128
|
+
/**
|
|
1129
|
+
* The default color used as a placeholder texture while other textures are downloaded.
|
|
1130
|
+
* This can be changed globally to customize the placeholder appearance.
|
|
1131
|
+
*
|
|
1132
|
+
* @type {Color}
|
|
1133
|
+
* @default Color.WHITE
|
|
1134
|
+
*/
|
|
1135
|
+
Texture.defaultColor = Color.WHITE;
|
|
1136
|
+
|
|
1126
1137
|
export default Texture;
|
|
@@ -37,6 +37,13 @@ function UniformState() {
|
|
|
37
37
|
* @type {Texture}
|
|
38
38
|
*/
|
|
39
39
|
this.edgeDepthTexture = undefined; // packed depth color attachment from edge pass
|
|
40
|
+
/**
|
|
41
|
+
* Texture written by the planar fill feature-ID pre-pass.
|
|
42
|
+
* Contains per-pixel feature IDs for non-behind planar fill geometry.
|
|
43
|
+
* Sampled by behind fills to test same-object coplanarity.
|
|
44
|
+
* @type {Texture}
|
|
45
|
+
*/
|
|
46
|
+
this.planarFillIdTexture = undefined;
|
|
40
47
|
/**
|
|
41
48
|
* @type {number}
|
|
42
49
|
*/
|
|
@@ -16,6 +16,7 @@ import assert from "../Core/assert.js";
|
|
|
16
16
|
|
|
17
17
|
/** @import {TypedArray, TypedArrayConstructor} from "../Core/globalTypes.js"; */
|
|
18
18
|
|
|
19
|
+
/** @ignore */
|
|
19
20
|
function addAttribute(attributes, attribute, index, context) {
|
|
20
21
|
const hasVertexBuffer = defined(attribute.vertexBuffer);
|
|
21
22
|
const hasValue = defined(attribute.value);
|
|
@@ -644,7 +645,6 @@ VertexArray.fromGeometry = function (options) {
|
|
|
644
645
|
}
|
|
645
646
|
|
|
646
647
|
let attrProps = {};
|
|
647
|
-
vertexBuffer = undefined;
|
|
648
648
|
if (defined(attribute.values)) {
|
|
649
649
|
vertexBuffer = Buffer.createVertexBuffer({
|
|
650
650
|
context: context,
|
|
@@ -325,11 +325,6 @@ function ArcGisMapServerImageryProvider(options) {
|
|
|
325
325
|
this._credit = options.credit;
|
|
326
326
|
this._tileCredits = undefined;
|
|
327
327
|
|
|
328
|
-
let credit = options.credit;
|
|
329
|
-
if (typeof credit === "string") {
|
|
330
|
-
credit = new Credit(credit);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
328
|
/**
|
|
334
329
|
* Gets or sets a value indicating whether feature picking is enabled. If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will
|
|
335
330
|
* invoke the "identify" operation on the ArcGIS server and return the features included in the response. If false,
|
|
@@ -4,7 +4,7 @@ import Resource from "../Core/Resource.js";
|
|
|
4
4
|
|
|
5
5
|
let defaultTokenCredit;
|
|
6
6
|
const defaultAccessToken =
|
|
7
|
-
"
|
|
7
|
+
"AAPTa7BPWL4PoZRFPJ2CM2YRclg..ub1vMOBXctC7ozMMKNnmx3ZwVTsDJAXo2GLomQ2CZjuOc2HLr1-CryeuRo9ZsV65cuZ9xN1yFKeLTu7Cxld7B97aI28os_NnuC9nvWde_l4G1DTApSHmhrVoZfKgO0bqOrsDfvvSgO-cdkUEvBASNX_4Lb9tB5fEY7lbYaWdOOWBXyZylR9il0-biB248V6HdDT1kgkSwz9esfKialRTLgxJx8AFM9is--UXK0CLvZn6JUU44PZSFuMyAT1_rgxsirsZ";
|
|
8
8
|
/**
|
|
9
9
|
* Default options for accessing the ArcGIS image tile service.
|
|
10
10
|
*
|