deeptwins-cesium-engine 0.0.3
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 +640 -0
- package/Build/Workers/chunk-2363JE27.js +163 -0
- package/Build/Workers/chunk-23T2IPHV.js +55 -0
- package/Build/Workers/chunk-27SAH2Q2.js +55 -0
- package/Build/Workers/chunk-2AM4E2WD.js +101 -0
- package/Build/Workers/chunk-2H4D4HBM.js +101 -0
- package/Build/Workers/chunk-2KBLMCYQ.js +198 -0
- package/Build/Workers/chunk-2MWF4IES.js +398 -0
- package/Build/Workers/chunk-2O7PRNCW.js +288 -0
- package/Build/Workers/chunk-2RCIRXNI.js +75 -0
- package/Build/Workers/chunk-3JIEAYRM.js +940 -0
- package/Build/Workers/chunk-3VNQVXD6.js +837 -0
- package/Build/Workers/chunk-3XR54LVR.js +75 -0
- package/Build/Workers/chunk-3YTMGEXW.js +1443 -0
- package/Build/Workers/chunk-3ZP3VA4L.js +171 -0
- package/Build/Workers/chunk-4AKOLNCZ.js +139 -0
- package/Build/Workers/chunk-4BHWJWS3.js +171 -0
- package/Build/Workers/chunk-4QSCEADX.js +1800 -0
- package/Build/Workers/chunk-4ZKQXB7T.js +1460 -0
- package/Build/Workers/chunk-4ZX6BO6C.js +476 -0
- package/Build/Workers/chunk-55NHNEI7.js +163 -0
- package/Build/Workers/chunk-5F3SUA6W.js +8366 -0
- package/Build/Workers/chunk-5FBLADWD.js +692 -0
- package/Build/Workers/chunk-5H7FXJTE.js +2719 -0
- package/Build/Workers/chunk-5JKH4AMT.js +58 -0
- package/Build/Workers/chunk-5MTUN2SE.js +642 -0
- package/Build/Workers/chunk-5PWCXSID.js +256 -0
- package/Build/Workers/chunk-5RL7XAZS.js +256 -0
- package/Build/Workers/chunk-5TZVQOFD.js +305 -0
- package/Build/Workers/chunk-67FTKXPJ.js +352 -0
- package/Build/Workers/chunk-6AIBN5NQ.js +1054 -0
- package/Build/Workers/chunk-6D6BOTSA.js +414 -0
- package/Build/Workers/chunk-6FGAWC5J.js +44 -0
- package/Build/Workers/chunk-6HKAPCSO.js +280 -0
- package/Build/Workers/chunk-6UJDVUJ4.js +8366 -0
- package/Build/Workers/chunk-73Q77JO7.js +138 -0
- package/Build/Workers/chunk-7A6QUBKY.js +58 -0
- package/Build/Workers/chunk-7APZZMCL.js +73 -0
- package/Build/Workers/chunk-7BHC3VOI.js +511 -0
- package/Build/Workers/chunk-7GQHESFY.js +368 -0
- package/Build/Workers/chunk-7MVC3OLP.js +58 -0
- package/Build/Workers/chunk-7UNMLR74.js +1800 -0
- package/Build/Workers/chunk-A2QTGP5S.js +55 -0
- package/Build/Workers/chunk-A3FZIBXG.js +55 -0
- package/Build/Workers/chunk-A53R2F2L.js +305 -0
- package/Build/Workers/chunk-A6LIUE7X.js +692 -0
- package/Build/Workers/chunk-A6YFUGJO.js +139 -0
- package/Build/Workers/chunk-AJYWXC6I.js +97 -0
- package/Build/Workers/chunk-ALTIGQTT.js +288 -0
- package/Build/Workers/chunk-AOIO5VUS.js +8366 -0
- package/Build/Workers/chunk-AT2CG6PG.js +3514 -0
- package/Build/Workers/chunk-ATX74V7S.js +55 -0
- package/Build/Workers/chunk-AZPXT6RB.js +1067 -0
- package/Build/Workers/chunk-B7JRBTT6.js +682 -0
- package/Build/Workers/chunk-BALMTCKJ.js +138 -0
- package/Build/Workers/chunk-BBYRID6W.js +352 -0
- package/Build/Workers/chunk-BDX4AYXL.js +162 -0
- package/Build/Workers/chunk-BG2DK4Q5.js +101 -0
- package/Build/Workers/chunk-BSNC3NBZ.js +139 -0
- package/Build/Workers/chunk-BZLYQCIC.js +958 -0
- package/Build/Workers/chunk-C4NX77B5.js +57 -0
- package/Build/Workers/chunk-CHNDJRYA.js +1054 -0
- package/Build/Workers/chunk-CJOV55CW.js +1067 -0
- package/Build/Workers/chunk-COGPE5Z2.js +241 -0
- package/Build/Workers/chunk-CRCK5VX6.js +497 -0
- package/Build/Workers/chunk-CTLQNSVP.js +455 -0
- package/Build/Workers/chunk-CW7W27IZ.js +299 -0
- package/Build/Workers/chunk-DICY26ID.js +2719 -0
- package/Build/Workers/chunk-DLAVWLZW.js +682 -0
- package/Build/Workers/chunk-DMEFNTUV.js +1317 -0
- package/Build/Workers/chunk-DQSJEOZY.js +55 -0
- package/Build/Workers/chunk-F6UXXCPK.js +3514 -0
- package/Build/Workers/chunk-FKIR6F3B.js +97 -0
- package/Build/Workers/chunk-FRBZJJVU.js +2719 -0
- package/Build/Workers/chunk-FRLH26PM.js +940 -0
- package/Build/Workers/chunk-FT6HYEKU.js +3514 -0
- package/Build/Workers/chunk-FYDCQ2VN.js +73 -0
- package/Build/Workers/chunk-G5OKIL5P.js +55 -0
- package/Build/Workers/chunk-G6VHLVWG.js +101 -0
- package/Build/Workers/chunk-GBGV4U6Z.js +219 -0
- package/Build/Workers/chunk-GDU4RZSZ.js +940 -0
- package/Build/Workers/chunk-GJRVCSXV.js +37 -0
- package/Build/Workers/chunk-GKWOUMYA.js +37 -0
- package/Build/Workers/chunk-GNDFFW5Z.js +1443 -0
- package/Build/Workers/chunk-GNQ5BH75.js +352 -0
- package/Build/Workers/chunk-GNQUZV4R.js +171 -0
- package/Build/Workers/chunk-GOCJHCLA.js +352 -0
- package/Build/Workers/chunk-GTY4K4IA.js +219 -0
- package/Build/Workers/chunk-GXBTJBHN.js +102 -0
- package/Build/Workers/chunk-H6Q7E4BQ.js +114 -0
- package/Build/Workers/chunk-HEGESGGY.js +219 -0
- package/Build/Workers/chunk-HG3HIMYL.js +241 -0
- package/Build/Workers/chunk-HGEYVFMI.js +1800 -0
- package/Build/Workers/chunk-HHGOFZVQ.js +124 -0
- package/Build/Workers/chunk-HXEVICMT.js +37 -0
- package/Build/Workers/chunk-HXKUEOOD.js +352 -0
- package/Build/Workers/chunk-I4REFVXB.js +256 -0
- package/Build/Workers/chunk-IL5F6WEE.js +497 -0
- package/Build/Workers/chunk-IOODZNYE.js +629 -0
- package/Build/Workers/chunk-IVLDVV5R.js +788 -0
- package/Build/Workers/chunk-IWP4XCPO.js +778 -0
- package/Build/Workers/chunk-JBTUZNI2.js +398 -0
- package/Build/Workers/chunk-JMSXZ6AI.js +414 -0
- package/Build/Workers/chunk-JTGVXCP2.js +2058 -0
- package/Build/Workers/chunk-JUK2ZSWT.js +198 -0
- package/Build/Workers/chunk-K6HQ5W6R.js +171 -0
- package/Build/Workers/chunk-KC3G7WHZ.js +57 -0
- package/Build/Workers/chunk-KGPKBCGY.js +97 -0
- package/Build/Workers/chunk-KKGD7HAW.js +414 -0
- package/Build/Workers/chunk-KQSN3QZM.js +368 -0
- package/Build/Workers/chunk-KROSQJUA.js +44 -0
- package/Build/Workers/chunk-L4JLDVCM.js +57 -0
- package/Build/Workers/chunk-LAOFDSKL.js +642 -0
- package/Build/Workers/chunk-LIYMRHGR.js +387 -0
- package/Build/Workers/chunk-LKCCQ3AW.js +198 -0
- package/Build/Workers/chunk-LLQFSX7U.js +139 -0
- package/Build/Workers/chunk-LSDXP6EX.js +75 -0
- package/Build/Workers/chunk-LTYK7VYQ.js +138 -0
- package/Build/Workers/chunk-LYMP3LWI.js +387 -0
- package/Build/Workers/chunk-M2WCZSU6.js +241 -0
- package/Build/Workers/chunk-M35VLUHY.js +352 -0
- package/Build/Workers/chunk-MAPGTIYK.js +2058 -0
- package/Build/Workers/chunk-MG6SYM3V.js +455 -0
- package/Build/Workers/chunk-MKMZHRB3.js +788 -0
- package/Build/Workers/chunk-MNR7L6SQ.js +1483 -0
- package/Build/Workers/chunk-MO25ZQ2I.js +958 -0
- package/Build/Workers/chunk-MOCL5YUJ.js +8366 -0
- package/Build/Workers/chunk-MRYY6ETH.js +280 -0
- package/Build/Workers/chunk-NAIA5L2S.js +682 -0
- package/Build/Workers/chunk-NMDV3OGH.js +958 -0
- package/Build/Workers/chunk-NYE77VTA.js +1054 -0
- package/Build/Workers/chunk-O6RZEKHZ.js +778 -0
- package/Build/Workers/chunk-OFOJ5HD6.js +1460 -0
- package/Build/Workers/chunk-OJNNQSZI.js +788 -0
- package/Build/Workers/chunk-OJXQBSG4.js +692 -0
- package/Build/Workers/chunk-OOCGX2OD.js +102 -0
- package/Build/Workers/chunk-OOY3DP7Z.js +788 -0
- package/Build/Workers/chunk-OSDDHXLU.js +1483 -0
- package/Build/Workers/chunk-OVZNLF46.js +241 -0
- package/Build/Workers/chunk-OXFU5HNU.js +162 -0
- package/Build/Workers/chunk-P5CGIJUY.js +73 -0
- package/Build/Workers/chunk-POLLOX2O.js +352 -0
- package/Build/Workers/chunk-POUR54ZW.js +37 -0
- package/Build/Workers/chunk-PR6F33M6.js +682 -0
- package/Build/Workers/chunk-Q6GCDF2J.js +44 -0
- package/Build/Workers/chunk-Q7HIBRGE.js +97 -0
- package/Build/Workers/chunk-QCJPQ5CQ.js +57 -0
- package/Build/Workers/chunk-QDKQNKG3.js +256 -0
- package/Build/Workers/chunk-QDTDTLQY.js +1067 -0
- package/Build/Workers/chunk-QEANVUGT.js +163 -0
- package/Build/Workers/chunk-QFBCIX7J.js +455 -0
- package/Build/Workers/chunk-QIKGPNLN.js +299 -0
- package/Build/Workers/chunk-QTKDUHWH.js +497 -0
- package/Build/Workers/chunk-QUAH3XOT.js +138 -0
- package/Build/Workers/chunk-R4MI537H.js +1443 -0
- package/Build/Workers/chunk-R5GL5C3T.js +1483 -0
- package/Build/Workers/chunk-RBAGNNPN.js +219 -0
- package/Build/Workers/chunk-RH6GMTSG.js +497 -0
- package/Build/Workers/chunk-RHJJWKSH.js +73 -0
- package/Build/Workers/chunk-RHV6AHJW.js +305 -0
- package/Build/Workers/chunk-RUZPDKUX.js +114 -0
- package/Build/Workers/chunk-RXZDTDIY.js +439 -0
- package/Build/Workers/chunk-SCSEVBY4.js +102 -0
- package/Build/Workers/chunk-SKMYTWWS.js +299 -0
- package/Build/Workers/chunk-SKVAQOZZ.js +1443 -0
- package/Build/Workers/chunk-SPA2KPH3.js +368 -0
- package/Build/Workers/chunk-STDNU6SV.js +1460 -0
- package/Build/Workers/chunk-SXOBEELD.js +55 -0
- package/Build/Workers/chunk-SYDXDJY5.js +2058 -0
- package/Build/Workers/chunk-SZ4ALZDU.js +305 -0
- package/Build/Workers/chunk-T2AGEECA.js +387 -0
- package/Build/Workers/chunk-T5ZG4SFF.js +1067 -0
- package/Build/Workers/chunk-TDSVSW5A.js +1460 -0
- package/Build/Workers/chunk-TJF36YYN.js +837 -0
- package/Build/Workers/chunk-TNZHNGKK.js +439 -0
- package/Build/Workers/chunk-TTWIV2BN.js +102 -0
- package/Build/Workers/chunk-TX3TQPIA.js +44 -0
- package/Build/Workers/chunk-TYPTCQPI.js +1317 -0
- package/Build/Workers/chunk-TZA4ZWFC.js +75 -0
- package/Build/Workers/chunk-UFDTAQBE.js +476 -0
- package/Build/Workers/chunk-UG2DPFOL.js +352 -0
- package/Build/Workers/chunk-UG3AH5C3.js +629 -0
- package/Build/Workers/chunk-UPPGWBJU.js +511 -0
- package/Build/Workers/chunk-URGEDZBS.js +476 -0
- package/Build/Workers/chunk-V35NQOJC.js +642 -0
- package/Build/Workers/chunk-VDNDTTCD.js +958 -0
- package/Build/Workers/chunk-VQIKTYAO.js +368 -0
- package/Build/Workers/chunk-VRXHACYU.js +476 -0
- package/Build/Workers/chunk-VTYZVS6I.js +455 -0
- package/Build/Workers/chunk-VVNCCJGH.js +398 -0
- package/Build/Workers/chunk-W4V3BNFU.js +114 -0
- package/Build/Workers/chunk-W4XUEDU5.js +2058 -0
- package/Build/Workers/chunk-W7UYJE5O.js +2719 -0
- package/Build/Workers/chunk-WB4TSSBQ.js +3514 -0
- package/Build/Workers/chunk-WGZVYW2C.js +124 -0
- package/Build/Workers/chunk-WNFIOIKE.js +414 -0
- package/Build/Workers/chunk-WNHOCO2K.js +280 -0
- package/Build/Workers/chunk-WQG2W2WD.js +837 -0
- package/Build/Workers/chunk-WTLYD4FE.js +1483 -0
- package/Build/Workers/chunk-WV2G6UNC.js +940 -0
- package/Build/Workers/chunk-WVC3OW5V.js +629 -0
- package/Build/Workers/chunk-WWQFFOV6.js +299 -0
- package/Build/Workers/chunk-XD7QHRAY.js +288 -0
- package/Build/Workers/chunk-XH6GW5M4.js +58 -0
- package/Build/Workers/chunk-XIX2VR7Z.js +778 -0
- package/Build/Workers/chunk-XJYSONL4.js +1054 -0
- package/Build/Workers/chunk-XP6ASNFM.js +1317 -0
- package/Build/Workers/chunk-XRDMBCX3.js +439 -0
- package/Build/Workers/chunk-XUA6BCV5.js +642 -0
- package/Build/Workers/chunk-XVBMYEYQ.js +124 -0
- package/Build/Workers/chunk-XWOAVRWZ.js +124 -0
- package/Build/Workers/chunk-Y4ALZ4SS.js +198 -0
- package/Build/Workers/chunk-Y4GOZA56.js +163 -0
- package/Build/Workers/chunk-YF2NVO5B.js +837 -0
- package/Build/Workers/chunk-YGVXG7IR.js +114 -0
- package/Build/Workers/chunk-YI7RTZGC.js +280 -0
- package/Build/Workers/chunk-YM4UTBTX.js +1800 -0
- package/Build/Workers/chunk-YP5ZF2MJ.js +162 -0
- package/Build/Workers/chunk-YSSL4KKM.js +387 -0
- package/Build/Workers/chunk-YSYSXSHF.js +629 -0
- package/Build/Workers/chunk-YX562XOB.js +692 -0
- package/Build/Workers/chunk-YZWA5B4R.js +511 -0
- package/Build/Workers/chunk-Z6DFT4D3.js +288 -0
- package/Build/Workers/chunk-Z6PVZUIE.js +398 -0
- package/Build/Workers/chunk-ZAI6LCSI.js +511 -0
- package/Build/Workers/chunk-ZBIINVUF.js +778 -0
- package/Build/Workers/chunk-ZG3TBDRX.js +1317 -0
- package/Build/Workers/chunk-ZGXHZJ75.js +439 -0
- package/Build/Workers/chunk-ZWDOE2JF.js +162 -0
- package/Build/Workers/combineGeometry.js +66 -0
- package/Build/Workers/createBoxGeometry.js +58 -0
- package/Build/Workers/createBoxOutlineGeometry.js +231 -0
- package/Build/Workers/createCircleGeometry.js +201 -0
- package/Build/Workers/createCircleOutlineGeometry.js +147 -0
- package/Build/Workers/createCoplanarPolygonGeometry.js +505 -0
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +225 -0
- package/Build/Workers/createCorridorGeometry.js +1258 -0
- package/Build/Workers/createCorridorOutlineGeometry.js +563 -0
- package/Build/Workers/createCylinderGeometry.js +60 -0
- package/Build/Workers/createCylinderOutlineGeometry.js +231 -0
- package/Build/Workers/createEllipseGeometry.js +72 -0
- package/Build/Workers/createEllipseOutlineGeometry.js +65 -0
- package/Build/Workers/createEllipsoidGeometry.js +59 -0
- package/Build/Workers/createEllipsoidOutlineGeometry.js +61 -0
- package/Build/Workers/createFrustumGeometry.js +58 -0
- package/Build/Workers/createFrustumOutlineGeometry.js +234 -0
- package/Build/Workers/createGeometry.js +173 -0
- package/Build/Workers/createGroundPolylineGeometry.js +1602 -0
- package/Build/Workers/createPlaneGeometry.js +223 -0
- package/Build/Workers/createPlaneOutlineGeometry.js +124 -0
- package/Build/Workers/createPolygonGeometry.js +1404 -0
- package/Build/Workers/createPolygonOutlineGeometry.js +532 -0
- package/Build/Workers/createPolylineGeometry.js +491 -0
- package/Build/Workers/createPolylineVolumeGeometry.js +374 -0
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +272 -0
- package/Build/Workers/createRectangleGeometry.js +1264 -0
- package/Build/Workers/createRectangleOutlineGeometry.js +476 -0
- package/Build/Workers/createSimplePolylineGeometry.js +397 -0
- package/Build/Workers/createSphereGeometry.js +116 -0
- package/Build/Workers/createSphereOutlineGeometry.js +116 -0
- package/Build/Workers/createTaskProcessorWorker.js +32 -0
- package/Build/Workers/createVectorTileClampedPolylines.js +492 -0
- package/Build/Workers/createVectorTileGeometries.js +387 -0
- package/Build/Workers/createVectorTilePoints.js +114 -0
- package/Build/Workers/createVectorTilePolygons.js +386 -0
- package/Build/Workers/createVectorTilePolylines.js +262 -0
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +91 -0
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +565 -0
- package/Build/Workers/createVerticesFromHeightmap.js +2254 -0
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +499 -0
- package/Build/Workers/createWallGeometry.js +487 -0
- package/Build/Workers/createWallOutlineGeometry.js +335 -0
- package/Build/Workers/decodeDraco.js +369 -0
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +2666 -0
- package/Build/Workers/decodeI3S.js +1339 -0
- package/Build/Workers/gaussianSplatSorter.js +62 -0
- package/Build/Workers/gaussianSplatTextureGenerator.js +68 -0
- package/Build/Workers/incrementallyBuildTerrainPicker.js +121 -0
- package/Build/Workers/transcodeKTX2.js +3463 -0
- package/Build/Workers/transferTypedArrayTest.js +41 -0
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +820 -0
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +95 -0
- package/LICENSE.md +928 -0
- package/README.md +3 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
- package/Source/Assets/Images/bing_maps_credit.png +0 -0
- package/Source/Assets/Images/cesium_credit.png +0 -0
- package/Source/Assets/Images/google_earth_credit.png +0 -0
- package/Source/Assets/Images/ion-credit.png +0 -0
- package/Source/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
- package/Source/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/tilemapresource.xml +14 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- package/Source/Assets/Textures/maki/airfield.png +0 -0
- package/Source/Assets/Textures/maki/airport.png +0 -0
- package/Source/Assets/Textures/maki/alcohol-shop.png +0 -0
- package/Source/Assets/Textures/maki/america-football.png +0 -0
- package/Source/Assets/Textures/maki/art-gallery.png +0 -0
- package/Source/Assets/Textures/maki/bakery.png +0 -0
- package/Source/Assets/Textures/maki/bank.png +0 -0
- package/Source/Assets/Textures/maki/bar.png +0 -0
- package/Source/Assets/Textures/maki/baseball.png +0 -0
- package/Source/Assets/Textures/maki/basketball.png +0 -0
- package/Source/Assets/Textures/maki/beer.png +0 -0
- package/Source/Assets/Textures/maki/bicycle.png +0 -0
- package/Source/Assets/Textures/maki/building.png +0 -0
- package/Source/Assets/Textures/maki/bus.png +0 -0
- package/Source/Assets/Textures/maki/cafe.png +0 -0
- package/Source/Assets/Textures/maki/camera.png +0 -0
- package/Source/Assets/Textures/maki/campsite.png +0 -0
- package/Source/Assets/Textures/maki/car.png +0 -0
- package/Source/Assets/Textures/maki/cemetery.png +0 -0
- package/Source/Assets/Textures/maki/cesium.png +0 -0
- package/Source/Assets/Textures/maki/chemist.png +0 -0
- package/Source/Assets/Textures/maki/cinema.png +0 -0
- package/Source/Assets/Textures/maki/circle-stroked.png +0 -0
- package/Source/Assets/Textures/maki/circle.png +0 -0
- package/Source/Assets/Textures/maki/city.png +0 -0
- package/Source/Assets/Textures/maki/clothing-store.png +0 -0
- package/Source/Assets/Textures/maki/college.png +0 -0
- package/Source/Assets/Textures/maki/commercial.png +0 -0
- package/Source/Assets/Textures/maki/cricket.png +0 -0
- package/Source/Assets/Textures/maki/cross.png +0 -0
- package/Source/Assets/Textures/maki/dam.png +0 -0
- package/Source/Assets/Textures/maki/danger.png +0 -0
- package/Source/Assets/Textures/maki/disability.png +0 -0
- package/Source/Assets/Textures/maki/dog-park.png +0 -0
- package/Source/Assets/Textures/maki/embassy.png +0 -0
- package/Source/Assets/Textures/maki/emergency-telephone.png +0 -0
- package/Source/Assets/Textures/maki/entrance.png +0 -0
- package/Source/Assets/Textures/maki/farm.png +0 -0
- package/Source/Assets/Textures/maki/fast-food.png +0 -0
- package/Source/Assets/Textures/maki/ferry.png +0 -0
- package/Source/Assets/Textures/maki/fire-station.png +0 -0
- package/Source/Assets/Textures/maki/fuel.png +0 -0
- package/Source/Assets/Textures/maki/garden.png +0 -0
- package/Source/Assets/Textures/maki/gift.png +0 -0
- package/Source/Assets/Textures/maki/golf.png +0 -0
- package/Source/Assets/Textures/maki/grocery.png +0 -0
- package/Source/Assets/Textures/maki/hairdresser.png +0 -0
- package/Source/Assets/Textures/maki/harbor.png +0 -0
- package/Source/Assets/Textures/maki/heart.png +0 -0
- package/Source/Assets/Textures/maki/heliport.png +0 -0
- package/Source/Assets/Textures/maki/hospital.png +0 -0
- package/Source/Assets/Textures/maki/ice-cream.png +0 -0
- package/Source/Assets/Textures/maki/industrial.png +0 -0
- package/Source/Assets/Textures/maki/land-use.png +0 -0
- package/Source/Assets/Textures/maki/laundry.png +0 -0
- package/Source/Assets/Textures/maki/library.png +0 -0
- package/Source/Assets/Textures/maki/lighthouse.png +0 -0
- package/Source/Assets/Textures/maki/lodging.png +0 -0
- package/Source/Assets/Textures/maki/logging.png +0 -0
- package/Source/Assets/Textures/maki/london-underground.png +0 -0
- package/Source/Assets/Textures/maki/marker-stroked.png +0 -0
- package/Source/Assets/Textures/maki/marker.png +0 -0
- package/Source/Assets/Textures/maki/minefield.png +0 -0
- package/Source/Assets/Textures/maki/mobilephone.png +0 -0
- package/Source/Assets/Textures/maki/monument.png +0 -0
- package/Source/Assets/Textures/maki/museum.png +0 -0
- package/Source/Assets/Textures/maki/music.png +0 -0
- package/Source/Assets/Textures/maki/oil-well.png +0 -0
- package/Source/Assets/Textures/maki/park.png +0 -0
- package/Source/Assets/Textures/maki/park2.png +0 -0
- package/Source/Assets/Textures/maki/parking-garage.png +0 -0
- package/Source/Assets/Textures/maki/parking.png +0 -0
- package/Source/Assets/Textures/maki/pharmacy.png +0 -0
- package/Source/Assets/Textures/maki/pitch.png +0 -0
- package/Source/Assets/Textures/maki/place-of-worship.png +0 -0
- package/Source/Assets/Textures/maki/playground.png +0 -0
- package/Source/Assets/Textures/maki/police.png +0 -0
- package/Source/Assets/Textures/maki/polling-place.png +0 -0
- package/Source/Assets/Textures/maki/post.png +0 -0
- package/Source/Assets/Textures/maki/prison.png +0 -0
- package/Source/Assets/Textures/maki/rail-above.png +0 -0
- package/Source/Assets/Textures/maki/rail-light.png +0 -0
- package/Source/Assets/Textures/maki/rail-metro.png +0 -0
- package/Source/Assets/Textures/maki/rail-underground.png +0 -0
- package/Source/Assets/Textures/maki/rail.png +0 -0
- package/Source/Assets/Textures/maki/religious-christian.png +0 -0
- package/Source/Assets/Textures/maki/religious-jewish.png +0 -0
- package/Source/Assets/Textures/maki/religious-muslim.png +0 -0
- package/Source/Assets/Textures/maki/restaurant.png +0 -0
- package/Source/Assets/Textures/maki/roadblock.png +0 -0
- package/Source/Assets/Textures/maki/rocket.png +0 -0
- package/Source/Assets/Textures/maki/school.png +0 -0
- package/Source/Assets/Textures/maki/scooter.png +0 -0
- package/Source/Assets/Textures/maki/shop.png +0 -0
- package/Source/Assets/Textures/maki/skiing.png +0 -0
- package/Source/Assets/Textures/maki/slaughterhouse.png +0 -0
- package/Source/Assets/Textures/maki/soccer.png +0 -0
- package/Source/Assets/Textures/maki/square-stroked.png +0 -0
- package/Source/Assets/Textures/maki/square.png +0 -0
- package/Source/Assets/Textures/maki/star-stroked.png +0 -0
- package/Source/Assets/Textures/maki/star.png +0 -0
- package/Source/Assets/Textures/maki/suitcase.png +0 -0
- package/Source/Assets/Textures/maki/swimming.png +0 -0
- package/Source/Assets/Textures/maki/telephone.png +0 -0
- package/Source/Assets/Textures/maki/tennis.png +0 -0
- package/Source/Assets/Textures/maki/theatre.png +0 -0
- package/Source/Assets/Textures/maki/toilets.png +0 -0
- package/Source/Assets/Textures/maki/town-hall.png +0 -0
- package/Source/Assets/Textures/maki/town.png +0 -0
- package/Source/Assets/Textures/maki/triangle-stroked.png +0 -0
- package/Source/Assets/Textures/maki/triangle.png +0 -0
- package/Source/Assets/Textures/maki/village.png +0 -0
- package/Source/Assets/Textures/maki/warehouse.png +0 -0
- package/Source/Assets/Textures/maki/waste-basket.png +0 -0
- package/Source/Assets/Textures/maki/water.png +0 -0
- package/Source/Assets/Textures/maki/wetland.png +0 -0
- package/Source/Assets/Textures/maki/zoo.png +0 -0
- package/Source/Assets/Textures/moonSmall.jpg +0 -0
- package/Source/Assets/Textures/pin.svg +1 -0
- package/Source/Assets/Textures/waterNormals.jpg +0 -0
- package/Source/Assets/Textures/waterNormalsSmall.jpg +0 -0
- package/Source/Assets/approximateTerrainHeights.json +1 -0
- package/Source/Core/ApproximateTerrainHeights.js +255 -0
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +755 -0
- package/Source/Core/ArcType.js +31 -0
- package/Source/Core/ArticulationStageType.js +23 -0
- package/Source/Core/AssociativeArray.js +127 -0
- package/Source/Core/AttributeCompression.js +527 -0
- package/Source/Core/AxisAlignedBoundingBox.js +294 -0
- package/Source/Core/BingMapsGeocoderService.js +127 -0
- package/Source/Core/BoundingRectangle.js +374 -0
- package/Source/Core/BoundingSphere.js +1506 -0
- package/Source/Core/BoxGeometry.js +893 -0
- package/Source/Core/BoxOutlineGeometry.js +312 -0
- package/Source/Core/Cartesian2.js +823 -0
- package/Source/Core/Cartesian3.js +1220 -0
- package/Source/Core/Cartesian4.js +979 -0
- package/Source/Core/Cartographic.js +304 -0
- package/Source/Core/CartographicGeocoderService.js +73 -0
- package/Source/Core/CatmullRomSpline.js +324 -0
- package/Source/Core/Cesium3DTilesTerrainData.js +932 -0
- package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +1868 -0
- package/Source/Core/Cesium3DTilesTerrainProvider.js +1052 -0
- package/Source/Core/CesiumTerrainProvider.js +1408 -0
- package/Source/Core/Check.d.ts +131 -0
- package/Source/Core/Check.js +212 -0
- package/Source/Core/CircleGeometry.js +207 -0
- package/Source/Core/CircleOutlineGeometry.js +149 -0
- package/Source/Core/Clock.js +316 -0
- package/Source/Core/ClockRange.js +39 -0
- package/Source/Core/ClockStep.js +38 -0
- package/Source/Core/Color.js +2283 -0
- package/Source/Core/ColorGeometryInstanceAttribute.js +181 -0
- package/Source/Core/ComponentDatatype.js +338 -0
- package/Source/Core/CompressedTextureBuffer.js +125 -0
- package/Source/Core/ConstantSpline.js +119 -0
- package/Source/Core/CoplanarPolygonGeometry.js +600 -0
- package/Source/Core/CoplanarPolygonGeometryLibrary.js +132 -0
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +237 -0
- package/Source/Core/CornerType.js +37 -0
- package/Source/Core/CorridorGeometry.js +1411 -0
- package/Source/Core/CorridorGeometryLibrary.js +501 -0
- package/Source/Core/CorridorOutlineGeometry.js +599 -0
- package/Source/Core/Credit.js +172 -0
- package/Source/Core/CubicRealPolynomial.js +238 -0
- package/Source/Core/CullingVolume.js +216 -0
- package/Source/Core/CustomHeightmapTerrainProvider.js +287 -0
- package/Source/Core/CylinderGeometry.js +479 -0
- package/Source/Core/CylinderGeometryLibrary.js +59 -0
- package/Source/Core/CylinderOutlineGeometry.js +269 -0
- package/Source/Core/DefaultProxy.js +26 -0
- package/Source/Core/DeveloperError.js +75 -0
- package/Source/Core/DistanceDisplayCondition.js +171 -0
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +179 -0
- package/Source/Core/DoubleEndedPriorityQueue.js +405 -0
- package/Source/Core/DoublyLinkedList.js +112 -0
- package/Source/Core/EarthOrientationParameters.js +431 -0
- package/Source/Core/EarthOrientationParametersSample.js +52 -0
- package/Source/Core/EasingFunction.js +257 -0
- package/Source/Core/EllipseGeometry.js +1318 -0
- package/Source/Core/EllipseGeometryLibrary.js +365 -0
- package/Source/Core/EllipseOutlineGeometry.js +451 -0
- package/Source/Core/Ellipsoid.js +889 -0
- package/Source/Core/EllipsoidGeodesic.js +523 -0
- package/Source/Core/EllipsoidGeometry.js +650 -0
- package/Source/Core/EllipsoidOutlineGeometry.js +464 -0
- package/Source/Core/EllipsoidRhumbLine.js +751 -0
- package/Source/Core/EllipsoidTangentPlane.js +382 -0
- package/Source/Core/EllipsoidTerrainProvider.js +201 -0
- package/Source/Core/EllipsoidalOccluder.js +538 -0
- package/Source/Core/EncodedCartesian3.js +170 -0
- package/Source/Core/Event.js +205 -0
- package/Source/Core/EventHelper.js +74 -0
- package/Source/Core/ExtrapolationType.js +34 -0
- package/Source/Core/FeatureDetection.js +435 -0
- package/Source/Core/Frozen.js +24 -0
- package/Source/Core/FrustumGeometry.js +583 -0
- package/Source/Core/FrustumOutlineGeometry.js +253 -0
- package/Source/Core/Fullscreen.js +249 -0
- package/Source/Core/GeocodeType.js +24 -0
- package/Source/Core/GeocoderService.js +60 -0
- package/Source/Core/GeographicProjection.js +105 -0
- package/Source/Core/GeographicTilingScheme.js +245 -0
- package/Source/Core/Geometry.js +371 -0
- package/Source/Core/GeometryAttribute.js +133 -0
- package/Source/Core/GeometryAttributes.js +88 -0
- package/Source/Core/GeometryFactory.js +25 -0
- package/Source/Core/GeometryInstance.js +118 -0
- package/Source/Core/GeometryInstanceAttribute.js +133 -0
- package/Source/Core/GeometryOffsetAttribute.js +10 -0
- package/Source/Core/GeometryPipeline.js +3291 -0
- package/Source/Core/GeometryType.js +10 -0
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +584 -0
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +606 -0
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +574 -0
- package/Source/Core/GoogleEarthEnterpriseTileInformation.js +136 -0
- package/Source/Core/GoogleGeocoderService.js +110 -0
- package/Source/Core/GoogleMaps.js +40 -0
- package/Source/Core/GregorianDate.js +153 -0
- package/Source/Core/GroundPolylineGeometry.js +1659 -0
- package/Source/Core/HeadingPitchRange.js +59 -0
- package/Source/Core/HeadingPitchRoll.js +235 -0
- package/Source/Core/Heap.js +233 -0
- package/Source/Core/HeightmapEncoding.js +25 -0
- package/Source/Core/HeightmapTerrainData.js +903 -0
- package/Source/Core/HeightmapTessellator.js +518 -0
- package/Source/Core/HermitePolynomialApproximation.js +341 -0
- package/Source/Core/HermiteSpline.js +620 -0
- package/Source/Core/HilbertOrder.js +112 -0
- package/Source/Core/ITwinPlatform.js +388 -0
- package/Source/Core/Iau2000Orientation.js +167 -0
- package/Source/Core/Iau2006XysData.js +275 -0
- package/Source/Core/Iau2006XysSample.js +32 -0
- package/Source/Core/IauOrientationAxes.js +105 -0
- package/Source/Core/IauOrientationParameters.js +54 -0
- package/Source/Core/IndexDatatype.js +199 -0
- package/Source/Core/InterpolationAlgorithm.js +65 -0
- package/Source/Core/InterpolationType.js +14 -0
- package/Source/Core/Intersect.js +34 -0
- package/Source/Core/IntersectionTests.js +1087 -0
- package/Source/Core/Intersections2D.js +358 -0
- package/Source/Core/Interval.js +23 -0
- package/Source/Core/Ion.js +56 -0
- package/Source/Core/IonGeocodeProviderType.js +33 -0
- package/Source/Core/IonGeocoderService.js +147 -0
- package/Source/Core/IonResource.js +321 -0
- package/Source/Core/Iso8601.js +54 -0
- package/Source/Core/JulianDate.js +1229 -0
- package/Source/Core/KTX2Transcoder.js +92 -0
- package/Source/Core/KeyboardEventModifier.js +32 -0
- package/Source/Core/LagrangePolynomialApproximation.js +71 -0
- package/Source/Core/LeapSecond.js +24 -0
- package/Source/Core/LinearApproximation.js +83 -0
- package/Source/Core/LinearSpline.js +166 -0
- package/Source/Core/ManagedArray.js +162 -0
- package/Source/Core/MapProjection.js +62 -0
- package/Source/Core/Math.js +1125 -0
- package/Source/Core/Matrix2.js +1092 -0
- package/Source/Core/Matrix3.js +1838 -0
- package/Source/Core/Matrix4.js +3233 -0
- package/Source/Core/MorphWeightSpline.js +161 -0
- package/Source/Core/MortonOrder.js +214 -0
- package/Source/Core/NearFarScalar.js +173 -0
- package/Source/Core/Occluder.js +727 -0
- package/Source/Core/OffsetGeometryInstanceAttribute.js +125 -0
- package/Source/Core/OpenCageGeocoderService.js +134 -0
- package/Source/Core/OrientedBoundingBox.js +1272 -0
- package/Source/Core/OrthographicFrustum.js +351 -0
- package/Source/Core/OrthographicOffCenterFrustum.js +463 -0
- package/Source/Core/Packable.js +40 -0
- package/Source/Core/PackableForInterpolation.js +43 -0
- package/Source/Core/PeliasGeocoderService.js +106 -0
- package/Source/Core/PerspectiveFrustum.js +459 -0
- package/Source/Core/PerspectiveOffCenterFrustum.js +522 -0
- package/Source/Core/PinBuilder.js +234 -0
- package/Source/Core/PixelFormat.js +603 -0
- package/Source/Core/Plane.js +312 -0
- package/Source/Core/PlaneGeometry.js +250 -0
- package/Source/Core/PlaneOutlineGeometry.js +113 -0
- package/Source/Core/PolygonGeometry.js +1580 -0
- package/Source/Core/PolygonGeometryLibrary.js +1301 -0
- package/Source/Core/PolygonHierarchy.js +25 -0
- package/Source/Core/PolygonOutlineGeometry.js +687 -0
- package/Source/Core/PolygonPipeline.js +632 -0
- package/Source/Core/PolylineGeometry.js +573 -0
- package/Source/Core/PolylinePipeline.js +573 -0
- package/Source/Core/PolylineVolumeGeometry.js +412 -0
- package/Source/Core/PolylineVolumeGeometryLibrary.js +701 -0
- package/Source/Core/PolylineVolumeOutlineGeometry.js +294 -0
- package/Source/Core/PrimitiveType.js +107 -0
- package/Source/Core/Proxy.js +24 -0
- package/Source/Core/QuadraticRealPolynomial.js +147 -0
- package/Source/Core/QuantizedMeshTerrainData.js +735 -0
- package/Source/Core/QuarticRealPolynomial.js +342 -0
- package/Source/Core/Quaternion.js +1145 -0
- package/Source/Core/QuaternionSpline.js +155 -0
- package/Source/Core/Queue.js +126 -0
- package/Source/Core/Ray.js +79 -0
- package/Source/Core/Rectangle.js +1071 -0
- package/Source/Core/RectangleCollisionChecker.js +95 -0
- package/Source/Core/RectangleGeometry.js +1480 -0
- package/Source/Core/RectangleGeometryLibrary.js +286 -0
- package/Source/Core/RectangleOutlineGeometry.js +532 -0
- package/Source/Core/ReferenceFrame.js +23 -0
- package/Source/Core/Request.js +193 -0
- package/Source/Core/RequestErrorEvent.js +58 -0
- package/Source/Core/RequestScheduler.js +519 -0
- package/Source/Core/RequestState.js +55 -0
- package/Source/Core/RequestType.js +39 -0
- package/Source/Core/Resource.js +2280 -0
- package/Source/Core/RuntimeError.js +65 -0
- package/Source/Core/S2Cell.js +734 -0
- package/Source/Core/ScreenSpaceEventHandler.js +1140 -0
- package/Source/Core/ScreenSpaceEventType.js +127 -0
- package/Source/Core/ShowGeometryInstanceAttribute.js +122 -0
- package/Source/Core/Simon1994PlanetaryPositions.js +684 -0
- package/Source/Core/SimplePolylineGeometry.js +454 -0
- package/Source/Core/SphereGeometry.js +117 -0
- package/Source/Core/SphereOutlineGeometry.js +119 -0
- package/Source/Core/Spherical.js +183 -0
- package/Source/Core/Spline.js +188 -0
- package/Source/Core/SteppedSpline.js +160 -0
- package/Source/Core/Stereographic.js +247 -0
- package/Source/Core/TaskProcessor.js +403 -0
- package/Source/Core/TerrainData.js +126 -0
- package/Source/Core/TerrainEncoding.js +772 -0
- package/Source/Core/TerrainMesh.js +361 -0
- package/Source/Core/TerrainPicker.js +607 -0
- package/Source/Core/TerrainProvider.js +585 -0
- package/Source/Core/TerrainQuantization.js +25 -0
- package/Source/Core/TexturePacker.js +181 -0
- package/Source/Core/TileAvailability.js +564 -0
- package/Source/Core/TileEdge.js +14 -0
- package/Source/Core/TileProviderError.js +170 -0
- package/Source/Core/TilingScheme.js +132 -0
- package/Source/Core/TimeConstants.js +83 -0
- package/Source/Core/TimeInterval.js +438 -0
- package/Source/Core/TimeIntervalCollection.js +1137 -0
- package/Source/Core/TimeStandard.js +30 -0
- package/Source/Core/Tipsify.js +314 -0
- package/Source/Core/TrackingReferenceFrame.js +45 -0
- package/Source/Core/Transforms.js +1277 -0
- package/Source/Core/TranslationRotationScale.js +57 -0
- package/Source/Core/TridiagonalSystemSolver.js +113 -0
- package/Source/Core/TrustedServers.js +146 -0
- package/Source/Core/VRTheWorldTerrainProvider.js +462 -0
- package/Source/Core/VertexFormat.js +311 -0
- package/Source/Core/VerticalExaggeration.js +70 -0
- package/Source/Core/VideoSynchronizer.js +222 -0
- package/Source/Core/Visibility.js +34 -0
- package/Source/Core/VulkanConstants.js +286 -0
- package/Source/Core/WallGeometry.js +623 -0
- package/Source/Core/WallGeometryLibrary.js +212 -0
- package/Source/Core/WallOutlineGeometry.js +431 -0
- package/Source/Core/WebGLConstants.js +614 -0
- package/Source/Core/WebMercatorProjection.js +152 -0
- package/Source/Core/WebMercatorTilingScheme.js +291 -0
- package/Source/Core/WindingOrder.js +36 -0
- package/Source/Core/WireframeIndexGenerator.js +238 -0
- package/Source/Core/addAllToArray.js +40 -0
- package/Source/Core/appendForwardSlash.js +10 -0
- package/Source/Core/arrayRemoveDuplicates.js +129 -0
- package/Source/Core/barycentricCoordinates.js +109 -0
- package/Source/Core/binarySearch.js +67 -0
- package/Source/Core/buildModuleUrl.js +153 -0
- package/Source/Core/clone.js +30 -0
- package/Source/Core/combine.js +79 -0
- package/Source/Core/createGuid.js +22 -0
- package/Source/Core/createWorldBathymetryAsync.js +45 -0
- package/Source/Core/createWorldTerrainAsync.js +50 -0
- package/Source/Core/decodeGoogleEarthEnterpriseData.js +93 -0
- package/Source/Core/decodeVectorPolylinePositions.js +51 -0
- package/Source/Core/defaultValue.js +29 -0
- package/Source/Core/defer.js +44 -0
- package/Source/Core/defined.d.ts +11 -0
- package/Source/Core/defined.js +17 -0
- package/Source/Core/deprecationWarning.js +53 -0
- package/Source/Core/destroyObject.js +53 -0
- package/Source/Core/formatError.js +30 -0
- package/Source/Core/getAbsoluteUri.js +46 -0
- package/Source/Core/getBaseUri.js +47 -0
- package/Source/Core/getExtensionFromUri.js +38 -0
- package/Source/Core/getFilenameFromUri.js +32 -0
- package/Source/Core/getImageFromTypedArray.js +24 -0
- package/Source/Core/getImagePixels.js +44 -0
- package/Source/Core/getJsonFromTypedArray.js +21 -0
- package/Source/Core/getMagic.js +14 -0
- package/Source/Core/getStringFromTypedArray.js +165 -0
- package/Source/Core/getTimestamp.js +26 -0
- package/Source/Core/isBitSet.js +7 -0
- package/Source/Core/isBlobUri.js +22 -0
- package/Source/Core/isCrossOriginUrl.js +30 -0
- package/Source/Core/isDataUri.js +22 -0
- package/Source/Core/isLeapYear.js +23 -0
- package/Source/Core/loadAndExecuteScript.js +27 -0
- package/Source/Core/loadImageFromTypedArray.js +66 -0
- package/Source/Core/loadKTX2.js +104 -0
- package/Source/Core/mergeSort.js +111 -0
- package/Source/Core/objectToQuery.js +57 -0
- package/Source/Core/oneTimeWarning.js +51 -0
- package/Source/Core/parseResponseHeaders.js +37 -0
- package/Source/Core/pointInsideTriangle.js +39 -0
- package/Source/Core/queryToObject.js +60 -0
- package/Source/Core/resizeImageToNextPowerOfTwo.js +31 -0
- package/Source/Core/sampleTerrain.js +291 -0
- package/Source/Core/sampleTerrainMostDetailed.js +132 -0
- package/Source/Core/scaleToGeodeticSurface.js +147 -0
- package/Source/Core/srgbToLinear.js +32 -0
- package/Source/Core/subdivideArray.js +35 -0
- package/Source/Core/webGLConstantToGlslType.js +25 -0
- package/Source/Core/wrapFunction.js +26 -0
- package/Source/Core/writeTextToCanvas.js +219 -0
- package/Source/DataSources/BillboardGraphics.js +419 -0
- package/Source/DataSources/BillboardVisualizer.js +351 -0
- package/Source/DataSources/BoundingSphereState.js +26 -0
- package/Source/DataSources/BoxGeometryUpdater.js +326 -0
- package/Source/DataSources/BoxGraphics.js +208 -0
- package/Source/DataSources/CallbackPositionProperty.js +172 -0
- package/Source/DataSources/CallbackProperty.js +117 -0
- package/Source/DataSources/Cesium3DTilesetGraphics.js +111 -0
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +261 -0
- package/Source/DataSources/CheckerboardMaterialProperty.js +157 -0
- package/Source/DataSources/ColorMaterialProperty.js +112 -0
- package/Source/DataSources/CompositeEntityCollection.js +591 -0
- package/Source/DataSources/CompositeMaterialProperty.js +128 -0
- package/Source/DataSources/CompositePositionProperty.js +153 -0
- package/Source/DataSources/CompositeProperty.js +154 -0
- package/Source/DataSources/ConstantPositionProperty.js +151 -0
- package/Source/DataSources/ConstantProperty.js +116 -0
- package/Source/DataSources/CorridorGeometryUpdater.js +409 -0
- package/Source/DataSources/CorridorGraphics.js +316 -0
- package/Source/DataSources/CustomDataSource.js +173 -0
- package/Source/DataSources/CylinderGeometryUpdater.js +375 -0
- package/Source/DataSources/CylinderGraphics.js +258 -0
- package/Source/DataSources/CzmlDataSource.js +5142 -0
- package/Source/DataSources/DataSource.js +121 -0
- package/Source/DataSources/DataSourceClock.js +164 -0
- package/Source/DataSources/DataSourceCollection.js +335 -0
- package/Source/DataSources/DataSourceDisplay.js +543 -0
- package/Source/DataSources/DynamicGeometryBatch.js +56 -0
- package/Source/DataSources/DynamicGeometryUpdater.js +270 -0
- package/Source/DataSources/EllipseGeometryUpdater.js +434 -0
- package/Source/DataSources/EllipseGraphics.js +343 -0
- package/Source/DataSources/EllipsoidGeometryUpdater.js +710 -0
- package/Source/DataSources/EllipsoidGraphics.js +312 -0
- package/Source/DataSources/Entity.js +789 -0
- package/Source/DataSources/EntityCluster.js +1022 -0
- package/Source/DataSources/EntityCollection.js +439 -0
- package/Source/DataSources/EntityView.js +476 -0
- package/Source/DataSources/GeoJsonDataSource.js +1064 -0
- package/Source/DataSources/GeometryUpdater.js +538 -0
- package/Source/DataSources/GeometryUpdaterSet.js +114 -0
- package/Source/DataSources/GeometryVisualizer.js +549 -0
- package/Source/DataSources/GpxDataSource.js +1018 -0
- package/Source/DataSources/GridMaterialProperty.js +204 -0
- package/Source/DataSources/GroundGeometryUpdater.js +234 -0
- package/Source/DataSources/ImageMaterialProperty.js +173 -0
- package/Source/DataSources/KmlCamera.js +13 -0
- package/Source/DataSources/KmlDataSource.js +4249 -0
- package/Source/DataSources/KmlLookAt.js +12 -0
- package/Source/DataSources/KmlTour.js +165 -0
- package/Source/DataSources/KmlTourFlyTo.js +109 -0
- package/Source/DataSources/KmlTourWait.js +52 -0
- package/Source/DataSources/LabelGraphics.js +401 -0
- package/Source/DataSources/LabelVisualizer.js +359 -0
- package/Source/DataSources/MaterialProperty.js +111 -0
- package/Source/DataSources/ModelGraphics.js +456 -0
- package/Source/DataSources/ModelVisualizer.js +560 -0
- package/Source/DataSources/NodeTransformationProperty.js +150 -0
- package/Source/DataSources/PathGraphics.js +161 -0
- package/Source/DataSources/PathVisualizer.js +823 -0
- package/Source/DataSources/PlaneGeometryUpdater.js +385 -0
- package/Source/DataSources/PlaneGraphics.js +208 -0
- package/Source/DataSources/PointGraphics.js +223 -0
- package/Source/DataSources/PointVisualizer.js +438 -0
- package/Source/DataSources/PolygonGeometryUpdater.js +591 -0
- package/Source/DataSources/PolygonGraphics.js +383 -0
- package/Source/DataSources/PolylineArrowMaterialProperty.js +110 -0
- package/Source/DataSources/PolylineDashMaterialProperty.js +174 -0
- package/Source/DataSources/PolylineGeometryUpdater.js +878 -0
- package/Source/DataSources/PolylineGlowMaterialProperty.js +152 -0
- package/Source/DataSources/PolylineGraphics.js +241 -0
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +158 -0
- package/Source/DataSources/PolylineVisualizer.js +409 -0
- package/Source/DataSources/PolylineVolumeGeometryUpdater.js +306 -0
- package/Source/DataSources/PolylineVolumeGraphics.js +235 -0
- package/Source/DataSources/PositionProperty.js +131 -0
- package/Source/DataSources/PositionPropertyArray.js +192 -0
- package/Source/DataSources/Property.js +137 -0
- package/Source/DataSources/PropertyArray.js +147 -0
- package/Source/DataSources/PropertyBag.js +275 -0
- package/Source/DataSources/RectangleGeometryUpdater.js +427 -0
- package/Source/DataSources/RectangleGraphics.js +317 -0
- package/Source/DataSources/ReferenceProperty.js +371 -0
- package/Source/DataSources/Rotation.js +155 -0
- package/Source/DataSources/SampledPositionProperty.js +330 -0
- package/Source/DataSources/SampledProperty.js +855 -0
- package/Source/DataSources/ScaledPositionProperty.js +103 -0
- package/Source/DataSources/StaticGeometryColorBatch.js +570 -0
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +488 -0
- package/Source/DataSources/StaticGroundGeometryColorBatch.js +394 -0
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +456 -0
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +434 -0
- package/Source/DataSources/StaticOutlineGeometryBatch.js +465 -0
- package/Source/DataSources/StripeMaterialProperty.js +193 -0
- package/Source/DataSources/StripeOrientation.js +19 -0
- package/Source/DataSources/TerrainOffsetProperty.js +243 -0
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +155 -0
- package/Source/DataSources/TimeIntervalCollectionProperty.js +136 -0
- package/Source/DataSources/VelocityOrientationProperty.js +158 -0
- package/Source/DataSources/VelocityVectorProperty.js +213 -0
- package/Source/DataSources/Visualizer.js +61 -0
- package/Source/DataSources/WallGeometryUpdater.js +275 -0
- package/Source/DataSources/WallGraphics.js +236 -0
- package/Source/DataSources/createMaterialPropertyDescriptor.js +35 -0
- package/Source/DataSources/createPropertyDescriptor.js +71 -0
- package/Source/DataSources/createRawPropertyDescriptor.js +13 -0
- package/Source/DataSources/exportKml.js +1517 -0
- package/Source/DataSources/getElement.js +26 -0
- package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +47 -0
- package/Source/Renderer/AutomaticUniforms.js +1857 -0
- package/Source/Renderer/Buffer.js +452 -0
- package/Source/Renderer/BufferUsage.js +21 -0
- package/Source/Renderer/ClearCommand.js +102 -0
- package/Source/Renderer/ComputeCommand.js +119 -0
- package/Source/Renderer/ComputeEngine.js +135 -0
- package/Source/Renderer/Context.js +1752 -0
- package/Source/Renderer/ContextLimits.js +299 -0
- package/Source/Renderer/CubeMap.js +686 -0
- package/Source/Renderer/CubeMapFace.js +415 -0
- package/Source/Renderer/DrawCommand.js +644 -0
- package/Source/Renderer/Framebuffer.js +447 -0
- package/Source/Renderer/FramebufferManager.js +489 -0
- package/Source/Renderer/MipmapHint.js +19 -0
- package/Source/Renderer/MultisampleFramebuffer.js +136 -0
- package/Source/Renderer/Pass.js +29 -0
- package/Source/Renderer/PassState.js +57 -0
- package/Source/Renderer/PixelDatatype.js +121 -0
- package/Source/Renderer/RenderState.js +967 -0
- package/Source/Renderer/Renderbuffer.js +105 -0
- package/Source/Renderer/RenderbufferFormat.js +42 -0
- package/Source/Renderer/Sampler.js +116 -0
- package/Source/Renderer/ShaderBuilder.js +597 -0
- package/Source/Renderer/ShaderCache.js +287 -0
- package/Source/Renderer/ShaderDestination.js +51 -0
- package/Source/Renderer/ShaderFunction.js +66 -0
- package/Source/Renderer/ShaderProgram.js +619 -0
- package/Source/Renderer/ShaderSource.js +524 -0
- package/Source/Renderer/ShaderStruct.js +55 -0
- package/Source/Renderer/SharedContext.js +186 -0
- package/Source/Renderer/Sync.js +104 -0
- package/Source/Renderer/Texture.js +1126 -0
- package/Source/Renderer/Texture3D.js +578 -0
- package/Source/Renderer/TextureAtlas.js +833 -0
- package/Source/Renderer/TextureCache.js +81 -0
- package/Source/Renderer/TextureMagnificationFilter.js +41 -0
- package/Source/Renderer/TextureMinificationFilter.js +94 -0
- package/Source/Renderer/TextureWrap.js +19 -0
- package/Source/Renderer/UniformState.js +1948 -0
- package/Source/Renderer/VertexArray.js +869 -0
- package/Source/Renderer/VertexArrayFacade.js +509 -0
- package/Source/Renderer/createUniform.js +422 -0
- package/Source/Renderer/createUniformArray.js +638 -0
- package/Source/Renderer/demodernizeShader.js +84 -0
- package/Source/Renderer/freezeRenderState.js +30 -0
- package/Source/Renderer/loadCubeMap.js +88 -0
- package/Source/Scene/AlphaMode.js +33 -0
- package/Source/Scene/Appearance.js +204 -0
- package/Source/Scene/ArcGisBaseMapType.js +12 -0
- package/Source/Scene/ArcGisMapServerImageryProvider.js +875 -0
- package/Source/Scene/ArcGisMapService.js +80 -0
- package/Source/Scene/Atmosphere.js +149 -0
- package/Source/Scene/AttributeType.js +200 -0
- package/Source/Scene/AutoExposure.js +386 -0
- package/Source/Scene/Axis.js +116 -0
- package/Source/Scene/Azure2DImageryProvider.js +393 -0
- package/Source/Scene/B3dmParser.js +173 -0
- package/Source/Scene/BatchTable.js +636 -0
- package/Source/Scene/BatchTableHierarchy.js +504 -0
- package/Source/Scene/BatchTexture.js +574 -0
- package/Source/Scene/Billboard.js +1601 -0
- package/Source/Scene/BillboardCollection.js +2396 -0
- package/Source/Scene/BillboardLoadState.js +44 -0
- package/Source/Scene/BillboardTexture.js +397 -0
- package/Source/Scene/BingMapsImageryProvider.js +769 -0
- package/Source/Scene/BingMapsStyle.js +93 -0
- package/Source/Scene/BlendEquation.js +53 -0
- package/Source/Scene/BlendFunction.js +129 -0
- package/Source/Scene/BlendOption.js +28 -0
- package/Source/Scene/BlendingState.js +73 -0
- package/Source/Scene/BoundingVolumeSemantics.js +169 -0
- package/Source/Scene/BoxEmitter.js +74 -0
- package/Source/Scene/BrdfLutGenerator.js +75 -0
- package/Source/Scene/BufferLoader.js +141 -0
- package/Source/Scene/Camera.js +3978 -0
- package/Source/Scene/CameraEventAggregator.js +619 -0
- package/Source/Scene/CameraEventType.js +47 -0
- package/Source/Scene/CameraFlightPath.js +576 -0
- package/Source/Scene/Cesium3DContentGroup.js +44 -0
- package/Source/Scene/Cesium3DTile.js +2475 -0
- package/Source/Scene/Cesium3DTileBatchTable.js +1132 -0
- package/Source/Scene/Cesium3DTileColorBlendMode.js +52 -0
- package/Source/Scene/Cesium3DTileContent.js +411 -0
- package/Source/Scene/Cesium3DTileContentFactory.js +118 -0
- package/Source/Scene/Cesium3DTileContentState.js +12 -0
- package/Source/Scene/Cesium3DTileContentType.js +179 -0
- package/Source/Scene/Cesium3DTileFeature.js +444 -0
- package/Source/Scene/Cesium3DTileFeatureTable.js +131 -0
- package/Source/Scene/Cesium3DTileOptimizationHint.js +13 -0
- package/Source/Scene/Cesium3DTileOptimizations.js +115 -0
- package/Source/Scene/Cesium3DTilePass.js +79 -0
- package/Source/Scene/Cesium3DTilePassState.js +52 -0
- package/Source/Scene/Cesium3DTilePointFeature.js +856 -0
- package/Source/Scene/Cesium3DTileRefine.js +29 -0
- package/Source/Scene/Cesium3DTileStyle.js +1475 -0
- package/Source/Scene/Cesium3DTileStyleEngine.js +78 -0
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +760 -0
- package/Source/Scene/Cesium3DTileset.js +3932 -0
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +291 -0
- package/Source/Scene/Cesium3DTilesetCache.js +80 -0
- package/Source/Scene/Cesium3DTilesetHeatmap.js +165 -0
- package/Source/Scene/Cesium3DTilesetMetadata.js +199 -0
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +131 -0
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +420 -0
- package/Source/Scene/Cesium3DTilesetStatistics.js +195 -0
- package/Source/Scene/Cesium3DTilesetTraversal.js +323 -0
- package/Source/Scene/CircleEmitter.js +61 -0
- package/Source/Scene/ClassificationPrimitive.js +1387 -0
- package/Source/Scene/ClassificationType.js +35 -0
- package/Source/Scene/ClippingPlane.js +184 -0
- package/Source/Scene/ClippingPlaneCollection.js +764 -0
- package/Source/Scene/ClippingPolygon.js +300 -0
- package/Source/Scene/ClippingPolygonCollection.js +965 -0
- package/Source/Scene/CloudCollection.js +1041 -0
- package/Source/Scene/CloudType.js +33 -0
- package/Source/Scene/ColorBlendMode.js +33 -0
- package/Source/Scene/Composite3DTileContent.js +403 -0
- package/Source/Scene/ConditionsExpression.js +219 -0
- package/Source/Scene/ConeEmitter.js +61 -0
- package/Source/Scene/ContentMetadata.js +184 -0
- package/Source/Scene/CreditDisplay.js +654 -0
- package/Source/Scene/CullFace.js +33 -0
- package/Source/Scene/CumulusCloud.js +347 -0
- package/Source/Scene/DebugAppearance.js +266 -0
- package/Source/Scene/DebugCameraPrimitive.js +257 -0
- package/Source/Scene/DebugInspector.js +151 -0
- package/Source/Scene/DebugModelMatrixPrimitive.js +220 -0
- package/Source/Scene/DepthFunction.js +73 -0
- package/Source/Scene/DepthPlane.js +238 -0
- package/Source/Scene/DerivedCommand.js +708 -0
- package/Source/Scene/DeviceOrientationCameraController.js +120 -0
- package/Source/Scene/DirectionalLight.js +49 -0
- package/Source/Scene/DiscardEmptyTileImagePolicy.js +54 -0
- package/Source/Scene/DiscardMissingTileImagePolicy.js +148 -0
- package/Source/Scene/DracoLoader.js +99 -0
- package/Source/Scene/DynamicAtmosphereLightingType.js +56 -0
- package/Source/Scene/DynamicEnvironmentMapManager.js +1022 -0
- package/Source/Scene/EdgeFramebuffer.js +245 -0
- package/Source/Scene/EllipsoidPrimitive.js +496 -0
- package/Source/Scene/EllipsoidSurfaceAppearance.js +278 -0
- package/Source/Scene/Empty3DTileContent.js +164 -0
- package/Source/Scene/Expression.js +2233 -0
- package/Source/Scene/ExpressionNodeType.js +25 -0
- package/Source/Scene/Fog.js +166 -0
- package/Source/Scene/FrameRateMonitor.js +375 -0
- package/Source/Scene/FrameState.js +477 -0
- package/Source/Scene/FrustumCommands.js +29 -0
- package/Source/Scene/GaussianSplat3DTileContent.js +826 -0
- package/Source/Scene/GaussianSplatPrimitive.js +1065 -0
- package/Source/Scene/GaussianSplatRenderResources.js +81 -0
- package/Source/Scene/GaussianSplatSorter.js +73 -0
- package/Source/Scene/GaussianSplatTextureGenerator.js +64 -0
- package/Source/Scene/Geometry3DTileContent.js +534 -0
- package/Source/Scene/GetFeatureInfoFormat.js +396 -0
- package/Source/Scene/Globe.js +1135 -0
- package/Source/Scene/GlobeDepth.js +407 -0
- package/Source/Scene/GlobeSurfaceShaderSet.js +485 -0
- package/Source/Scene/GlobeSurfaceTile.js +967 -0
- package/Source/Scene/GlobeSurfaceTileProvider.js +2910 -0
- package/Source/Scene/GlobeTranslucency.js +239 -0
- package/Source/Scene/GlobeTranslucencyFramebuffer.js +201 -0
- package/Source/Scene/GlobeTranslucencyState.js +1102 -0
- package/Source/Scene/GltfBufferViewLoader.js +242 -0
- package/Source/Scene/GltfDracoLoader.js +293 -0
- package/Source/Scene/GltfImageLoader.js +320 -0
- package/Source/Scene/GltfIndexBufferLoader.js +421 -0
- package/Source/Scene/GltfJsonLoader.js +314 -0
- package/Source/Scene/GltfLoader.js +2989 -0
- package/Source/Scene/GltfLoaderUtil.js +184 -0
- package/Source/Scene/GltfPipeline/ForEach.js +424 -0
- package/Source/Scene/GltfPipeline/addBuffer.js +30 -0
- package/Source/Scene/GltfPipeline/addDefaults.js +208 -0
- package/Source/Scene/GltfPipeline/addExtensionsRequired.js +24 -0
- package/Source/Scene/GltfPipeline/addExtensionsUsed.js +22 -0
- package/Source/Scene/GltfPipeline/addPipelineExtras.js +36 -0
- package/Source/Scene/GltfPipeline/addToArray.js +25 -0
- package/Source/Scene/GltfPipeline/findAccessorMinMax.js +71 -0
- package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +155 -0
- package/Source/Scene/GltfPipeline/getAccessorByteStride.js +29 -0
- package/Source/Scene/GltfPipeline/getComponentReader.js +147 -0
- package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +135 -0
- package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +145 -0
- package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +29 -0
- package/Source/Scene/GltfPipeline/parseGlb.js +118 -0
- package/Source/Scene/GltfPipeline/readAccessorPacked.js +54 -0
- package/Source/Scene/GltfPipeline/removeExtension.js +64 -0
- package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +24 -0
- package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +26 -0
- package/Source/Scene/GltfPipeline/removePipelineExtras.js +42 -0
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +906 -0
- package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +53 -0
- package/Source/Scene/GltfPipeline/updateVersion.js +1148 -0
- package/Source/Scene/GltfPipeline/usesExtension.js +18 -0
- package/Source/Scene/GltfSpzLoader.js +224 -0
- package/Source/Scene/GltfStructuralMetadataLoader.js +505 -0
- package/Source/Scene/GltfTextureLoader.js +399 -0
- package/Source/Scene/GltfVertexBufferLoader.js +634 -0
- package/Source/Scene/Google2DImageryProvider.js +621 -0
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +548 -0
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +589 -0
- package/Source/Scene/GridImageryProvider.js +322 -0
- package/Source/Scene/GroundPolylinePrimitive.js +890 -0
- package/Source/Scene/GroundPrimitive.js +1000 -0
- package/Source/Scene/GroupMetadata.js +203 -0
- package/Source/Scene/HeightReference.js +85 -0
- package/Source/Scene/HorizontalOrigin.js +41 -0
- package/Source/Scene/I3SDataProvider.js +860 -0
- package/Source/Scene/I3SDecoder.js +133 -0
- package/Source/Scene/I3SFeature.js +61 -0
- package/Source/Scene/I3SField.js +360 -0
- package/Source/Scene/I3SGeometry.js +477 -0
- package/Source/Scene/I3SLayer.js +460 -0
- package/Source/Scene/I3SNode.js +927 -0
- package/Source/Scene/I3SStatistics.js +94 -0
- package/Source/Scene/I3SSublayer.js +175 -0
- package/Source/Scene/I3SSymbology.js +336 -0
- package/Source/Scene/I3dmParser.js +140 -0
- package/Source/Scene/ITwinData.js +283 -0
- package/Source/Scene/ImageBasedLighting.js +463 -0
- package/Source/Scene/Imagery.js +120 -0
- package/Source/Scene/ImageryLayer.js +1747 -0
- package/Source/Scene/ImageryLayerCollection.js +645 -0
- package/Source/Scene/ImageryLayerFeatureInfo.js +111 -0
- package/Source/Scene/ImageryProvider.js +267 -0
- package/Source/Scene/ImageryState.js +14 -0
- package/Source/Scene/Implicit3DTileContent.js +1206 -0
- package/Source/Scene/ImplicitAvailabilityBitstream.js +134 -0
- package/Source/Scene/ImplicitMetadataView.js +178 -0
- package/Source/Scene/ImplicitSubdivisionScheme.js +48 -0
- package/Source/Scene/ImplicitSubtree.js +1161 -0
- package/Source/Scene/ImplicitSubtreeCache.js +127 -0
- package/Source/Scene/ImplicitSubtreeMetadata.js +191 -0
- package/Source/Scene/ImplicitTileCoordinates.js +647 -0
- package/Source/Scene/ImplicitTileset.js +269 -0
- package/Source/Scene/InstanceAttributeSemantic.js +79 -0
- package/Source/Scene/InvertClassification.js +381 -0
- package/Source/Scene/IonImageryProvider.js +346 -0
- package/Source/Scene/IonImageryProviderFactory.js +194 -0
- package/Source/Scene/IonWorldImageryStyle.js +33 -0
- package/Source/Scene/JobScheduler.js +199 -0
- package/Source/Scene/JobType.js +10 -0
- package/Source/Scene/JsonMetadataTable.js +114 -0
- package/Source/Scene/KeyframeNode.js +61 -0
- package/Source/Scene/Label.js +1618 -0
- package/Source/Scene/LabelCollection.js +1032 -0
- package/Source/Scene/LabelStyle.js +33 -0
- package/Source/Scene/Light.js +34 -0
- package/Source/Scene/MapMode2D.js +23 -0
- package/Source/Scene/MapboxImageryProvider.js +332 -0
- package/Source/Scene/MapboxStyleImageryProvider.js +342 -0
- package/Source/Scene/Material.js +1929 -0
- package/Source/Scene/MaterialAppearance.js +328 -0
- package/Source/Scene/Megatexture.js +550 -0
- package/Source/Scene/MetadataClass.js +202 -0
- package/Source/Scene/MetadataClassProperty.js +1191 -0
- package/Source/Scene/MetadataComponentType.js +469 -0
- package/Source/Scene/MetadataEntity.js +425 -0
- package/Source/Scene/MetadataEnum.js +219 -0
- package/Source/Scene/MetadataEnumValue.js +131 -0
- package/Source/Scene/MetadataPicking.js +396 -0
- package/Source/Scene/MetadataSchema.js +202 -0
- package/Source/Scene/MetadataSchemaLoader.js +135 -0
- package/Source/Scene/MetadataSemantic.js +153 -0
- package/Source/Scene/MetadataTable.js +357 -0
- package/Source/Scene/MetadataTableProperty.js +840 -0
- package/Source/Scene/MetadataType.js +220 -0
- package/Source/Scene/Model/AlphaPipelineStage.js +51 -0
- package/Source/Scene/Model/AtmospherePipelineStage.js +64 -0
- package/Source/Scene/Model/B3dmLoader.js +368 -0
- package/Source/Scene/Model/BatchTexturePipelineStage.js +71 -0
- package/Source/Scene/Model/CPUStylingPipelineStage.js +77 -0
- package/Source/Scene/Model/CartesianRectangle.js +108 -0
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +534 -0
- package/Source/Scene/Model/ClassificationPipelineStage.js +132 -0
- package/Source/Scene/Model/CustomShader.js +469 -0
- package/Source/Scene/Model/CustomShaderMode.js +40 -0
- package/Source/Scene/Model/CustomShaderPipelineStage.js +667 -0
- package/Source/Scene/Model/CustomShaderTranslucencyMode.js +35 -0
- package/Source/Scene/Model/DequantizationPipelineStage.js +178 -0
- package/Source/Scene/Model/EdgeDetectionPipelineStage.js +42 -0
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +800 -0
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
- package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +543 -0
- package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
- package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
- package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
- package/Source/Scene/Model/FeatureIdPipelineStage.js +523 -0
- package/Source/Scene/Model/GeoJsonLoader.js +697 -0
- package/Source/Scene/Model/GeometryPipelineStage.js +529 -0
- package/Source/Scene/Model/I3dmLoader.js +883 -0
- package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +168 -0
- package/Source/Scene/Model/ImageryConfiguration.js +26 -0
- package/Source/Scene/Model/ImageryCoverage.js +488 -0
- package/Source/Scene/Model/ImageryFlags.js +31 -0
- package/Source/Scene/Model/ImageryInput.js +60 -0
- package/Source/Scene/Model/ImageryPipelineStage.js +1046 -0
- package/Source/Scene/Model/InstancingPipelineStage.js +1056 -0
- package/Source/Scene/Model/LightingModel.js +30 -0
- package/Source/Scene/Model/LightingPipelineStage.js +73 -0
- package/Source/Scene/Model/MappedPositions.js +84 -0
- package/Source/Scene/Model/MaterialPipelineStage.js +869 -0
- package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
- package/Source/Scene/Model/MetadataPipelineStage.js +657 -0
- package/Source/Scene/Model/Model.js +3340 -0
- package/Source/Scene/Model/Model3DTileContent.js +551 -0
- package/Source/Scene/Model/ModelAlphaOptions.js +26 -0
- package/Source/Scene/Model/ModelAnimation.js +421 -0
- package/Source/Scene/Model/ModelAnimationChannel.js +294 -0
- package/Source/Scene/Model/ModelAnimationCollection.js +553 -0
- package/Source/Scene/Model/ModelArticulation.js +214 -0
- package/Source/Scene/Model/ModelArticulationStage.js +261 -0
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +126 -0
- package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +98 -0
- package/Source/Scene/Model/ModelColorPipelineStage.js +98 -0
- package/Source/Scene/Model/ModelDrawCommand.js +922 -0
- package/Source/Scene/Model/ModelDrawCommands.js +218 -0
- package/Source/Scene/Model/ModelFeature.js +229 -0
- package/Source/Scene/Model/ModelFeatureTable.js +316 -0
- package/Source/Scene/Model/ModelImagery.js +410 -0
- package/Source/Scene/Model/ModelImageryMapping.js +489 -0
- package/Source/Scene/Model/ModelLightingOptions.js +29 -0
- package/Source/Scene/Model/ModelMatrixUpdateStage.js +120 -0
- package/Source/Scene/Model/ModelNode.js +125 -0
- package/Source/Scene/Model/ModelPrimitiveImagery.js +972 -0
- package/Source/Scene/Model/ModelReader.js +810 -0
- package/Source/Scene/Model/ModelRenderResources.js +119 -0
- package/Source/Scene/Model/ModelRuntimeNode.js +648 -0
- package/Source/Scene/Model/ModelRuntimePrimitive.js +380 -0
- package/Source/Scene/Model/ModelSceneGraph.js +1098 -0
- package/Source/Scene/Model/ModelSilhouettePipelineStage.js +109 -0
- package/Source/Scene/Model/ModelSkin.js +180 -0
- package/Source/Scene/Model/ModelSplitterPipelineStage.js +65 -0
- package/Source/Scene/Model/ModelStatistics.js +225 -0
- package/Source/Scene/Model/ModelType.js +94 -0
- package/Source/Scene/Model/ModelUtility.js +395 -0
- package/Source/Scene/Model/MorphTargetsPipelineStage.js +249 -0
- package/Source/Scene/Model/NodeRenderResources.js +170 -0
- package/Source/Scene/Model/NodeStatisticsPipelineStage.js +75 -0
- package/Source/Scene/Model/PickingPipelineStage.js +218 -0
- package/Source/Scene/Model/PntsLoader.js +716 -0
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +392 -0
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +689 -0
- package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +99 -0
- package/Source/Scene/Model/PrimitiveRenderResources.js +297 -0
- package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +253 -0
- package/Source/Scene/Model/SceneMode2DPipelineStage.js +301 -0
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +180 -0
- package/Source/Scene/Model/SkinningPipelineStage.js +118 -0
- package/Source/Scene/Model/StyleCommandsNeeded.js +29 -0
- package/Source/Scene/Model/TextureManager.js +244 -0
- package/Source/Scene/Model/TextureUniform.js +71 -0
- package/Source/Scene/Model/TilesetPipelineStage.js +73 -0
- package/Source/Scene/Model/UniformType.js +124 -0
- package/Source/Scene/Model/VaryingType.js +61 -0
- package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +58 -0
- package/Source/Scene/Model/WireframePipelineStage.js +118 -0
- package/Source/Scene/Model/pickModel.js +425 -0
- package/Source/Scene/ModelAnimationLoop.js +33 -0
- package/Source/Scene/ModelAnimationState.js +9 -0
- package/Source/Scene/ModelComponents.js +1662 -0
- package/Source/Scene/Moon.js +175 -0
- package/Source/Scene/Multiple3DTileContent.js +722 -0
- package/Source/Scene/NeverTileDiscardPolicy.js +28 -0
- package/Source/Scene/OIT.js +946 -0
- package/Source/Scene/OpenStreetMapImageryProvider.js +128 -0
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +218 -0
- package/Source/Scene/Particle.js +149 -0
- package/Source/Scene/ParticleBurst.js +51 -0
- package/Source/Scene/ParticleEmitter.js +36 -0
- package/Source/Scene/ParticleSystem.js +885 -0
- package/Source/Scene/PerInstanceColorAppearance.js +296 -0
- package/Source/Scene/PerformanceDisplay.js +120 -0
- package/Source/Scene/PickDepth.js +125 -0
- package/Source/Scene/PickDepthFramebuffer.js +79 -0
- package/Source/Scene/PickFramebuffer.js +255 -0
- package/Source/Scene/PickedMetadataInfo.js +57 -0
- package/Source/Scene/Picking.js +1683 -0
- package/Source/Scene/PntsParser.js +547 -0
- package/Source/Scene/PointCloud.js +1412 -0
- package/Source/Scene/PointCloudEyeDomeLighting.js +284 -0
- package/Source/Scene/PointCloudShading.js +104 -0
- package/Source/Scene/PointPrimitive.js +690 -0
- package/Source/Scene/PointPrimitiveCollection.js +1223 -0
- package/Source/Scene/Polyline.js +431 -0
- package/Source/Scene/PolylineCollection.js +1950 -0
- package/Source/Scene/PolylineColorAppearance.js +220 -0
- package/Source/Scene/PolylineMaterialAppearance.js +231 -0
- package/Source/Scene/PostProcessStage.js +1000 -0
- package/Source/Scene/PostProcessStageCollection.js +900 -0
- package/Source/Scene/PostProcessStageComposite.js +359 -0
- package/Source/Scene/PostProcessStageLibrary.js +826 -0
- package/Source/Scene/PostProcessStageSampleMode.js +22 -0
- package/Source/Scene/PostProcessStageTextureCache.js +454 -0
- package/Source/Scene/Primitive.js +2504 -0
- package/Source/Scene/PrimitiveCollection.js +532 -0
- package/Source/Scene/PrimitiveLoadPlan.js +303 -0
- package/Source/Scene/PrimitivePipeline.js +854 -0
- package/Source/Scene/PrimitiveState.js +136 -0
- package/Source/Scene/PropertyAttribute.js +160 -0
- package/Source/Scene/PropertyAttributeProperty.js +177 -0
- package/Source/Scene/PropertyTable.js +536 -0
- package/Source/Scene/PropertyTexture.js +162 -0
- package/Source/Scene/PropertyTextureProperty.js +304 -0
- package/Source/Scene/QuadtreeOccluders.js +30 -0
- package/Source/Scene/QuadtreePrimitive.js +1575 -0
- package/Source/Scene/QuadtreeTile.js +729 -0
- package/Source/Scene/QuadtreeTileLoadState.js +39 -0
- package/Source/Scene/QuadtreeTileProvider.js +212 -0
- package/Source/Scene/ResourceCache.js +824 -0
- package/Source/Scene/ResourceCacheKey.js +601 -0
- package/Source/Scene/ResourceCacheStatistics.js +149 -0
- package/Source/Scene/ResourceLoader.js +127 -0
- package/Source/Scene/ResourceLoaderState.js +56 -0
- package/Source/Scene/SDFSettings.js +39 -0
- package/Source/Scene/Scene.js +5280 -0
- package/Source/Scene/SceneFramebuffer.js +106 -0
- package/Source/Scene/SceneMode.js +56 -0
- package/Source/Scene/SceneTransforms.js +463 -0
- package/Source/Scene/SceneTransitioner.js +1111 -0
- package/Source/Scene/ScreenSpaceCameraController.js +3098 -0
- package/Source/Scene/SensorVolumePortionToDisplay.js +69 -0
- package/Source/Scene/ShadowMap.js +1957 -0
- package/Source/Scene/ShadowMapShader.js +395 -0
- package/Source/Scene/ShadowMode.js +78 -0
- package/Source/Scene/ShadowVolumeAppearance.js +936 -0
- package/Source/Scene/SingleTileImageryProvider.js +380 -0
- package/Source/Scene/SkyAtmosphere.js +400 -0
- package/Source/Scene/SkyBox.js +289 -0
- package/Source/Scene/SpatialNode.js +377 -0
- package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
- package/Source/Scene/SphereEmitter.js +65 -0
- package/Source/Scene/SplitDirection.js +34 -0
- package/Source/Scene/Splitter.js +49 -0
- package/Source/Scene/StencilConstants.js +37 -0
- package/Source/Scene/StencilFunction.js +73 -0
- package/Source/Scene/StencilOperation.js +73 -0
- package/Source/Scene/StructuralMetadata.js +243 -0
- package/Source/Scene/StyleExpression.js +86 -0
- package/Source/Scene/Sun.js +363 -0
- package/Source/Scene/SunLight.js +31 -0
- package/Source/Scene/SunPostProcess.js +288 -0
- package/Source/Scene/SupportedImageFormats.js +18 -0
- package/Source/Scene/Terrain.js +245 -0
- package/Source/Scene/TerrainFillMesh.js +2222 -0
- package/Source/Scene/TerrainState.js +13 -0
- package/Source/Scene/TileBoundingRegion.js +489 -0
- package/Source/Scene/TileBoundingS2Cell.js +699 -0
- package/Source/Scene/TileBoundingSphere.js +167 -0
- package/Source/Scene/TileBoundingVolume.js +68 -0
- package/Source/Scene/TileCoordinatesImageryProvider.js +269 -0
- package/Source/Scene/TileDiscardPolicy.js +34 -0
- package/Source/Scene/TileImagery.js +126 -0
- package/Source/Scene/TileMapServiceImageryProvider.js +442 -0
- package/Source/Scene/TileMetadata.js +184 -0
- package/Source/Scene/TileOrientedBoundingBox.js +219 -0
- package/Source/Scene/TileReplacementQueue.js +119 -0
- package/Source/Scene/TileSelectionResult.js +80 -0
- package/Source/Scene/TileState.js +10 -0
- package/Source/Scene/Tileset3DTileContent.js +182 -0
- package/Source/Scene/TilesetMetadata.js +186 -0
- package/Source/Scene/TimeDynamicImagery.js +308 -0
- package/Source/Scene/TimeDynamicPointCloud.js +802 -0
- package/Source/Scene/Tonemapper.js +64 -0
- package/Source/Scene/TranslucentTileClassification.js +514 -0
- package/Source/Scene/TweenCollection.js +585 -0
- package/Source/Scene/UrlTemplateImageryProvider.js +989 -0
- package/Source/Scene/Vector3DTileBatch.js +37 -0
- package/Source/Scene/Vector3DTileClampedPolylines.js +783 -0
- package/Source/Scene/Vector3DTileContent.js +770 -0
- package/Source/Scene/Vector3DTileGeometry.js +497 -0
- package/Source/Scene/Vector3DTilePoints.js +548 -0
- package/Source/Scene/Vector3DTilePolygons.js +479 -0
- package/Source/Scene/Vector3DTilePolylines.js +679 -0
- package/Source/Scene/Vector3DTilePrimitive.js +1276 -0
- package/Source/Scene/VertexAttributeSemantic.js +305 -0
- package/Source/Scene/VerticalOrigin.js +49 -0
- package/Source/Scene/View.js +465 -0
- package/Source/Scene/ViewportQuad.js +182 -0
- package/Source/Scene/ViewshedShadowMap.js +1953 -0
- package/Source/Scene/VoxelBoundsCollection.js +494 -0
- package/Source/Scene/VoxelBoxShape.js +595 -0
- package/Source/Scene/VoxelCell.js +274 -0
- package/Source/Scene/VoxelContent.js +231 -0
- package/Source/Scene/VoxelCylinderShape.js +868 -0
- package/Source/Scene/VoxelEllipsoidShape.js +1174 -0
- package/Source/Scene/VoxelMetadataOrder.js +24 -0
- package/Source/Scene/VoxelPrimitive.js +2169 -0
- package/Source/Scene/VoxelProvider.js +234 -0
- package/Source/Scene/VoxelRenderResources.js +259 -0
- package/Source/Scene/VoxelShape.js +179 -0
- package/Source/Scene/VoxelShapeType.js +105 -0
- package/Source/Scene/VoxelTraversal.js +1264 -0
- package/Source/Scene/WebMapServiceImageryProvider.js +649 -0
- package/Source/Scene/WebMapTileServiceImageryProvider.js +575 -0
- package/Source/Scene/buildVoxelDrawCommands.js +177 -0
- package/Source/Scene/computeFlyToLocationForRectangle.js +74 -0
- package/Source/Scene/createBillboardPointCallback.js +70 -0
- package/Source/Scene/createElevationBandMaterial.js +580 -0
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +116 -0
- package/Source/Scene/createOsmBuildingsAsync.js +79 -0
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +114 -0
- package/Source/Scene/createWorldImageryAsync.js +39 -0
- package/Source/Scene/findContentMetadata.js +51 -0
- package/Source/Scene/findGroupMetadata.js +39 -0
- package/Source/Scene/findTileMetadata.js +53 -0
- package/Source/Scene/getBinaryAccessor.js +56 -0
- package/Source/Scene/getClipAndStyleCode.js +34 -0
- package/Source/Scene/getClippingFunction.js +154 -0
- package/Source/Scene/getMeshPrimitives.js +72 -0
- package/Source/Scene/getMetadataClassProperty.js +43 -0
- package/Source/Scene/getMetadataProperty.js +48 -0
- package/Source/Scene/hasExtension.js +19 -0
- package/Source/Scene/parseBatchTable.js +448 -0
- package/Source/Scene/parseFeatureMetadataLegacy.js +139 -0
- package/Source/Scene/parseStructuralMetadata.js +102 -0
- package/Source/Scene/preprocess3DTileContent.js +102 -0
- package/Source/Scene/processVoxelProperties.js +398 -0
- package/Source/Shaders/AdjustTranslucentFS.glsl +27 -0
- package/Source/Shaders/AdjustTranslucentFS.js +29 -0
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +29 -0
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +31 -0
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +26 -0
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +28 -0
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +23 -0
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +25 -0
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +17 -0
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +19 -0
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +33 -0
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +35 -0
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +19 -0
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +21 -0
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +24 -0
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +26 -0
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +20 -0
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +22 -0
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +6 -0
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +8 -0
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +15 -0
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +17 -0
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +28 -0
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +30 -0
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +33 -0
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +35 -0
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +25 -0
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +27 -0
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +20 -0
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +22 -0
- package/Source/Shaders/AtmosphereCommon.glsl +187 -0
- package/Source/Shaders/AtmosphereCommon.js +189 -0
- package/Source/Shaders/BillboardCollectionFS.glsl +261 -0
- package/Source/Shaders/BillboardCollectionFS.js +262 -0
- package/Source/Shaders/BillboardCollectionVS.glsl +445 -0
- package/Source/Shaders/BillboardCollectionVS.js +447 -0
- package/Source/Shaders/BrdfLutGeneratorFS.glsl +100 -0
- package/Source/Shaders/BrdfLutGeneratorFS.js +102 -0
- package/Source/Shaders/Builtin/Constants/degreesPerRadian.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/degreesPerRadian.js +18 -0
- package/Source/Shaders/Builtin/Constants/depthRange.glsl +14 -0
- package/Source/Shaders/Builtin/Constants/depthRange.js +16 -0
- package/Source/Shaders/Builtin/Constants/epsilon1.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon1.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon2.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon2.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon3.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon3.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon4.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon4.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon5.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon5.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon6.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon6.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon7.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon7.js +9 -0
- package/Source/Shaders/Builtin/Constants/infinity.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/infinity.js +9 -0
- package/Source/Shaders/Builtin/Constants/oneOverPi.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/oneOverPi.js +18 -0
- package/Source/Shaders/Builtin/Constants/oneOverTwoPi.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/oneOverTwoPi.js +18 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.glsl +10 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.js +12 -0
- package/Source/Shaders/Builtin/Constants/passClassification.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passClassification.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCompute.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCompute.js +11 -0
- package/Source/Shaders/Builtin/Constants/passEnvironment.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passEnvironment.js +11 -0
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +11 -0
- package/Source/Shaders/Builtin/Constants/passGlobe.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passGlobe.js +11 -0
- package/Source/Shaders/Builtin/Constants/passOpaque.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passOpaque.js +11 -0
- package/Source/Shaders/Builtin/Constants/passOverlay.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passOverlay.js +11 -0
- package/Source/Shaders/Builtin/Constants/passTerrainClassification.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passTerrainClassification.js +11 -0
- package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passTranslucent.js +11 -0
- package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
- package/Source/Shaders/Builtin/Constants/pi.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/pi.js +18 -0
- package/Source/Shaders/Builtin/Constants/piOverFour.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/piOverFour.js +18 -0
- package/Source/Shaders/Builtin/Constants/piOverSix.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/piOverSix.js +18 -0
- package/Source/Shaders/Builtin/Constants/piOverThree.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/piOverThree.js +18 -0
- package/Source/Shaders/Builtin/Constants/piOverTwo.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/piOverTwo.js +18 -0
- package/Source/Shaders/Builtin/Constants/radiansPerDegree.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/radiansPerDegree.js +18 -0
- package/Source/Shaders/Builtin/Constants/sceneMode2D.glsl +11 -0
- package/Source/Shaders/Builtin/Constants/sceneMode2D.js +13 -0
- package/Source/Shaders/Builtin/Constants/sceneMode3D.glsl +11 -0
- package/Source/Shaders/Builtin/Constants/sceneMode3D.js +13 -0
- package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.glsl +11 -0
- package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.js +13 -0
- package/Source/Shaders/Builtin/Constants/sceneModeMorphing.glsl +11 -0
- package/Source/Shaders/Builtin/Constants/sceneModeMorphing.js +13 -0
- package/Source/Shaders/Builtin/Constants/solarRadius.glsl +13 -0
- package/Source/Shaders/Builtin/Constants/solarRadius.js +15 -0
- package/Source/Shaders/Builtin/Constants/threePiOver2.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/threePiOver2.js +18 -0
- package/Source/Shaders/Builtin/Constants/twoPi.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/twoPi.js +18 -0
- package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +18 -0
- package/Source/Shaders/Builtin/CzmBuiltins.js +280 -0
- package/Source/Shaders/Builtin/Functions/HSBToRGB.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/HSBToRGB.js +26 -0
- package/Source/Shaders/Builtin/Functions/HSLToRGB.glsl +31 -0
- package/Source/Shaders/Builtin/Functions/HSLToRGB.js +33 -0
- package/Source/Shaders/Builtin/Functions/RGBToHSB.glsl +27 -0
- package/Source/Shaders/Builtin/Functions/RGBToHSB.js +29 -0
- package/Source/Shaders/Builtin/Functions/RGBToHSL.glsl +34 -0
- package/Source/Shaders/Builtin/Functions/RGBToHSL.js +36 -0
- package/Source/Shaders/Builtin/Functions/RGBToXYZ.glsl +30 -0
- package/Source/Shaders/Builtin/Functions/RGBToXYZ.js +32 -0
- package/Source/Shaders/Builtin/Functions/XYZToRGB.glsl +30 -0
- package/Source/Shaders/Builtin/Functions/XYZToRGB.js +32 -0
- package/Source/Shaders/Builtin/Functions/acesTonemapping.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/acesTonemapping.js +18 -0
- package/Source/Shaders/Builtin/Functions/alphaWeight.glsl +11 -0
- package/Source/Shaders/Builtin/Functions/alphaWeight.js +13 -0
- package/Source/Shaders/Builtin/Functions/antialias.glsl +39 -0
- package/Source/Shaders/Builtin/Functions/antialias.js +41 -0
- package/Source/Shaders/Builtin/Functions/applyHSBShift.glsl +32 -0
- package/Source/Shaders/Builtin/Functions/applyHSBShift.js +34 -0
- package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.glsl +18 -0
- package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.js +20 -0
- package/Source/Shaders/Builtin/Functions/approximateTanh.glsl +10 -0
- package/Source/Shaders/Builtin/Functions/approximateTanh.js +12 -0
- package/Source/Shaders/Builtin/Functions/backFacing.glsl +13 -0
- package/Source/Shaders/Builtin/Functions/backFacing.js +15 -0
- package/Source/Shaders/Builtin/Functions/branchFreeTernary.glsl +71 -0
- package/Source/Shaders/Builtin/Functions/branchFreeTernary.js +73 -0
- package/Source/Shaders/Builtin/Functions/cascadeColor.glsl +8 -0
- package/Source/Shaders/Builtin/Functions/cascadeColor.js +10 -0
- package/Source/Shaders/Builtin/Functions/cascadeDistance.glsl +7 -0
- package/Source/Shaders/Builtin/Functions/cascadeDistance.js +9 -0
- package/Source/Shaders/Builtin/Functions/cascadeMatrix.glsl +10 -0
- package/Source/Shaders/Builtin/Functions/cascadeMatrix.js +12 -0
- package/Source/Shaders/Builtin/Functions/cascadeWeights.glsl +10 -0
- package/Source/Shaders/Builtin/Functions/cascadeWeights.js +12 -0
- package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +37 -0
- package/Source/Shaders/Builtin/Functions/clipPolygons.js +39 -0
- package/Source/Shaders/Builtin/Functions/columbusViewMorph.glsl +12 -0
- package/Source/Shaders/Builtin/Functions/columbusViewMorph.js +14 -0
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +88 -0
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +90 -0
- package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.glsl +30 -0
- package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.js +32 -0
- package/Source/Shaders/Builtin/Functions/computePosition.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/computePosition.js +24 -0
- package/Source/Shaders/Builtin/Functions/computeScattering.glsl +149 -0
- package/Source/Shaders/Builtin/Functions/computeScattering.js +151 -0
- package/Source/Shaders/Builtin/Functions/cosineAndSine.glsl +211 -0
- package/Source/Shaders/Builtin/Functions/cosineAndSine.js +213 -0
- package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.glsl +17 -0
- package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.js +19 -0
- package/Source/Shaders/Builtin/Functions/depthClamp.glsl +47 -0
- package/Source/Shaders/Builtin/Functions/depthClamp.js +49 -0
- package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.glsl +33 -0
- package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +35 -0
- package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.glsl +12 -0
- package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +14 -0
- package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.glsl +10 -0
- package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.js +12 -0
- package/Source/Shaders/Builtin/Functions/equalsEpsilon.glsl +36 -0
- package/Source/Shaders/Builtin/Functions/equalsEpsilon.js +38 -0
- package/Source/Shaders/Builtin/Functions/eyeOffset.glsl +20 -0
- package/Source/Shaders/Builtin/Functions/eyeOffset.js +22 -0
- package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.glsl +32 -0
- package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +34 -0
- package/Source/Shaders/Builtin/Functions/fastApproximateAtan.glsl +55 -0
- package/Source/Shaders/Builtin/Functions/fastApproximateAtan.js +57 -0
- package/Source/Shaders/Builtin/Functions/fog.glsl +38 -0
- package/Source/Shaders/Builtin/Functions/fog.js +40 -0
- package/Source/Shaders/Builtin/Functions/gammaCorrect.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/gammaCorrect.js +24 -0
- package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +18 -0
- package/Source/Shaders/Builtin/Functions/getDefaultMaterial.glsl +27 -0
- package/Source/Shaders/Builtin/Functions/getDefaultMaterial.js +29 -0
- package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.js +24 -0
- package/Source/Shaders/Builtin/Functions/getLambertDiffuse.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/getLambertDiffuse.js +24 -0
- package/Source/Shaders/Builtin/Functions/getSpecular.glsl +29 -0
- package/Source/Shaders/Builtin/Functions/getSpecular.js +31 -0
- package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +37 -0
- package/Source/Shaders/Builtin/Functions/getWaterNoise.js +39 -0
- package/Source/Shaders/Builtin/Functions/hue.glsl +30 -0
- package/Source/Shaders/Builtin/Functions/hue.js +32 -0
- package/Source/Shaders/Builtin/Functions/inverseGamma.glsl +12 -0
- package/Source/Shaders/Builtin/Functions/inverseGamma.js +14 -0
- package/Source/Shaders/Builtin/Functions/isEmpty.glsl +19 -0
- package/Source/Shaders/Builtin/Functions/isEmpty.js +21 -0
- package/Source/Shaders/Builtin/Functions/isFull.glsl +19 -0
- package/Source/Shaders/Builtin/Functions/isFull.js +21 -0
- package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.glsl +21 -0
- package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +23 -0
- package/Source/Shaders/Builtin/Functions/lineDistance.glsl +14 -0
- package/Source/Shaders/Builtin/Functions/lineDistance.js +16 -0
- package/Source/Shaders/Builtin/Functions/linearToSrgb.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/linearToSrgb.js +18 -0
- package/Source/Shaders/Builtin/Functions/luminance.glsl +20 -0
- package/Source/Shaders/Builtin/Functions/luminance.js +22 -0
- package/Source/Shaders/Builtin/Functions/maximumComponent.glsl +21 -0
- package/Source/Shaders/Builtin/Functions/maximumComponent.js +23 -0
- package/Source/Shaders/Builtin/Functions/metersPerPixel.glsl +61 -0
- package/Source/Shaders/Builtin/Functions/metersPerPixel.js +63 -0
- package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.glsl +38 -0
- package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.js +40 -0
- package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.glsl +18 -0
- package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.js +20 -0
- package/Source/Shaders/Builtin/Functions/nearFarScalar.glsl +26 -0
- package/Source/Shaders/Builtin/Functions/nearFarScalar.js +28 -0
- package/Source/Shaders/Builtin/Functions/octDecode.glsl +83 -0
- package/Source/Shaders/Builtin/Functions/octDecode.js +85 -0
- package/Source/Shaders/Builtin/Functions/packDepth.glsl +18 -0
- package/Source/Shaders/Builtin/Functions/packDepth.js +20 -0
- package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +164 -0
- package/Source/Shaders/Builtin/Functions/pbrLighting.js +166 -0
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
- package/Source/Shaders/Builtin/Functions/phong.glsl +63 -0
- package/Source/Shaders/Builtin/Functions/phong.js +65 -0
- package/Source/Shaders/Builtin/Functions/planeDistance.glsl +28 -0
- package/Source/Shaders/Builtin/Functions/planeDistance.js +30 -0
- package/Source/Shaders/Builtin/Functions/pointAlongRay.glsl +19 -0
- package/Source/Shaders/Builtin/Functions/pointAlongRay.js +21 -0
- package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.glsl +83 -0
- package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +85 -0
- package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.glsl +36 -0
- package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.js +38 -0
- package/Source/Shaders/Builtin/Functions/readDepth.glsl +4 -0
- package/Source/Shaders/Builtin/Functions/readDepth.js +6 -0
- package/Source/Shaders/Builtin/Functions/readNonPerspective.glsl +31 -0
- package/Source/Shaders/Builtin/Functions/readNonPerspective.js +33 -0
- package/Source/Shaders/Builtin/Functions/reverseLogDepth.glsl +11 -0
- package/Source/Shaders/Builtin/Functions/reverseLogDepth.js +13 -0
- package/Source/Shaders/Builtin/Functions/round.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/round.js +24 -0
- package/Source/Shaders/Builtin/Functions/saturation.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/saturation.js +24 -0
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +26 -0
- package/Source/Shaders/Builtin/Functions/shadowVisibility.glsl +66 -0
- package/Source/Shaders/Builtin/Functions/shadowVisibility.js +68 -0
- package/Source/Shaders/Builtin/Functions/signNotZero.glsl +29 -0
- package/Source/Shaders/Builtin/Functions/signNotZero.js +31 -0
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +44 -0
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +46 -0
- package/Source/Shaders/Builtin/Functions/srgbToLinear.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/srgbToLinear.js +18 -0
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +25 -0
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +27 -0
- package/Source/Shaders/Builtin/Functions/textureCube.glsl +36 -0
- package/Source/Shaders/Builtin/Functions/textureCube.js +37 -0
- package/Source/Shaders/Builtin/Functions/transformPlane.glsl +15 -0
- package/Source/Shaders/Builtin/Functions/transformPlane.js +17 -0
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +45 -0
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +47 -0
- package/Source/Shaders/Builtin/Functions/translucentPhong.glsl +27 -0
- package/Source/Shaders/Builtin/Functions/translucentPhong.js +29 -0
- package/Source/Shaders/Builtin/Functions/transpose.glsl +45 -0
- package/Source/Shaders/Builtin/Functions/transpose.js +47 -0
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +14 -0
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +15 -0
- package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/unpackDepth.js +18 -0
- package/Source/Shaders/Builtin/Functions/unpackFloat.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/unpackFloat.js +26 -0
- package/Source/Shaders/Builtin/Functions/unpackUint.glsl +31 -0
- package/Source/Shaders/Builtin/Functions/unpackUint.js +33 -0
- package/Source/Shaders/Builtin/Functions/valueTransform.glsl +38 -0
- package/Source/Shaders/Builtin/Functions/valueTransform.js +40 -0
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +64 -0
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +66 -0
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +110 -0
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +112 -0
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +26 -0
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +79 -0
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +81 -0
- package/Source/Shaders/Builtin/Functions/writeNonPerspective.glsl +32 -0
- package/Source/Shaders/Builtin/Functions/writeNonPerspective.js +34 -0
- package/Source/Shaders/Builtin/Structs/depthRangeStruct.glsl +9 -0
- package/Source/Shaders/Builtin/Structs/depthRangeStruct.js +11 -0
- package/Source/Shaders/Builtin/Structs/material.glsl +22 -0
- package/Source/Shaders/Builtin/Structs/material.js +24 -0
- package/Source/Shaders/Builtin/Structs/materialInput.glsl +30 -0
- package/Source/Shaders/Builtin/Structs/materialInput.js +32 -0
- package/Source/Shaders/Builtin/Structs/modelMaterial.glsl +45 -0
- package/Source/Shaders/Builtin/Structs/modelMaterial.js +47 -0
- package/Source/Shaders/Builtin/Structs/modelVertexOutput.glsl +16 -0
- package/Source/Shaders/Builtin/Structs/modelVertexOutput.js +18 -0
- package/Source/Shaders/Builtin/Structs/ray.glsl +11 -0
- package/Source/Shaders/Builtin/Structs/ray.js +13 -0
- package/Source/Shaders/Builtin/Structs/raySegment.glsl +27 -0
- package/Source/Shaders/Builtin/Structs/raySegment.js +29 -0
- package/Source/Shaders/Builtin/Structs/shadowParameters.glsl +15 -0
- package/Source/Shaders/Builtin/Structs/shadowParameters.js +17 -0
- package/Source/Shaders/CloudCollectionFS.glsl +263 -0
- package/Source/Shaders/CloudCollectionFS.js +265 -0
- package/Source/Shaders/CloudCollectionVS.glsl +48 -0
- package/Source/Shaders/CloudCollectionVS.js +50 -0
- package/Source/Shaders/CloudNoiseFS.glsl +92 -0
- package/Source/Shaders/CloudNoiseFS.js +94 -0
- package/Source/Shaders/CloudNoiseVS.glsl +18 -0
- package/Source/Shaders/CloudNoiseVS.js +20 -0
- package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +12 -0
- package/Source/Shaders/CompareAndPackTranslucentDepth.js +14 -0
- package/Source/Shaders/CompositeOITFS.glsl +31 -0
- package/Source/Shaders/CompositeOITFS.js +33 -0
- package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
- package/Source/Shaders/ComputeIrradianceFS.js +105 -0
- package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
- package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
- package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
- package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
- package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
- package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
- package/Source/Shaders/DepthPlaneFS.glsl +36 -0
- package/Source/Shaders/DepthPlaneFS.js +38 -0
- package/Source/Shaders/DepthPlaneVS.glsl +11 -0
- package/Source/Shaders/DepthPlaneVS.js +13 -0
- package/Source/Shaders/EllipsoidFS.glsl +104 -0
- package/Source/Shaders/EllipsoidFS.js +106 -0
- package/Source/Shaders/EllipsoidVS.glsl +28 -0
- package/Source/Shaders/EllipsoidVS.js +30 -0
- package/Source/Shaders/FXAA3_11.glsl +650 -0
- package/Source/Shaders/FXAA3_11.js +680 -0
- package/Source/Shaders/GlobeFS.glsl +692 -0
- package/Source/Shaders/GlobeFS.js +694 -0
- package/Source/Shaders/GlobeVS.glsl +286 -0
- package/Source/Shaders/GlobeVS.js +288 -0
- package/Source/Shaders/GroundAtmosphere.glsl +18 -0
- package/Source/Shaders/GroundAtmosphere.js +20 -0
- package/Source/Shaders/Materials/AspectRampMaterial.glsl +11 -0
- package/Source/Shaders/Materials/AspectRampMaterial.js +13 -0
- package/Source/Shaders/Materials/BumpMapMaterial.glsl +29 -0
- package/Source/Shaders/Materials/BumpMapMaterial.js +31 -0
- package/Source/Shaders/Materials/CheckerboardMaterial.glsl +29 -0
- package/Source/Shaders/Materials/CheckerboardMaterial.js +31 -0
- package/Source/Shaders/Materials/DotMaterial.glsl +18 -0
- package/Source/Shaders/Materials/DotMaterial.js +20 -0
- package/Source/Shaders/Materials/ElevationBandMaterial.glsl +74 -0
- package/Source/Shaders/Materials/ElevationBandMaterial.js +76 -0
- package/Source/Shaders/Materials/ElevationContourMaterial.glsl +26 -0
- package/Source/Shaders/Materials/ElevationContourMaterial.js +28 -0
- package/Source/Shaders/Materials/ElevationRampMaterial.glsl +14 -0
- package/Source/Shaders/Materials/ElevationRampMaterial.js +16 -0
- package/Source/Shaders/Materials/FadeMaterial.glsl +37 -0
- package/Source/Shaders/Materials/FadeMaterial.js +39 -0
- package/Source/Shaders/Materials/GridMaterial.glsl +57 -0
- package/Source/Shaders/Materials/GridMaterial.js +59 -0
- package/Source/Shaders/Materials/NormalMapMaterial.glsl +19 -0
- package/Source/Shaders/Materials/NormalMapMaterial.js +21 -0
- package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +63 -0
- package/Source/Shaders/Materials/PolylineArrowMaterial.js +65 -0
- package/Source/Shaders/Materials/PolylineDashMaterial.glsl +39 -0
- package/Source/Shaders/Materials/PolylineDashMaterial.js +41 -0
- package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +25 -0
- package/Source/Shaders/Materials/PolylineGlowMaterial.js +27 -0
- package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +29 -0
- package/Source/Shaders/Materials/PolylineOutlineMaterial.js +31 -0
- package/Source/Shaders/Materials/RimLightingMaterial.glsl +21 -0
- package/Source/Shaders/Materials/RimLightingMaterial.js +23 -0
- package/Source/Shaders/Materials/SlopeRampMaterial.glsl +11 -0
- package/Source/Shaders/Materials/SlopeRampMaterial.js +13 -0
- package/Source/Shaders/Materials/StripeMaterial.glsl +24 -0
- package/Source/Shaders/Materials/StripeMaterial.js +26 -0
- package/Source/Shaders/Materials/Water.glsl +58 -0
- package/Source/Shaders/Materials/Water.js +60 -0
- package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
- package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
- package/Source/Shaders/Model/AtmosphereStageFS.glsl +108 -0
- package/Source/Shaders/Model/AtmosphereStageFS.js +110 -0
- package/Source/Shaders/Model/AtmosphereStageVS.glsl +12 -0
- package/Source/Shaders/Model/AtmosphereStageVS.js +14 -0
- package/Source/Shaders/Model/CPUStylingStageFS.glsl +49 -0
- package/Source/Shaders/Model/CPUStylingStageFS.js +51 -0
- package/Source/Shaders/Model/CPUStylingStageVS.glsl +30 -0
- package/Source/Shaders/Model/CPUStylingStageVS.js +32 -0
- package/Source/Shaders/Model/CustomShaderStageFS.glsl +18 -0
- package/Source/Shaders/Model/CustomShaderStageFS.js +20 -0
- package/Source/Shaders/Model/CustomShaderStageVS.glsl +19 -0
- package/Source/Shaders/Model/CustomShaderStageVS.js +21 -0
- package/Source/Shaders/Model/EdgeDetectionStageFS.glsl +58 -0
- package/Source/Shaders/Model/EdgeDetectionStageFS.js +60 -0
- package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +83 -0
- package/Source/Shaders/Model/EdgeVisibilityStageFS.js +85 -0
- package/Source/Shaders/Model/FeatureIdStageFS.glsl +4 -0
- package/Source/Shaders/Model/FeatureIdStageFS.js +6 -0
- package/Source/Shaders/Model/FeatureIdStageVS.glsl +6 -0
- package/Source/Shaders/Model/FeatureIdStageVS.js +8 -0
- package/Source/Shaders/Model/GeometryStageFS.glsl +25 -0
- package/Source/Shaders/Model/GeometryStageFS.js +27 -0
- package/Source/Shaders/Model/GeometryStageVS.glsl +42 -0
- package/Source/Shaders/Model/GeometryStageVS.js +44 -0
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +101 -0
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +103 -0
- package/Source/Shaders/Model/InstancingStageCommon.glsl +67 -0
- package/Source/Shaders/Model/InstancingStageCommon.js +69 -0
- package/Source/Shaders/Model/InstancingStageVS.glsl +18 -0
- package/Source/Shaders/Model/InstancingStageVS.js +20 -0
- package/Source/Shaders/Model/LegacyInstancingStageVS.glsl +20 -0
- package/Source/Shaders/Model/LegacyInstancingStageVS.js +22 -0
- package/Source/Shaders/Model/LightingStageFS.glsl +120 -0
- package/Source/Shaders/Model/LightingStageFS.js +122 -0
- package/Source/Shaders/Model/MaterialStageFS.glsl +497 -0
- package/Source/Shaders/Model/MaterialStageFS.js +499 -0
- package/Source/Shaders/Model/MetadataStageFS.glsl +9 -0
- package/Source/Shaders/Model/MetadataStageFS.js +11 -0
- package/Source/Shaders/Model/MetadataStageVS.glsl +10 -0
- package/Source/Shaders/Model/MetadataStageVS.js +12 -0
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +88 -0
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +90 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +6 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +8 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +27 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +29 -0
- package/Source/Shaders/Model/ModelColorStageFS.glsl +7 -0
- package/Source/Shaders/Model/ModelColorStageFS.js +9 -0
- package/Source/Shaders/Model/ModelFS.glsl +133 -0
- package/Source/Shaders/Model/ModelFS.js +135 -0
- package/Source/Shaders/Model/ModelSilhouetteStageFS.glsl +5 -0
- package/Source/Shaders/Model/ModelSilhouetteStageFS.js +6 -0
- package/Source/Shaders/Model/ModelSilhouetteStageVS.glsl +10 -0
- package/Source/Shaders/Model/ModelSilhouetteStageVS.js +12 -0
- package/Source/Shaders/Model/ModelSplitterStageFS.glsl +9 -0
- package/Source/Shaders/Model/ModelSplitterStageFS.js +11 -0
- package/Source/Shaders/Model/ModelVS.glsl +161 -0
- package/Source/Shaders/Model/ModelVS.js +163 -0
- package/Source/Shaders/Model/MorphTargetsStageVS.glsl +15 -0
- package/Source/Shaders/Model/MorphTargetsStageVS.js +16 -0
- package/Source/Shaders/Model/PointCloudStylingStageVS.glsl +45 -0
- package/Source/Shaders/Model/PointCloudStylingStageVS.js +47 -0
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +15 -0
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +17 -0
- package/Source/Shaders/Model/PrimitiveOutlineStageVS.glsl +3 -0
- package/Source/Shaders/Model/PrimitiveOutlineStageVS.js +5 -0
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +51 -0
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +53 -0
- package/Source/Shaders/Model/SkinningStageVS.glsl +18 -0
- package/Source/Shaders/Model/SkinningStageVS.js +19 -0
- package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +39 -0
- package/Source/Shaders/Model/VerticalExaggerationStageVS.js +41 -0
- package/Source/Shaders/PointPrimitiveCollectionFS.glsl +47 -0
- package/Source/Shaders/PointPrimitiveCollectionFS.js +49 -0
- package/Source/Shaders/PointPrimitiveCollectionVS.glsl +185 -0
- package/Source/Shaders/PointPrimitiveCollectionVS.js +187 -0
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +100 -0
- package/Source/Shaders/PolygonSignedDistanceFS.js +101 -0
- package/Source/Shaders/PolylineCommon.glsl +176 -0
- package/Source/Shaders/PolylineCommon.js +178 -0
- package/Source/Shaders/PolylineFS.glsl +25 -0
- package/Source/Shaders/PolylineFS.js +27 -0
- package/Source/Shaders/PolylineShadowVolumeFS.glsl +86 -0
- package/Source/Shaders/PolylineShadowVolumeFS.js +88 -0
- package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +45 -0
- package/Source/Shaders/PolylineShadowVolumeMorphFS.js +47 -0
- package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +177 -0
- package/Source/Shaders/PolylineShadowVolumeMorphVS.js +179 -0
- package/Source/Shaders/PolylineShadowVolumeVS.glsl +168 -0
- package/Source/Shaders/PolylineShadowVolumeVS.js +170 -0
- package/Source/Shaders/PolylineVS.glsl +103 -0
- package/Source/Shaders/PolylineVS.js +105 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +25 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +27 -0
- package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +17 -0
- package/Source/Shaders/PostProcessStages/AdditiveBlend.js +19 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +144 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +146 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +11 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +13 -0
- package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +19 -0
- package/Source/Shaders/PostProcessStages/BlackAndWhite.js +21 -0
- package/Source/Shaders/PostProcessStages/BloomComposite.glsl +20 -0
- package/Source/Shaders/PostProcessStages/BloomComposite.js +22 -0
- package/Source/Shaders/PostProcessStages/BrightPass.glsl +30 -0
- package/Source/Shaders/PostProcessStages/BrightPass.js +32 -0
- package/Source/Shaders/PostProcessStages/Brightness.glsl +11 -0
- package/Source/Shaders/PostProcessStages/Brightness.js +13 -0
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +31 -0
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +33 -0
- package/Source/Shaders/PostProcessStages/ContrastBias.glsl +17 -0
- package/Source/Shaders/PostProcessStages/ContrastBias.js +19 -0
- package/Source/Shaders/PostProcessStages/DepthOfField.glsl +39 -0
- package/Source/Shaders/PostProcessStages/DepthOfField.js +41 -0
- package/Source/Shaders/PostProcessStages/DepthView.glsl +9 -0
- package/Source/Shaders/PostProcessStages/DepthView.js +11 -0
- package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +14 -0
- package/Source/Shaders/PostProcessStages/DepthViewPacked.js +16 -0
- package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +60 -0
- package/Source/Shaders/PostProcessStages/EdgeDetection.js +62 -0
- package/Source/Shaders/PostProcessStages/FXAA.glsl +21 -0
- package/Source/Shaders/PostProcessStages/FXAA.js +23 -0
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +40 -0
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +42 -0
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +47 -0
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +49 -0
- package/Source/Shaders/PostProcessStages/LensFlare.glsl +153 -0
- package/Source/Shaders/PostProcessStages/LensFlare.js +155 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +28 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +30 -0
- package/Source/Shaders/PostProcessStages/NightVision.glsl +16 -0
- package/Source/Shaders/PostProcessStages/NightVision.js +18 -0
- package/Source/Shaders/PostProcessStages/PassThrough.glsl +8 -0
- package/Source/Shaders/PostProcessStages/PassThrough.js +10 -0
- package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +8 -0
- package/Source/Shaders/PostProcessStages/PassThroughDepth.js +10 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +61 -0
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +63 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +27 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +29 -0
- package/Source/Shaders/PostProcessStages/Silhouette.glsl +11 -0
- package/Source/Shaders/PostProcessStages/Silhouette.js +13 -0
- package/Source/Shaders/PrimitiveGaussianSplatFS.glsl +18 -0
- package/Source/Shaders/PrimitiveGaussianSplatFS.js +20 -0
- package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +189 -0
- package/Source/Shaders/PrimitiveGaussianSplatVS.js +190 -0
- package/Source/Shaders/ReprojectWebMercatorFS.glsl +8 -0
- package/Source/Shaders/ReprojectWebMercatorFS.js +10 -0
- package/Source/Shaders/ReprojectWebMercatorVS.glsl +12 -0
- package/Source/Shaders/ReprojectWebMercatorVS.js +14 -0
- package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +153 -0
- package/Source/Shaders/ShadowVolumeAppearanceFS.js +155 -0
- package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +101 -0
- package/Source/Shaders/ShadowVolumeAppearanceVS.js +103 -0
- package/Source/Shaders/ShadowVolumeFS.glsl +13 -0
- package/Source/Shaders/ShadowVolumeFS.js +15 -0
- package/Source/Shaders/SkyAtmosphereCommon.glsl +81 -0
- package/Source/Shaders/SkyAtmosphereCommon.js +83 -0
- package/Source/Shaders/SkyAtmosphereFS.glsl +59 -0
- package/Source/Shaders/SkyAtmosphereFS.js +61 -0
- package/Source/Shaders/SkyAtmosphereVS.glsl +32 -0
- package/Source/Shaders/SkyAtmosphereVS.js +34 -0
- package/Source/Shaders/SkyBoxFS.glsl +9 -0
- package/Source/Shaders/SkyBoxFS.js +11 -0
- package/Source/Shaders/SkyBoxVS.glsl +9 -0
- package/Source/Shaders/SkyBoxVS.js +11 -0
- package/Source/Shaders/SunFS.glsl +9 -0
- package/Source/Shaders/SunFS.js +11 -0
- package/Source/Shaders/SunTextureFS.glsl +55 -0
- package/Source/Shaders/SunTextureFS.js +57 -0
- package/Source/Shaders/SunVS.glsl +28 -0
- package/Source/Shaders/SunVS.js +30 -0
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +48 -0
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +50 -0
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +85 -0
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +87 -0
- package/Source/Shaders/Vector3DTilePolylinesVS.glsl +22 -0
- package/Source/Shaders/Vector3DTilePolylinesVS.js +24 -0
- package/Source/Shaders/VectorTileVS.glsl +9 -0
- package/Source/Shaders/VectorTileVS.js +11 -0
- package/Source/Shaders/ViewportQuadFS.glsl +16 -0
- package/Source/Shaders/ViewportQuadFS.js +18 -0
- package/Source/Shaders/ViewportQuadVS.glsl +10 -0
- package/Source/Shaders/ViewportQuadVS.js +12 -0
- package/Source/Shaders/Voxels/IntersectBox.glsl +34 -0
- package/Source/Shaders/Voxels/IntersectBox.js +36 -0
- package/Source/Shaders/Voxels/IntersectCylinder.glsl +142 -0
- package/Source/Shaders/Voxels/IntersectCylinder.js +144 -0
- package/Source/Shaders/Voxels/IntersectDepth.glsl +27 -0
- package/Source/Shaders/Voxels/IntersectDepth.js +29 -0
- package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +330 -0
- package/Source/Shaders/Voxels/IntersectEllipsoid.js +332 -0
- package/Source/Shaders/Voxels/IntersectLongitude.glsl +114 -0
- package/Source/Shaders/Voxels/IntersectLongitude.js +116 -0
- package/Source/Shaders/Voxels/IntersectPlane.glsl +80 -0
- package/Source/Shaders/Voxels/IntersectPlane.js +82 -0
- package/Source/Shaders/Voxels/Intersection.glsl +50 -0
- package/Source/Shaders/Voxels/Intersection.js +52 -0
- package/Source/Shaders/Voxels/IntersectionUtils.glsl +167 -0
- package/Source/Shaders/Voxels/IntersectionUtils.js +169 -0
- package/Source/Shaders/Voxels/Megatexture.glsl +123 -0
- package/Source/Shaders/Voxels/Megatexture.js +125 -0
- package/Source/Shaders/Voxels/Octree.glsl +257 -0
- package/Source/Shaders/Voxels/Octree.js +259 -0
- package/Source/Shaders/Voxels/VoxelFS.glsl +267 -0
- package/Source/Shaders/Voxels/VoxelFS.js +269 -0
- package/Source/Shaders/Voxels/VoxelUtils.glsl +12 -0
- package/Source/Shaders/Voxels/VoxelUtils.js +14 -0
- package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
- package/Source/Shaders/Voxels/VoxelVS.js +13 -0
- package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +30 -0
- package/Source/Shaders/Voxels/convertLocalToBoxUv.js +32 -0
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +97 -0
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +99 -0
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +193 -0
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +195 -0
- package/Source/ThirdParty/Workers/basis_transcoder.js +21 -0
- package/Source/ThirdParty/Workers/package.json +1 -0
- package/Source/ThirdParty/Workers/zip-web-worker.js +1 -0
- package/Source/ThirdParty/basis_transcoder.wasm +0 -0
- package/Source/ThirdParty/draco_decoder.wasm +0 -0
- package/Source/ThirdParty/google-earth-dbroot-parser.js +8337 -0
- package/Source/ThirdParty/wasm_splats_bg.wasm +0 -0
- package/Source/ThirdParty/zip-module.wasm +0 -0
- package/Source/Widget/CesiumWidget.css +119 -0
- package/Source/Widget/CesiumWidget.js +1606 -0
- package/Source/Widget/lighter.css +14 -0
- package/Source/Workers/combineGeometry.js +13 -0
- package/Source/Workers/createBoxGeometry.js +10 -0
- package/Source/Workers/createBoxOutlineGeometry.js +10 -0
- package/Source/Workers/createCircleGeometry.js +18 -0
- package/Source/Workers/createCircleOutlineGeometry.js +18 -0
- package/Source/Workers/createCoplanarPolygonGeometry.js +10 -0
- package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +15 -0
- package/Source/Workers/createCorridorGeometry.js +12 -0
- package/Source/Workers/createCorridorOutlineGeometry.js +17 -0
- package/Source/Workers/createCylinderGeometry.js +10 -0
- package/Source/Workers/createCylinderOutlineGeometry.js +10 -0
- package/Source/Workers/createEllipseGeometry.js +14 -0
- package/Source/Workers/createEllipseOutlineGeometry.js +14 -0
- package/Source/Workers/createEllipsoidGeometry.js +10 -0
- package/Source/Workers/createEllipsoidOutlineGeometry.js +13 -0
- package/Source/Workers/createFrustumGeometry.js +10 -0
- package/Source/Workers/createFrustumOutlineGeometry.js +10 -0
- package/Source/Workers/createGeometry.js +78 -0
- package/Source/Workers/createGroundPolylineGeometry.js +16 -0
- package/Source/Workers/createPlaneGeometry.js +10 -0
- package/Source/Workers/createPlaneOutlineGeometry.js +10 -0
- package/Source/Workers/createPolygonGeometry.js +12 -0
- package/Source/Workers/createPolygonOutlineGeometry.js +12 -0
- package/Source/Workers/createPolylineGeometry.js +12 -0
- package/Source/Workers/createPolylineVolumeGeometry.js +17 -0
- package/Source/Workers/createPolylineVolumeOutlineGeometry.js +22 -0
- package/Source/Workers/createRectangleGeometry.js +14 -0
- package/Source/Workers/createRectangleOutlineGeometry.js +17 -0
- package/Source/Workers/createSimplePolylineGeometry.js +17 -0
- package/Source/Workers/createSphereGeometry.js +10 -0
- package/Source/Workers/createSphereOutlineGeometry.js +10 -0
- package/Source/Workers/createTaskProcessorWorker.js +113 -0
- package/Source/Workers/createVectorTileClampedPolylines.js +541 -0
- package/Source/Workers/createVectorTileGeometries.js +414 -0
- package/Source/Workers/createVectorTilePoints.js +81 -0
- package/Source/Workers/createVectorTilePolygons.js +412 -0
- package/Source/Workers/createVectorTilePolylines.js +210 -0
- package/Source/Workers/createVerticesFromCesium3DTilesTerrain.js +46 -0
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +651 -0
- package/Source/Workers/createVerticesFromHeightmap.js +53 -0
- package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +549 -0
- package/Source/Workers/createWallGeometry.js +12 -0
- package/Source/Workers/createWallOutlineGeometry.js +12 -0
- package/Source/Workers/decodeDraco.js +383 -0
- package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +268 -0
- package/Source/Workers/decodeI3S.js +1652 -0
- package/Source/Workers/gaussianSplatSorter.js +34 -0
- package/Source/Workers/gaussianSplatTextureGenerator.js +39 -0
- package/Source/Workers/incrementallyBuildTerrainPicker.js +108 -0
- package/Source/Workers/transcodeKTX2.js +308 -0
- package/Source/Workers/transferTypedArrayTest.js +16 -0
- package/Source/Workers/upsampleQuantizedTerrainMesh.js +681 -0
- package/Source/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +55 -0
- package/index.d.ts +46026 -0
- package/index.js +1227 -0
- package/package.json +79 -0
|
@@ -0,0 +1,2280 @@
|
|
|
1
|
+
import Uri from "urijs";
|
|
2
|
+
import appendForwardSlash from "./appendForwardSlash.js";
|
|
3
|
+
import Check from "./Check.js";
|
|
4
|
+
import clone from "./clone.js";
|
|
5
|
+
import combine from "./combine.js";
|
|
6
|
+
import Frozen from "./Frozen.js";
|
|
7
|
+
import defer from "./defer.js";
|
|
8
|
+
import defined from "./defined.js";
|
|
9
|
+
import DeveloperError from "./DeveloperError.js";
|
|
10
|
+
import getAbsoluteUri from "./getAbsoluteUri.js";
|
|
11
|
+
import getBaseUri from "./getBaseUri.js";
|
|
12
|
+
import getExtensionFromUri from "./getExtensionFromUri.js";
|
|
13
|
+
import getImagePixels from "./getImagePixels.js";
|
|
14
|
+
import isBlobUri from "./isBlobUri.js";
|
|
15
|
+
import isCrossOriginUrl from "./isCrossOriginUrl.js";
|
|
16
|
+
import isDataUri from "./isDataUri.js";
|
|
17
|
+
import loadAndExecuteScript from "./loadAndExecuteScript.js";
|
|
18
|
+
import CesiumMath from "./Math.js";
|
|
19
|
+
import objectToQuery from "./objectToQuery.js";
|
|
20
|
+
import queryToObject from "./queryToObject.js";
|
|
21
|
+
import Request from "./Request.js";
|
|
22
|
+
import RequestErrorEvent from "./RequestErrorEvent.js";
|
|
23
|
+
import RequestScheduler from "./RequestScheduler.js";
|
|
24
|
+
import RequestState from "./RequestState.js";
|
|
25
|
+
import RuntimeError from "./RuntimeError.js";
|
|
26
|
+
import TrustedServers from "./TrustedServers.js";
|
|
27
|
+
|
|
28
|
+
const xhrBlobSupported = (function () {
|
|
29
|
+
try {
|
|
30
|
+
const xhr = new XMLHttpRequest();
|
|
31
|
+
xhr.open("GET", "#", true);
|
|
32
|
+
xhr.responseType = "blob";
|
|
33
|
+
return xhr.responseType === "blob";
|
|
34
|
+
} catch (e) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
})();
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @typedef {object} Resource.ConstructorOptions
|
|
41
|
+
*
|
|
42
|
+
* Initialization options for the Resource constructor
|
|
43
|
+
*
|
|
44
|
+
* @property {string} url The url of the resource.
|
|
45
|
+
* @property {object} [queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
46
|
+
* @property {object} [templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
47
|
+
* @property {object} [headers={}] Additional HTTP headers that will be sent.
|
|
48
|
+
* @property {Proxy} [proxy] A proxy to be used when loading the resource.
|
|
49
|
+
* @property {Resource.RetryCallback} [retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
50
|
+
* @property {number} [retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
51
|
+
* @property {Request} [request] A Request object that will be used. Intended for internal use only.
|
|
52
|
+
* @property {boolean} [parseUrl=true] If true, parse the url for query parameters; otherwise store the url without change
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* A resource that includes the location and any other parameters we need to retrieve it or create derived resources. It also provides the ability to retry requests.
|
|
57
|
+
*
|
|
58
|
+
* @alias Resource
|
|
59
|
+
* @constructor
|
|
60
|
+
*
|
|
61
|
+
* @param {string|Resource.ConstructorOptions} options A url or an object describing initialization options
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* function refreshTokenRetryCallback(resource, error) {
|
|
65
|
+
* if (error.statusCode === 403) {
|
|
66
|
+
* // 403 status code means a new token should be generated
|
|
67
|
+
* return getNewAccessToken()
|
|
68
|
+
* .then(function(token) {
|
|
69
|
+
* resource.queryParameters.access_token = token;
|
|
70
|
+
* return true;
|
|
71
|
+
* })
|
|
72
|
+
* .catch(function() {
|
|
73
|
+
* return false;
|
|
74
|
+
* });
|
|
75
|
+
* }
|
|
76
|
+
*
|
|
77
|
+
* return false;
|
|
78
|
+
* }
|
|
79
|
+
*
|
|
80
|
+
* const resource = new Resource({
|
|
81
|
+
* url: 'http://server.com/path/to/resource.json',
|
|
82
|
+
* proxy: new DefaultProxy('/proxy/'),
|
|
83
|
+
* headers: {
|
|
84
|
+
* 'X-My-Header': 'valueOfHeader'
|
|
85
|
+
* },
|
|
86
|
+
* queryParameters: {
|
|
87
|
+
* 'access_token': '123-435-456-000'
|
|
88
|
+
* },
|
|
89
|
+
* retryCallback: refreshTokenRetryCallback,
|
|
90
|
+
* retryAttempts: 1
|
|
91
|
+
* });
|
|
92
|
+
*/
|
|
93
|
+
function Resource(options) {
|
|
94
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
95
|
+
if (typeof options === "string") {
|
|
96
|
+
options = {
|
|
97
|
+
url: options,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
//>>includeStart('debug', pragmas.debug);
|
|
102
|
+
Check.typeOf.string("options.url", options.url);
|
|
103
|
+
//>>includeEnd('debug');
|
|
104
|
+
|
|
105
|
+
this._url = undefined;
|
|
106
|
+
this._templateValues = defaultClone(options.templateValues, {});
|
|
107
|
+
this._queryParameters = defaultClone(options.queryParameters, {});
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Additional HTTP headers that will be sent with the request.
|
|
111
|
+
*
|
|
112
|
+
* @type {object}
|
|
113
|
+
*/
|
|
114
|
+
this.headers = defaultClone(options.headers, {});
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* A Request object that will be used. Intended for internal use only.
|
|
118
|
+
*
|
|
119
|
+
* @type {Request}
|
|
120
|
+
*/
|
|
121
|
+
this.request = options.request ?? new Request();
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* A proxy to be used when loading the resource.
|
|
125
|
+
*
|
|
126
|
+
* @type {Proxy}
|
|
127
|
+
*/
|
|
128
|
+
this.proxy = options.proxy;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Function to call when a request for this resource fails. If it returns true or a Promise that resolves to true, the request will be retried.
|
|
132
|
+
*
|
|
133
|
+
* @type {Function}
|
|
134
|
+
*/
|
|
135
|
+
this.retryCallback = options.retryCallback;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* The number of times the retryCallback should be called before giving up.
|
|
139
|
+
*
|
|
140
|
+
* @type {number}
|
|
141
|
+
*/
|
|
142
|
+
this.retryAttempts = options.retryAttempts ?? 0;
|
|
143
|
+
this._retryCount = 0;
|
|
144
|
+
|
|
145
|
+
const parseUrl = options.parseUrl ?? true;
|
|
146
|
+
if (parseUrl) {
|
|
147
|
+
this.parseUrl(options.url, true, true);
|
|
148
|
+
} else {
|
|
149
|
+
this._url = options.url;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
this._credits = options.credits;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Clones a value if it is defined, otherwise returns the default value
|
|
157
|
+
*
|
|
158
|
+
* @param {object} [value] The value to clone.
|
|
159
|
+
* @param {object} [defaultValue] The default value.
|
|
160
|
+
*
|
|
161
|
+
* @returns {object} A clone of value or the defaultValue.
|
|
162
|
+
*
|
|
163
|
+
* @private
|
|
164
|
+
*/
|
|
165
|
+
function defaultClone(value, defaultValue) {
|
|
166
|
+
return defined(value) ? clone(value) : defaultValue;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* A helper function to create a resource depending on whether we have a String or a Resource
|
|
171
|
+
*
|
|
172
|
+
* @param {Resource|string} resource A Resource or a String to use when creating a new Resource.
|
|
173
|
+
*
|
|
174
|
+
* @returns {Resource} If resource is a String, a Resource constructed with the url and options. Otherwise the resource parameter is returned.
|
|
175
|
+
*
|
|
176
|
+
* @private
|
|
177
|
+
*/
|
|
178
|
+
Resource.createIfNeeded = function (resource) {
|
|
179
|
+
if (resource instanceof Resource) {
|
|
180
|
+
// Keep existing request object. This function is used internally to duplicate a Resource, so that it can't
|
|
181
|
+
// be modified outside of a class that holds it (eg. an imagery or terrain provider). Since the Request objects
|
|
182
|
+
// are managed outside of the providers, by the tile loading code, we want to keep the request property the same so if it is changed
|
|
183
|
+
// in the underlying tiling code the requests for this resource will use it.
|
|
184
|
+
return resource.getDerivedResource({
|
|
185
|
+
request: resource.request,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (typeof resource !== "string") {
|
|
190
|
+
return resource;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
return new Resource({
|
|
194
|
+
url: resource,
|
|
195
|
+
});
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
let supportsImageBitmapOptionsPromise;
|
|
199
|
+
/**
|
|
200
|
+
* A helper function to check whether createImageBitmap supports passing ImageBitmapOptions.
|
|
201
|
+
*
|
|
202
|
+
* @returns {Promise<boolean>} A promise that resolves to true if this browser supports creating an ImageBitmap with options.
|
|
203
|
+
*
|
|
204
|
+
* @private
|
|
205
|
+
*/
|
|
206
|
+
Resource.supportsImageBitmapOptions = function () {
|
|
207
|
+
// Until the HTML folks figure out what to do about this, we need to actually try loading an image to
|
|
208
|
+
// know if this browser supports passing options to the createImageBitmap function.
|
|
209
|
+
// https://github.com/whatwg/html/pull/4248
|
|
210
|
+
//
|
|
211
|
+
// We also need to check whether the colorSpaceConversion option is supported.
|
|
212
|
+
// We do this by loading a PNG with an embedded color profile, first with
|
|
213
|
+
// colorSpaceConversion: "none" and then with colorSpaceConversion: "default".
|
|
214
|
+
// If the pixel color is different then we know the option is working.
|
|
215
|
+
// As of Webkit 17612.3.6.1.6 the createImageBitmap promise resolves but the
|
|
216
|
+
// option is not actually supported.
|
|
217
|
+
if (defined(supportsImageBitmapOptionsPromise)) {
|
|
218
|
+
return supportsImageBitmapOptionsPromise;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
if (typeof createImageBitmap !== "function") {
|
|
222
|
+
supportsImageBitmapOptionsPromise = Promise.resolve(false);
|
|
223
|
+
return supportsImageBitmapOptionsPromise;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
const imageDataUri =
|
|
227
|
+
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC";
|
|
228
|
+
|
|
229
|
+
supportsImageBitmapOptionsPromise = Resource.fetchBlob({
|
|
230
|
+
url: imageDataUri,
|
|
231
|
+
})
|
|
232
|
+
.then(function (blob) {
|
|
233
|
+
const imageBitmapOptions = {
|
|
234
|
+
// 'from-image' is deprecated, new option is 'none'. However, we still need to support older browsers,
|
|
235
|
+
// and there's no good way to detect support for these options. For now, continue to use 'from-image'. See: https://github.com/CesiumGS/cesium/issues/12846
|
|
236
|
+
imageOrientation: "flipY", // default is "from-image"
|
|
237
|
+
premultiplyAlpha: "none", // default is "default"
|
|
238
|
+
colorSpaceConversion: "none", // default is "default"
|
|
239
|
+
};
|
|
240
|
+
return Promise.all([
|
|
241
|
+
createImageBitmap(blob, imageBitmapOptions),
|
|
242
|
+
createImageBitmap(blob),
|
|
243
|
+
]);
|
|
244
|
+
})
|
|
245
|
+
.then(function (imageBitmaps) {
|
|
246
|
+
// Check whether the colorSpaceConversion option had any effect on the green channel
|
|
247
|
+
const colorWithOptions = getImagePixels(imageBitmaps[0]);
|
|
248
|
+
const colorWithDefaults = getImagePixels(imageBitmaps[1]);
|
|
249
|
+
return colorWithOptions[1] !== colorWithDefaults[1];
|
|
250
|
+
})
|
|
251
|
+
.catch(function () {
|
|
252
|
+
return false;
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
return supportsImageBitmapOptionsPromise;
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
Object.defineProperties(Resource, {
|
|
259
|
+
/**
|
|
260
|
+
* Returns true if blobs are supported.
|
|
261
|
+
*
|
|
262
|
+
* @memberof Resource
|
|
263
|
+
* @type {boolean}
|
|
264
|
+
*
|
|
265
|
+
* @readonly
|
|
266
|
+
*/
|
|
267
|
+
isBlobSupported: {
|
|
268
|
+
get: function () {
|
|
269
|
+
return xhrBlobSupported;
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
Object.defineProperties(Resource.prototype, {
|
|
275
|
+
/**
|
|
276
|
+
* Query parameters appended to the url.
|
|
277
|
+
*
|
|
278
|
+
* @memberof Resource.prototype
|
|
279
|
+
* @type {object}
|
|
280
|
+
*
|
|
281
|
+
* @readonly
|
|
282
|
+
*/
|
|
283
|
+
queryParameters: {
|
|
284
|
+
get: function () {
|
|
285
|
+
return this._queryParameters;
|
|
286
|
+
},
|
|
287
|
+
},
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* The key/value pairs used to replace template parameters in the url.
|
|
291
|
+
*
|
|
292
|
+
* @memberof Resource.prototype
|
|
293
|
+
* @type {object}
|
|
294
|
+
*
|
|
295
|
+
* @readonly
|
|
296
|
+
*/
|
|
297
|
+
templateValues: {
|
|
298
|
+
get: function () {
|
|
299
|
+
return this._templateValues;
|
|
300
|
+
},
|
|
301
|
+
},
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* The url to the resource with template values replaced, query string appended and encoded by proxy if one was set.
|
|
305
|
+
*
|
|
306
|
+
* @memberof Resource.prototype
|
|
307
|
+
* @type {string}
|
|
308
|
+
*/
|
|
309
|
+
url: {
|
|
310
|
+
get: function () {
|
|
311
|
+
return this.getUrlComponent(true, true);
|
|
312
|
+
},
|
|
313
|
+
set: function (value) {
|
|
314
|
+
this.parseUrl(value, false, false);
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* The file extension of the resource.
|
|
320
|
+
*
|
|
321
|
+
* @memberof Resource.prototype
|
|
322
|
+
* @type {string}
|
|
323
|
+
*
|
|
324
|
+
* @readonly
|
|
325
|
+
*/
|
|
326
|
+
extension: {
|
|
327
|
+
get: function () {
|
|
328
|
+
return getExtensionFromUri(this._url);
|
|
329
|
+
},
|
|
330
|
+
},
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* True if the Resource refers to a data URI.
|
|
334
|
+
*
|
|
335
|
+
* @memberof Resource.prototype
|
|
336
|
+
* @type {boolean}
|
|
337
|
+
*/
|
|
338
|
+
isDataUri: {
|
|
339
|
+
get: function () {
|
|
340
|
+
return isDataUri(this._url);
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* True if the Resource refers to a blob URI.
|
|
346
|
+
*
|
|
347
|
+
* @memberof Resource.prototype
|
|
348
|
+
* @type {boolean}
|
|
349
|
+
*/
|
|
350
|
+
isBlobUri: {
|
|
351
|
+
get: function () {
|
|
352
|
+
return isBlobUri(this._url);
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* True if the Resource refers to a cross origin URL.
|
|
358
|
+
*
|
|
359
|
+
* @memberof Resource.prototype
|
|
360
|
+
* @type {boolean}
|
|
361
|
+
*/
|
|
362
|
+
isCrossOriginUrl: {
|
|
363
|
+
get: function () {
|
|
364
|
+
return isCrossOriginUrl(this._url);
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* True if the Resource has request headers. This is equivalent to checking if the headers property has any keys.
|
|
370
|
+
*
|
|
371
|
+
* @memberof Resource.prototype
|
|
372
|
+
* @type {boolean}
|
|
373
|
+
*/
|
|
374
|
+
hasHeaders: {
|
|
375
|
+
get: function () {
|
|
376
|
+
return Object.keys(this.headers).length > 0;
|
|
377
|
+
},
|
|
378
|
+
},
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Gets the credits required for attribution of an asset.
|
|
382
|
+
* @private
|
|
383
|
+
*/
|
|
384
|
+
credits: {
|
|
385
|
+
get: function () {
|
|
386
|
+
return this._credits;
|
|
387
|
+
},
|
|
388
|
+
},
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Override Object#toString so that implicit string conversion gives the
|
|
393
|
+
* complete URL represented by this Resource.
|
|
394
|
+
*
|
|
395
|
+
* @returns {string} The URL represented by this Resource
|
|
396
|
+
*/
|
|
397
|
+
Resource.prototype.toString = function () {
|
|
398
|
+
return this.getUrlComponent(true, true);
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Parse a url string, and store its info
|
|
403
|
+
*
|
|
404
|
+
* @param {string} url The input url string.
|
|
405
|
+
* @param {boolean} merge If true, we'll merge with the resource's existing queryParameters. Otherwise they will be replaced.
|
|
406
|
+
* @param {boolean} preserveQuery If true duplicate parameters will be concatenated into an array. If false, keys in url will take precedence.
|
|
407
|
+
* @param {string} [baseUrl] If supplied, and input url is a relative url, it will be made absolute relative to baseUrl
|
|
408
|
+
*
|
|
409
|
+
* @private
|
|
410
|
+
*/
|
|
411
|
+
Resource.prototype.parseUrl = function (url, merge, preserveQuery, baseUrl) {
|
|
412
|
+
let uri = new Uri(url);
|
|
413
|
+
const query = parseQueryString(uri.query());
|
|
414
|
+
|
|
415
|
+
this._queryParameters = merge
|
|
416
|
+
? combineQueryParameters(query, this.queryParameters, preserveQuery)
|
|
417
|
+
: query;
|
|
418
|
+
|
|
419
|
+
// Remove unneeded info from the Uri
|
|
420
|
+
uri.search("");
|
|
421
|
+
uri.fragment("");
|
|
422
|
+
|
|
423
|
+
if (defined(baseUrl) && uri.scheme() === "") {
|
|
424
|
+
uri = uri.absoluteTo(getAbsoluteUri(baseUrl));
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
this._url = uri.toString();
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* Parses a query string and returns the object equivalent.
|
|
432
|
+
*
|
|
433
|
+
* @param {string} queryString The query string
|
|
434
|
+
* @returns {object}
|
|
435
|
+
*
|
|
436
|
+
* @private
|
|
437
|
+
*/
|
|
438
|
+
function parseQueryString(queryString) {
|
|
439
|
+
if (queryString.length === 0) {
|
|
440
|
+
return {};
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
// Special case where the querystring is just a string, not key/value pairs
|
|
444
|
+
if (queryString.indexOf("=") === -1) {
|
|
445
|
+
return { [queryString]: undefined };
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
return queryToObject(queryString);
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* This combines a map of query parameters.
|
|
453
|
+
*
|
|
454
|
+
* @param {object} q1 The first map of query parameters. Values in this map will take precedence if preserveQueryParameters is false.
|
|
455
|
+
* @param {object} q2 The second map of query parameters.
|
|
456
|
+
* @param {boolean} preserveQueryParameters If true duplicate parameters will be concatenated into an array. If false, keys in q1 will take precedence.
|
|
457
|
+
*
|
|
458
|
+
* @returns {object} The combined map of query parameters.
|
|
459
|
+
*
|
|
460
|
+
* @example
|
|
461
|
+
* const q1 = {
|
|
462
|
+
* a: 1,
|
|
463
|
+
* b: 2
|
|
464
|
+
* };
|
|
465
|
+
* const q2 = {
|
|
466
|
+
* a: 3,
|
|
467
|
+
* c: 4
|
|
468
|
+
* };
|
|
469
|
+
* const q3 = {
|
|
470
|
+
* b: [5, 6],
|
|
471
|
+
* d: 7
|
|
472
|
+
* }
|
|
473
|
+
*
|
|
474
|
+
* // Returns
|
|
475
|
+
* // {
|
|
476
|
+
* // a: [1, 3],
|
|
477
|
+
* // b: 2,
|
|
478
|
+
* // c: 4
|
|
479
|
+
* // };
|
|
480
|
+
* combineQueryParameters(q1, q2, true);
|
|
481
|
+
*
|
|
482
|
+
* // Returns
|
|
483
|
+
* // {
|
|
484
|
+
* // a: 1,
|
|
485
|
+
* // b: 2,
|
|
486
|
+
* // c: 4
|
|
487
|
+
* // };
|
|
488
|
+
* combineQueryParameters(q1, q2, false);
|
|
489
|
+
*
|
|
490
|
+
* // Returns
|
|
491
|
+
* // {
|
|
492
|
+
* // a: 1,
|
|
493
|
+
* // b: [2, 5, 6],
|
|
494
|
+
* // d: 7
|
|
495
|
+
* // };
|
|
496
|
+
* combineQueryParameters(q1, q3, true);
|
|
497
|
+
*
|
|
498
|
+
* // Returns
|
|
499
|
+
* // {
|
|
500
|
+
* // a: 1,
|
|
501
|
+
* // b: 2,
|
|
502
|
+
* // d: 7
|
|
503
|
+
* // };
|
|
504
|
+
* combineQueryParameters(q1, q3, false);
|
|
505
|
+
*
|
|
506
|
+
* @private
|
|
507
|
+
*/
|
|
508
|
+
function combineQueryParameters(q1, q2, preserveQueryParameters) {
|
|
509
|
+
if (!preserveQueryParameters) {
|
|
510
|
+
return combine(q1, q2);
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
const result = clone(q1, true);
|
|
514
|
+
for (const param in q2) {
|
|
515
|
+
if (q2.hasOwnProperty(param)) {
|
|
516
|
+
let value = result[param];
|
|
517
|
+
const q2Value = q2[param];
|
|
518
|
+
if (defined(value)) {
|
|
519
|
+
if (!Array.isArray(value)) {
|
|
520
|
+
value = result[param] = [value];
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
result[param] = value.concat(q2Value);
|
|
524
|
+
} else {
|
|
525
|
+
result[param] = Array.isArray(q2Value) ? q2Value.slice() : q2Value;
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
return result;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* Returns the url, optional with the query string and processed by a proxy.
|
|
535
|
+
*
|
|
536
|
+
* @param {boolean} [query=false] If true, the query string is included.
|
|
537
|
+
* @param {boolean} [proxy=false] If true, the url is processed by the proxy object, if defined.
|
|
538
|
+
*
|
|
539
|
+
* @returns {string} The url with all the requested components.
|
|
540
|
+
*/
|
|
541
|
+
Resource.prototype.getUrlComponent = function (query, proxy) {
|
|
542
|
+
if (this.isDataUri) {
|
|
543
|
+
return this._url;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
let url = this._url;
|
|
547
|
+
if (query) {
|
|
548
|
+
url = `${url}${stringifyQuery(this.queryParameters)}`;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
// Restore the placeholders, which may have been escaped in objectToQuery or elsewhere
|
|
552
|
+
url = url.replace(/%7B/g, "{").replace(/%7D/g, "}");
|
|
553
|
+
|
|
554
|
+
const templateValues = this._templateValues;
|
|
555
|
+
if (Object.keys(templateValues).length > 0) {
|
|
556
|
+
url = url.replace(/{(.*?)}/g, function (match, key) {
|
|
557
|
+
const replacement = templateValues[key];
|
|
558
|
+
if (defined(replacement)) {
|
|
559
|
+
// use the replacement value from templateValues if there is one...
|
|
560
|
+
return encodeURIComponent(replacement);
|
|
561
|
+
}
|
|
562
|
+
// otherwise leave it unchanged
|
|
563
|
+
return match;
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
if (proxy && defined(this.proxy)) {
|
|
568
|
+
url = this.proxy.getURL(url);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
return url;
|
|
572
|
+
};
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* Converts a query object into a string.
|
|
576
|
+
*
|
|
577
|
+
* @param {object} queryObject The object with query parameters
|
|
578
|
+
* @returns {string}
|
|
579
|
+
*
|
|
580
|
+
* @private
|
|
581
|
+
*/
|
|
582
|
+
function stringifyQuery(queryObject) {
|
|
583
|
+
const keys = Object.keys(queryObject);
|
|
584
|
+
|
|
585
|
+
if (keys.length === 0) {
|
|
586
|
+
return "";
|
|
587
|
+
}
|
|
588
|
+
if (keys.length === 1 && !defined(queryObject[keys[0]])) {
|
|
589
|
+
// We have 1 key with an undefined value, so this is just a string, not key/value pairs
|
|
590
|
+
return `?${keys[0]}`;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
return `?${objectToQuery(queryObject)}`;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* Combines the specified object and the existing query parameters. This allows you to add many parameters at once,
|
|
598
|
+
* as opposed to adding them one at a time to the queryParameters property. If a value is already set, it will be replaced with the new value.
|
|
599
|
+
*
|
|
600
|
+
* @param {object} params The query parameters
|
|
601
|
+
* @param {boolean} [useAsDefault=false] If true the params will be used as the default values, so they will only be set if they are undefined.
|
|
602
|
+
*/
|
|
603
|
+
Resource.prototype.setQueryParameters = function (params, useAsDefault) {
|
|
604
|
+
if (useAsDefault) {
|
|
605
|
+
this._queryParameters = combineQueryParameters(
|
|
606
|
+
this._queryParameters,
|
|
607
|
+
params,
|
|
608
|
+
false,
|
|
609
|
+
);
|
|
610
|
+
} else {
|
|
611
|
+
this._queryParameters = combineQueryParameters(
|
|
612
|
+
params,
|
|
613
|
+
this._queryParameters,
|
|
614
|
+
false,
|
|
615
|
+
);
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
/**
|
|
620
|
+
* Combines the specified object and the existing query parameters. This allows you to add many parameters at once,
|
|
621
|
+
* as opposed to adding them one at a time to the queryParameters property.
|
|
622
|
+
*
|
|
623
|
+
* @param {object} params The query parameters
|
|
624
|
+
*/
|
|
625
|
+
Resource.prototype.appendQueryParameters = function (params) {
|
|
626
|
+
this._queryParameters = combineQueryParameters(
|
|
627
|
+
params,
|
|
628
|
+
this._queryParameters,
|
|
629
|
+
true,
|
|
630
|
+
);
|
|
631
|
+
};
|
|
632
|
+
|
|
633
|
+
/**
|
|
634
|
+
* Combines the specified object and the existing template values. This allows you to add many values at once,
|
|
635
|
+
* as opposed to adding them one at a time to the templateValues property. If a value is already set, it will become an array and the new value will be appended.
|
|
636
|
+
*
|
|
637
|
+
* @param {object} template The template values
|
|
638
|
+
* @param {boolean} [useAsDefault=false] If true the values will be used as the default values, so they will only be set if they are undefined.
|
|
639
|
+
*/
|
|
640
|
+
Resource.prototype.setTemplateValues = function (template, useAsDefault) {
|
|
641
|
+
if (useAsDefault) {
|
|
642
|
+
this._templateValues = combine(this._templateValues, template);
|
|
643
|
+
} else {
|
|
644
|
+
this._templateValues = combine(template, this._templateValues);
|
|
645
|
+
}
|
|
646
|
+
};
|
|
647
|
+
|
|
648
|
+
/**
|
|
649
|
+
* Returns a resource relative to the current instance. All properties remain the same as the current instance unless overridden in options.
|
|
650
|
+
*
|
|
651
|
+
* @param {object} options An object with the following properties
|
|
652
|
+
* @param {string} [options.url] The url that will be resolved relative to the url of the current instance.
|
|
653
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be combined with those of the current instance.
|
|
654
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}). These will be combined with those of the current instance.
|
|
655
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
656
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
657
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The function to call when loading the resource fails.
|
|
658
|
+
* @param {number} [options.retryAttempts] The number of times the retryCallback should be called before giving up.
|
|
659
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
660
|
+
* @param {boolean} [options.preserveQueryParameters=false] If true, this will keep all query parameters from the current resource and derived resource. If false, derived parameters will replace those of the current resource.
|
|
661
|
+
*
|
|
662
|
+
* @returns {Resource} The resource derived from the current one.
|
|
663
|
+
*/
|
|
664
|
+
Resource.prototype.getDerivedResource = function (options) {
|
|
665
|
+
const resource = this.clone();
|
|
666
|
+
resource._retryCount = 0;
|
|
667
|
+
|
|
668
|
+
if (defined(options.url)) {
|
|
669
|
+
const preserveQuery = options.preserveQueryParameters ?? false;
|
|
670
|
+
resource.parseUrl(options.url, true, preserveQuery, this._url);
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
if (defined(options.queryParameters)) {
|
|
674
|
+
resource._queryParameters = combine(
|
|
675
|
+
options.queryParameters,
|
|
676
|
+
resource.queryParameters,
|
|
677
|
+
);
|
|
678
|
+
}
|
|
679
|
+
if (defined(options.templateValues)) {
|
|
680
|
+
resource._templateValues = combine(
|
|
681
|
+
options.templateValues,
|
|
682
|
+
resource.templateValues,
|
|
683
|
+
);
|
|
684
|
+
}
|
|
685
|
+
if (defined(options.headers)) {
|
|
686
|
+
resource.headers = combine(options.headers, resource.headers);
|
|
687
|
+
}
|
|
688
|
+
if (defined(options.proxy)) {
|
|
689
|
+
resource.proxy = options.proxy;
|
|
690
|
+
}
|
|
691
|
+
if (defined(options.request)) {
|
|
692
|
+
resource.request = options.request;
|
|
693
|
+
}
|
|
694
|
+
if (defined(options.retryCallback)) {
|
|
695
|
+
resource.retryCallback = options.retryCallback;
|
|
696
|
+
}
|
|
697
|
+
if (defined(options.retryAttempts)) {
|
|
698
|
+
resource.retryAttempts = options.retryAttempts;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
return resource;
|
|
702
|
+
};
|
|
703
|
+
|
|
704
|
+
/**
|
|
705
|
+
* Called when a resource fails to load. This will call the retryCallback function if defined until retryAttempts is reached.
|
|
706
|
+
*
|
|
707
|
+
* @param {RequestErrorEvent} [error] The error that was encountered.
|
|
708
|
+
*
|
|
709
|
+
* @returns {Promise<boolean>} A promise to a boolean, that if true will cause the resource request to be retried.
|
|
710
|
+
*
|
|
711
|
+
* @private
|
|
712
|
+
*/
|
|
713
|
+
Resource.prototype.retryOnError = function (error) {
|
|
714
|
+
const retryCallback = this.retryCallback;
|
|
715
|
+
if (
|
|
716
|
+
typeof retryCallback !== "function" ||
|
|
717
|
+
this._retryCount >= this.retryAttempts
|
|
718
|
+
) {
|
|
719
|
+
return Promise.resolve(false);
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
const that = this;
|
|
723
|
+
return Promise.resolve(retryCallback(this, error)).then(function (result) {
|
|
724
|
+
++that._retryCount;
|
|
725
|
+
|
|
726
|
+
return result;
|
|
727
|
+
});
|
|
728
|
+
};
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Duplicates a Resource instance.
|
|
732
|
+
*
|
|
733
|
+
* @param {Resource} [result] The object onto which to store the result.
|
|
734
|
+
*
|
|
735
|
+
* @returns {Resource} The modified result parameter or a new Resource instance if one was not provided.
|
|
736
|
+
*/
|
|
737
|
+
Resource.prototype.clone = function (result) {
|
|
738
|
+
if (!defined(result)) {
|
|
739
|
+
return new Resource({
|
|
740
|
+
url: this._url,
|
|
741
|
+
queryParameters: this.queryParameters,
|
|
742
|
+
templateValues: this.templateValues,
|
|
743
|
+
headers: this.headers,
|
|
744
|
+
proxy: this.proxy,
|
|
745
|
+
retryCallback: this.retryCallback,
|
|
746
|
+
retryAttempts: this.retryAttempts,
|
|
747
|
+
request: this.request.clone(),
|
|
748
|
+
parseUrl: false,
|
|
749
|
+
credits: defined(this.credits) ? this.credits.slice() : undefined,
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
result._url = this._url;
|
|
754
|
+
result._queryParameters = clone(this._queryParameters);
|
|
755
|
+
result._templateValues = clone(this._templateValues);
|
|
756
|
+
result.headers = clone(this.headers);
|
|
757
|
+
result.proxy = this.proxy;
|
|
758
|
+
result.retryCallback = this.retryCallback;
|
|
759
|
+
result.retryAttempts = this.retryAttempts;
|
|
760
|
+
result._retryCount = 0;
|
|
761
|
+
result.request = this.request.clone();
|
|
762
|
+
|
|
763
|
+
return result;
|
|
764
|
+
};
|
|
765
|
+
|
|
766
|
+
/**
|
|
767
|
+
* Returns the base path of the Resource.
|
|
768
|
+
*
|
|
769
|
+
* @param {boolean} [includeQuery = false] Whether or not to include the query string and fragment form the uri
|
|
770
|
+
*
|
|
771
|
+
* @returns {string} The base URI of the resource
|
|
772
|
+
*/
|
|
773
|
+
Resource.prototype.getBaseUri = function (includeQuery) {
|
|
774
|
+
return getBaseUri(this.getUrlComponent(includeQuery), includeQuery);
|
|
775
|
+
};
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* Appends a forward slash to the URL.
|
|
779
|
+
*/
|
|
780
|
+
Resource.prototype.appendForwardSlash = function () {
|
|
781
|
+
this._url = appendForwardSlash(this._url);
|
|
782
|
+
};
|
|
783
|
+
|
|
784
|
+
/**
|
|
785
|
+
* Asynchronously loads the resource as raw binary data. Returns a promise that will resolve to
|
|
786
|
+
* an ArrayBuffer once loaded, or reject if the resource failed to load. The data is loaded
|
|
787
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
788
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
789
|
+
*
|
|
790
|
+
* @returns {Promise<ArrayBuffer>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
791
|
+
*
|
|
792
|
+
* @example
|
|
793
|
+
* // load a single URL asynchronously
|
|
794
|
+
* resource.fetchArrayBuffer().then(function(arrayBuffer) {
|
|
795
|
+
* // use the data
|
|
796
|
+
* }).catch(function(error) {
|
|
797
|
+
* // an error occurred
|
|
798
|
+
* });
|
|
799
|
+
*
|
|
800
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
801
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
802
|
+
*/
|
|
803
|
+
Resource.prototype.fetchArrayBuffer = function () {
|
|
804
|
+
return this.fetch({
|
|
805
|
+
responseType: "arraybuffer",
|
|
806
|
+
});
|
|
807
|
+
};
|
|
808
|
+
|
|
809
|
+
/**
|
|
810
|
+
* Creates a Resource and calls fetchArrayBuffer() on it.
|
|
811
|
+
*
|
|
812
|
+
* @param {string|object} options A url or an object with the following properties
|
|
813
|
+
* @param {string} options.url The url of the resource.
|
|
814
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
815
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
816
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
817
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
818
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
819
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
820
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
821
|
+
* @returns {Promise<ArrayBuffer>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
822
|
+
*/
|
|
823
|
+
Resource.fetchArrayBuffer = function (options) {
|
|
824
|
+
const resource = new Resource(options);
|
|
825
|
+
return resource.fetchArrayBuffer();
|
|
826
|
+
};
|
|
827
|
+
|
|
828
|
+
/**
|
|
829
|
+
* Asynchronously loads the given resource as a blob. Returns a promise that will resolve to
|
|
830
|
+
* a Blob once loaded, or reject if the resource failed to load. The data is loaded
|
|
831
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
832
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
833
|
+
*
|
|
834
|
+
* @returns {Promise<Blob>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
835
|
+
*
|
|
836
|
+
* @example
|
|
837
|
+
* // load a single URL asynchronously
|
|
838
|
+
* resource.fetchBlob().then(function(blob) {
|
|
839
|
+
* // use the data
|
|
840
|
+
* }).catch(function(error) {
|
|
841
|
+
* // an error occurred
|
|
842
|
+
* });
|
|
843
|
+
*
|
|
844
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
845
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
846
|
+
*/
|
|
847
|
+
Resource.prototype.fetchBlob = function () {
|
|
848
|
+
return this.fetch({
|
|
849
|
+
responseType: "blob",
|
|
850
|
+
});
|
|
851
|
+
};
|
|
852
|
+
|
|
853
|
+
/**
|
|
854
|
+
* Creates a Resource and calls fetchBlob() on it.
|
|
855
|
+
*
|
|
856
|
+
* @param {string|object} options A url or an object with the following properties
|
|
857
|
+
* @param {string} options.url The url of the resource.
|
|
858
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
859
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
860
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
861
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
862
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
863
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
864
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
865
|
+
* @returns {Promise<Blob>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
866
|
+
*/
|
|
867
|
+
Resource.fetchBlob = function (options) {
|
|
868
|
+
const resource = new Resource(options);
|
|
869
|
+
return resource.fetchBlob();
|
|
870
|
+
};
|
|
871
|
+
|
|
872
|
+
/**
|
|
873
|
+
* Asynchronously loads the given image resource. Returns a promise that will resolve to
|
|
874
|
+
* an {@link https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap|ImageBitmap} if <code>preferImageBitmap</code> is true and the browser supports <code>createImageBitmap</code> or otherwise an
|
|
875
|
+
* {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement|Image} once loaded, or reject if the image failed to load.
|
|
876
|
+
*
|
|
877
|
+
* @param {object} [options] An object with the following properties.
|
|
878
|
+
* @param {boolean} [options.preferBlob=false] If true, we will load the image via a blob.
|
|
879
|
+
* @param {boolean} [options.preferImageBitmap=false] If true, image will be decoded during fetch and an <code>ImageBitmap</code> is returned.
|
|
880
|
+
* @param {boolean} [options.flipY=false] If true, image will be vertically flipped during decode. Only applies if the browser supports <code>createImageBitmap</code>.
|
|
881
|
+
* @param {boolean} [options.skipColorSpaceConversion=false] If true, any custom gamma or color profiles in the image will be ignored. Only applies if the browser supports <code>createImageBitmap</code>.
|
|
882
|
+
* @returns {Promise<ImageBitmap|HTMLImageElement>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
883
|
+
*
|
|
884
|
+
*
|
|
885
|
+
* @example
|
|
886
|
+
* // load a single image asynchronously
|
|
887
|
+
* resource.fetchImage().then(function(image) {
|
|
888
|
+
* // use the loaded image
|
|
889
|
+
* }).catch(function(error) {
|
|
890
|
+
* // an error occurred
|
|
891
|
+
* });
|
|
892
|
+
*
|
|
893
|
+
* // load several images in parallel
|
|
894
|
+
* Promise.all([resource1.fetchImage(), resource2.fetchImage()]).then(function(images) {
|
|
895
|
+
* // images is an array containing all the loaded images
|
|
896
|
+
* });
|
|
897
|
+
*
|
|
898
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
899
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
900
|
+
*/
|
|
901
|
+
Resource.prototype.fetchImage = function (options) {
|
|
902
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
903
|
+
const preferImageBitmap = options.preferImageBitmap ?? false;
|
|
904
|
+
const preferBlob = options.preferBlob ?? false;
|
|
905
|
+
const flipY = options.flipY ?? false;
|
|
906
|
+
const skipColorSpaceConversion = options.skipColorSpaceConversion ?? false;
|
|
907
|
+
|
|
908
|
+
checkAndResetRequest(this.request);
|
|
909
|
+
// We try to load the image normally if
|
|
910
|
+
// 1. Blobs aren't supported
|
|
911
|
+
// 2. It's a data URI
|
|
912
|
+
// 3. It's a blob URI
|
|
913
|
+
// 4. It doesn't have request headers and we preferBlob is false
|
|
914
|
+
if (
|
|
915
|
+
!xhrBlobSupported ||
|
|
916
|
+
this.isDataUri ||
|
|
917
|
+
this.isBlobUri ||
|
|
918
|
+
(!this.hasHeaders && !preferBlob)
|
|
919
|
+
) {
|
|
920
|
+
return this._fetchImage({
|
|
921
|
+
resource: this,
|
|
922
|
+
flipY: flipY,
|
|
923
|
+
skipColorSpaceConversion: skipColorSpaceConversion,
|
|
924
|
+
preferImageBitmap: preferImageBitmap,
|
|
925
|
+
});
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
const blobPromise = this.fetchBlob();
|
|
929
|
+
if (!defined(blobPromise)) {
|
|
930
|
+
return;
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
let supportsImageBitmap;
|
|
934
|
+
let useImageBitmap;
|
|
935
|
+
let generatedBlobResource;
|
|
936
|
+
let generatedBlob;
|
|
937
|
+
return Resource.supportsImageBitmapOptions()
|
|
938
|
+
.then(function (result) {
|
|
939
|
+
supportsImageBitmap = result;
|
|
940
|
+
useImageBitmap = supportsImageBitmap && preferImageBitmap;
|
|
941
|
+
return blobPromise;
|
|
942
|
+
})
|
|
943
|
+
.then(function (blob) {
|
|
944
|
+
if (!defined(blob)) {
|
|
945
|
+
return;
|
|
946
|
+
}
|
|
947
|
+
generatedBlob = blob;
|
|
948
|
+
if (useImageBitmap) {
|
|
949
|
+
return Resource.createImageBitmapFromBlob(blob, {
|
|
950
|
+
flipY: flipY,
|
|
951
|
+
premultiplyAlpha: false,
|
|
952
|
+
skipColorSpaceConversion: skipColorSpaceConversion,
|
|
953
|
+
});
|
|
954
|
+
}
|
|
955
|
+
const blobUrl = window.URL.createObjectURL(blob);
|
|
956
|
+
generatedBlobResource = new Resource({
|
|
957
|
+
url: blobUrl,
|
|
958
|
+
});
|
|
959
|
+
|
|
960
|
+
return generatedBlobResource._fetchImage({
|
|
961
|
+
flipY: flipY,
|
|
962
|
+
skipColorSpaceConversion: skipColorSpaceConversion,
|
|
963
|
+
preferImageBitmap: false,
|
|
964
|
+
});
|
|
965
|
+
})
|
|
966
|
+
.then(function (image) {
|
|
967
|
+
if (!defined(image)) {
|
|
968
|
+
return;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
// The blob object may be needed for use by a TileDiscardPolicy,
|
|
972
|
+
// so attach it to the image.
|
|
973
|
+
image.blob = generatedBlob;
|
|
974
|
+
|
|
975
|
+
if (useImageBitmap) {
|
|
976
|
+
return image;
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
window.URL.revokeObjectURL(generatedBlobResource.url);
|
|
980
|
+
return image;
|
|
981
|
+
})
|
|
982
|
+
.catch(function (error) {
|
|
983
|
+
if (defined(generatedBlobResource)) {
|
|
984
|
+
window.URL.revokeObjectURL(generatedBlobResource.url);
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
// If the blob load succeeded but the image decode failed, attach the blob
|
|
988
|
+
// to the error object for use by a TileDiscardPolicy.
|
|
989
|
+
// In particular, BingMapsImageryProvider uses this to detect the
|
|
990
|
+
// zero-length response that is returned when a tile is not available.
|
|
991
|
+
error.blob = generatedBlob;
|
|
992
|
+
|
|
993
|
+
return Promise.reject(error);
|
|
994
|
+
});
|
|
995
|
+
};
|
|
996
|
+
|
|
997
|
+
/**
|
|
998
|
+
* Fetches an image and returns a promise to it.
|
|
999
|
+
* @param {object} [options] An object with the following properties.
|
|
1000
|
+
* @param {boolean} [options.preferImageBitmap] If true, image will be decoded during fetch and an <code>ImageBitmap</code> is returned.
|
|
1001
|
+
* @param {boolean} [options.flipY] If true, image will be vertically flipped during decode. Only applies if the browser supports <code>createImageBitmap</code>.
|
|
1002
|
+
* @param {boolean} [options.skipColorSpaceConversion=false] If true, any custom gamma or color profiles in the image will be ignored. Only applies if the browser supports <code>createImageBitmap</code>.
|
|
1003
|
+
* @returns {Promise<ImageBitmap|HTMLImageElement>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if the request has been throttled and cannot be made at this time.
|
|
1004
|
+
* @private
|
|
1005
|
+
*/
|
|
1006
|
+
Resource.prototype._fetchImage = function (options) {
|
|
1007
|
+
const resource = this;
|
|
1008
|
+
const flipY = options.flipY;
|
|
1009
|
+
const skipColorSpaceConversion = options.skipColorSpaceConversion;
|
|
1010
|
+
const preferImageBitmap = options.preferImageBitmap;
|
|
1011
|
+
|
|
1012
|
+
const request = resource.request;
|
|
1013
|
+
request.url = resource.url;
|
|
1014
|
+
request.requestFunction = function () {
|
|
1015
|
+
let crossOrigin = false;
|
|
1016
|
+
|
|
1017
|
+
// data URIs can't have crossorigin set.
|
|
1018
|
+
if (!resource.isDataUri && !resource.isBlobUri) {
|
|
1019
|
+
crossOrigin = resource.isCrossOriginUrl;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
const deferred = defer();
|
|
1023
|
+
Resource._Implementations.createImage(
|
|
1024
|
+
request,
|
|
1025
|
+
crossOrigin,
|
|
1026
|
+
deferred,
|
|
1027
|
+
flipY,
|
|
1028
|
+
skipColorSpaceConversion,
|
|
1029
|
+
preferImageBitmap,
|
|
1030
|
+
);
|
|
1031
|
+
|
|
1032
|
+
return deferred.promise;
|
|
1033
|
+
};
|
|
1034
|
+
|
|
1035
|
+
const promise = RequestScheduler.request(request);
|
|
1036
|
+
if (!defined(promise)) {
|
|
1037
|
+
return;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
return promise.catch(function (e) {
|
|
1041
|
+
// Don't retry cancelled or otherwise aborted requests
|
|
1042
|
+
if (request.state !== RequestState.FAILED) {
|
|
1043
|
+
return Promise.reject(e);
|
|
1044
|
+
}
|
|
1045
|
+
return resource.retryOnError(e).then(function (retry) {
|
|
1046
|
+
if (retry) {
|
|
1047
|
+
// Reset request so it can try again
|
|
1048
|
+
request.state = RequestState.UNISSUED;
|
|
1049
|
+
request.deferred = undefined;
|
|
1050
|
+
|
|
1051
|
+
return resource._fetchImage({
|
|
1052
|
+
flipY: flipY,
|
|
1053
|
+
skipColorSpaceConversion: skipColorSpaceConversion,
|
|
1054
|
+
preferImageBitmap: preferImageBitmap,
|
|
1055
|
+
});
|
|
1056
|
+
}
|
|
1057
|
+
return Promise.reject(e);
|
|
1058
|
+
});
|
|
1059
|
+
});
|
|
1060
|
+
};
|
|
1061
|
+
|
|
1062
|
+
/**
|
|
1063
|
+
* Creates a Resource and calls fetchImage() on it.
|
|
1064
|
+
*
|
|
1065
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1066
|
+
* @param {string} options.url The url of the resource.
|
|
1067
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1068
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1069
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1070
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1071
|
+
* @param {boolean} [options.flipY=false] Whether to vertically flip the image during fetch and decode. Only applies when requesting an image and the browser supports <code>createImageBitmap</code>.
|
|
1072
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1073
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1074
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1075
|
+
* @param {boolean} [options.preferBlob=false] If true, we will load the image via a blob.
|
|
1076
|
+
* @param {boolean} [options.preferImageBitmap=false] If true, image will be decoded during fetch and an <code>ImageBitmap</code> is returned.
|
|
1077
|
+
* @param {boolean} [options.skipColorSpaceConversion=false] If true, any custom gamma or color profiles in the image will be ignored. Only applies when requesting an image and the browser supports <code>createImageBitmap</code>.
|
|
1078
|
+
* @returns {Promise<ImageBitmap|HTMLImageElement>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1079
|
+
*/
|
|
1080
|
+
Resource.fetchImage = function (options) {
|
|
1081
|
+
const resource = new Resource(options);
|
|
1082
|
+
return resource.fetchImage({
|
|
1083
|
+
flipY: options.flipY,
|
|
1084
|
+
skipColorSpaceConversion: options.skipColorSpaceConversion,
|
|
1085
|
+
preferBlob: options.preferBlob,
|
|
1086
|
+
preferImageBitmap: options.preferImageBitmap,
|
|
1087
|
+
});
|
|
1088
|
+
};
|
|
1089
|
+
|
|
1090
|
+
/**
|
|
1091
|
+
* Asynchronously loads the given resource as text. Returns a promise that will resolve to
|
|
1092
|
+
* a String once loaded, or reject if the resource failed to load. The data is loaded
|
|
1093
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1094
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
1095
|
+
*
|
|
1096
|
+
* @returns {Promise<string>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1097
|
+
*
|
|
1098
|
+
* @example
|
|
1099
|
+
* // load text from a URL, setting a custom header
|
|
1100
|
+
* const resource = new Resource({
|
|
1101
|
+
* url: 'http://someUrl.com/someJson.txt',
|
|
1102
|
+
* headers: {
|
|
1103
|
+
* 'X-Custom-Header' : 'some value'
|
|
1104
|
+
* }
|
|
1105
|
+
* });
|
|
1106
|
+
* resource.fetchText().then(function(text) {
|
|
1107
|
+
* // Do something with the text
|
|
1108
|
+
* }).catch(function(error) {
|
|
1109
|
+
* // an error occurred
|
|
1110
|
+
* });
|
|
1111
|
+
*
|
|
1112
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest|XMLHttpRequest}
|
|
1113
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1114
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1115
|
+
*/
|
|
1116
|
+
Resource.prototype.fetchText = function () {
|
|
1117
|
+
return this.fetch({
|
|
1118
|
+
responseType: "text",
|
|
1119
|
+
});
|
|
1120
|
+
};
|
|
1121
|
+
|
|
1122
|
+
/**
|
|
1123
|
+
* Creates a Resource and calls fetchText() on it.
|
|
1124
|
+
*
|
|
1125
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1126
|
+
* @param {string} options.url The url of the resource.
|
|
1127
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1128
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1129
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1130
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1131
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1132
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1133
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1134
|
+
* @returns {Promise<string>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1135
|
+
*/
|
|
1136
|
+
Resource.fetchText = function (options) {
|
|
1137
|
+
const resource = new Resource(options);
|
|
1138
|
+
return resource.fetchText();
|
|
1139
|
+
};
|
|
1140
|
+
|
|
1141
|
+
// note: */* below is */* but that ends the comment block early
|
|
1142
|
+
/**
|
|
1143
|
+
* Asynchronously loads the given resource as JSON. Returns a promise that will resolve to
|
|
1144
|
+
* a JSON object once loaded, or reject if the resource failed to load. The data is loaded
|
|
1145
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1146
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled. This function
|
|
1147
|
+
* adds 'Accept: application/json,*/*;q=0.01' to the request headers, if not
|
|
1148
|
+
* already specified.
|
|
1149
|
+
*
|
|
1150
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1151
|
+
*
|
|
1152
|
+
*
|
|
1153
|
+
* @example
|
|
1154
|
+
* resource.fetchJson().then(function(jsonData) {
|
|
1155
|
+
* // Do something with the JSON object
|
|
1156
|
+
* }).catch(function(error) {
|
|
1157
|
+
* // an error occurred
|
|
1158
|
+
* });
|
|
1159
|
+
*
|
|
1160
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1161
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1162
|
+
*/
|
|
1163
|
+
Resource.prototype.fetchJson = function () {
|
|
1164
|
+
const promise = this.fetch({
|
|
1165
|
+
responseType: "text",
|
|
1166
|
+
headers: {
|
|
1167
|
+
Accept: "application/json,*/*;q=0.01",
|
|
1168
|
+
},
|
|
1169
|
+
});
|
|
1170
|
+
|
|
1171
|
+
if (!defined(promise)) {
|
|
1172
|
+
return undefined;
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
return promise.then(function (value) {
|
|
1176
|
+
if (!defined(value)) {
|
|
1177
|
+
return;
|
|
1178
|
+
}
|
|
1179
|
+
return JSON.parse(value);
|
|
1180
|
+
});
|
|
1181
|
+
};
|
|
1182
|
+
|
|
1183
|
+
/**
|
|
1184
|
+
* Creates a Resource and calls fetchJson() on it.
|
|
1185
|
+
*
|
|
1186
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1187
|
+
* @param {string} options.url The url of the resource.
|
|
1188
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1189
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1190
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1191
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1192
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1193
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1194
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1195
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1196
|
+
*/
|
|
1197
|
+
Resource.fetchJson = function (options) {
|
|
1198
|
+
const resource = new Resource(options);
|
|
1199
|
+
return resource.fetchJson();
|
|
1200
|
+
};
|
|
1201
|
+
|
|
1202
|
+
/**
|
|
1203
|
+
* Asynchronously loads the given resource as XML. Returns a promise that will resolve to
|
|
1204
|
+
* an XML Document once loaded, or reject if the resource failed to load. The data is loaded
|
|
1205
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1206
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
1207
|
+
*
|
|
1208
|
+
* @returns {Promise<XMLDocument>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1209
|
+
*
|
|
1210
|
+
*
|
|
1211
|
+
* @example
|
|
1212
|
+
* // load XML from a URL, setting a custom header
|
|
1213
|
+
* Cesium.loadXML('http://someUrl.com/someXML.xml', {
|
|
1214
|
+
* 'X-Custom-Header' : 'some value'
|
|
1215
|
+
* }).then(function(document) {
|
|
1216
|
+
* // Do something with the document
|
|
1217
|
+
* }).catch(function(error) {
|
|
1218
|
+
* // an error occurred
|
|
1219
|
+
* });
|
|
1220
|
+
*
|
|
1221
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest|XMLHttpRequest}
|
|
1222
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1223
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1224
|
+
*/
|
|
1225
|
+
Resource.prototype.fetchXML = function () {
|
|
1226
|
+
return this.fetch({
|
|
1227
|
+
responseType: "document",
|
|
1228
|
+
overrideMimeType: "text/xml",
|
|
1229
|
+
});
|
|
1230
|
+
};
|
|
1231
|
+
|
|
1232
|
+
/**
|
|
1233
|
+
* Creates a Resource and calls fetchXML() on it.
|
|
1234
|
+
*
|
|
1235
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1236
|
+
* @param {string} options.url The url of the resource.
|
|
1237
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1238
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1239
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1240
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1241
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1242
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1243
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1244
|
+
* @returns {Promise<XMLDocument>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1245
|
+
*/
|
|
1246
|
+
Resource.fetchXML = function (options) {
|
|
1247
|
+
const resource = new Resource(options);
|
|
1248
|
+
return resource.fetchXML();
|
|
1249
|
+
};
|
|
1250
|
+
|
|
1251
|
+
/**
|
|
1252
|
+
* Requests a resource using JSONP.
|
|
1253
|
+
*
|
|
1254
|
+
* @param {string} [callbackParameterName='callback'] The callback parameter name that the server expects.
|
|
1255
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1256
|
+
*
|
|
1257
|
+
*
|
|
1258
|
+
* @example
|
|
1259
|
+
* // load a data asynchronously
|
|
1260
|
+
* resource.fetchJsonp().then(function(data) {
|
|
1261
|
+
* // use the loaded data
|
|
1262
|
+
* }).catch(function(error) {
|
|
1263
|
+
* // an error occurred
|
|
1264
|
+
* });
|
|
1265
|
+
*
|
|
1266
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1267
|
+
*/
|
|
1268
|
+
Resource.prototype.fetchJsonp = function (callbackParameterName) {
|
|
1269
|
+
callbackParameterName = callbackParameterName ?? "callback";
|
|
1270
|
+
|
|
1271
|
+
checkAndResetRequest(this.request);
|
|
1272
|
+
|
|
1273
|
+
//generate a unique function name
|
|
1274
|
+
let functionName;
|
|
1275
|
+
do {
|
|
1276
|
+
functionName = `loadJsonp${CesiumMath.nextRandomNumber()
|
|
1277
|
+
.toString()
|
|
1278
|
+
.substring(2, 8)}`;
|
|
1279
|
+
} while (defined(window[functionName]));
|
|
1280
|
+
|
|
1281
|
+
return fetchJsonp(this, callbackParameterName, functionName);
|
|
1282
|
+
};
|
|
1283
|
+
|
|
1284
|
+
function fetchJsonp(resource, callbackParameterName, functionName) {
|
|
1285
|
+
const callbackQuery = {};
|
|
1286
|
+
callbackQuery[callbackParameterName] = functionName;
|
|
1287
|
+
resource.setQueryParameters(callbackQuery);
|
|
1288
|
+
|
|
1289
|
+
const request = resource.request;
|
|
1290
|
+
const url = resource.url;
|
|
1291
|
+
request.url = url;
|
|
1292
|
+
request.requestFunction = function () {
|
|
1293
|
+
const deferred = defer();
|
|
1294
|
+
|
|
1295
|
+
//assign a function with that name in the global scope
|
|
1296
|
+
window[functionName] = function (data) {
|
|
1297
|
+
deferred.resolve(data);
|
|
1298
|
+
|
|
1299
|
+
try {
|
|
1300
|
+
delete window[functionName];
|
|
1301
|
+
} catch (e) {
|
|
1302
|
+
window[functionName] = undefined;
|
|
1303
|
+
}
|
|
1304
|
+
};
|
|
1305
|
+
|
|
1306
|
+
Resource._Implementations.loadAndExecuteScript(url, functionName, deferred);
|
|
1307
|
+
return deferred.promise;
|
|
1308
|
+
};
|
|
1309
|
+
|
|
1310
|
+
const promise = RequestScheduler.request(request);
|
|
1311
|
+
if (!defined(promise)) {
|
|
1312
|
+
return;
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
return promise.catch(function (e) {
|
|
1316
|
+
if (request.state !== RequestState.FAILED) {
|
|
1317
|
+
return Promise.reject(e);
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
return resource.retryOnError(e).then(function (retry) {
|
|
1321
|
+
if (retry) {
|
|
1322
|
+
// Reset request so it can try again
|
|
1323
|
+
request.state = RequestState.UNISSUED;
|
|
1324
|
+
request.deferred = undefined;
|
|
1325
|
+
|
|
1326
|
+
return fetchJsonp(resource, callbackParameterName, functionName);
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
return Promise.reject(e);
|
|
1330
|
+
});
|
|
1331
|
+
});
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
* Creates a Resource from a URL and calls fetchJsonp() on it.
|
|
1336
|
+
*
|
|
1337
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1338
|
+
* @param {string} options.url The url of the resource.
|
|
1339
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1340
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1341
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1342
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1343
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1344
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1345
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1346
|
+
* @param {string} [options.callbackParameterName='callback'] The callback parameter name that the server expects.
|
|
1347
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1348
|
+
*/
|
|
1349
|
+
Resource.fetchJsonp = function (options) {
|
|
1350
|
+
const resource = new Resource(options);
|
|
1351
|
+
return resource.fetchJsonp(options.callbackParameterName);
|
|
1352
|
+
};
|
|
1353
|
+
|
|
1354
|
+
/**
|
|
1355
|
+
* @private
|
|
1356
|
+
*/
|
|
1357
|
+
Resource.prototype._makeRequest = function (options) {
|
|
1358
|
+
const resource = this;
|
|
1359
|
+
checkAndResetRequest(resource.request);
|
|
1360
|
+
|
|
1361
|
+
const request = resource.request;
|
|
1362
|
+
const url = resource.url;
|
|
1363
|
+
request.url = url;
|
|
1364
|
+
|
|
1365
|
+
request.requestFunction = function () {
|
|
1366
|
+
const responseType = options.responseType;
|
|
1367
|
+
const headers = combine(options.headers, resource.headers);
|
|
1368
|
+
const overrideMimeType = options.overrideMimeType;
|
|
1369
|
+
const method = options.method;
|
|
1370
|
+
const data = options.data;
|
|
1371
|
+
const deferred = defer();
|
|
1372
|
+
const xhr = Resource._Implementations.loadWithXhr(
|
|
1373
|
+
url,
|
|
1374
|
+
responseType,
|
|
1375
|
+
method,
|
|
1376
|
+
data,
|
|
1377
|
+
headers,
|
|
1378
|
+
deferred,
|
|
1379
|
+
overrideMimeType,
|
|
1380
|
+
);
|
|
1381
|
+
if (defined(xhr) && defined(xhr.abort)) {
|
|
1382
|
+
request.cancelFunction = function () {
|
|
1383
|
+
xhr.abort();
|
|
1384
|
+
};
|
|
1385
|
+
}
|
|
1386
|
+
return deferred.promise;
|
|
1387
|
+
};
|
|
1388
|
+
|
|
1389
|
+
const promise = RequestScheduler.request(request);
|
|
1390
|
+
if (!defined(promise)) {
|
|
1391
|
+
return;
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
return promise
|
|
1395
|
+
.then(function (data) {
|
|
1396
|
+
// explicitly set to undefined to ensure GC of request response data. See #8843
|
|
1397
|
+
request.cancelFunction = undefined;
|
|
1398
|
+
return data;
|
|
1399
|
+
})
|
|
1400
|
+
.catch(function (e) {
|
|
1401
|
+
request.cancelFunction = undefined;
|
|
1402
|
+
if (request.state !== RequestState.FAILED) {
|
|
1403
|
+
return Promise.reject(e);
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
return resource.retryOnError(e).then(function (retry) {
|
|
1407
|
+
if (retry) {
|
|
1408
|
+
// Reset request so it can try again
|
|
1409
|
+
request.state = RequestState.UNISSUED;
|
|
1410
|
+
request.deferred = undefined;
|
|
1411
|
+
|
|
1412
|
+
return resource.fetch(options);
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
return Promise.reject(e);
|
|
1416
|
+
});
|
|
1417
|
+
});
|
|
1418
|
+
};
|
|
1419
|
+
|
|
1420
|
+
/**
|
|
1421
|
+
* Checks to make sure the Resource isn't already being requested.
|
|
1422
|
+
*
|
|
1423
|
+
* @param {Request} request The request to check.
|
|
1424
|
+
*
|
|
1425
|
+
* @private
|
|
1426
|
+
*/
|
|
1427
|
+
function checkAndResetRequest(request) {
|
|
1428
|
+
if (
|
|
1429
|
+
request.state === RequestState.ISSUED ||
|
|
1430
|
+
request.state === RequestState.ACTIVE
|
|
1431
|
+
) {
|
|
1432
|
+
throw new RuntimeError("The Resource is already being fetched.");
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
request.state = RequestState.UNISSUED;
|
|
1436
|
+
request.deferred = undefined;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
const dataUriRegex = /^data:(.*?)(;base64)?,(.*)$/;
|
|
1440
|
+
|
|
1441
|
+
function decodeDataUriText(isBase64, data) {
|
|
1442
|
+
const result = decodeURIComponent(data);
|
|
1443
|
+
if (isBase64) {
|
|
1444
|
+
return atob(result);
|
|
1445
|
+
}
|
|
1446
|
+
return result;
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
function decodeDataUriArrayBuffer(isBase64, data) {
|
|
1450
|
+
const byteString = decodeDataUriText(isBase64, data);
|
|
1451
|
+
const buffer = new ArrayBuffer(byteString.length);
|
|
1452
|
+
const view = new Uint8Array(buffer);
|
|
1453
|
+
for (let i = 0; i < byteString.length; i++) {
|
|
1454
|
+
view[i] = byteString.charCodeAt(i);
|
|
1455
|
+
}
|
|
1456
|
+
return buffer;
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
function decodeDataUri(dataUriRegexResult, responseType) {
|
|
1460
|
+
responseType = responseType ?? "";
|
|
1461
|
+
const mimeType = dataUriRegexResult[1];
|
|
1462
|
+
const isBase64 = !!dataUriRegexResult[2];
|
|
1463
|
+
const data = dataUriRegexResult[3];
|
|
1464
|
+
let buffer;
|
|
1465
|
+
let parser;
|
|
1466
|
+
|
|
1467
|
+
switch (responseType) {
|
|
1468
|
+
case "":
|
|
1469
|
+
case "text":
|
|
1470
|
+
return decodeDataUriText(isBase64, data);
|
|
1471
|
+
case "arraybuffer":
|
|
1472
|
+
return decodeDataUriArrayBuffer(isBase64, data);
|
|
1473
|
+
case "blob":
|
|
1474
|
+
buffer = decodeDataUriArrayBuffer(isBase64, data);
|
|
1475
|
+
return new Blob([buffer], {
|
|
1476
|
+
type: mimeType,
|
|
1477
|
+
});
|
|
1478
|
+
case "document":
|
|
1479
|
+
parser = new DOMParser();
|
|
1480
|
+
return parser.parseFromString(
|
|
1481
|
+
decodeDataUriText(isBase64, data),
|
|
1482
|
+
mimeType,
|
|
1483
|
+
);
|
|
1484
|
+
case "json":
|
|
1485
|
+
return JSON.parse(decodeDataUriText(isBase64, data));
|
|
1486
|
+
default:
|
|
1487
|
+
//>>includeStart('debug', pragmas.debug);
|
|
1488
|
+
throw new DeveloperError(`Unhandled responseType: ${responseType}`);
|
|
1489
|
+
//>>includeEnd('debug');
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
/**
|
|
1494
|
+
* Asynchronously loads the given resource. Returns a promise that will resolve to
|
|
1495
|
+
* the result once loaded, or reject if the resource failed to load. The data is loaded
|
|
1496
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1497
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled. It's recommended that you use
|
|
1498
|
+
* the more specific functions eg. fetchJson, fetchBlob, etc.
|
|
1499
|
+
*
|
|
1500
|
+
* @param {object} [options] Object with the following properties:
|
|
1501
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1502
|
+
* @param {object} [options.headers] Additional HTTP headers to send with the request, if any.
|
|
1503
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1504
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1505
|
+
*
|
|
1506
|
+
*
|
|
1507
|
+
* @example
|
|
1508
|
+
* resource.fetch()
|
|
1509
|
+
* .then(function(body) {
|
|
1510
|
+
* // use the data
|
|
1511
|
+
* }).catch(function(error) {
|
|
1512
|
+
* // an error occurred
|
|
1513
|
+
* });
|
|
1514
|
+
*
|
|
1515
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1516
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1517
|
+
*/
|
|
1518
|
+
Resource.prototype.fetch = function (options) {
|
|
1519
|
+
options = defaultClone(options, {});
|
|
1520
|
+
options.method = "GET";
|
|
1521
|
+
|
|
1522
|
+
return this._makeRequest(options);
|
|
1523
|
+
};
|
|
1524
|
+
|
|
1525
|
+
/**
|
|
1526
|
+
* Creates a Resource from a URL and calls fetch() on it.
|
|
1527
|
+
*
|
|
1528
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1529
|
+
* @param {string} options.url The url of the resource.
|
|
1530
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1531
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1532
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1533
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1534
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1535
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1536
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1537
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1538
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1539
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1540
|
+
*/
|
|
1541
|
+
Resource.fetch = function (options) {
|
|
1542
|
+
const resource = new Resource(options);
|
|
1543
|
+
return resource.fetch({
|
|
1544
|
+
// Make copy of just the needed fields because headers can be passed to both the constructor and to fetch
|
|
1545
|
+
responseType: options.responseType,
|
|
1546
|
+
overrideMimeType: options.overrideMimeType,
|
|
1547
|
+
});
|
|
1548
|
+
};
|
|
1549
|
+
|
|
1550
|
+
/**
|
|
1551
|
+
* Asynchronously deletes the given resource. Returns a promise that will resolve to
|
|
1552
|
+
* the result once loaded, or reject if the resource failed to load. The data is loaded
|
|
1553
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1554
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
1555
|
+
*
|
|
1556
|
+
* @param {object} [options] Object with the following properties:
|
|
1557
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1558
|
+
* @param {object} [options.headers] Additional HTTP headers to send with the request, if any.
|
|
1559
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1560
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1561
|
+
*
|
|
1562
|
+
*
|
|
1563
|
+
* @example
|
|
1564
|
+
* resource.delete()
|
|
1565
|
+
* .then(function(body) {
|
|
1566
|
+
* // use the data
|
|
1567
|
+
* }).catch(function(error) {
|
|
1568
|
+
* // an error occurred
|
|
1569
|
+
* });
|
|
1570
|
+
*
|
|
1571
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1572
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1573
|
+
*/
|
|
1574
|
+
Resource.prototype.delete = function (options) {
|
|
1575
|
+
options = defaultClone(options, {});
|
|
1576
|
+
options.method = "DELETE";
|
|
1577
|
+
|
|
1578
|
+
return this._makeRequest(options);
|
|
1579
|
+
};
|
|
1580
|
+
|
|
1581
|
+
/**
|
|
1582
|
+
* Creates a Resource from a URL and calls delete() on it.
|
|
1583
|
+
*
|
|
1584
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1585
|
+
* @param {string} options.url The url of the resource.
|
|
1586
|
+
* @param {object} [options.data] Data that is posted with the resource.
|
|
1587
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1588
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1589
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1590
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1591
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1592
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1593
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1594
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1595
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1596
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1597
|
+
*/
|
|
1598
|
+
Resource.delete = function (options) {
|
|
1599
|
+
const resource = new Resource(options);
|
|
1600
|
+
return resource.delete({
|
|
1601
|
+
// Make copy of just the needed fields because headers can be passed to both the constructor and to fetch
|
|
1602
|
+
responseType: options.responseType,
|
|
1603
|
+
overrideMimeType: options.overrideMimeType,
|
|
1604
|
+
data: options.data,
|
|
1605
|
+
});
|
|
1606
|
+
};
|
|
1607
|
+
|
|
1608
|
+
/**
|
|
1609
|
+
* Asynchronously gets headers the given resource. Returns a promise that will resolve to
|
|
1610
|
+
* the result once loaded, or reject if the resource failed to load. The data is loaded
|
|
1611
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1612
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
1613
|
+
*
|
|
1614
|
+
* @param {object} [options] Object with the following properties:
|
|
1615
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1616
|
+
* @param {object} [options.headers] Additional HTTP headers to send with the request, if any.
|
|
1617
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1618
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1619
|
+
*
|
|
1620
|
+
*
|
|
1621
|
+
* @example
|
|
1622
|
+
* resource.head()
|
|
1623
|
+
* .then(function(headers) {
|
|
1624
|
+
* // use the data
|
|
1625
|
+
* }).catch(function(error) {
|
|
1626
|
+
* // an error occurred
|
|
1627
|
+
* });
|
|
1628
|
+
*
|
|
1629
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1630
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1631
|
+
*/
|
|
1632
|
+
Resource.prototype.head = function (options) {
|
|
1633
|
+
options = defaultClone(options, {});
|
|
1634
|
+
options.method = "HEAD";
|
|
1635
|
+
|
|
1636
|
+
return this._makeRequest(options);
|
|
1637
|
+
};
|
|
1638
|
+
|
|
1639
|
+
/**
|
|
1640
|
+
* Creates a Resource from a URL and calls head() on it.
|
|
1641
|
+
*
|
|
1642
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1643
|
+
* @param {string} options.url The url of the resource.
|
|
1644
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1645
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1646
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1647
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1648
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1649
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1650
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1651
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1652
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1653
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1654
|
+
*/
|
|
1655
|
+
Resource.head = function (options) {
|
|
1656
|
+
const resource = new Resource(options);
|
|
1657
|
+
return resource.head({
|
|
1658
|
+
// Make copy of just the needed fields because headers can be passed to both the constructor and to fetch
|
|
1659
|
+
responseType: options.responseType,
|
|
1660
|
+
overrideMimeType: options.overrideMimeType,
|
|
1661
|
+
});
|
|
1662
|
+
};
|
|
1663
|
+
|
|
1664
|
+
/**
|
|
1665
|
+
* Asynchronously gets options the given resource. Returns a promise that will resolve to
|
|
1666
|
+
* the result once loaded, or reject if the resource failed to load. The data is loaded
|
|
1667
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1668
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
1669
|
+
*
|
|
1670
|
+
* @param {object} [options] Object with the following properties:
|
|
1671
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1672
|
+
* @param {object} [options.headers] Additional HTTP headers to send with the request, if any.
|
|
1673
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1674
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1675
|
+
*
|
|
1676
|
+
*
|
|
1677
|
+
* @example
|
|
1678
|
+
* resource.options()
|
|
1679
|
+
* .then(function(headers) {
|
|
1680
|
+
* // use the data
|
|
1681
|
+
* }).catch(function(error) {
|
|
1682
|
+
* // an error occurred
|
|
1683
|
+
* });
|
|
1684
|
+
*
|
|
1685
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1686
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1687
|
+
*/
|
|
1688
|
+
Resource.prototype.options = function (options) {
|
|
1689
|
+
options = defaultClone(options, {});
|
|
1690
|
+
options.method = "OPTIONS";
|
|
1691
|
+
|
|
1692
|
+
return this._makeRequest(options);
|
|
1693
|
+
};
|
|
1694
|
+
|
|
1695
|
+
/**
|
|
1696
|
+
* Creates a Resource from a URL and calls options() on it.
|
|
1697
|
+
*
|
|
1698
|
+
* @param {string|object} options A url or an object with the following properties
|
|
1699
|
+
* @param {string} options.url The url of the resource.
|
|
1700
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1701
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1702
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1703
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1704
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1705
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1706
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1707
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1708
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1709
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1710
|
+
*/
|
|
1711
|
+
Resource.options = function (options) {
|
|
1712
|
+
const resource = new Resource(options);
|
|
1713
|
+
return resource.options({
|
|
1714
|
+
// Make copy of just the needed fields because headers can be passed to both the constructor and to fetch
|
|
1715
|
+
responseType: options.responseType,
|
|
1716
|
+
overrideMimeType: options.overrideMimeType,
|
|
1717
|
+
});
|
|
1718
|
+
};
|
|
1719
|
+
|
|
1720
|
+
/**
|
|
1721
|
+
* Asynchronously posts data to the given resource. Returns a promise that will resolve to
|
|
1722
|
+
* the result once loaded, or reject if the resource failed to load. The data is loaded
|
|
1723
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1724
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
1725
|
+
*
|
|
1726
|
+
* @param {object} data Data that is posted with the resource.
|
|
1727
|
+
* @param {object} [options] Object with the following properties:
|
|
1728
|
+
* @param {object} [options.data] Data that is posted with the resource.
|
|
1729
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1730
|
+
* @param {object} [options.headers] Additional HTTP headers to send with the request, if any.
|
|
1731
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1732
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1733
|
+
*
|
|
1734
|
+
*
|
|
1735
|
+
* @example
|
|
1736
|
+
* resource.post(data)
|
|
1737
|
+
* .then(function(result) {
|
|
1738
|
+
* // use the result
|
|
1739
|
+
* }).catch(function(error) {
|
|
1740
|
+
* // an error occurred
|
|
1741
|
+
* });
|
|
1742
|
+
*
|
|
1743
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1744
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1745
|
+
*/
|
|
1746
|
+
Resource.prototype.post = function (data, options) {
|
|
1747
|
+
Check.defined("data", data);
|
|
1748
|
+
|
|
1749
|
+
options = defaultClone(options, {});
|
|
1750
|
+
options.method = "POST";
|
|
1751
|
+
options.data = data;
|
|
1752
|
+
|
|
1753
|
+
return this._makeRequest(options);
|
|
1754
|
+
};
|
|
1755
|
+
|
|
1756
|
+
/**
|
|
1757
|
+
* Creates a Resource from a URL and calls post() on it.
|
|
1758
|
+
*
|
|
1759
|
+
* @param {object} options A url or an object with the following properties
|
|
1760
|
+
* @param {string} options.url The url of the resource.
|
|
1761
|
+
* @param {object} options.data Data that is posted with the resource.
|
|
1762
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1763
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1764
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1765
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1766
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1767
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1768
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1769
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1770
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1771
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1772
|
+
*/
|
|
1773
|
+
Resource.post = function (options) {
|
|
1774
|
+
const resource = new Resource(options);
|
|
1775
|
+
return resource.post(options.data, {
|
|
1776
|
+
// Make copy of just the needed fields because headers can be passed to both the constructor and to post
|
|
1777
|
+
responseType: options.responseType,
|
|
1778
|
+
overrideMimeType: options.overrideMimeType,
|
|
1779
|
+
});
|
|
1780
|
+
};
|
|
1781
|
+
|
|
1782
|
+
/**
|
|
1783
|
+
* Asynchronously puts data to the given resource. Returns a promise that will resolve to
|
|
1784
|
+
* the result once loaded, or reject if the resource failed to load. The data is loaded
|
|
1785
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1786
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
1787
|
+
*
|
|
1788
|
+
* @param {object} data Data that is posted with the resource.
|
|
1789
|
+
* @param {object} [options] Object with the following properties:
|
|
1790
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1791
|
+
* @param {object} [options.headers] Additional HTTP headers to send with the request, if any.
|
|
1792
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1793
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1794
|
+
*
|
|
1795
|
+
*
|
|
1796
|
+
* @example
|
|
1797
|
+
* resource.put(data)
|
|
1798
|
+
* .then(function(result) {
|
|
1799
|
+
* // use the result
|
|
1800
|
+
* }).catch(function(error) {
|
|
1801
|
+
* // an error occurred
|
|
1802
|
+
* });
|
|
1803
|
+
*
|
|
1804
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1805
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1806
|
+
*/
|
|
1807
|
+
Resource.prototype.put = function (data, options) {
|
|
1808
|
+
Check.defined("data", data);
|
|
1809
|
+
|
|
1810
|
+
options = defaultClone(options, {});
|
|
1811
|
+
options.method = "PUT";
|
|
1812
|
+
options.data = data;
|
|
1813
|
+
|
|
1814
|
+
return this._makeRequest(options);
|
|
1815
|
+
};
|
|
1816
|
+
|
|
1817
|
+
/**
|
|
1818
|
+
* Creates a Resource from a URL and calls put() on it.
|
|
1819
|
+
*
|
|
1820
|
+
* @param {object} options A url or an object with the following properties
|
|
1821
|
+
* @param {string} options.url The url of the resource.
|
|
1822
|
+
* @param {object} options.data Data that is posted with the resource.
|
|
1823
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1824
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1825
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1826
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1827
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1828
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1829
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1830
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1831
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1832
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1833
|
+
*/
|
|
1834
|
+
Resource.put = function (options) {
|
|
1835
|
+
const resource = new Resource(options);
|
|
1836
|
+
return resource.put(options.data, {
|
|
1837
|
+
// Make copy of just the needed fields because headers can be passed to both the constructor and to post
|
|
1838
|
+
responseType: options.responseType,
|
|
1839
|
+
overrideMimeType: options.overrideMimeType,
|
|
1840
|
+
});
|
|
1841
|
+
};
|
|
1842
|
+
|
|
1843
|
+
/**
|
|
1844
|
+
* Asynchronously patches data to the given resource. Returns a promise that will resolve to
|
|
1845
|
+
* the result once loaded, or reject if the resource failed to load. The data is loaded
|
|
1846
|
+
* using XMLHttpRequest, which means that in order to make requests to another origin,
|
|
1847
|
+
* the server must have Cross-Origin Resource Sharing (CORS) headers enabled.
|
|
1848
|
+
*
|
|
1849
|
+
* @param {object} data Data that is posted with the resource.
|
|
1850
|
+
* @param {object} [options] Object with the following properties:
|
|
1851
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1852
|
+
* @param {object} [options.headers] Additional HTTP headers to send with the request, if any.
|
|
1853
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1854
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1855
|
+
*
|
|
1856
|
+
*
|
|
1857
|
+
* @example
|
|
1858
|
+
* resource.patch(data)
|
|
1859
|
+
* .then(function(result) {
|
|
1860
|
+
* // use the result
|
|
1861
|
+
* }).catch(function(error) {
|
|
1862
|
+
* // an error occurred
|
|
1863
|
+
* });
|
|
1864
|
+
*
|
|
1865
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
1866
|
+
* @see {@link http://wiki.commonjs.org/wiki/Promises/A|CommonJS Promises/A}
|
|
1867
|
+
*/
|
|
1868
|
+
Resource.prototype.patch = function (data, options) {
|
|
1869
|
+
Check.defined("data", data);
|
|
1870
|
+
|
|
1871
|
+
options = defaultClone(options, {});
|
|
1872
|
+
options.method = "PATCH";
|
|
1873
|
+
options.data = data;
|
|
1874
|
+
|
|
1875
|
+
return this._makeRequest(options);
|
|
1876
|
+
};
|
|
1877
|
+
|
|
1878
|
+
/**
|
|
1879
|
+
* Creates a Resource from a URL and calls patch() on it.
|
|
1880
|
+
*
|
|
1881
|
+
* @param {object} options A url or an object with the following properties
|
|
1882
|
+
* @param {string} options.url The url of the resource.
|
|
1883
|
+
* @param {object} options.data Data that is posted with the resource.
|
|
1884
|
+
* @param {object} [options.queryParameters] An object containing query parameters that will be sent when retrieving the resource.
|
|
1885
|
+
* @param {object} [options.templateValues] Key/Value pairs that are used to replace template values (eg. {x}).
|
|
1886
|
+
* @param {object} [options.headers={}] Additional HTTP headers that will be sent.
|
|
1887
|
+
* @param {Proxy} [options.proxy] A proxy to be used when loading the resource.
|
|
1888
|
+
* @param {Resource.RetryCallback} [options.retryCallback] The Function to call when a request for this resource fails. If it returns true, the request will be retried.
|
|
1889
|
+
* @param {number} [options.retryAttempts=0] The number of times the retryCallback should be called before giving up.
|
|
1890
|
+
* @param {Request} [options.request] A Request object that will be used. Intended for internal use only.
|
|
1891
|
+
* @param {string} [options.responseType] The type of response. This controls the type of item returned.
|
|
1892
|
+
* @param {string} [options.overrideMimeType] Overrides the MIME type returned by the server.
|
|
1893
|
+
* @returns {Promise<any>|undefined} a promise that will resolve to the requested data when loaded. Returns undefined if <code>request.throttle</code> is true and the request does not have high enough priority.
|
|
1894
|
+
*/
|
|
1895
|
+
Resource.patch = function (options) {
|
|
1896
|
+
const resource = new Resource(options);
|
|
1897
|
+
return resource.patch(options.data, {
|
|
1898
|
+
// Make copy of just the needed fields because headers can be passed to both the constructor and to post
|
|
1899
|
+
responseType: options.responseType,
|
|
1900
|
+
overrideMimeType: options.overrideMimeType,
|
|
1901
|
+
});
|
|
1902
|
+
};
|
|
1903
|
+
|
|
1904
|
+
/**
|
|
1905
|
+
* Contains implementations of functions that can be replaced for testing
|
|
1906
|
+
*
|
|
1907
|
+
* @private
|
|
1908
|
+
*/
|
|
1909
|
+
Resource._Implementations = {};
|
|
1910
|
+
|
|
1911
|
+
Resource._Implementations.loadImageElement = function (
|
|
1912
|
+
url,
|
|
1913
|
+
crossOrigin,
|
|
1914
|
+
deferred,
|
|
1915
|
+
) {
|
|
1916
|
+
const image = new Image();
|
|
1917
|
+
|
|
1918
|
+
image.onload = function () {
|
|
1919
|
+
// work-around a known issue with Firefox and dimensionless SVG, see:
|
|
1920
|
+
// - https://github.com/whatwg/html/issues/3510
|
|
1921
|
+
// - https://bugzilla.mozilla.org/show_bug.cgi?id=700533
|
|
1922
|
+
if (
|
|
1923
|
+
image.naturalWidth === 0 &&
|
|
1924
|
+
image.naturalHeight === 0 &&
|
|
1925
|
+
image.width === 0 &&
|
|
1926
|
+
image.height === 0
|
|
1927
|
+
) {
|
|
1928
|
+
// these values affect rasterization and will likely mar the content
|
|
1929
|
+
// until Firefox takes a stance on the issue, marred content is better than no content
|
|
1930
|
+
// Chromium uses a more refined heuristic about its choice given nil viewBox, and a better stance and solution is
|
|
1931
|
+
// proposed later in the original issue thread:
|
|
1932
|
+
// - Chromium behavior: https://github.com/CesiumGS/cesium/issues/9188#issuecomment-704400825
|
|
1933
|
+
// - Cesium's stance/solve: https://github.com/CesiumGS/cesium/issues/9188#issuecomment-720645777
|
|
1934
|
+
image.width = 300;
|
|
1935
|
+
image.height = 150;
|
|
1936
|
+
}
|
|
1937
|
+
deferred.resolve(image);
|
|
1938
|
+
};
|
|
1939
|
+
|
|
1940
|
+
image.onerror = function (e) {
|
|
1941
|
+
deferred.reject(e);
|
|
1942
|
+
};
|
|
1943
|
+
|
|
1944
|
+
if (crossOrigin) {
|
|
1945
|
+
if (TrustedServers.contains(url)) {
|
|
1946
|
+
image.crossOrigin = "use-credentials";
|
|
1947
|
+
} else {
|
|
1948
|
+
image.crossOrigin = "";
|
|
1949
|
+
}
|
|
1950
|
+
}
|
|
1951
|
+
|
|
1952
|
+
image.src = url;
|
|
1953
|
+
};
|
|
1954
|
+
|
|
1955
|
+
Resource._Implementations.createImage = function (
|
|
1956
|
+
request,
|
|
1957
|
+
crossOrigin,
|
|
1958
|
+
deferred,
|
|
1959
|
+
flipY,
|
|
1960
|
+
skipColorSpaceConversion,
|
|
1961
|
+
preferImageBitmap,
|
|
1962
|
+
headers,
|
|
1963
|
+
) {
|
|
1964
|
+
const url = request.url;
|
|
1965
|
+
// Passing an Image to createImageBitmap will force it to run on the main thread
|
|
1966
|
+
// since DOM elements don't exist on workers. We convert it to a blob so it's non-blocking.
|
|
1967
|
+
// See:
|
|
1968
|
+
// https://bugzilla.mozilla.org/show_bug.cgi?id=1044102#c38
|
|
1969
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=580202#c10
|
|
1970
|
+
Resource.supportsImageBitmapOptions()
|
|
1971
|
+
.then(function (supportsImageBitmap) {
|
|
1972
|
+
// We can only use ImageBitmap if we can flip on decode.
|
|
1973
|
+
// See: https://github.com/CesiumGS/cesium/pull/7579#issuecomment-466146898
|
|
1974
|
+
if (!(supportsImageBitmap && preferImageBitmap)) {
|
|
1975
|
+
Resource._Implementations.loadImageElement(url, crossOrigin, deferred);
|
|
1976
|
+
return;
|
|
1977
|
+
}
|
|
1978
|
+
const responseType = "blob";
|
|
1979
|
+
const method = "GET";
|
|
1980
|
+
const xhrDeferred = defer();
|
|
1981
|
+
const xhr = Resource._Implementations.loadWithXhr(
|
|
1982
|
+
url,
|
|
1983
|
+
responseType,
|
|
1984
|
+
method,
|
|
1985
|
+
undefined,
|
|
1986
|
+
headers,
|
|
1987
|
+
xhrDeferred,
|
|
1988
|
+
undefined,
|
|
1989
|
+
undefined,
|
|
1990
|
+
undefined,
|
|
1991
|
+
);
|
|
1992
|
+
|
|
1993
|
+
if (defined(xhr) && defined(xhr.abort)) {
|
|
1994
|
+
request.cancelFunction = function () {
|
|
1995
|
+
xhr.abort();
|
|
1996
|
+
};
|
|
1997
|
+
}
|
|
1998
|
+
return xhrDeferred.promise
|
|
1999
|
+
.then(function (blob) {
|
|
2000
|
+
if (!defined(blob)) {
|
|
2001
|
+
deferred.reject(
|
|
2002
|
+
new RuntimeError(
|
|
2003
|
+
`Successfully retrieved ${url} but it contained no content.`,
|
|
2004
|
+
),
|
|
2005
|
+
);
|
|
2006
|
+
return;
|
|
2007
|
+
}
|
|
2008
|
+
|
|
2009
|
+
return Resource.createImageBitmapFromBlob(blob, {
|
|
2010
|
+
flipY: flipY,
|
|
2011
|
+
premultiplyAlpha: false,
|
|
2012
|
+
skipColorSpaceConversion: skipColorSpaceConversion,
|
|
2013
|
+
});
|
|
2014
|
+
})
|
|
2015
|
+
.then(function (image) {
|
|
2016
|
+
deferred.resolve(image);
|
|
2017
|
+
});
|
|
2018
|
+
})
|
|
2019
|
+
.catch(function (e) {
|
|
2020
|
+
deferred.reject(e);
|
|
2021
|
+
});
|
|
2022
|
+
};
|
|
2023
|
+
|
|
2024
|
+
/**
|
|
2025
|
+
* Wrapper for createImageBitmap
|
|
2026
|
+
*
|
|
2027
|
+
* @private
|
|
2028
|
+
* @param {Blob} blob The image blob.
|
|
2029
|
+
* @param {object} options An object containing the following properties:
|
|
2030
|
+
* @param {boolean} options.flipY Whether to flip the image Y axis.
|
|
2031
|
+
* @param {boolean} options.premultiplyAlpha Whether to premultiply the alpha channel.
|
|
2032
|
+
* @param {boolean} options.skipColorSpaceConversion Whether to skip color space conversion.
|
|
2033
|
+
* @returns {Promise<ImageBitmap>} A promise that resolves to the created image bitmap.
|
|
2034
|
+
*/
|
|
2035
|
+
Resource.createImageBitmapFromBlob = function (blob, options) {
|
|
2036
|
+
Check.defined("options", options);
|
|
2037
|
+
Check.typeOf.bool("options.flipY", options.flipY);
|
|
2038
|
+
Check.typeOf.bool("options.premultiplyAlpha", options.premultiplyAlpha);
|
|
2039
|
+
Check.typeOf.bool(
|
|
2040
|
+
"options.skipColorSpaceConversion",
|
|
2041
|
+
options.skipColorSpaceConversion,
|
|
2042
|
+
);
|
|
2043
|
+
|
|
2044
|
+
return createImageBitmap(blob, {
|
|
2045
|
+
// 'from-image' is deprecated, new option is 'none'. However, we still need to support older browsers,
|
|
2046
|
+
// and there's no good way to detect support for these options. For now, continue to use 'from-image'. See: https://github.com/CesiumGS/cesium/issues/12846
|
|
2047
|
+
imageOrientation: options.flipY ? "flipY" : "none",
|
|
2048
|
+
premultiplyAlpha: options.premultiplyAlpha ? "premultiply" : "none",
|
|
2049
|
+
colorSpaceConversion: options.skipColorSpaceConversion ? "none" : "default",
|
|
2050
|
+
});
|
|
2051
|
+
};
|
|
2052
|
+
|
|
2053
|
+
function loadWithHttpRequest(
|
|
2054
|
+
url,
|
|
2055
|
+
responseType,
|
|
2056
|
+
method,
|
|
2057
|
+
data,
|
|
2058
|
+
headers,
|
|
2059
|
+
deferred,
|
|
2060
|
+
overrideMimeType,
|
|
2061
|
+
) {
|
|
2062
|
+
// Note: only the 'json' and 'text' responseTypes transforms the loaded buffer
|
|
2063
|
+
fetch(url, {
|
|
2064
|
+
method,
|
|
2065
|
+
headers,
|
|
2066
|
+
})
|
|
2067
|
+
.then(async (response) => {
|
|
2068
|
+
if (!response.ok) {
|
|
2069
|
+
const responseHeaders = {};
|
|
2070
|
+
response.headers.forEach((value, key) => {
|
|
2071
|
+
responseHeaders[key] = value;
|
|
2072
|
+
});
|
|
2073
|
+
deferred.reject(
|
|
2074
|
+
new RequestErrorEvent(response.status, response, responseHeaders),
|
|
2075
|
+
);
|
|
2076
|
+
return;
|
|
2077
|
+
}
|
|
2078
|
+
|
|
2079
|
+
switch (responseType) {
|
|
2080
|
+
case "text":
|
|
2081
|
+
deferred.resolve(response.text());
|
|
2082
|
+
break;
|
|
2083
|
+
case "json":
|
|
2084
|
+
deferred.resolve(response.json());
|
|
2085
|
+
break;
|
|
2086
|
+
default:
|
|
2087
|
+
deferred.resolve(new Uint8Array(await response.arrayBuffer()).buffer);
|
|
2088
|
+
break;
|
|
2089
|
+
}
|
|
2090
|
+
})
|
|
2091
|
+
.catch(() => {
|
|
2092
|
+
deferred.reject(new RequestErrorEvent());
|
|
2093
|
+
});
|
|
2094
|
+
}
|
|
2095
|
+
|
|
2096
|
+
const noXMLHttpRequest = typeof XMLHttpRequest === "undefined";
|
|
2097
|
+
Resource._Implementations.loadWithXhr = function (
|
|
2098
|
+
url,
|
|
2099
|
+
responseType,
|
|
2100
|
+
method,
|
|
2101
|
+
data,
|
|
2102
|
+
headers,
|
|
2103
|
+
deferred,
|
|
2104
|
+
overrideMimeType,
|
|
2105
|
+
) {
|
|
2106
|
+
const dataUriRegexResult = dataUriRegex.exec(url);
|
|
2107
|
+
if (dataUriRegexResult !== null) {
|
|
2108
|
+
deferred.resolve(decodeDataUri(dataUriRegexResult, responseType));
|
|
2109
|
+
return;
|
|
2110
|
+
}
|
|
2111
|
+
|
|
2112
|
+
if (noXMLHttpRequest) {
|
|
2113
|
+
loadWithHttpRequest(
|
|
2114
|
+
url,
|
|
2115
|
+
responseType,
|
|
2116
|
+
method,
|
|
2117
|
+
data,
|
|
2118
|
+
headers,
|
|
2119
|
+
deferred,
|
|
2120
|
+
overrideMimeType,
|
|
2121
|
+
);
|
|
2122
|
+
return;
|
|
2123
|
+
}
|
|
2124
|
+
|
|
2125
|
+
const xhr = new XMLHttpRequest();
|
|
2126
|
+
|
|
2127
|
+
if (TrustedServers.contains(url)) {
|
|
2128
|
+
xhr.withCredentials = true;
|
|
2129
|
+
}
|
|
2130
|
+
|
|
2131
|
+
xhr.open(method, url, true);
|
|
2132
|
+
|
|
2133
|
+
if (defined(overrideMimeType) && defined(xhr.overrideMimeType)) {
|
|
2134
|
+
xhr.overrideMimeType(overrideMimeType);
|
|
2135
|
+
}
|
|
2136
|
+
|
|
2137
|
+
if (defined(headers)) {
|
|
2138
|
+
for (const key in headers) {
|
|
2139
|
+
if (headers.hasOwnProperty(key)) {
|
|
2140
|
+
xhr.setRequestHeader(key, headers[key]);
|
|
2141
|
+
}
|
|
2142
|
+
}
|
|
2143
|
+
}
|
|
2144
|
+
|
|
2145
|
+
if (defined(responseType)) {
|
|
2146
|
+
xhr.responseType = responseType;
|
|
2147
|
+
}
|
|
2148
|
+
|
|
2149
|
+
// While non-standard, file protocol always returns a status of 0 on success
|
|
2150
|
+
let localFile = false;
|
|
2151
|
+
if (typeof url === "string") {
|
|
2152
|
+
localFile =
|
|
2153
|
+
url.indexOf("file://") === 0 ||
|
|
2154
|
+
(typeof window !== "undefined" && window.location.origin === "file://");
|
|
2155
|
+
}
|
|
2156
|
+
|
|
2157
|
+
xhr.onload = function () {
|
|
2158
|
+
if (
|
|
2159
|
+
(xhr.status < 200 || xhr.status >= 300) &&
|
|
2160
|
+
!(localFile && xhr.status === 0)
|
|
2161
|
+
) {
|
|
2162
|
+
deferred.reject(
|
|
2163
|
+
new RequestErrorEvent(
|
|
2164
|
+
xhr.status,
|
|
2165
|
+
xhr.response,
|
|
2166
|
+
xhr.getAllResponseHeaders(),
|
|
2167
|
+
),
|
|
2168
|
+
);
|
|
2169
|
+
return;
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2172
|
+
const response = xhr.response;
|
|
2173
|
+
const browserResponseType = xhr.responseType;
|
|
2174
|
+
|
|
2175
|
+
if (method === "HEAD" || method === "OPTIONS") {
|
|
2176
|
+
const responseHeaderString = xhr.getAllResponseHeaders();
|
|
2177
|
+
const splitHeaders = responseHeaderString.trim().split(/[\r\n]+/);
|
|
2178
|
+
|
|
2179
|
+
const responseHeaders = {};
|
|
2180
|
+
splitHeaders.forEach(function (line) {
|
|
2181
|
+
const parts = line.split(": ");
|
|
2182
|
+
const header = parts.shift();
|
|
2183
|
+
responseHeaders[header] = parts.join(": ");
|
|
2184
|
+
});
|
|
2185
|
+
|
|
2186
|
+
deferred.resolve(responseHeaders);
|
|
2187
|
+
return;
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
//All modern browsers will go into either the first or second if block or last else block.
|
|
2191
|
+
//Other code paths support older browsers that either do not support the supplied responseType
|
|
2192
|
+
//or do not support the xhr.response property.
|
|
2193
|
+
if (xhr.status === 204) {
|
|
2194
|
+
// accept no content
|
|
2195
|
+
deferred.resolve(undefined);
|
|
2196
|
+
} else if (
|
|
2197
|
+
defined(response) &&
|
|
2198
|
+
(!defined(responseType) || browserResponseType === responseType)
|
|
2199
|
+
) {
|
|
2200
|
+
deferred.resolve(response);
|
|
2201
|
+
} else if (responseType === "json" && typeof response === "string") {
|
|
2202
|
+
try {
|
|
2203
|
+
deferred.resolve(JSON.parse(response));
|
|
2204
|
+
} catch (e) {
|
|
2205
|
+
deferred.reject(e);
|
|
2206
|
+
}
|
|
2207
|
+
} else if (
|
|
2208
|
+
(browserResponseType === "" || browserResponseType === "document") &&
|
|
2209
|
+
defined(xhr.responseXML) &&
|
|
2210
|
+
xhr.responseXML.hasChildNodes()
|
|
2211
|
+
) {
|
|
2212
|
+
deferred.resolve(xhr.responseXML);
|
|
2213
|
+
} else if (
|
|
2214
|
+
(browserResponseType === "" || browserResponseType === "text") &&
|
|
2215
|
+
defined(xhr.responseText)
|
|
2216
|
+
) {
|
|
2217
|
+
deferred.resolve(xhr.responseText);
|
|
2218
|
+
} else {
|
|
2219
|
+
deferred.reject(
|
|
2220
|
+
new RuntimeError("Invalid XMLHttpRequest response type."),
|
|
2221
|
+
);
|
|
2222
|
+
}
|
|
2223
|
+
};
|
|
2224
|
+
|
|
2225
|
+
xhr.onerror = function (e) {
|
|
2226
|
+
deferred.reject(new RequestErrorEvent());
|
|
2227
|
+
};
|
|
2228
|
+
|
|
2229
|
+
xhr.send(data);
|
|
2230
|
+
|
|
2231
|
+
return xhr;
|
|
2232
|
+
};
|
|
2233
|
+
|
|
2234
|
+
Resource._Implementations.loadAndExecuteScript = function (
|
|
2235
|
+
url,
|
|
2236
|
+
functionName,
|
|
2237
|
+
deferred,
|
|
2238
|
+
) {
|
|
2239
|
+
return loadAndExecuteScript(url, functionName).catch(function (e) {
|
|
2240
|
+
deferred.reject(e);
|
|
2241
|
+
});
|
|
2242
|
+
};
|
|
2243
|
+
|
|
2244
|
+
/**
|
|
2245
|
+
* The default implementations
|
|
2246
|
+
*
|
|
2247
|
+
* @private
|
|
2248
|
+
*/
|
|
2249
|
+
Resource._DefaultImplementations = {};
|
|
2250
|
+
Resource._DefaultImplementations.createImage =
|
|
2251
|
+
Resource._Implementations.createImage;
|
|
2252
|
+
Resource._DefaultImplementations.loadWithXhr =
|
|
2253
|
+
Resource._Implementations.loadWithXhr;
|
|
2254
|
+
Resource._DefaultImplementations.loadAndExecuteScript =
|
|
2255
|
+
Resource._Implementations.loadAndExecuteScript;
|
|
2256
|
+
|
|
2257
|
+
/**
|
|
2258
|
+
* A resource instance initialized to the current browser location
|
|
2259
|
+
*
|
|
2260
|
+
* @type {Resource}
|
|
2261
|
+
* @constant
|
|
2262
|
+
*/
|
|
2263
|
+
Resource.DEFAULT = Object.freeze(
|
|
2264
|
+
new Resource({
|
|
2265
|
+
url:
|
|
2266
|
+
typeof document === "undefined"
|
|
2267
|
+
? ""
|
|
2268
|
+
: document.location.href.split("?")[0],
|
|
2269
|
+
}),
|
|
2270
|
+
);
|
|
2271
|
+
|
|
2272
|
+
/**
|
|
2273
|
+
* A function that returns the value of the property.
|
|
2274
|
+
* @callback Resource.RetryCallback
|
|
2275
|
+
*
|
|
2276
|
+
* @param {Resource} [resource] The resource that failed to load.
|
|
2277
|
+
* @param {RequestErrorEvent} [error] The error that occurred during the loading of the resource.
|
|
2278
|
+
* @returns {boolean|Promise<boolean>} If true or a promise that resolved to true, the resource will be retried. Otherwise the failure will be returned.
|
|
2279
|
+
*/
|
|
2280
|
+
export default Resource;
|