@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Check from "../Core/Check.js";
|
|
2
2
|
import Frozen from "../Core/Frozen.js";
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
|
-
import
|
|
4
|
+
import findMeshoptExtension from "./findMeshoptExtension.js";
|
|
5
5
|
import { MeshoptDecoder } from "meshoptimizer";
|
|
6
6
|
import ResourceLoader from "./ResourceLoader.js";
|
|
7
7
|
import ResourceLoaderState from "./ResourceLoaderState.js";
|
|
@@ -54,8 +54,8 @@ class GltfBufferViewLoader extends ResourceLoader {
|
|
|
54
54
|
let meshoptMode;
|
|
55
55
|
let meshoptFilter;
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
const meshopt = findMeshoptExtension(bufferView);
|
|
58
|
+
if (defined(meshopt)) {
|
|
59
59
|
bufferId = meshopt.buffer;
|
|
60
60
|
byteOffset = meshopt.byteOffset ?? 0;
|
|
61
61
|
byteLength = meshopt.byteLength;
|
|
@@ -61,6 +61,7 @@ const {
|
|
|
61
61
|
Specular,
|
|
62
62
|
Anisotropy,
|
|
63
63
|
Clearcoat,
|
|
64
|
+
PlanarFill,
|
|
64
65
|
LineStyle,
|
|
65
66
|
Material,
|
|
66
67
|
Vector,
|
|
@@ -534,6 +535,7 @@ class GltfLoader extends ResourceLoader {
|
|
|
534
535
|
|
|
535
536
|
/**
|
|
536
537
|
* Loads the gltf object
|
|
538
|
+
* @ignore
|
|
537
539
|
*/
|
|
538
540
|
async function loadGltfJson(loader) {
|
|
539
541
|
loader._state = GltfLoaderState.LOADING;
|
|
@@ -1786,6 +1788,23 @@ function loadClearcoat(loader, clearcoatInfo, frameState) {
|
|
|
1786
1788
|
return clearcoat;
|
|
1787
1789
|
}
|
|
1788
1790
|
|
|
1791
|
+
/**
|
|
1792
|
+
* Load properties for the BENTLEY_materials_planar_fill extension.
|
|
1793
|
+
*
|
|
1794
|
+
* Note: The wireframeFill property is loaded but is currently a NO-OP in the
|
|
1795
|
+
* rendering pipeline. CesiumJS does not yet have a proper wireframe rendering
|
|
1796
|
+
* mode, so this value is stored for completeness but has no effect on rendering.
|
|
1797
|
+
* See https://github.com/CesiumGS/cesium/issues/13620 and
|
|
1798
|
+
* MaterialPipelineStage.js for more details.
|
|
1799
|
+
*
|
|
1800
|
+
* @param {object} planarFillInfo The contents of the BENTLEY_materials_planar_fill extension in the parsed glTF JSON
|
|
1801
|
+
* @returns {ModelComponents.PlanarFill}
|
|
1802
|
+
* @private
|
|
1803
|
+
*/
|
|
1804
|
+
function loadPlanarFill(planarFillInfo) {
|
|
1805
|
+
return new PlanarFill(planarFillInfo);
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1789
1808
|
function loadLineStyle(lineStyleInfo) {
|
|
1790
1809
|
if (!defined(lineStyleInfo)) {
|
|
1791
1810
|
return undefined;
|
|
@@ -1832,6 +1851,7 @@ function loadMaterial(loader, gltfMaterial, frameState) {
|
|
|
1832
1851
|
const pbrAnisotropy = extensions.KHR_materials_anisotropy;
|
|
1833
1852
|
const pbrClearcoat = extensions.KHR_materials_clearcoat;
|
|
1834
1853
|
const pbrMetallicRoughness = gltfMaterial.pbrMetallicRoughness;
|
|
1854
|
+
const planarFill = extensions.BENTLEY_materials_planar_fill;
|
|
1835
1855
|
|
|
1836
1856
|
material.unlit = defined(extensions.KHR_materials_unlit);
|
|
1837
1857
|
|
|
@@ -1888,6 +1908,11 @@ function loadMaterial(loader, gltfMaterial, frameState) {
|
|
|
1888
1908
|
material.alphaCutoff = gltfMaterial.alphaCutoff;
|
|
1889
1909
|
material.doubleSided = gltfMaterial.doubleSided;
|
|
1890
1910
|
|
|
1911
|
+
// BENTLEY_materials_planar_fill extension
|
|
1912
|
+
if (defined(planarFill)) {
|
|
1913
|
+
material.planarFill = loadPlanarFill(planarFill);
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1891
1916
|
// BENTLEY_materials_point_style extension
|
|
1892
1917
|
const pointStyleExtension = extensions.BENTLEY_materials_point_style;
|
|
1893
1918
|
if (defined(pointStyleExtension) && defined(pointStyleExtension.diameter)) {
|
|
@@ -2155,7 +2180,7 @@ function loadEdgeVisibilityLineStrings(
|
|
|
2155
2180
|
throw new RuntimeError("Edge visibility line string accessor not found!");
|
|
2156
2181
|
}
|
|
2157
2182
|
|
|
2158
|
-
const indices =
|
|
2183
|
+
const indices = loadAccessorTypedArray(loader, accessor);
|
|
2159
2184
|
const restartIndex = getLineStringPrimitiveRestartValue(
|
|
2160
2185
|
accessor.componentType,
|
|
2161
2186
|
);
|
|
@@ -2187,7 +2212,10 @@ function loadEdgeVisibility(loader, edgeVisibilityExtension) {
|
|
|
2187
2212
|
if (!defined(visibilityAccessor)) {
|
|
2188
2213
|
throw new RuntimeError("Edge visibility accessor not found!");
|
|
2189
2214
|
}
|
|
2190
|
-
edgeVisibility.visibility =
|
|
2215
|
+
edgeVisibility.visibility = loadAccessorTypedArray(
|
|
2216
|
+
loader,
|
|
2217
|
+
visibilityAccessor,
|
|
2218
|
+
);
|
|
2191
2219
|
}
|
|
2192
2220
|
|
|
2193
2221
|
edgeVisibility.materialColor = getEdgeVisibilityMaterialColor(
|
|
@@ -2199,7 +2227,9 @@ function loadEdgeVisibility(loader, edgeVisibilityExtension) {
|
|
|
2199
2227
|
const silhouetteNormalsAccessor =
|
|
2200
2228
|
loader.gltfJson.accessors[edgeVisibilityExtension.silhouetteNormals];
|
|
2201
2229
|
if (defined(silhouetteNormalsAccessor)) {
|
|
2202
|
-
|
|
2230
|
+
// Packed typed array (x0,y0,z0, x1,y1,z1, ...), not an array of
|
|
2231
|
+
// Cartesian3s. Avoids a large JS heap cost for edge-heavy tiles.
|
|
2232
|
+
edgeVisibility.silhouetteNormals = loadAccessorTypedArray(
|
|
2203
2233
|
loader,
|
|
2204
2234
|
silhouetteNormalsAccessor,
|
|
2205
2235
|
);
|
|
@@ -111,6 +111,22 @@ GltfLoaderUtil.createSampler = function (options) {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
+
if (!TextureWrap.validate(wrapS)) {
|
|
115
|
+
wrapS = TextureWrap.REPEAT;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (!TextureWrap.validate(wrapT)) {
|
|
119
|
+
wrapT = TextureWrap.REPEAT;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (!TextureMinificationFilter.validate(minFilter)) {
|
|
123
|
+
minFilter = TextureMinificationFilter.LINEAR;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!TextureMagnificationFilter.validate(magFilter)) {
|
|
127
|
+
magFilter = TextureMagnificationFilter.LINEAR;
|
|
128
|
+
}
|
|
129
|
+
|
|
114
130
|
return new Sampler({
|
|
115
131
|
wrapS: wrapS,
|
|
116
132
|
wrapT: wrapT,
|
|
@@ -164,10 +180,10 @@ GltfLoaderUtil.createModelTextureReader = function (options) {
|
|
|
164
180
|
|
|
165
181
|
// prettier-ignore
|
|
166
182
|
transform = new Matrix3(
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
183
|
+
Math.cos(rotation) * scale.x, -Math.sin(rotation) * scale.y, offset.x,
|
|
184
|
+
Math.sin(rotation) * scale.x, Math.cos(rotation) * scale.y, offset.y,
|
|
185
|
+
0.0, 0.0, 1.0
|
|
186
|
+
);
|
|
171
187
|
}
|
|
172
188
|
|
|
173
189
|
const modelTextureReader = new ModelComponents.TextureReader();
|
|
@@ -73,6 +73,16 @@ function forEachTextureInMaterial(material, handler) {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
// Transmission extension
|
|
77
|
+
const transmission = extensions.KHR_materials_transmission;
|
|
78
|
+
if (defined(transmission) && defined(transmission.transmissionTexture)) {
|
|
79
|
+
const textureInfo = transmission.transmissionTexture;
|
|
80
|
+
const value = handler(textureInfo.index, textureInfo);
|
|
81
|
+
if (defined(value)) {
|
|
82
|
+
return value;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
76
86
|
// Materials common extension (may be present in models converted from glTF 1.0)
|
|
77
87
|
const materialsCommon = extensions.KHR_materials_common;
|
|
78
88
|
if (defined(materialsCommon) && defined(materialsCommon.values)) {
|
|
@@ -148,11 +148,16 @@ Remove.buffer = function (gltf, bufferId) {
|
|
|
148
148
|
bufferView.buffer--;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
151
|
+
const extensions = bufferView.extensions;
|
|
152
|
+
if (defined(extensions)) {
|
|
153
|
+
const ext = extensions.EXT_meshopt_compression;
|
|
154
|
+
if (defined(ext) && ext.buffer > bufferId) {
|
|
155
|
+
ext.buffer--;
|
|
156
|
+
}
|
|
157
|
+
const khr = extensions.KHR_meshopt_compression;
|
|
158
|
+
if (defined(khr) && khr.buffer > bufferId) {
|
|
159
|
+
khr.buffer--;
|
|
160
|
+
}
|
|
156
161
|
}
|
|
157
162
|
});
|
|
158
163
|
};
|
|
@@ -583,12 +588,17 @@ getListOfElementsIdsInUse.buffer = function (gltf) {
|
|
|
583
588
|
if (defined(bufferView.buffer)) {
|
|
584
589
|
usedBufferIds[bufferView.buffer] = true;
|
|
585
590
|
}
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
true;
|
|
591
|
+
|
|
592
|
+
const extensions = bufferView.extensions;
|
|
593
|
+
if (defined(extensions)) {
|
|
594
|
+
const ext = extensions.EXT_meshopt_compression;
|
|
595
|
+
if (defined(ext)) {
|
|
596
|
+
usedBufferIds[ext.buffer] = true;
|
|
597
|
+
}
|
|
598
|
+
const khr = extensions.KHR_meshopt_compression;
|
|
599
|
+
if (defined(khr)) {
|
|
600
|
+
usedBufferIds[khr.buffer] = true;
|
|
601
|
+
}
|
|
592
602
|
}
|
|
593
603
|
});
|
|
594
604
|
|
|
@@ -267,7 +267,7 @@ async function loadResources(loader) {
|
|
|
267
267
|
try {
|
|
268
268
|
const bufferViewLoader = resourceCache.getBufferViewLoader({
|
|
269
269
|
gltf: loader._gltf,
|
|
270
|
-
bufferViewId:
|
|
270
|
+
bufferViewId: loader._spz.bufferView,
|
|
271
271
|
gltfResource: loader._gltfResource,
|
|
272
272
|
baseResource: loader._baseResource,
|
|
273
273
|
});
|
|
@@ -29,6 +29,7 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
29
29
|
* @param {number} [options.bufferViewId] The bufferView ID corresponding to the vertex buffer.
|
|
30
30
|
* @param {object} [options.primitive] The primitive containing the Draco extension.
|
|
31
31
|
* @param {object} [options.draco] The Draco extension object.
|
|
32
|
+
* @param {object} [options.spz] The SPZ extension object.
|
|
32
33
|
* @param {string} [options.attributeSemantic] The attribute semantic, e.g. POSITION or NORMAL.
|
|
33
34
|
* @param {number} [options.accessorId] The accessor id.
|
|
34
35
|
* @param {string} [options.cacheKey] The cache key of the resource.
|
|
@@ -36,7 +37,7 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
36
37
|
* @param {boolean} [options.loadBuffer=false] Load vertex buffer as a GPU vertex buffer.
|
|
37
38
|
* @param {boolean} [options.loadTypedArray=false] Load vertex buffer as a typed array.
|
|
38
39
|
*
|
|
39
|
-
* @exception {DeveloperError}
|
|
40
|
+
* @exception {DeveloperError} Exactly one vertex buffer source must be effective: options.bufferViewId, options.spz, or options.draco for options.attributeSemantic.
|
|
40
41
|
* @exception {DeveloperError} When options.draco is defined options.attributeSemantic must also be defined.
|
|
41
42
|
* @exception {DeveloperError} When options.draco is defined options.accessorId must also be defined.
|
|
42
43
|
*/
|
|
@@ -76,9 +77,11 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
76
77
|
const hasAttributeSemantic = defined(attributeSemantic);
|
|
77
78
|
const hasAccessorId = defined(accessorId);
|
|
78
79
|
const hasSpz = defined(spz);
|
|
79
|
-
|
|
80
|
+
const sourceCount =
|
|
81
|
+
Number(hasBufferViewId) + Number(hasDraco) + Number(hasSpz);
|
|
82
|
+
if (sourceCount !== 1) {
|
|
80
83
|
throw new DeveloperError(
|
|
81
|
-
"
|
|
84
|
+
"Exactly one vertex buffer source must be effective: options.bufferViewId, options.spz, or options.draco for options.attributeSemantic.",
|
|
82
85
|
);
|
|
83
86
|
}
|
|
84
87
|
|
|
@@ -408,7 +408,7 @@ I3SDataProvider.prototype.updateForPass = function (frameState, passState) {
|
|
|
408
408
|
function buildLayerUrl(provider, layerId) {
|
|
409
409
|
const dataProviderUrl = provider.resource.getUrlComponent();
|
|
410
410
|
|
|
411
|
-
let layerUrl
|
|
411
|
+
let layerUrl;
|
|
412
412
|
if (dataProviderUrl.match(/layers\/\d/)) {
|
|
413
413
|
layerUrl = `${dataProviderUrl}`.replace(/\/+$/, "");
|
|
414
414
|
} else {
|
package/Source/Scene/I3SLayer.js
CHANGED
|
@@ -31,7 +31,7 @@ function I3SLayer(dataProvider, layerData, parent) {
|
|
|
31
31
|
|
|
32
32
|
const parentUrl = this._parent.resource.getUrlComponent();
|
|
33
33
|
|
|
34
|
-
let tilesetUrl
|
|
34
|
+
let tilesetUrl;
|
|
35
35
|
if (parentUrl.match(/layers\/\d/)) {
|
|
36
36
|
tilesetUrl = `${parentUrl}`.replace(/\/+$/, "");
|
|
37
37
|
} else {
|
package/Source/Scene/I3SNode.js
CHANGED
|
@@ -676,11 +676,11 @@ ImageryLayer.prototype.getImageryRectangle = function () {
|
|
|
676
676
|
* Create skeletons for the imagery tiles that partially or completely overlap a given terrain
|
|
677
677
|
* tile.
|
|
678
678
|
*
|
|
679
|
-
* @
|
|
679
|
+
* @ignore
|
|
680
680
|
*
|
|
681
681
|
* @param {QuadtreeTile} tile The terrain tile.
|
|
682
682
|
* @param {TerrainProvider|undefined} terrainProvider The terrain provider associated with the terrain tile.
|
|
683
|
-
* @param {number} insertionPoint The position to insert new skeletons before in the tile's imagery list.
|
|
683
|
+
* @param {number} [insertionPoint] The position to insert new skeletons before in the tile's imagery list.
|
|
684
684
|
* @returns {boolean} true if this layer overlaps any portion of the terrain tile; otherwise, false.
|
|
685
685
|
*/
|
|
686
686
|
ImageryLayer.prototype._createTileImagerySkeletons = function (
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import defined from "../Core/defined.js";
|
|
2
|
+
import Cartesian2 from "../Core/Cartesian2.js";
|
|
3
|
+
import Cartographic from "../Core/Cartographic.js";
|
|
2
4
|
import destroyObject from "../Core/destroyObject.js";
|
|
3
5
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
4
6
|
import Event from "../Core/Event.js";
|
|
7
|
+
import GeographicProjection from "../Core/GeographicProjection.js";
|
|
5
8
|
import CesiumMath from "../Core/Math.js";
|
|
6
9
|
import Rectangle from "../Core/Rectangle.js";
|
|
7
10
|
import ImageryLayer from "./ImageryLayer.js";
|
|
11
|
+
import ImageryState from "./ImageryState.js";
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
14
|
* An ordered collection of imagery layers for rendering raster imagery on a {@link Globe} or {@link Cesium3DTileset}.
|
|
@@ -452,6 +456,152 @@ ImageryLayerCollection.prototype.pickImageryLayers = function (ray, scene) {
|
|
|
452
456
|
return imageryLayers;
|
|
453
457
|
};
|
|
454
458
|
|
|
459
|
+
const nativeBoundingRectangleScratch = new Rectangle();
|
|
460
|
+
const nativeApplicableRectangleScratch = new Rectangle();
|
|
461
|
+
const southwestNativeScratch = new Cartesian2();
|
|
462
|
+
const northeastNativeScratch = new Cartesian2();
|
|
463
|
+
const southwestCartographicScratch = new Cartographic();
|
|
464
|
+
const northeastCartographicScratch = new Cartographic();
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Maps a texture coordinate rectangle (UV space on the primitive) back to a
|
|
468
|
+
* geographic rectangle, using the primitive cartographic bounds and the
|
|
469
|
+
* imagery tiling scheme's native coordinates.
|
|
470
|
+
*
|
|
471
|
+
* @private
|
|
472
|
+
*/
|
|
473
|
+
|
|
474
|
+
function computeApplicableGeographicRectangle(
|
|
475
|
+
cartographicBoundingRectangle,
|
|
476
|
+
textureCoordinateRectangle,
|
|
477
|
+
imageryLayer,
|
|
478
|
+
result,
|
|
479
|
+
) {
|
|
480
|
+
const tilingScheme = imageryLayer.imageryProvider.tilingScheme;
|
|
481
|
+
const nativeBoundingRectangle = tilingScheme.rectangleToNativeRectangle(
|
|
482
|
+
cartographicBoundingRectangle,
|
|
483
|
+
nativeBoundingRectangleScratch,
|
|
484
|
+
);
|
|
485
|
+
|
|
486
|
+
const epsilon = 1 / 1024; // 1/4 of a pixel in a typical 256x256 tile.
|
|
487
|
+
const applicableNative = nativeApplicableRectangleScratch;
|
|
488
|
+
applicableNative.west = CesiumMath.lerp(
|
|
489
|
+
nativeBoundingRectangle.west,
|
|
490
|
+
nativeBoundingRectangle.east,
|
|
491
|
+
textureCoordinateRectangle.minX - epsilon,
|
|
492
|
+
);
|
|
493
|
+
applicableNative.east = CesiumMath.lerp(
|
|
494
|
+
nativeBoundingRectangle.west,
|
|
495
|
+
nativeBoundingRectangle.east,
|
|
496
|
+
textureCoordinateRectangle.maxX + epsilon,
|
|
497
|
+
);
|
|
498
|
+
applicableNative.south = CesiumMath.lerp(
|
|
499
|
+
nativeBoundingRectangle.south,
|
|
500
|
+
nativeBoundingRectangle.north,
|
|
501
|
+
textureCoordinateRectangle.minY - epsilon,
|
|
502
|
+
);
|
|
503
|
+
applicableNative.north = CesiumMath.lerp(
|
|
504
|
+
nativeBoundingRectangle.south,
|
|
505
|
+
nativeBoundingRectangle.north,
|
|
506
|
+
textureCoordinateRectangle.maxY + epsilon,
|
|
507
|
+
);
|
|
508
|
+
|
|
509
|
+
if (!defined(result)) {
|
|
510
|
+
result = new Rectangle();
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
const projection = tilingScheme.projection;
|
|
514
|
+
if (projection instanceof GeographicProjection) {
|
|
515
|
+
result.west = CesiumMath.toRadians(applicableNative.west);
|
|
516
|
+
result.south = CesiumMath.toRadians(applicableNative.south);
|
|
517
|
+
result.east = CesiumMath.toRadians(applicableNative.east);
|
|
518
|
+
result.north = CesiumMath.toRadians(applicableNative.north);
|
|
519
|
+
return result;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
southwestNativeScratch.x = applicableNative.west;
|
|
523
|
+
southwestNativeScratch.y = applicableNative.south;
|
|
524
|
+
northeastNativeScratch.x = applicableNative.east;
|
|
525
|
+
northeastNativeScratch.y = applicableNative.north;
|
|
526
|
+
|
|
527
|
+
const southwest = projection.unproject(
|
|
528
|
+
southwestNativeScratch,
|
|
529
|
+
southwestCartographicScratch,
|
|
530
|
+
);
|
|
531
|
+
const northeast = projection.unproject(
|
|
532
|
+
northeastNativeScratch,
|
|
533
|
+
northeastCartographicScratch,
|
|
534
|
+
);
|
|
535
|
+
result.west = southwest.longitude;
|
|
536
|
+
result.south = southwest.latitude;
|
|
537
|
+
result.east = northeast.longitude;
|
|
538
|
+
result.north = northeast.latitude;
|
|
539
|
+
return result;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
function pickModelFeatures(model, pickedLocation, callback) {
|
|
543
|
+
const modelImagery = model._modelImagery;
|
|
544
|
+
|
|
545
|
+
if (!defined(modelImagery)) {
|
|
546
|
+
return;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
const modelPrimitiveImageries = modelImagery._modelPrimitiveImageries;
|
|
550
|
+
|
|
551
|
+
if (!defined(modelPrimitiveImageries)) {
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
for (let j = 0; j < modelPrimitiveImageries.length; j++) {
|
|
556
|
+
const modelPrimitiveImagery = modelPrimitiveImageries[j];
|
|
557
|
+
const coveragesPerLayer = modelPrimitiveImagery._coveragesPerLayer;
|
|
558
|
+
if (!defined(coveragesPerLayer)) {
|
|
559
|
+
continue;
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
for (let k = coveragesPerLayer.length - 1; k >= 0; --k) {
|
|
563
|
+
const coverages = coveragesPerLayer[k];
|
|
564
|
+
|
|
565
|
+
for (let l = 0; l < coverages.length; l++) {
|
|
566
|
+
const coverage = coverages[l];
|
|
567
|
+
const imagery = coverage.imagery;
|
|
568
|
+
const imageryLayer = imagery.imageryLayer;
|
|
569
|
+
const provider = imageryLayer.imageryProvider;
|
|
570
|
+
|
|
571
|
+
if (!defined(provider.pickFeatures)) {
|
|
572
|
+
continue;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
if (!defined(imagery) || imagery.state !== ImageryState.READY) {
|
|
576
|
+
continue;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
if (!Rectangle.contains(imagery.rectangle, pickedLocation)) {
|
|
580
|
+
continue;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
const mappedPositions =
|
|
584
|
+
modelPrimitiveImagery.mappedPositionsForImageryLayer(imageryLayer);
|
|
585
|
+
const cartographicBoundingRectangle =
|
|
586
|
+
mappedPositions.cartographicBoundingRectangle;
|
|
587
|
+
|
|
588
|
+
const applicableRectangle = computeApplicableGeographicRectangle(
|
|
589
|
+
cartographicBoundingRectangle,
|
|
590
|
+
coverage.textureCoordinateRectangle,
|
|
591
|
+
imageryLayer,
|
|
592
|
+
applicableRectangleScratch,
|
|
593
|
+
);
|
|
594
|
+
|
|
595
|
+
if (!Rectangle.contains(applicableRectangle, pickedLocation)) {
|
|
596
|
+
continue;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
callback(imagery);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
|
|
455
605
|
/**
|
|
456
606
|
* Asynchronously determines the imagery layer features that are intersected by a pick ray. The intersected imagery
|
|
457
607
|
* layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected
|
|
@@ -485,9 +635,30 @@ ImageryLayerCollection.prototype.pickImageryLayerFeatures = function (
|
|
|
485
635
|
scene,
|
|
486
636
|
) {
|
|
487
637
|
// Find the picked location on the globe.
|
|
488
|
-
|
|
638
|
+
let pickedPosition;
|
|
639
|
+
|
|
640
|
+
if (defined(scene.globe)) {
|
|
641
|
+
pickedPosition = scene.globe.pick(ray, scene);
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
let pickedModel;
|
|
645
|
+
|
|
489
646
|
if (!defined(pickedPosition)) {
|
|
490
|
-
|
|
647
|
+
const result = scene.pickFromRay(ray);
|
|
648
|
+
|
|
649
|
+
if (!defined(result)) {
|
|
650
|
+
return undefined;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
pickedPosition = result.position;
|
|
654
|
+
|
|
655
|
+
if (!defined(pickedPosition)) {
|
|
656
|
+
return undefined;
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
if (defined(result.object) && defined(result.object.detail)) {
|
|
660
|
+
pickedModel = result.object.detail.model;
|
|
661
|
+
}
|
|
491
662
|
}
|
|
492
663
|
|
|
493
664
|
const pickedLocation =
|
|
@@ -496,7 +667,7 @@ ImageryLayerCollection.prototype.pickImageryLayerFeatures = function (
|
|
|
496
667
|
const promises = [];
|
|
497
668
|
const imageryLayers = [];
|
|
498
669
|
|
|
499
|
-
|
|
670
|
+
function queuePickFeatures(imagery) {
|
|
500
671
|
if (!imagery.imageryLayer.ready) {
|
|
501
672
|
return undefined;
|
|
502
673
|
}
|
|
@@ -512,11 +683,24 @@ ImageryLayerCollection.prototype.pickImageryLayerFeatures = function (
|
|
|
512
683
|
promises.push(promise);
|
|
513
684
|
imageryLayers.push(imagery.imageryLayer);
|
|
514
685
|
}
|
|
515
|
-
}
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
if (defined(scene.globe)) {
|
|
689
|
+
pickImageryHelper(scene, pickedLocation, true, function (imagery) {
|
|
690
|
+
queuePickFeatures(imagery);
|
|
691
|
+
});
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
if (defined(pickedModel)) {
|
|
695
|
+
pickModelFeatures(pickedModel, pickedLocation, function (imagery) {
|
|
696
|
+
queuePickFeatures(imagery);
|
|
697
|
+
});
|
|
698
|
+
}
|
|
516
699
|
|
|
517
700
|
if (promises.length === 0) {
|
|
518
701
|
return undefined;
|
|
519
702
|
}
|
|
703
|
+
|
|
520
704
|
return Promise.all(promises).then(function (results) {
|
|
521
705
|
const features = [];
|
|
522
706
|
for (let resultIndex = 0; resultIndex < results.length; ++resultIndex) {
|
|
@@ -545,7 +729,7 @@ ImageryLayerCollection.prototype.pickImageryLayerFeatures = function (
|
|
|
545
729
|
/**
|
|
546
730
|
* Updates frame state to execute any queued texture re-projections.
|
|
547
731
|
*
|
|
548
|
-
* @
|
|
732
|
+
* @ignore
|
|
549
733
|
*
|
|
550
734
|
* @param {FrameState} frameState The frameState.
|
|
551
735
|
*/
|
|
@@ -561,7 +745,7 @@ ImageryLayerCollection.prototype.queueReprojectionCommands = function (
|
|
|
561
745
|
/**
|
|
562
746
|
* Cancels re-projection commands queued for the next frame.
|
|
563
747
|
*
|
|
564
|
-
* @
|
|
748
|
+
* @ignore
|
|
565
749
|
*/
|
|
566
750
|
ImageryLayerCollection.prototype.cancelReprojections = function () {
|
|
567
751
|
const layers = this._layers;
|
|
@@ -26,17 +26,13 @@ import IonImageryProviderFactory from "./IonImageryProviderFactory.js";
|
|
|
26
26
|
* @alias IonImageryProvider
|
|
27
27
|
* @constructor
|
|
28
28
|
*
|
|
29
|
-
* @param {IonImageryProvider.ConstructorOptions} [options] Object describing initialization options
|
|
30
|
-
*
|
|
31
29
|
* @example
|
|
32
30
|
* const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
|
|
33
31
|
* viewer.imageryLayers.add(imageryLayer);
|
|
34
32
|
*
|
|
35
33
|
* @see IonImageryProvider.fromAssetId
|
|
36
34
|
*/
|
|
37
|
-
function IonImageryProvider(
|
|
38
|
-
options = options ?? Frozen.EMPTY_OBJECT;
|
|
39
|
-
|
|
35
|
+
function IonImageryProvider() {
|
|
40
36
|
this._defaultAlpha = undefined;
|
|
41
37
|
this._defaultNightAlpha = undefined;
|
|
42
38
|
this._defaultDayAlpha = undefined;
|
package/Source/Scene/Label.js
CHANGED
|
@@ -1282,10 +1282,10 @@ Label.getScreenSpaceBoundingBox = function (
|
|
|
1282
1282
|
screenSpacePosition,
|
|
1283
1283
|
result,
|
|
1284
1284
|
) {
|
|
1285
|
-
let x
|
|
1286
|
-
let y
|
|
1287
|
-
let width
|
|
1288
|
-
let height
|
|
1285
|
+
let x;
|
|
1286
|
+
let y;
|
|
1287
|
+
let width;
|
|
1288
|
+
let height;
|
|
1289
1289
|
const scale = label.totalScale;
|
|
1290
1290
|
|
|
1291
1291
|
const backgroundBillboard = label._backgroundBillboard;
|
|
@@ -335,7 +335,7 @@ function updateBackgroundBillboard(
|
|
|
335
335
|
// Label is shown and background is hidden - remove the background billboard
|
|
336
336
|
if (label.show && !showBackground) {
|
|
337
337
|
backgroundBillboardCollection.remove(backgroundBillboard);
|
|
338
|
-
label._backgroundBillboard =
|
|
338
|
+
label._backgroundBillboard = undefined;
|
|
339
339
|
return;
|
|
340
340
|
}
|
|
341
341
|
|
|
@@ -23,6 +23,7 @@ import defined from "../Core/defined.js";
|
|
|
23
23
|
* This object is normally not instantiated directly, use {@link MVTDataProvider.fromUrl}.
|
|
24
24
|
* </div>
|
|
25
25
|
*
|
|
26
|
+
* @extends UrlTemplate3DTilesDataProvider
|
|
26
27
|
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
27
28
|
*/
|
|
28
29
|
class MVTDataProvider extends UrlTemplate3DTilesDataProvider {
|
|
@@ -35,6 +36,7 @@ class MVTDataProvider extends UrlTemplate3DTilesDataProvider {
|
|
|
35
36
|
* @param {number} [options.maxZoom=14] Maximum zoom level represented in the generated tileset.
|
|
36
37
|
* @param {Rectangle} [options.extent] Optional geographic extent in radians to constrain the generated tile tree.
|
|
37
38
|
* @param {string} [options.featureIdProperty] MVT property name to use as feature ID.
|
|
39
|
+
* @returns {Promise<MVTDataProvider>}
|
|
38
40
|
*/
|
|
39
41
|
static async fromUrl(url, options) {
|
|
40
42
|
return /** @type {Promise<MVTDataProvider>} */ (
|
package/Source/Scene/Material.js
CHANGED
|
@@ -1099,6 +1099,7 @@ function createCubeMapUpdateFunction(uniformId) {
|
|
|
1099
1099
|
* @param {Material} material The material to load the cubemap images for.
|
|
1100
1100
|
* @param {string} uniformId The ID of the uniform that corresponds to the cubemap images.
|
|
1101
1101
|
* @returns A promise that resolves when the images are loaded, or a resolved promise if image loading is not necessary.
|
|
1102
|
+
* @ignore
|
|
1102
1103
|
*/
|
|
1103
1104
|
function loadCubeMapImagesForUniform(material, uniformId) {
|
|
1104
1105
|
const uniforms = material.uniforms;
|
|
@@ -163,7 +163,6 @@ class B3dmLoader extends ResourceLoader {
|
|
|
163
163
|
|
|
164
164
|
const b3dm = B3dmParser.parse(this._arrayBuffer, this._byteOffset);
|
|
165
165
|
|
|
166
|
-
let batchLength = b3dm.batchLength;
|
|
167
166
|
const featureTableJson = b3dm.featureTableJson;
|
|
168
167
|
const featureTableBinary = b3dm.featureTableBinary;
|
|
169
168
|
const batchTableJson = b3dm.batchTableJson;
|
|
@@ -173,7 +172,7 @@ class B3dmLoader extends ResourceLoader {
|
|
|
173
172
|
featureTableJson,
|
|
174
173
|
featureTableBinary,
|
|
175
174
|
);
|
|
176
|
-
batchLength = featureTable.getGlobalProperty("BATCH_LENGTH");
|
|
175
|
+
const batchLength = featureTable.getGlobalProperty("BATCH_LENGTH");
|
|
177
176
|
// Set batch length.
|
|
178
177
|
this._batchLength = batchLength;
|
|
179
178
|
// Set the RTC Center transform, if present.
|